用PROTEUS設計、仿真89C51單片機的外部中斷功能。在主程序中通過P1口在數碼管循環顯示十六進制數0~F(兩個數字顯示之間的時間間隔為0.5s,由延時程序實現);外部中斷通過INT1輸入,由按鍵輸入,下降沿有效,普通優先級,在中斷服務程序中在P2口實現流水燈功能(兩個燈點亮之間的時間間隔為0.5s,由延時程序實現),從上到下顯示一遍后結束,回到主程序。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (15.5 KB, 下載次數: 32)
下載附件
2017-12-2 15:27 上傳
0.png (13.22 KB, 下載次數: 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
復制代碼
全部資料51hei下載地址:
text.zip
(35.04 KB, 下載次數: 15)
2017-12-2 15:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|