新闻中心

EEPW首页>嵌入式系统>设计应用> 8279显示电子钟的硬件设计与软件设计

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

作者: 时间:2011-12-04 来源:网络 收藏

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

本文引用地址://m.amcfsurvey.com/article/172385.htm

MCS51单片机汇编程序

Z8279EQU08701H ;8279 状态/命令口地址

D8279EQU08700H ;8279 数据口地址

LEDMODEQU00H;左边输入 八位字符

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

LEDFEQEQU2FH;扫描速率

LEDCLSEQU0C1H ;清除RAM

LEDWR0EQU80H;设定的将要写入的RAM地址

ORG0000H

AJMPSTART

ORG001BH ;INT T1 入口地址

AJMPINT_T1

ORG0040H

START:

MOVSP,#60H

LCALLINIT8279;初始化8279

MOVR3,#0H ;

MOVR2,#0H ;

MOVR1,#0H ;

MOVR6,#0H ;标志

MOVTMOD,#10H

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

MOVTH1,#04CH

MOVR0,#20

SETBTR1

SETBET1

SETBEA ;允许中断

WAIT:CJNER6,#0FFH,WAIT

LCALLDISPLAY

MOVR6,#0

SJMPWAIT

INIT8279:

;8279初始化子程序

PUSHDPH ;保存现场

PUSHDPL

PUSHACC

LCALLDELAY;延时

MOVDPTR,#Z8279

MOVA,#LEDMOD ;置8279工作方式

MOVX@DPTR,A

MOVA,#LEDFEQ ;置键盘扫描速率

MOVX@DPTR,A

MOVA,#LEDCLS ;清除 LED 显示

MOVX@DPTR,A

LCALLDELAY;延时

POPACC ;恢复现场

POPDPL

POPDPH

RET

;显示字符子程序

;输入R4,位置 R5,值

DISLED:PUSHDPH ;保存现场

PUSHDPL

PUSHACC

MOVA,#LEDWR0 ;置显示起始地址

ADDA,R4;加位置偏移量

MOVDPTR,#Z8279

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

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

MOVA,R5

MOVCA,@A+DPTR;查表

MOVDPTR,#D8279

MOVX@DPTR,A;显示数据

POPACC ;恢复现场

POPDPL

POPDPH

RET

DELAY: ;延时子程序

PUSH0 ;保存现场

PUSH1

MOV0,#0H

DELAY1:MOV1,#0H

DJNZ1,$

DJNZ0,DELAY1

POP1 ;恢复现场

POP0

RET

INT_T1: ;INT_T1中断服务子程序

PUSHDPH ;保护现场

PUSHDPL

PUSHACC

PUSHPSW

CLRTR1

MOVTL1,#00H ;50MS 定时常数

MOVTH1,#4CH

SETBTR1

DJNZR0,EXIT;判断毫秒=0

MOVR0,#20 ;DELAY 1 SECOND

MOVR6,#0FFH ;置秒标志

CJNER1,#59H,SECOND;判断秒=59

MOVR1,#99H

CJNER2,#59H,MINUTE;判断分=59

MOVR2,#99H

CJNER3,#23H,HOUR;判断时=23

MOVR3,#99H

HOUR:

51单片机相关文章:51单片机教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭