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