技能训练4七段数码管显示的秒计时.ppt

上传人:小飞机 文档编号:6574811 上传时间:2023-11-14 格式:PPT 页数:33 大小:231KB
返回 下载 相关 举报
技能训练4七段数码管显示的秒计时.ppt_第1页
第1页 / 共33页
技能训练4七段数码管显示的秒计时.ppt_第2页
第2页 / 共33页
技能训练4七段数码管显示的秒计时.ppt_第3页
第3页 / 共33页
技能训练4七段数码管显示的秒计时.ppt_第4页
第4页 / 共33页
技能训练4七段数码管显示的秒计时.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《技能训练4七段数码管显示的秒计时.ppt》由会员分享,可在线阅读,更多相关《技能训练4七段数码管显示的秒计时.ppt(33页珍藏版)》请在三一办公上搜索。

1、技能实训4 七段数码管显示秒计时,4.1 实训内容介绍4.2 七段数码管显示原理4.3 查表程序4.3.1 MOVC指令寻址方式子程序指针与查表程序4.4 技能提高:顺序显示自己的身份证号,实训4 简介,利用单片机实现秒计时每隔一秒钟,显示数据加一,即循环显示09的数字。,程序基本结构,计数值显示字形哪里要用数据传送类指令?,程序的实现,ORG 0000HMAIN:MOV R1,#0 MOV R2,#10 MOV DPTR,#TABMAIN1:MOV A,R1 MOVC A,A+DPTR MOV P0,A LCALL DELAY INC R1 DJNZ R2,MAIN1 LJMP MAIN,执

2、行的效果,知识点1:4.2七段数码管显示原理,字形表是如何生成的?,知识点2:4.3 查表程序,查表是根据某个已知数,在表格中寻找对应的数。对于可枚举表示的函数,利用查表可以根据自变量快捷地获得函数值。为了显示秒计时值,要依据秒计时值(采用BCD码编码),获得对应的十进制字形数据值。我们把字形数据依09顺序存放在程序存储区,则相当于一个二维表,存储单元的地址相当于输入变量,存储单元的存放的数据就是该输入变量对应的输出变量。具体如表4-4。,字形表,4.3.1 MOVC指令,对程序存储器进行操作的指令有两条:MOVC A,A+DPTRMOVC A,A+PCMOVC与MOV、MOVX见表4-5A+

3、DPTR表示地址寻址方式,MOVC与MOV、MOVX,知识点:寻址方式,获得操作数的方式,称为寻址方式。MCS-51单片机有7种寻址方式。1立即寻址2直接寻址3寄存器寻址 4寄存器间接寻址 5变址寻址 6相对寻址 7位寻址,1立即寻址,如:MOV A,#3AH 指令中的操作数是1个8位或16位二进制立即数。立即数用data,data16表示,data16表示16位二进制数的立即数。又如:MOV DPTR,#1234HDPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。,2直接寻址,指令中直接给出操作数地址。如:MOV A,3AH在80C51单片机中,直接地址只能用来表示内部数

4、据存储器、位地址空间以及特殊功能寄存器。,3寄存器寻址,如:MOV A,R1又如:INC R3能进行寄存器寻址的是:工作寄存器R0R7、部分专用寄存器(例如,累加器A、通用寄存器B、地址寄存器DPTR和进位CY)。,4寄存器间接寻址,MOV R0,#20HMOV A,R0 R0相当于是一个指针,对它保存的数据作为地址的内部数据单元进行操作,,访问外部RAM,在访问外部RAM时,用DPTR数据指针来间接寻址。如:MOVX A,DPTR,5变址寻址,如:MOVC A,A+DPTR再如:MOVC A,A+PC变址寻址以程序计数器PC或数据指针DPTR作为基地址寄存器,以累加器A作为变址寄存器,把两者

5、的内容相加形成操作数的地址(16位二进制数)。这种寻址方式常用于读取程序存储器中的常数表,6相对寻址,相对寻址是将程序计数器PC中的当前内容作为基地址,与指令中所给出的数相加,其和为跳转指令的转移地址。如:1000H:SJMP 06H,7位寻址,能进行位寻址操作有片内数据存储器的位寻址区(即字节地址为20H2FH)存储器以及可进行位寻址操作的专用寄存器。如:MOV C,07H,例1:执行完成下列程序段后,A的内容为多少?,MOV A,#55HMOV 20H,#68HMOV 68H,#89HMOV R0,20HMOV A,R0,知识点:子程序,子程序:结构化、共用,子程序是一个相对独立的程序段,

6、可以方便实现模块化编程,可以被其它程序多次调用执行。优点:利用子程序,可以实现模块化编程。这样可使整个程序结构清楚,也可以实现功能程序的复用,即方便移植到别的系统中需要相同功能的代码时使用。,子程序结构及编写要点,调用前必须先定义,标号:;(实现相应功能的代码)RET,“标号”就是子程序名,用于表示子程序的入口;“RET”表示返回,表示子程序结束。,调用子程序,当程序的其它部分要调用子程序,执行下列代码即可:LCALL 子程序名 即子程序入口的标号,相当于C语言的函数名。,数据表,数据表是顺序存放的数据,通常存放在程序存储器中。在本程序中,数据表是由下列伪指令来指定存放顺序的。TAB:DB 0

7、81H;0 DB 0B7H;1 DB 0C2H;2 DB 092H;3 DB 0B4H;4 DB 098H;5 DB 088H;6 DB 0B3H;7 DB 080H;8 DB 090H;9,2.查表程序的实现,本程序中,查表程序由下列三条关键指令实现。MAIN:MOV DPTR,#TAB;基址DPTR指向表头MAIN1:MOV A,R1;A为偏移量,根据R1的大小取相应的字形 MOVC A,A+DPTR;取出数据表相应的数据到A,完整的程序,ORG 0000HMAIN:MOV R1,#0 MOV R2,#10 MOV DPTR,#TABMAIN1:MOV A,R1 MOVC A,A+DPTR

8、 MOV P0,A LCALL DELAY INC R1 DJNZ R2,MAIN1 LJMP MAIN,ORG 0100HTAB:DB 081H;0 DB 0B7H;1 DB 0C2H;2 DB 092H;3 DB 0B4H;4 DB 098H;5 DB 088H;6 DB 0B3H;7 DB 080H;8 DB 090H;9 END,DELAY:MOV R3,#05HLOOP0:MOV R4,#0C8HLOOP1:MOV R5,#0F8HLOOP2:DJNZ R5,LOOP2 DJNZ R4,LOOP1 DJNZ R3,LOOP0 RET,学会没有?实训提高会不会做?,4.4 技能提高:编

9、写一程序控制数码管循环显示自己的身份程序号码。1采用顺序显示方式依次显示自己的身份程序号码,每位数据可以停留显示1秒。2为了区分连续两个相同的显示数据,可在每个数据显示更新之前让数码管全灭一段较短时间。,练习讲解:3,单片机的初始状态为:A=33H,R2=2H,DPTR=0ADH,程序存储器中ADH104H的内容如表4-6。指执行下列程序:MOV DPTR,#100HMOV A,R2MOV A,A+DPTR执行完上述程序后A=H,R2=H,DPTR=H,4分别指出下列指令的操作数分别是采用了什么寻址方式。,(1)MOV A,R0;源操作数,目的操作数。(2)MOV 10H,#22H;源操作数,目的操作数。(3)MOVC A,A+DPTR;源操作数,目的操作数。(4)MOV R7,55H;源操作数,目的操作数。,小结,1.七段数码管显示原理。2.深刻认识数据编码与显示字形的区别。3.区分MOV、MOVX与MOVC指令的区别。4.学会查表程序的编写。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号