总汇编语言在两个数码管上实现00-99地循环显示

2026/4/28 16:45:04

实用文档

;此程序为在两个数码管上实现00-99的循环显示

// // // //

标准文案

;设置ram DATA_IN

DATA 20H

DATA_OUT DATA 21H

BIT_COUNT

DATA 22H

HOUR DATA 23H MINITE DATA 24H SECOND DATA 25H MSECOND DATA 26H

ORG 0000H

LJMP

INIT

ORG 000BH

LJMP

TIME0

ORG 0013H LJMP KBHIT

;初始化

;接收数据缓冲寄存器 ;发送数据缓冲寄存器

;数据位数寄存器

;定时器0中断入口

实用文档

INIT:

DATA

//

// // // //

标准文案

ORG 0030H MOV DPTR,#4000H

;HD7279A的地址

MOV

A,#10011111B

;HD7279A初始化CS、CLK、

MOVX @DPTR,A

LCALL DELAY25MS

;延时后进入工作状态

MOV

DATA_OUT,#10100100B

;HD7279A复位指令

LCALL SEND

;发送指令 MOV

A,#10011111B

;设回CS为高电平

MOVX @DPTR,A

MOV

R4,#20 ;定时器一个周期内的中断数

MOV R2,#0 MOV R3,#0 MOV R4,#0 MOV R5,#0 MOV MSECOND,#0

MOV SECOND,#0 MOV MINITE,#0

MOV HOUR,#0 ;数字计数器 MOV R6,#0 ;个位寄存器 MOV

R7,#0

;十位寄存器

实用文档

MOV

TMOD,#1

;设置定时器0工作模式为

方式1 // //

;主程序 MOV MOV DIV MOV MOV

AB

R6,B R7,A

;个位放在R6 ;十位放在R7

;下载数据且按方式1

A,R2 B,#10

;把数字转换为2个BCD码

MOV MOV MOV MOV

TH0,#3CH TL0,#0B0H TH0,#0FCH TL0,#18H

;开总中断 ;开定时器0中断

;设置定时器定时值

;设置定时器定时值

SETB SETB

EA ET0

SETB EX1 SETB

TR0

;开始计时

MAIN:

MOV DATA_OUT,#11001000B

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

标准文案

实用文档

LCALL LCALL MOV

SEND DELAY25

;T4,指令与数据时间间隔

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

DATA_OUT,R1

LCALL MOV

SEND

A,#10011111B

MOVX

MOV

@DPTR,A

DATA_OUT,#11001001B

;下载数据且按方式1

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

MOV

DATA_OUT,#11001010B

;下载数据且按方式1译码,

LCALL LCALL MOV

SEND DELAY25

;T4,指令与数据时间间隔

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

DATA_OUT,R2

LCALL MOV

SEND

A,#10011111B

MOVX @DPTR,A

找到了第3个数码管

LCALL LCALL MOV

SEND DELAY25

;T4,指令与数据时间间隔

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

DATA_OUT,R3

LCALL MOV

SEND

A,#10011111B

标准文案


总汇编语言在两个数码管上实现00-99地循环显示.doc 将本文的Word文档下载到电脑
搜索更多关于: 总汇编语言在两个数码管上实现00-99地循环显示 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219