腳):復位信號輸入端。晶振工作時,在此引腳上保持兩個機器周期的高電平將使單片機復位
XTAL1(19腳)/XTAL2(18腳):內部振蕩器的輸入端,接外部晶振;如果采用外部時鐘,XTAL2引腳連外部時鐘,XTAL1引腳要懸空。
P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。 在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。 在FIash編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。
P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個
TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。
在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX @DPTR) 時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發送1。在使用8位地址(如MOVX @RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。
在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。
三 動態數碼顯示設計任務
采用動態掃描的方法顯示五位字符串,“12345”和“HELLO”
1.設計方案和原理分析
原理分析:所謂動態數碼掃描顯示技術就是指:多位數碼管采用“并聯”動態接口,通過對各數碼管輪流循環點亮,實現多位數碼顯示。
當循環掃描顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象。
p0端口接動態數碼管的段碼,p2端口接動態數碼管的數位選擇端,p1.7接一個開關,當開關接高電平時,顯示“12345”字樣;當開關接低電平時,顯示“HELLO”字樣。
把“單片機系統”區域中的p0.0/AD0-P0.7/AD7用8芯排線連接到“動態數碼顯示”區域中的a-h端口上;
把“單片機系統”區域中的p2.0/A8-P2.7/A15用8芯排線連接到“動態數碼顯示”區域中的S1-S8端口上:
把“單片機系統”區域中的p1.7端口用導線連接到“查詢式鍵盤”區域中的SP1端口上;
3. 軟件設計
動態掃描方法。動態接口采用各數碼管循環輪流顯示的方法,當循環顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要一個接口完成字形碼的輸出(字形選擇),另一接口完成各數碼管的輪流點亮(數位選擇)。
在進行數碼顯示的時候,要對顯示單元開辟8個顯示緩沖區,每個顯示緩沖區裝有顯示的不同數據即可。
對于顯示的字形碼數據我們采用查表方法來完成。
匯編源程序
ORG 0000H
LJMP START
ORG 0030H
START:
JB P1.7,DIR1
MOV DPTR,#TABLE1
SJMP DIR
DIR1:
MOV DPTR,#TABLE2
DIR:
MOV R0,#00H
MOV R1,#0FEH
MOV R2,#0DFH
NEXT:
MOV A,R1
MOV P2,A
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R1
LCALL DAY
INC R0
RL A
MOV R1,A
CJNE R1,#0DFH,NEXT
SJMP START
DAY:
MOV R5,#2
D2:
MOV R6,#5
D1:
MOV R7,#100
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
TABLE1:
DB 3FH,06H,5BH,4FH,66H,6DH
TABLE2:
DB 76H,79H,38H,38H,3FH,00H
END