一、電路圖
按照下圖購買元器件及面包板,在面包實驗板上參考右圖搭成電路。將已經(jīng)固化好最簡程序的AT89C2051單片機(jī)芯片插到實驗板中縫左右。
LC3911BH型LED數(shù)碼管高約13mm,寬10mm,引線排列在兩側(cè),正好能騎插在面包實驗板中縫左右。然后用細(xì)硬線按照圖2將數(shù)碼管與單片機(jī)Pl口連接好,并接入電阻、電容、晶振、按鈕開關(guān)等。
顯示0—9共10個阿拉伯?dāng)?shù)字,顯示1時段數(shù)最少為2個。設(shè)每段電流最大為5mA,則2段總電流I=2×5mA =10 mA,公共限流電阻R=(UCC-ULED)/I=(5V-2V)/10 mA =300Ω
顯示8時段數(shù)最多為7個,每段電流最小為10/7=1.43mA,顯得較暗。
由于LED電流大時正向壓降亦大些,故顯示數(shù)字在0~9之間變化時,亮度變化不是預(yù)期那樣厲害。因此,下圖電路數(shù)碼管每段電流在1.5~5mA之間。公共限流電阻方案適合于業(yè)余制作。
下圖中AT89C2051晶振頻率為6MHz。沒有兩個33p電容,由于面包板的分布電容,單片機(jī)仍然能起振并工作。0.1μ電容功能是防高頻干擾。1μ電容、10k電阻與lk電阻組成最常用的復(fù)位電路。
AT89系列51單片機(jī)要求直流電源電壓3—6V。目前有下列電源可供選用:
●萬能手機(jī)充電器4.3-5V
二、固定字符顯示的程序編制
普通數(shù)字電子電路都有特定功能,如與、或、非邏輯功能。計算機(jī)包括單片機(jī)本身沒有特定功能,只有執(zhí)行特定指令的能力,指令讓它干什么,它就干什么;沒有指令組成的程序,它什么也不能干。沒有配備任何程序的計算機(jī)叫做“裸機(jī)”?!奥銠C(jī)什么事情也不能做。
普通數(shù)字電子電路功能單一,計算機(jī)用執(zhí)行程序模式所能完成的任務(wù)卻是無限的。關(guān)鍵是選指令編制程序。計算機(jī)能執(zhí)行的所有特定指令就叫做指令系統(tǒng)。
計算機(jī)芯片設(shè)計時已經(jīng)配備了指令系統(tǒng),包括數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、指令轉(zhuǎn)移等應(yīng)有盡有。
編程并不復(fù)雜。選指令就像兒童選積木,編程就像兒童搭積木。編程前只要簡單地熟悉所用計算機(jī)的指令系統(tǒng)就可以,編程時再根據(jù)自己的任務(wù)去琢磨如何選合適的指令。一個計算機(jī)編程老手,也很難說指令系統(tǒng)中的所有指令都用過了,新手更是要慢慢來。
計算機(jī)的優(yōu)點是快,其實很多人也被計算機(jī)的“快”搞暈了。但是編程或分析程序時,完全可以認(rèn)為計算機(jī)執(zhí)行一條條指令時,就像我們?nèi)俗卟揭粯佑袟l不紊。實際上AT89C2051單片機(jī)確實可以慢慢地運行,1秒鐘甚至更長時間才執(zhí)行l(wèi)條指令,就像影視節(jié)目中的慢鏡頭一樣?!奥健比绱寺?,每個人都有足夠時間來分析計算機(jī)一步步究竟在于什么,硬件電路有什么反應(yīng)。
還有,分析指令執(zhí)行過程時,只需要關(guān)心其已知條件和執(zhí)行結(jié)果。把計算機(jī)復(fù)位即自動進(jìn)行的硬件初始化后的狀態(tài)作為第一條指令的已知條件,把第一條指令的執(zhí)行結(jié)果作為第二條指令的已知條件……把第n條指令的執(zhí)行結(jié)果作為第n+l條指令的已知條件。就這樣用熟悉的已知、求、解、答的模式,就能知道程序功能。
上圖所示屬于單片機(jī)最小系統(tǒng)。其任務(wù)是顯示某固定字符,如顯示“2”,只要把“2”的字模二進(jìn)制數(shù)“10100100B”送到P1口,然后停止機(jī)器即可。用助記符“MOV P1,#10100100B”表示。匯編程序把MOV P1,#10100100B的助記符匯編成機(jī)器碼,以寫進(jìn)程序存儲器中讓計算機(jī)執(zhí)行。這種助記符編寫的程序也稱為匯編語言程序,簡稱為匯編語言。
二進(jìn)制數(shù)“10100100B”送到P1口之后,需要使機(jī)器停止。但2051單片機(jī)沒有專用的停止指令。
全部程序如下:
MOV P1.#10100100B
HERE: SJMP HERE
該最簡程序已經(jīng)寫在圖2中的單片機(jī)符號中。像右圖這樣既有完整的硬件又有完整的軟件,就是一個典型的單片機(jī)最小系統(tǒng)。
用C語言編制該程序如下:
include
main0
{P1=0xa4;
while(1);}
改變P1賦值,觀察顯示狀態(tài)有什么變化,把程序編譯后固化到2051中,圖3中間黑色長條就是AT89C2051單片機(jī),單片機(jī)右邊發(fā)白的小長條是晶振,單片機(jī)下方是復(fù)位電容及按鈕,面包板右側(cè)紅色長方塊是一塊手機(jī)鋰電池,用兩根兩端接有帶塑皮套的夾子線,通稱雙夾線,可以很方便地給單片機(jī)系統(tǒng)加上電源。該系統(tǒng)工作情況見下圖(略)。
整個電路搭好后,上電即能顯示“2”。按壓復(fù)位鍵,顯示全部熄滅,可以驗證復(fù)位后單片機(jī)口線均為高電平,本設(shè)計屬于低電平驅(qū)動,所以復(fù)位期間顯示全部熄滅。手壓復(fù)位鍵時間不限,可以充分觀察復(fù)位期間口線輸出的高電平。
電路保持不變,修改控制程序,就能用本電路制成一塊一位LED秒表。LED秒表參考匯編語言程序如下:
字庫(讀者可改為16進(jìn)制字庫做試驗)
本制作的目的僅僅是演示單片機(jī)工作原理,因此采用了方便插拔的面包實驗板。
-
led
+關(guān)注
關(guān)注
242文章
23384瀏覽量
663498 -
AT89C2051
+關(guān)注
關(guān)注
7文章
170瀏覽量
66425
發(fā)布評論請先 登錄
相關(guān)推薦
AT89C2051單片機(jī)做節(jié)日彩燈控制電路程序
基于AT89C2051單片機(jī)的數(shù)字電容表設(shè)計
AT89C2051單片機(jī)在步進(jìn)電機(jī)控制中的應(yīng)用
AT89C2051單片機(jī)的比較器的應(yīng)用
AT89c2051單片機(jī)介紹
![<b class='flag-5'>AT89c2051</b><b class='flag-5'>單片機(jī)</b>介紹](https://file.elecfans.com/web2/M00/49/11/pYYBAGKhtDaADAbqAAANEuEEGQ0134.jpg)
使用AT89C2051實現(xiàn)流水燈的PCB原理圖免費下載
![使用<b class='flag-5'>AT89C2051</b>實現(xiàn)<b class='flag-5'>流水燈</b>的PCB原理圖免費下載](https://file.elecfans.com/web1/M00/C6/BE/o4YBAF9jB_SAYzTGAAGW-XfvwqA223.png)
如何使用AT89C2051單片機(jī)實現(xiàn)節(jié)日彩燈控制電路的程序
利用單片機(jī)AT89C2051制作的電子琴電路
![利用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>AT89C2051</b><b class='flag-5'>制作</b>的電子琴<b class='flag-5'>電路</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論