|
用PROTEUS設(shè)計(jì)、仿真89C51單片機(jī)的外部中斷功能。在主程序中通過P1口在數(shù)碼管循環(huán)顯示十六進(jìn)制數(shù)0~F(兩個(gè)數(shù)字顯示之間的時(shí)間間隔為0.5s,由延時(shí)程序?qū)崿F(xiàn));外部中斷通過INT1輸入,由按鍵輸入,下降沿有效,普通優(yōu)先級(jí),在中斷服務(wù)程序中在P2口實(shí)現(xiàn)流水燈功能(兩個(gè)燈點(diǎn)亮之間的時(shí)間間隔為0.5s,由延時(shí)程序?qū)崿F(xiàn)),從上到下顯示一遍后結(jié)束,回到主程序。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (15.5 KB, 下載次數(shù): 32)
下載附件
2017-12-2 15:27 上傳
0.png (13.22 KB, 下載次數(shù): 35)
下載附件
2017-12-2 15:27 上傳
包含仿真文件及源程序 - ORG 0000H
- AJMP START
- ORG 0013H
- AJMP INTX0
- ORG 0030H
- START: MOV P3,#0FFH
- MOV SP,#6FH
- SETB IT1
- SETB EA
- SETB EX1
- CLR PX1
- DISP0: MOV R1,#16
- MOV DPTR,#TABLE
- MOV R2,#0
- NEXT: MOV A,R2
- MOVC A,@A+DPTR
- MOV P1,A
- ACALL DELAY
- INC R2
- DJNZ R1,NEXT
- INTX0: PUSH PSW
- PUSH ACC
- SETB RS1
- MOV R1,#8
- MOV A,#0FEH
- DII0: MOV P2,A
- ACALL DELAY
- RL A
- DJNZ R1,DII0
- MOV P2,#0FFH
- POP ACC
- POP PSW
- RETI
- DELAY: PUSH PSW
- SETB RS0
- MOV R7,#10
- DEL1: MOV R6,#50
- DEL2: MOV R5,#250
- DEL3: NOP
- NOP
- DJNZ R5,DEL3
- DJNZ R6,DEL2
- DJNZ R7,DEL1
- POP PSW
- RET
- TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H,3EH,76H,38H,40H,6EH,0FFH,00H
- END
復(fù)制代碼
全部資料51hei下載地址:
text.zip
(35.04 KB, 下載次數(shù): 15)
2017-12-2 15:02 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|