基礎(chǔ)項(xiàng)目設(shè)計(jì),區(qū)別在于此次設(shè)計(jì)采用匯編語(yǔ)言,內(nèi)含設(shè)計(jì)報(bào)告,仿真,程序以及實(shí)物焊接圖 仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
上電時(shí),數(shù)碼管顯示為00。 利用單片機(jī)來(lái)制作一個(gè)手動(dòng)計(jì)數(shù)器,在單片機(jī)的管腳上接一個(gè)輕觸開(kāi)關(guān),作為手動(dòng)計(jì)數(shù)的按鈕,用單片機(jī)的I/O口接數(shù)碼管,作為計(jì)數(shù)器,進(jìn)行加計(jì)數(shù)顯示。 計(jì)數(shù)器計(jì)數(shù)到99后,再按計(jì)數(shù)按鈕,則數(shù)碼管從00重新開(kāi)始計(jì)數(shù)。 1. 設(shè)計(jì)方案和原理分析 芯片主要特性 與MCS-51兼容 4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz—24Hz 三級(jí)程序存儲(chǔ)器鎖定 128*8位內(nèi)部RAM 32可編程I/O線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)震蕩器和時(shí)鐘電路 管腳說(shuō)明: ①電源引腳
Vcc(40腳):典型值+5V。
Vss(20腳):接低電平。 ②外部晶振
XTAL1、XTAL2分別與晶振兩端相連接。 ③輸入輸出口引腳:
P0口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“ 1”。
P1口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“ 1”。
P2口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“ 1”。
P3口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“ 1”。
④控制引腳:
RST、ALE/-PROG、-PSEN、-EA/Vpp組成了MSC-51的控制總線。
RST(9腳):復(fù)位信號(hào)輸入端(高電平有效)。
ALE/-PROG(30腳):地址鎖存信號(hào)輸出端。
第二功能:編程脈沖輸入。 -PSEN(29腳):外部程序存儲(chǔ)器讀選通信號(hào)。 -EA/Vpp(31腳):外部程序存儲(chǔ)器使能端。
第二功能:編程電壓輸入端(+21V)。 AT89C51單片機(jī)的P口特點(diǎn): P0口:是一個(gè)8位漏極開(kāi)路輸出型雙向I/O端口。作為輸出端口時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL輸入,對(duì)端口寫1時(shí),又可作高阻抗輸入端用。在訪問(wèn)外部程序或數(shù)據(jù)存儲(chǔ)器時(shí),它是時(shí)分多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間將激活內(nèi)部的上拉電阻。 P1口:P1口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P2口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil)。 P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P2口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil)。在訪問(wèn)外部程序存儲(chǔ)器時(shí)和16位外部地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行 MOVX @DPTR)時(shí),P2口送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行 MOVX @RI)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。 P3口:P3口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P3口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil)。 排阻的作用 所謂排阻就是若干個(gè)參數(shù)完全相同的電阻,它們的一個(gè)引腳都連到一起,作為公共引腳。其余引腳正常引出。所以如果一個(gè)排阻是由n個(gè)電阻構(gòu)成的,那么它就有n+1只引腳,一般來(lái)說(shuō),最左邊的那個(gè)是公共引腳。它在排阻上一般用一個(gè)色點(diǎn)標(biāo)出來(lái)。排阻一般應(yīng)用在數(shù)字電路上,比如:作為某個(gè)并行口的上拉或者下拉電阻用。使用排阻比用若干只固定電阻更方便。 排阻有a型和b型的區(qū)別:
a型排阻的引腳總是奇數(shù)的。它的左端有一個(gè)公共端(用白色的圓點(diǎn)表示),常見(jiàn)的排阻有4、7、8個(gè)電阻,所以引腳共有5或8或9個(gè)。
b型排阻的引腳總是偶數(shù)的。它沒(méi)有公共端,常見(jiàn)的排阻有4個(gè)電阻,所以引腳共有8個(gè)。 排阻的阻值讀法如下:“103”表示:10kΩ,“510”表示:51Ω。以此類推常用于顯示數(shù)碼管。 項(xiàng)目4計(jì)數(shù)器- | 備注 | 序號(hào) | 名稱 | 數(shù)量 | | 1 | 單片機(jī)80c51 | 1個(gè) | 2 | 40P芯片座子 | 1個(gè) | 3 | 共陰數(shù)碼管 | 2個(gè) | 4 | 電阻330 | 1個(gè) | 5 | 電阻50 | 2個(gè) | 6 | 輕觸開(kāi)關(guān) | 1個(gè) | 7 | 排阻3k(7R8腳) | 1個(gè) | 8 | 通用焊接電路板15cm*20cm左右 | 1個(gè) | 9 |
|
| 10 |
|
|
(1)把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)a-h(huán)端口上;要求:P0.0/AD0對(duì)應(yīng)著a,P0.1/AD1對(duì)應(yīng)著b,……,P0.7/AD7對(duì)應(yīng)著h。 (2)把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)數(shù)碼管的a-h(huán)端口上; (3)把“單片機(jī)系統(tǒng)”區(qū)域中的P3.7/RD端口用導(dǎo)線連接到“獨(dú)立式鍵盤”區(qū)域中的SP1端口上 匯編源程序 Count EQU 30H SP1 BIT P3.7 ORG 0 START: MOV Count,#00H NEXT: MOV A,Count MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A WT: JNB SP1,WT WAIT: JB SP1,WAIT LCALL DELY10MS JB SP1,WAIT INC Count MOV A,Count CJNE A,#100,NEXT LJMP START DELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END
|