① 如何設計8051單片機應用系統的復位電路
第十六課:51單片機的復位
51單片機高電平復位。以當前使用較多的AT89系列單片機來說,,在復位腳加高電平2個機器周期(即24個振盪周期)可使單片機復位。復位後,主要特徵是各IO口呈現高電平,程序計數器從零開始執行程序。
復位方式有兩種。
1.
手動復位:按鈕按下,復位腳得到VCC的高電平,單片機復位,按鈕松開後,單片機開始工作。
2.
上電復位:上電後,電容電壓不能突變,VCC通過復位電容(10μF電解)給單片機復位腳施加高電平5V,同時,通過10KΩ電阻向電容器反向充電,使復位腳電壓逐漸降低。經一定時間後(約10毫秒)復位腳變為0V,單片機開始工作。
參考資料:http://hi..com/dzkfw/blog/item/f446f73f9fed61e6838b13f0.html
② 請高手指導51單片機掉電保護電路的設計
1、在電路板的供電上增加一個超級電容,保證掉電狀態電壓可以緩慢下降,例如5V降到4.5V約0.5秒的時間。
2、使用T0中斷提供時鍾,每0.1秒對電源電壓采樣一次,當電壓下降到4.7V時,開始保存數據操作。操作完畢後單片機進入休眠。
3、之間和之後的工作應該沒有問題了吧?用24C01,X25045等等做數據存儲器都可以,建議用25045.
③ 單片機的電路怎麼設計
單片機的電路要實現控制LED燈,需要以單片機最小系統的方式來實現,單片機最小系統由2部分構成:
第1部分:單片機復位電路。硬體組成:電容+電阻構成復位電路。
第2部分:單片機時鍾電路。電阻組成:12MHz晶振+11pF陶瓷電容,提供單片機的工作周期。
完成單片機最小系統後再完成LED燈的控制,LED燈與單片機的IO埠連接時,需要將LED燈串聯220Ω的電阻限流。然後單片機的一組IO口最多串聯2個LED燈,如果要多個LED燈,那最多可以在單片機的IO口並聯4組2個串接在一起的LED燈。單片機有32個IO口,如此算下來,你一個IO口做多可以控制8個LED燈,那麼32個IO口,單片機可以控制256個LED燈。
關於LED的一閃一閃的問題,這個採用單片機的內部定時器即可,51單片機內部有T0、T1供給2個定時器,可以根據需要自行設定。
生活不止有眼前的苟且,還有詩和遠方
頭像賬號也是騰訊賬號。有問題可以添加@
④ 基於51單片機控制交通燈的電路圖與C語言程序
思路:
紅燈停,綠燈行,黃燈閃爍提示行人紅綠燈即將切換。四個方向各有一個紅、黃、綠顯示和兩個數碼管。
東西道為人行道(20秒),南北道為車行道(60秒),黃燈延時最後三秒時,閃爍並切換。
三、硬體電路設計
此電中路設計採用AT89C51單片機,74LS47(數碼管驅動)74LS373(數碼管驅動輸出鎖存),8個數碼管顯示其延時值,四個紅、黃、綠指示燈。硬體設計關鍵在於,延時顯示時,要考慮到當個位數字顯示時,要確保十位數字顯示輸出的不變。因此,可加輸出鎖存器。在延時最後三秒時,要讓黃燈進行閃爍,並同時顯示數字(這一步在軟體設計上很關鍵)。
四、軟體程序(C語言)
以下是整個設計的軟體程序,直接可以編譯成*。Hex代碼。通過以上電路,下載到單片機,可直接運行。
//*****************************//
//程序名:十字路口交通燈控制
//編寫人:黃庭劍
//初寫時間:2009年1月2日
//程序功能:南北為車行道,延時60秒;東西方向為人行道,延時20秒,且在最後3秒黃燈顯示2秒鍾再實現切換.
//CPU說明:AT89C51型單片機;24MHZ晶體振盪器
//完成時間:2009年1月6日
//*****************************//
#include<stdio.h>
#include<reg51.h>
#include<intrins.h>
sfrp0=0x80;
sfrp1=0x90;
sfrp2=0xA0;
sfrp3=0xb0;//這部分內容其實在「#include<reg51.h>」里已經有,但裡面定義的必須區分大小寫,在這里,因為我程序採用的是小寫,reg51.h里對各個埠與寄存器的定義都是大寫,所以在編譯連接時,會報錯,所以,在本設計程序里,我只用到了埠,在這里也就只定義了四個,而沒有去改reg51.h裡面的內容。其實兩者是一樣的。
sbitsw=p0^0;
sbitOE=P0^6;
sbitLE=P0^7;//74LS373鎖存器控制端定義
chardisplay[]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99};//p1口的數碼管時間顯示調用,利用74L74BCD碼,8位驅動輸出;
//函數聲明begin
voiddelay1(intcount);
voiddelay_long(intnumber1,intnumber2);
voidpeople_car_drive();
//函數聲明end
//***********************//延時子程序
voiddelay1(intcount)
{inti;
for(i=count;i>0;i--)
{;}
}
voiddelay_long(intnumber1,intnumber2)
{
inta,b;
for(a=number1;a>0;a--)
{
for(b=number2;b>0;b--)
{_nop_();}
}
}
//**********************//延時子程序
voidpeople_car_drive()
{
intp_1=2,i,j=9,p_2=6;//****************//行人通行時,延時20秒
p2=0x09;//南北紅燈亮
p3=0x24;//東西綠燈亮
while(p_1-->0)
{LE=1;
OE=0;
if(p_1==0){OE=1;}//當十位數減到0時,只顯示個位數
p1=display[p_1];
delay1(1000);
LE=0;
j=9;
for(i=10;i>0;i--)
{
if(p_1==0&&j==3)break;//減到3時退出循環,讓其黃燈閃爍顯示
p1=display[j--];
delay_long(16000,2);
if(sw==1)return;
}
}
//*******************************************************************************//
p2=0x12;//南北黃燈閃爍三秒,以提醒行人注意
p3=0x12;
p1=display[3];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
p2=0x12;
p3=0x12;
p1=display[2];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
p2=0x12;
p3=0x12;
p1=display[1];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
//*****************以下是車輛通行時延時60秒//
p2=0x24;//南北綠燈亮
p3=0x09;//東西紅燈亮
while(p_2-->0)
{LE=1;
OE=0;
if(p_2==0){OE=1;}//當十位數減到0時,只顯示個位數
p1=display[p_2];
delay1(1000);
LE=0;
j=9;
for(i=10;i>0;i--)
{
if(p_2==0&&j==3)break;//減到2時退出循環
p1=display[j--];
delay_long(16000,2);
if(sw==1)return;
}
}
p2=0x12;//南北黃燈閃爍三秒,以提醒行人注意
p3=0x12;
p1=display[3];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
p2=0x12;
p3=0x12;
p1=display[2];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);
p2=0x12;
p3=0x12;
p1=display[1];
delay_long(8000,1);
p2=0x00;
p3=0x00;
delay_long(14000,1);//南北黃燈閃爍三秒完畢
}
voidmain()//主函數入口處
{
p0=0x01;
p1=0x00;
p2=0x00;
p3=0x00;//初始化各埠
{while(1)
{
if(sw==0)
{people_car_drive();}
else
{
p2=0x00;
p3=0x00;//關閉所有交通燈
}
}
}
}
詳情訪問:http://hi..com/hjiannew/
⑤ 為51單片機設計一個上拉輸入和下拉輸入的按鍵電路並分析其工作原理
按鍵一般是上拉,單片機的IO通過電阻上拉高電平,按鍵正常高電平當按鍵按下短路,把IO變成低電平,單片機檢測到低電平表示有按鍵按下,按鍵下拉一般是把單片機IO通電阻接到GND,按鍵正常是低電平,當按鍵按下把IO拉高,單片機檢測到高電平表示有按鍵按下。
⑥ 51單片機最小系統原理圖
我是一名單片機工程師,下面的講解你參考一下.
.
51單片機共有40隻引腳.下面這個就是最小系統原理圖,就是靠這四個部分,這個單片機就可以運行起來了.(看下面的數字標記,1234)
.
這個腳是存儲器使用選擇腳,當這個腳接」地」時,那麼就是告訴單片機,選擇使用外部存儲器,當這個腳接」5V」時,說明單片機使用內部存儲器.
如果選擇外部的存儲器,太浪費單片機僅有的資源,所以這一腳永遠接電源5V(如上圖所示),使用單片機的內部存儲器.
5 如果內部存儲器不夠容量,最多選擇更高級的容量,就可以解決容量不夠的問題了,就是這么簡單
.
一天入門51單片機:點我學習
.
我是歲月哥,願你學習愉快!