微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 利用AT89C2051制作的6位电子钟

利用AT89C2051制作的6位电子钟

时间:12-06 来源:互联网 点击:


JNB ACC.5,ENDOUT ;ACC.5=0时一次显示结束

RL A ;A中数据循环左移

MOV R5,A ;放回R5内

AJMP PLAY ;跳回PLAY循环

ENDOUT: SETB P3.5 ;一次显示结束,P3口复位

MOV

P1,#0FFH ;P1口复位

RET ;子程序返回

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH

;共阳段码表 "0""1""2" "3""4""5""6""7" "8""9""不亮"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 延时程序 ;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;1MS延时程序,LED显示程序用

DL1MS: MOV R6,#14H

DL1: MOV R7,#19H

DL2: DJNZ R7,DL2

DJNZ R6,DL1

RET

;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象

DS20MS: ACALL DISPLAY

ACALL DISPLAY

ACALL DISPLAY

RET

;延时程序,用作按键时间的长短判断

DL1S: LCALL DL05S

LCALL DL05S

RET

DL05S: MOV R3,#20H ;8毫秒*32=0.196秒

DL05S1: LCALL DISPLAY

DJNZ R3,DL05S1

RET

END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top