• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > 电源技术 > 电源技术 > 8279显示电子钟的硬件设计与软件设计

8279显示电子钟的硬件设计与软件设计

录入:edatop.com    点击:

可以看看时钟程序是怎么样设计的。

 

 

 

MCS51单片机汇编程序

 

 

Z8279 EQU 08701H ;8279 状态/命令口地址
 

D8279 EQU 08700H ;8279 数据口地址
 

LEDMOD EQU 00H;左边输入 八位字符显示
 

;外部译码键扫描方式,双键互锁
 

LEDFEQ EQU 2FH;扫描速率
 

LEDCLS EQU 0C1H ;清除显示 RAM
 

LEDWR0 EQU 80H;设定的将要写入的显示RAM地址
 

 

ORG 0000H

AJMP START

ORG 001BH ;INT T1 入口地址
 

AJMP INT_T1

ORG 0040H

START:

MOV SP,#60H

LCALL INIT8279;初始化8279
 

MOV R3,#0H ;
 

MOV R2,#0H ;
 

MOV R1,#0H ;
 

MOV R6,#0H ;标志
 

MOV TMOD,#10H

MOV TL1,#00H ;50 MS 的时间常数
 

MOV TH1,#04CH

MOV R0,#20

SETB TR1

SETB ET1

SETB EA ;允许中断
 

WAIT: CJNE R6,#0FFH,WAIT

LCALL DISPLAY

MOV R6,#0

SJMP WAIT

 

 

INIT8279:

;8279初始化子程序
 

PUSH DPH ;保存现场
 

PUSH DPL

PUSH ACC

LCALL DELAY ;延时
 

MOV DPTR ,#Z8279

MOV A,#LEDMOD ;置8279工作方式
 

MOVX @DPTR,A

MOV A,#LEDFEQ ;置键盘扫描速率
 

MOVX @DPTR,A

MOV A,#LEDCLS ;清除 LED 显示
 

MOVX @DPTR,A

LCALL DELAY ;延时
 

POP ACC ;恢复现场
 

POP DPL

POP DPH

RET

;显示字符子程序
 

;输入R4,位置 R5,值
 

DISLED: PUSH DPH ;保存现场
 

PUSH DPL

PUSH ACC

MOV A,#LEDWR0 ;置显示起始地址
 

ADD A,R4 ;加位置偏移量
 

MOV DPTR,#Z8279

MOVX @DPTR,A ;设定显示位置
 

MOV DPTR,#LEDSEG ;置显示常数表起始位置
 

MOV A,R5

MOVC A,@A+DPTR;查表
 

MOV DPTR,#D8279

MOVX @DPTR,A ;显示数据
 

POP ACC ;恢复现场
 

POP DPL

POP DPH

RET

DELAY: ;延时子程序
 

PUSH 0 ;保存现场
 

PUSH 1

MOV 0,#0H

DELAY1: MOV 1,#0H

DJNZ 1,$

DJNZ 0,DELAY1

POP 1 ;恢复现场
 

POP 0

RET

 

INT_T1: ;INT_T1中断服务子程序
 

PUSH DPH ;保护现场
 

PUSH DPL

PUSH ACC

PUSH PSW

CLR TR1

MOV TL1,#00H ;50MS 定时常数
 

MOV TH1,#4CH

SETB TR1

DJNZ R0,EXIT ;判断毫秒=0
 

MOV R0,#20 ;DELAY 1 SECOND
 

MOV R6,#0FFH ;置秒标志
 

CJNE R1,#59H,SECOND ;判断秒=59
 

MOV R1,#99H

CJNE R2,#59H,MINUTE ;判断分=59
 

MOV R2,#99H

CJNE R3,#23H,HOUR ;判断时=23
 

MOV R3,#99H

HOUR: [p]

MOV A,R3

ADD A,#1 ;时加1
 

DA A

MOV R3,A

MINUTE:

MOV A,R2

ADD A,#1 ;分加1
 

DA A

MOV R2,A

SECOND:

MOV A,R1

ADD A,#1 ;秒加1
 

DA A

MOV R1,A

EXIT:

POP PSW ;恢复现场
 

POP ACC

POP DPL

POP DPH

RETI ;中断返回
 

DISPLAY:

MOV A,R3

ANL A,#0FH

MOV R5,A

MOV R4,#6

LCALL DISLED ;显示小时低位
 

MOV A,R3

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#7

LCALL DISLED ;显示小时高位
 

MOV A,R2

ANL A,#0FH

MOV R5,A

MOV R4,#3

LCALL DISLED ;显示分钟低位
 

MOV A,R2

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#4

LCALL DISLED ;显示分钟高位
 

MOV A,R1

ANL A,#0FH

MOV R5,A

MOV R4,#0

LCALL DISLED ;显示秒低位
 

MOV A,R1

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#1

LCALL DISLED ;显示秒高位
 

RET

 

LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'
 

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'
 

DB 6DH,02H,08H,00H,59H,0FH,76H;'U,-,_, ,I,O,P, '
 

END

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:89C51单片机在环境噪声测量仪中的应用
下一篇:高功率因数的大功率开关电镀电源研究

射频和天线工程师培训课程详情>>

  网站地图