導航:首頁 > 操作系統 > 52單片機驅動

52單片機驅動

發布時間:2022-08-20 12:50:25

Ⅰ 關於stc90c52單片機驅動數碼管電路的問題

數碼管下面的三極體是驅動用的,com介面是選通用的,你的數碼管應該是採用掃描驅動的。掃描原理就是任意一個時刻,只有一個COM是通的,通的時候,單片機輸出對應於該位的數值,其它關斷。快速輪回顯示,這樣,由於人眼的視覺停留,看到的是所有數碼管同時顯示。這方面,你需要看一下掃描顯示原理。
R1~R8是對數碼管的8個欄位(7段碼加小數點)進行限流。比如說,你希望數碼管的電流限制為10mA,那麼(5V-1.6V)/10mA=340Ω。問題是,由於你採用掃描顯示,如果是4個數碼管掃描,那麼,其平均電流只有10mA的1/4,也就是2.5mA,為此,需要將限流電阻減小。限流電阻為100Ω時,實際導通電流約34mA,平均電流約8.5mA。

Ⅱ 如何用52rc單片機驅動微孔霧化片

應該是單片機管腳的驅動能力太弱,沒能驅動霧化片。用萬用表或者示波器看下管腳電壓。
STC的話可以設置成推挽輸出,驅動能力大大增強

Ⅲ 單片機AT80S52怎麼驅動蜂鳴器

AT80S52單片機io口的驅動能力很弱,如果把蜂鳴器的+接正電源蜂鳴器的-接單片機的io口,並在程序中把這個io口置「0」,也許會聽到很輕微的響聲,但是,如果把蜂鳴器的-接電源地,蜂鳴器的+接單片機的io口,並在程序中把這個io口置「1」,由於單片機的驅動能力嚴重不足,是聽不到響聲的。需要加驅動才可以。

Ⅳ 52單片機如何增加輸出PWM波形的驅動能力

直流輸出

Ⅳ 誰能幫忙寫個52單片機驅動74hc595控制LCD1602的程序

你敢不敢給點分

#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int
#define LcdBus P0
sbit LED1602_RS=P2^6; //LCD埠定義
sbit LED1602_RW=P2^5 ;
sbit LED1602_EN=P2^4 ;

void LcdIni(void);
void WrOp(uchar dat);
void WrDat(uchar dat);
void ChkBusy(void);
void print_LCD(uchar disp[],uchar num);
//延時n ms子程序
void delayms(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<120;j++);
}

main()
{
uchar disp1[16]={'S','u','n','J','i','e',' ','m','a','d','e',' ','a','t',' ',' '};
uchar disp2[16]={'2','0','0','8',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
while(1)
{

LcdIni();
WrOp(0x80); //數據指針地址第一行
print_LCD(disp1,16);
WrOp(0xc0); //第二行
print_LCD(disp2,4);
delayms(3000);
WrOp(0x01);

}

}
/******************************************************************************************
名稱:led1602顯示 程序模塊
功能:驅動1602 包括數據口 P1 三個控制口
編譯:keil
作者:孫傑
時間:2008-8-9
*******************************************************************************************/
void print_LCD(uchar disp[],uchar num) //顯示數組disp 顯示長度為num
{
uchar i;
for(i=0;i<num;i++)
{
WrDat(disp[i]);
delayms(300);
}
}
void LcdIni()
{

WrOp(0x38);
WrOp(0x06); //游標加1
WrOp(0x0f); //開顯示 游標閃爍
// WrOp(0x0c); //開顯示 游標不閃爍
}

void WrOp(uchar dat)
{
//uchar i;
ChkBusy();
LED1602_RS=0; //RS=0
LED1602_RW=0; //RW=0
LED1602_EN=0; //EN=0
LcdBus=dat; //送數據
LED1602_EN=1; //EN=1
delayms(10); //延時
LED1602_EN=0; //EN=0
}

void WrDat(uchar dat)
{
//uchar i;
ChkBusy();
LED1602_RS=1; //rs=1
LED1602_RW=0; //rw=0
LED1602_EN=0; //en=0
LcdBus=dat; //送數據
LED1602_EN=1; //en=1
delayms(10);; //延時
LED1602_EN=0; //en=0
}

void ChkBusy()
{

LED1602_RS=0; //RS=0
LED1602_RW=1; //RW=1
LED1602_EN=1; //EN=1
while(LcdBus&0x80); //送數據
LED1602_EN=0; //en=0

}

Ⅵ 二項四線步進電機用52單片機的話,選用什麼驅動晶元

建議用L297+L298做驅動器:它能自己生成步進電機工作所需相序,在很大程度上能夠減輕軟體設計的負擔,控制比較簡單,只需要發送脈沖即可;ULN2003其實也可以(如果做比較小的東西的話),ULN2003是一個非門電路,包含7個單元,單獨每個單元驅動電流最大可達350mA,能夠直接驅動直流電機或步進電機,但是,ULN2003不能產生步進電機工作相序,需要在程序部分設計好電機如何工作!

Ⅶ 52單片機驅動蜂鳴器,我這樣寫為什麼不對,求大神

#include<reg52.h>
void yanshi();
sbit beep=P3^6;
void main()
{
while(1){
beep=0;
yanshi();
beep=1;
yanshi();
}
}
void yanshi()
{
int i;
for(i=100;i>=0;i--);
}

程序這樣就行了,如果你的是有源可以,無源也可以。需要高電平打開三極體開關。

閱讀全文

與52單片機驅動相關的資料

熱點內容
方舟伺服器怎麼玩才好玩 瀏覽:557
單片機的部件 瀏覽:621
編譯原理遍的過程 瀏覽:252
python讀取json字元串 瀏覽:62
ubuntu1404安裝php 瀏覽:628
lua能編譯嗎 瀏覽:116
思仙怎麼看伺服器 瀏覽:658
php微信圖片防盜鏈 瀏覽:798
安卓1怎麼讀音 瀏覽:291
農業app怎麼開通快捷支付 瀏覽:910
pythonredisdict 瀏覽:385
如何攻擊別人網賭伺服器 瀏覽:880
隱私與應用加密的圖案密碼 瀏覽:38
陳情令王一博解壓 瀏覽:39
c編譯器使用說明 瀏覽:707
鄭州前端程序員私活有風險嗎 瀏覽:14
小型螺桿機壓縮機 瀏覽:520
成人解壓最好的方法 瀏覽:52
最小製冷壓縮機 瀏覽:492
xampp支持python 瀏覽:371