汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx

上传人:b****4 文档编号:17859194 上传时间:2022-12-11 格式:DOCX 页数:15 大小:48.92KB
下载 相关 举报
汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx_第1页
第1页 / 共15页
汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx_第2页
第2页 / 共15页
汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx_第3页
第3页 / 共15页
汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx_第4页
第4页 / 共15页
汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx

《汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

汇编语言知识学习在两个数码管上实现0099的循环显示Word文档下载推荐.docx

000BH

TIME0

定时器0中断入口

0013H

KBHIT

初始化

0030H

INIT:

MOV

DPTR,#4000H

HD7279A的地址

A,#10011111B

HD7279A初始化CS、CLK、

DATA

MOVX

@DPTR,A

LCALL

DELAY25MS

延时后进入工作状态

DATA_OUT,#1O1OO1OOB

HD7279A复位指令

SEND

发送指令

设回CS为高电平

R4,#20

定时器一个周期内的中断数

R2,#0

R3,#0

R4,#0

R5,#0

MSECOND,#O

SECOND,#。

MINITE,#0

HOUR,#0

数字计数器

R6,#0

个位寄存器

R7,#0

十位寄存器

SETB

EA

开总中断

ET0

开定时器0中断

EX1

TR0

开始计时

注程序

MAIN:

A,R2

B,#10

DIV

AB

R6,B

R7,A

把数字转换为2个BCD码

个位放在R6

十位放在R7

 

译码,找到了第1个数码管

DELAY25

T4,指令与数据时间间隔

DATA_OUT,R1

指令的数据部分,显示个位

DATA_OUT,#11001001B;

下载数据且按方式-

译码,找到了第2个数码管

DATA_OUT,R2

DATA_OUT,#11OO1O1OB

下载数据且按方式1译码

找到了第3个数码管

DATA_OUT,R3

DELAY1MS

显示延时

A,R4

DATA_OUT,#11001011B

下载数据且按方式

1译码

找到了第

4个数码管

DATA_OUT,R6

DATA_OUT,#11OO11OOB

5个数码管

DATA_OUT,R7

指令的数据部分,显示十位

A,R5

DATA_OUT,#11OO11O1B

6个数码管

DATA_OUT,#11001110B

7个数码管

MAIN

下一循环

SJMP

$

发送子程序

SEND:

CLR

加锁

BIT_COUNT,#8

无论指令还是数据,一次只发送

8位

A,#00011111B

设CS为低电平

DELAY50

T1,从CS下降沿至CLK脉冲时

发送循环,HD7279A采用串行方式与微处理器通讯,一次发送一位

SENDLOOP:

MOV

A,DATA_OUT

最高位

C,ACC.7

串行发送从高位到低位发送,故先取

输出到DAT位

ACC.5,C

C

设CLK为高电平

ACC.6,C

DELAY8

T2,传送指令时CLK脉冲宽度

设CLK为低电平

T3,字节传送中CLK脉冲时间

移位待发送的指令或数据,为下

取出发送的指令或数据

一位的发送作准备

RLA

MOVDATA_OUT,A

DJNZBIT_COUNT,SENDLOOP

发送不到8位,继续循环

发送完毕,恢复DAT

ET0释放锁

RET

接收子程序(本程序中用不到,但在添加按键操作的时候用于读取键值)

RECEIVE:

CLR

ET0加锁

BIT_COUNT,#8;

接收8位数据

DATA_IN,#0;

清空接收数据缓冲寄存器

A,#00111111B;

设CS为低电平,同时保证DAT

为高电平(输入状态)

DELAY25;

T5,读键盘指令中指令与数据

时间间隔

接收循环

HD7279A米用串行方式与微处理器通讯,一次接收一位

RECEIVELOOP:

ACC.6设CS为高电平

DELAY8;

T6,输出键盘数据建立时间

A,DATA_IN;

接收数据缓冲寄存器向左移位,准备

接收一位数据,数据的高位会先发送

RL

DATA_IN,A

A,@DPTR

读取数据

C,ACC.5

取出数据位DAT

A,DATA_IN

ACC.0,C

数据放进接收数据缓冲寄存器

A,#00111111B

设CS为低电平,同时保证DAT

(输入状态)

T7,读键盘数据是CLK脉冲宽

DJNZ

BIT_COUNT,RECEIVELOOP

接收不到8位,继续循环

接收完毕,恢复DAT

释放锁

为高电平

TIMEO:

定时器0中断程序

DJNZR4,NEXT淀时器一个周期内中断数不够就继续计时

INC

R2

数字加1

CJNE

R2,#100,NEXT

R3

R3,#10,NEXT

R4

R4,#60,NEXT

R5

R5,#60,NEXT

NEXT:

TH0,#0FCH

设置定时器定时值

重置定时器一个周期内中断数

数字不够100继续加1

数字到达100就清零

定时器方式1中断后需要重新

TL0,#18H

RETI

KBHIT:

PUSH

PSW

ACC

DPH

DPL

START:

A,R0

A,R1

DATA_OUT,#00010101B

RECEIVE

JZ

START

DEC

A

STOP

CLEAR

OUT

STOP:

CLEAR:

OUT:

POP

R1,A

R0,A

延时25ms子程序

DELAY25MS:

R0,#49

D11:

R1,#253

NOP

D12:

R1,D12

DJNZR0,D11

涎时50阴子程序

DELAY50:

R0,#23

D21:

R0,D21

涎时25阴子程序

DELAY25:

R0,#11

D31:

R0,D31

DELAY8:

D41:

延时8阳子程序

MOVR0,#2

DJNZR0,D41

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1