簡單秒表00-99按鍵中斷 兩位數碼管
0.png (46.43 KB, 下載次數: 57)
下載附件
2018-6-7 01:56 上傳
單片機源程序如下:
- ORG 0000H ;在000H單元存放轉移指令
- AJMP MAIN ;轉移到主程序
- ORG 0003H ;主程序從0030H開始
- LJMP ZD
- ORG 0030H ;主程序從0030H開始
- MAIN:
- SETB EA ;開總中斷
- SETB EX0 ;開中斷0
- SETB IT0 ;設置中斷0的觸發方式為下降沿觸發
- MOV P0,#00H ;數碼管顯示初值
- SETB P2.6 ;
- SETB P2.7
- MOV R0,#00H ;開始計時顯示
- MOV R1,#00H
- MOV R2,#140
- MOV R3,#0AH
- MOV R4,#0AH
-
- MOV DPTR,#TAB ;置共陽字段碼表首址
-
- L0: MOV A,R0
- MOVC A,@A+DPTR ;查段碼表
- MOV P2,#040H
- MOV P0,A
- ACALL DELAY
- MOV A,R1
- MOVC A,@A+DPTR ;查段碼表
- MOV P2,#80H
- MOV P0,A
- ACALL DELAY ;調用延時程序
-
- DJNZ R2,L0
-
- INC R0
- MOV R2,#140
-
- DJNZ R3,L0
- MOV R0,#00H
- MOV R3,#0AH
- INC R1
- DJNZ R4,L0
- AJMP MAIN ;返回主程序
- DELAY: ;誤差 -0.868055555556us
- MOV R6,#0FBH ;延時程序
- DL0:
- MOV R5,#04H
- DJNZ R5,$
- DJNZ R6,DL0
- RET
- ZD:
- MOV R0,#30
- MOV R1,#200
- MOV R2,#200
- H:
- DJNZ R0,H
- MOV R0,#30
- CPL P1.7
- DJNZ R1,H
- MOV R1,#200
- DJNZ R2,H
- MOV R0,#00H
- MOV R1,#00H
- MOV R2,#140
- MOV R3,#0AH
- MOV R4,#0AH
- RETI
-
- TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;
- END
復制代碼
所有資料51hei提供下載:
秒表.zip
(46.61 KB, 下載次數: 69)
2018-6-6 16:42 上傳
點擊文件名下載附件
秒表 下載積分: 黑幣 -5
|