水电电工知识
电工文库|51单片机的数码管循环显示编程实例
2017-01-10  浏览:39
水电之家讯:要求在数码管上循环显示数字 1~5。

范例分析:

1.1硬件分析

数码管采用共阳极结构。

1.2软件设计

设计中要求循环显示1~5,很显然应采用循环的方法来实现,最简单的方法是将1~5的段码依次由P0口送出。

准备程序



2、控制转移类指令的特点及使用

(1)长转移指令

LJMP Addr16

功能:长距离无条件转移指令

说明:三字节指令,它直接将指令中的16位常数装入PC,使程序无条件转移到指定的地址处执行。目标语句可以是程序存储器64KB空间的任何地方。

(2)绝对转移指令

AJMP addr11

例: 4002H AJMP MM

……

4600H MM: MOV A,#00H

注意:目标语句必须和当前语句同页。在51单片机中,64KB程序存储器分成32页,每页2KB(7FFH)。

(3)短跳转指令

SJMP 目标语句(rel)

例: 4060H SJMP LOOP

……

4090H LOOP:MOV A,#0FFH

……

注意:短跳转的目标语句地址必须在当前语句向前127(7FH)字节,向后128(80H)字节,否则在进行程序编译时会出错。

(4)变址寻址转移指令

JMP @A+DPTR

该指令主要用于多分支的跳转程序设计。跳转的目标地址是累加器A和数据指针DPTR之和,它可以是64KB存储空间的任何地方。

例 根据标志单元R2中的内容,分别转各个处理程序。

程序如下:

PJ1: MOV DPTR ,#TAB1

CLR C

MOV A,R2

ADD A,R2 ;(R2) ×2←A

JNC NADD

NC DPH ;(R2)×2>256时,16位数据指针高8位加1

NADD:JMP @A+DPTR

TAB1:LJMP PRG0 ;转处理程序0的首地址

LJMP RRG1

…

LJMP RRG n

(5)减1条件转移指令组

DJNZ Rn,目标地址(rel);如果(Rn)-1≠0,则程序跳转到目标语句,否则顺序执行下一条语句。

DJNZ direct,目标地址(rel);如果(direct)-1≠0,则程序跳转到目标语句,否则顺序执行下一条语句。

例 将8031内部RAM的40H~4FH单元置初值A0H~AFH。程序为:

START:MOV RO,#40H ;RO赋值,指向数据单元

MOV R2,#10H ;R2赋值,为传送字节数,十六进制数

MOV A,#0A0H ;给A赋值

LOOP: MOV @RO,A ;开始传送

INC,RO ;修改地址指针,准备传下一数地址

INC A ;修改传送数据值

DJNZ R2,LOOP ;如果未传送完,则继续循环传送

RET ;当R2的值减为0时,则传送结束

3、延时程序的设计和延时时间的计算方法

延时程序是一种应用较为广泛的小程序,一般采用多条语句循环执行来实现延时。

例1:设计一延时程序,延时时间为1ms(fosc=12MHz)。

例2:设计一延时250ms的程序

已有上例所举延时1ms子程序,调用250次,即得延时250ms子程序

DELAY2:MOV R3,#FAH

DEL3:ACALL DELAY1

DEL2: NOP

NOP

DJNZ R3,DEL3

RET

本段程序延时的时间为:

1+(2+993+2)250+2=249253us

误差不到1ms

思考:如何设计延时1s程序?



4、子程序的设计方法

4.1子程序:在程序中反复多次执行的程序段,可编写为子程序,在使用时通过主程序调用就可以使用它。这样不但可以减少编程工作量,也缩短了程序的长度。

4.2子程序的使用:

(1)子程序调用:

指令:ACALL ××× ;绝对调用,2KB范围

 LCALL ××× ;长调用,64KB范围

(2)子程序返回:

指令:RET ;子程序返回指令

 RETI ;中断子程序返回指令

ORG 2000H

MAIN: CLR P3.2

MOV P0,#0F9H

LCALL DEL

MOV P0,#0A4H

LCALL DEL

MOV P0,#0B0H

LCALL DEL

SJMP MAIN

DEL: MOV R7,#10

DEL1: MOV R6,#123

…………

DJNZ R7,DEL1

RET

END

5、循环程序设计的基本方法

循环程序:在程序中需要反复执行的程序段,为了避免在程序中多次的编写,可以通过利用条件转移或无条件转移指令来控制程序的执行。结构流程图一般如下图所示:

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved