當前位置:編程學習大全網 - 編程軟體 - 實現0到99通過單片機內部的定時計數器完成計數功能的匯編程序

實現0到99通過單片機內部的定時計數器完成計數功能的匯編程序

SECOND EQU 30H

COUNT EQU 31H

ORG 00H

LJMP START

ORG 0BH ;定時器0中斷入口

LJMP INT_T0

START: MOV SECOND,#00H

MOV COUNT,#00H

MOV DPTR,#TABLE ;段碼表首地址

MOV P0,#3FH ;數碼管顯示初始化

MOV P2,#3FH

MOV TMOD,#01H ;設置定時器0工作方式

MOV TH0,#(65536-50000)/256 ;定時50毫秒

MOV TL0,#(65536-50000) MOD 256

SETB TR0 ;啟動定時/計數器0

MOV IE,#82H ;開中斷

LJMP $ ;等待中斷

INT_T0: MOV TH0,#(65536-50000)/256 ;定時50毫秒

MOV TL0,#(65536-50000) MOD 256

INC COUNT ;計數值加1

MOV A,COUNT

CJNE A,#20,I2 ;是否計夠1秒

MOV COUNT,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,I1 ;是否計夠60秒

MOV SECOND,#00H

I1: MOV A,SECOND

MOV B,#10

DIV AB ;分離計數值十位和個位

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A ;顯示計數值

I2: RETI ;中斷返回

TABLE: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

END

  • 上一篇:維宏控制卡支持win7 64位的系統嗎?
  • 下一篇:18寶來是什麽發動機?
  • copyright 2024編程學習大全網