单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三

上传人:E**** 文档编号:89503611 上传时间:2019-05-26 格式:PPT 页数:86 大小:3.29MB
返回 下载 相关 举报
单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三_第1页
第1页 / 共86页
单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三_第2页
第2页 / 共86页
单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三_第3页
第3页 / 共86页
单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三_第4页
第4页 / 共86页
单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三》由会员分享,可在线阅读,更多相关《单片机应用技术(汇编语言) 教学课件 ppt 作者 郑晖晖 课题三(86页珍藏版)》请在金锄头文库上搜索。

1、任务1 跑 马 灯,任务2 花 样 灯,任务3 键控彩灯,任务4 数显抢答器,任务5 简易数字秒表,任务1 跑马灯,1了解跑马灯的工作过程及控制原理。,2掌握单片机I/O口控制外部负载的合理设计方法。,3掌握移位和延时程序的设计方法。,4能够设计并制作跑马灯控制系统。,本任务选用单片机P0口控制8只发光二极管(D1D8),使D1D8由低位到高位依次点亮,时间间隔为1s,如此往复循环,完成跑马灯控制系统的设计与制作。,一、延时程序,软件延时程序的主要设计思想是利用循环体为空操作或无循环体的循环程序,只占用CPU的时间,而不进行任何实质性操作,来实现延时功能。 在51系列单片机中通常用寄存器Rn减

2、1不为0则转移指令(DJNZ Rn,rel)来实现循环变量改变及循环结束控制。,1单重循环程序,MOV R1,#250; K1: NOP ; NOP ; DJNZ R1,K1 ;,2两重循环程序,要实现较长时间的延时,需要多重循环,3三重循环程序,延时1s的延时程序,二、延时时间计算,计算延时时间有两种方法:精确计算法和估算法。 以1s延时程序的延时时间为例:,1精确计算法,第一重循环一次的机器周期数:1+1+2=4 第一重循环总的机器周期数:4250=1000 第二重循环一次的机器周期数:1+1000+2=1003 第二重循环总的机器周期数:1003250=250750 第三重循环一次的机器

3、周期数:1+250750+2=250753 第三重循环总的机器周期数:2507534=1003012 总的机器周期数:1+1003012=1003013 延时时间:10030131s =1003013s =1.003013 s,2估算法,估算延时时间=估算机器周期数机器周期 估算机器周期数=第一重循环一次的机器周期第一重循环次数第二重循环次数第三重循环次数 即估算延时时间 =425025041s=1000000s=1s,本延时程序的延时时间只是近似1s,而非标准的1s时间,因此只能用于对延时时间要求不是很准确的场合,若要实现标准的1s延时,可采用定时器定时法来完成。,三、子程序的调用,使用子程

4、序的过程称为子程序的调用,由子程序调用指令实现,如ACALL或LCALL。 子程序执行完后返回到原来程序的过程称为子程序返回,由子程序返回指令实现,如RET或RETI。,能供调用的子程序必须具有以下两个特点: 1子程序的第一条指令地址称为子程序首地址或入口地址,必须用标号标明,以便调用指令正确调用。 2子程序末尾用RET返回指令结束,以便正确返回主程序或调用子程序继续执行。,例 DELAY: MOV R6 , #4 K3: MOV R4 , #250 K2: MOV R5 , #250 K1: NOP NOP DJNZ R5 , K1 DJNZ R4 , K2 DJNZ R6 , K3 RET

5、 ,一、电路设计,单片机对LED控制的连接电路有两种方式,如下图所示。相应地,硬件上的不同连接方式也决定了软件上的不同控制逻辑,见下表:,在Proteus中根据上述分析绘制跑马灯电路原理图:,AT89S51的I/O口在外接负载时,要注意其负载能力。P0每位可驱动8个TTL负载,每一位最大的吸收电流为26mA,P1P3口每位可驱动4个TTL负载,每一位最大的吸收电流为15mA。,二、程序设计,亮灯情况示意图:,跑马灯的程序设计流程图:,2程序编译与仿真,1根据上述设计思路编写程序并输入WAVE软件。,跑马灯.ASM,三、制作硬件电路并调试,单击此处返回目录,任务2 花样灯,1了解花样灯的工作过程

6、。,2掌握查表程序的设计方法。,3能够设计并制作花样灯控制系统。,花样灯是按时间依次让灯呈现出规定的花样,相对跑马灯来说,控制的显示数据之间没有规律,显示上具有多变性和复杂性,如下图所示。,本任务使用单片机的P2口控制8只LED循环显示,实现下图所示四种花样的显示。,注: 灯亮 灯灭,一、相关指令,指令格式如下: 标号:DB 字节常数或ASCII码字符 功能:从指定的地址单元开始定义若干个字节的数值或ASCII码字符,各数据之间用逗号分隔,常用于定义数据常数表。在表示ASCII码字符时需要在字符上加单引号,标号表示数据表的首地址。,1定义字节伪指令DB,例 从0100H单元开始定义一个10个字

7、节的数据表: ORG 0100H TAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH,DB定义的数据表一行可以写多个数据,当一行写不完要分行时,在下一行也必须用DB伪指令开头。,2以寄存器间接地址为目的操作数的数据传送指令,MOV Ri,A ;(Ri)A MOV Ri,#data ;(Ri)data MOV Ri,direct ;(Ri)(direct),功能:将源操作数所指定的内容送入以R0或R1为地址指针的内部数据存储器的存储单元中。源操作数有A、立即寻址和直接寻址3种寻址方式。 注意:没有MOV Ri,Rn和MOV Ri1,Ri2指令。,3

8、16位数据传送指令,MOV DPTR,#data16 ;DPTRdata16,功能:将16位立即数送入数据指针DPTR。,4程序存储器传送指令,MOVC A,A+PC ;PCPC+1,A(A+PC) MOVC A,A+DPTR ;A(A+DPTR),功能:主要用于查表,其数据表格放在程序存储器中。,第1条指令以PC作为基址寄存器,第2条指令以DPTR作为基址寄存器。两条指令中A均作为变址寄存器,通常A的值为要取得数据的索引值(即要取得数据在数据表中的序号)。,将索引值送入累加器A一般有以下3种情况: (1)当要查数据的值等于索引值时,直接将要查数据送入A中。 (2)当要查数据的值与其索引值不相

9、等时,应将要查数据变换为索引值再送入A中。 (3)当仅仅是为了取出存于数据表中的数据时,直接将其索引值送入A中即可。,在MOVC A,A+PC指令中,数据表只能存放在该指令之后的256字节范围内。而MOVC A,A+DPTR指令中,数据表可以存放在64K程序存储器的任何位置,并且数据表的长度可超过256个字节。,5比较转移指令,CJNE A,#data,rel ;若 A data,则转移 ;若A= data,顺序执行下一条指令 ;若Adata,C清0 ;若Adata,C置1 CJNE A,direct,rel ;若A(direct),则转移 ;若A=(direct) ,顺序执行下一条指令 ;若

10、A(direct),C清0 ;若A(direct),C置1,CJNE Rn,#data,rel ;若Rn data,则转移 ;若Rn= data,顺序执行下一条指令 ;若Rndata,C清0 ;若Rn data,C置1 CJNE Ri,#data,rel ;若(Ri) data,则转移 ;若(Ri)= data,顺序执行下一条指令 ;若(Ri)data,C清0 ;若(Ri) data,C置1,功能:比较两个操作数的大小,如果它们的值不相等,则转移到目标地址。如果第一个操作数小于第二个操作数,则进位标志CY置“1”,否则清“0”。指令执行不影响任何一个操作数。,二、查表法,例 下面查表程序中有一

11、BCD码对应的七段码数据表,一个BCD码存于R0中,运行查表程序,取出其对应的七段码并存于R1中,试分析程序的执行过程。 地址 源程序 ORG 0000H 0000H: MOV A, R0 0001H: MOV DPTR, #TAB 0004H: MOVC A, A+DPTR 0005H: MOV R1, A 0006H: SJMP $ 0008H: TAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END,分析:用MOVC A,A+DPTR指令查表的3个步骤为:,执行查表指令取得所需数据。,将数据表首地址送入DPTR中,该数据表首地址为000

12、8H。,将要查数据变换为其对应的索引值送入A中。,在C51程序设计中,DPTR和PC均为基址寄存器,指示表格首地址。但两者的区别是:选用DPTR作表首地址指针,表域可设置在程序存储器64KB范围内的任何区域;采用PC作表首地址指针,表域必须紧跟在该查表指令之后,这使表域设置受到限制。因此,一般只用于单表格,且编程较难,但可节省存储空间。,一、电路设计,注意:在实际应用电路中,若接节日彩灯或广告霓虹灯,一般还需外加隔离电路(光电耦合器)和驱动电路(如晶闸管或继电器等)。,花样灯电路原理图,二、程序设计,花样灯程序设计流程图,2程序编译与仿真,1根据上述设计思路编写程序并输入WAVE软件。,花样灯

13、.ASM,三、制作硬件电路并调试,单击此处返回目录,任务3 键控彩灯,1了解按键的特性及其与单片机端口的连接方法。,2掌握独立式按键扫描及软件消抖的编程原理。,3能够设计并制作键控彩灯控制系统。,本任务在单片机P0口连接8只彩色LED,按照绿、黄、红顺序依次排开。使用三个按键,分别连接在单片机的P2.0、P2.1和P2.2口,实现下表所述的功能。,一、键盘及其接口,独立式键盘的各个按键之间相互独立,每个按键独立地与一根数据输入线(单片机并行I/O口或其他接口芯片的并行接口)相连。常见的接口电路如下图所示。,独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量较多时,将占用

14、较多接口线,因此,独立式按键常用于按键数量不多的场合。,二、按键的机械特性,为了保证每按下一次按键,单片机仅作一次键输入处理,就需要消除因按键抖动现象而引起的错误动作,常用的去除抖动的方法有硬件消抖和软件消抖两种。在实际应用中,当所接按键较多时,为了减少外围电路,通常利用软件延时的方法来消除抖动。,三、硬件消抖电路,一、电路设计,键控彩灯电路原理图,二、程序设计,2程序编译与仿真,1根据上述设计思路编写程序并输入WAVE软件。,键控彩灯.ASM,三、制作硬件电路并调试,单击此处返回目录,任务4 数显抢答器,1了解数码管的结构及显示原理。,2掌握对独立式键盘扫描、处理的编程方法。,3掌握单片机控

15、制LED数码管静态显示方法。,4能够设计并制作数显抢答器控制系统。,抢答器是一种广泛应用于各种竞赛活动、抢答现场中的重要设备,如下图所示,它能迅速、准确、公正、客观地分辨出最先获得发言权的选手,保证比赛的顺利有效进行,同时增加比赛的刺激性和娱乐性。,1每个参赛选手控制一个按钮,按动按键发出抢答信号。 2竞赛主持人控制两个功能按钮,一个为抢答开始按钮,另一个为抢答结束后的复位按钮。 3竞赛开始后,先由主持人按下抢答开始按钮,8位参赛选手通过按下各自的抢答按钮进行抢答。哪位选手最先按下抢答按钮,数码管就显示其对应的号码,表示该名选手抢答成功并且锁定,其他参赛选手再抢答无效。 4竞赛结束时,再由主持

16、人按下复位按钮,本轮抢答结束,为下一轮抢答做准备。,本任务主要完成一个简易的8路抢答器,通过独立键盘输入抢答信号,一位数码管显示出抢答者的号码,具体控制要求:,一、LED数码管的结构,数码管是由几个发光二极管组合在一起而形成的显示装置,组成数码管的每一个发光二极管称为数码管的“段”。以一位8段LED数码管为例,共有7段组成一个“日”字形,分别定义为数码管的a、b、c、d、e、f、g段,另外再加上一个用于小数显示的小数点dp(或h)段。,数码管根据不同码段之间的组合,来显示数字09或简单的字符信息。,由于组成数码管的发光二极管自身具有极性,所以组成的数码管也有共阴极和共阳极之分。,共阳极,共阴极,二、单片机

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号