单片机应用技术课件.ppt
《单片机应用技术课件.ppt》由会员分享,可在线阅读,更多相关《单片机应用技术课件.ppt(81页珍藏版)》请在三一办公上搜索。
1、项目二 定制器控制,任务一 数码显示任务二 按键识别任务三 定时时间的设定任务四 定时器,单片机应用技术 高职高专 ppt 课件,任务一 数码显示,任务要求,本任务要求应用4位数码管分别显示片内存储器30H33H单元的数值(假设存储单元的内容为14)。知识目标:(1)认识8段数码管的外形和内部结构。(2)知道8段数码管的显示原理。(3)了解单片机对数码管的控制方式。技能目标:(1)会设计单片机与数码管静态显示的接口电路和控制程序。(2)会设计单片机与数码管动态显示的接口电路和控制程序。,单片机应用技术 高职高专 ppt 课件,任务一 数码显示,知识链接,1.数码管简介,(1)数码管的结构,单片
2、机应用技术 高职高专 ppt 课件,(2)数码管的显示原理(共阳极数码管),知识链接,单片机应用技术 高职高专 ppt 课件,(3)数码管的字形编码,单片机应用技术 高职高专 ppt 课件,任务一 数码显示,知识链接,2.数码管显示方式,(1)静态显示,静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止,显示字形点亮的各段是持续点亮的,没有闪烁,此时的显示亮度主要取决于各段的驱动电流。,例2-1 应用单片机控制2位数码管分别显示“1”和“2”。试设计电路并编写程序。,单片机应用技术 高职高专 ppt 课件,任务一 数码管显示,知识链接,1)电路设计。,图2-2 74HC245
3、引脚图,表2-2 74HC245逻辑功能表,AB/,单片机应用技术 高职高专 ppt 课件,图2-3 两位数码管静态显示电路图,知识链接,单片机应用技术 高职高专 ppt 课件,2)程序清单(LI2_1.ASM):,ORG 0000h JMP START ORG 0100HSTART:MOV P1,#0F9H MOV P2,#0A4H SJMP$END,知识链接,单片机应用技术 高职高专 ppt 课件,(2)动态显示方式,知识链接,选用动态显示的系统中一般有多位数码管,各位数码管不是同时点亮显示,而是逐位轮流的点亮(也称逐位扫描)。对每一位数码管而言,每隔一段时间点亮一次,每次点亮一定时间。这
4、样,虽然每个数码管都是亮灭变化的,但只要选择合适的点亮时间和间隔时间,由于人的视觉暂留作用和发光二极管的余辉效应,使人肉眼看到的每个数码管都是稳定显示。一位接一位地轮流点亮各位数码管,这种逐位点亮显示器的过程称为位扫描。,3.堆栈指令介绍,PUSH direct;(SP)+1(SP),(direct)(SP,POP direct;(SP)(direct),(SP)-1(SP),例2-2 试分析下面指令序列的执行结果。MOV SP,#60H MOV DPTR,#1234H PUSH DPL PUSH DPH,指令序列执行的最终结果:(61H)34H,(62H)12H,(SP)62H。,知识链接,
5、电路设计,任务一 数码管显示,程序设计,任务一 数码管显示,ORG 0000H LJMP MAIN ORG 0100HMAIN:MOV SP,#60H MOV R0,#30H;设置显示数值30H34H是14 MOV R1,#4 MOV A,#01HLOOP1:MOV R0,A INC A INC R0 DJNZ R1,LOOP1LOOP:MOV R3,#4;共4位数码管动态显示 ACALL DISPLAY AJMP LOOP,程序设计,MOV A,R0 MOVC A,A+DPTR MOV P0,A SETB P2.0 CLR P2.0;查表求段码并锁存输出 MOV A,R2;位码左移,准备点亮
6、下一个数码管 RL A MOV R2,A INC R0 ACALL DELAY MOV P0,#0FFH;关显示 SETB P2.0 CLR P2.0 DJNZ R3,DIS1;循环点亮下一个数码管 POP ACC RET,;数码管动态显示子程序;R3是入口参数,存放显示位数DISPLAY:PUSH ACC CLR P3.6 SETB P2.7 MOV R2,#0FEH;R2单元存放位码值 MOV R0,#30H;30H单元存放显示数值 MOV DPTR,#SEGADIS1:MOV A,R2 MOV P0,A SETB P2.1 CLR P2.1;锁存输出位码,;延时1ms子程序DELAY:M
7、OV R7,#02HD1EL2:MOV R6,#70HD1EL1:DJNZ R6,D1EL1 DJNZ R7,D1EL2 RET;共阳极数码管段码表SEGA:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END,程序设计,任务一 数码管显示,1.技能训练(1)在学习板上实现一个数码管静态显示字形“3”。(2)在学习板上实现8个数码管分别显示数字18。(3)增加任务中的延时时间,观察数码管的显示情况。2.知识思考(1)什么是数码管的静态显示?(2)简述数码管动态显示过程。(3)什么情况下数
8、据需要保护?本任务程序中可以将“PUSH”和“POP”两条指令去掉吗?,拓展训练,任务一 数码管显示,任务二 按键识别,任务要求,选用4个按键,编号分别是“14”,当某个键按下后,应用数码管显示按键编号。知识目标:(1)看懂单片机和独立式按键的接口电路。(2)了解独立式按键的工作原理。(3)掌握按键消抖的方法。(4)看懂单片机和矩阵式按键的接口电路。(5)了解矩阵式按键的工作原理。技能目标:(1)会设计单片机与数码管静态显示的接口电路和控制程序。(2)会设计单片机与数码管动态显示的接口电路和控制程序。(3)知道矩阵式按键的识别及控制方法。,知识链接,任务二 按键识别,1.按键的分类根据结构,按
9、键可分为两类 触点式开关按键 无触点式开关按键根据接口原理按键可分为两类 编码键盘 非编码键盘,2.单片机对键盘的控制方式,知识链接,(1)查询方式:指在程序中用一段专门的扫描和读按键程序不停查询有无按键按下,确定键值。特点:电路简单,但需要占用单片机的机器时间。(2)定时扫描方式:指利用单片机内的定时器来产生定时中断,然后在定时中断的服务程序中扫描,检查有无按键按下,确定键值。特点:电路也比较简单,不占用单片机的机器时间,但需要占应用定时器,同时定时的时间不能过长,否则可能检测不到相应得按键。(3)中断扫描方式:指当有键按下时由相应的硬件电路产生中断信号,单片机在中断服务程序中扫描,检查有无
10、按键按下,确定键值。特点:硬件电路上必须要产生中断线,需要与门和非门来产生。但中断方式不占用单片机的机器时间,也不会出现定时方式时的检测不到键盘的情况。,3.键盘接口,问题:由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象。抖动时间:一般为110ms(如图2-5 所示)。后果:会引起单片机对于一次键操作进行多次处理,因此必须设法消除抖动现象。措施:软件消抖、硬件消抖,软件消抖,;延时10ms子程序DELAY10:MOV R7,#20;1sD10EL0:MOV R6,#255;1sD10EL1:DJNZ R6,D10EL1;2s,执行255次 DJNZ R
11、7,D10EL0;2s,循环执行20次 RET;2s延时时间计算:1+1+2255+220+2=1026310000s=10ms。,(2)硬件消抖,图2-6 硬件消抖电路,4.独立式按键,独立式按键结构,图2-7 独立式与单片机接口电路图,;查询方式扫描一次键盘的程序 JPDL:MOV A,#0FFH MOV P1,A;置P1口为输入状态JPDL0:MOV A,P1;键状态输入 JNB ACC.0,JPDL1;检测0号键是否按下,按下转 JNB ACC.1,JPDL2;检测1号键是否按下,按下转 JNB ACC.2,JPDL3;检测2号键是否按下,按下转 JNB ACC.3,JPDL4;检测3
12、号键是否按下,按下转 RET;无键按下返回JPDL1:ACALLPS1;PS4 分别为每个按键的功能子程序 RETJPDL2:ACALLPS2 RETJPDL3:ACALLPS3 RET JPDL4:ACALLPS4 RET,5.矩阵式键盘,矩阵式键盘的结构及原理,图2-8 矩阵键盘结构图,(2)矩阵式键盘按键的识别,以8号键的识别为例来说明扫描法识别按键的过程:按键按下时,与此按键相连的行线与列线短路导通,行线在无按键按下时处于高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此必须使所有列线处在低电平。只有这样,当有按键按下时,该按键所在的行电平才会由
13、高电平变为低电平。CPU根据行电平的变化,就能判定相应的行有键按下。8 号键按下时,第3行一定为低电平。然而第3行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为9、10、11号键按下,同样会使第3行为低电平。为进一步确定具体键,不能使所有列线在同一时刻处于低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。,(3)键盘的编码,对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图2-8中的8号键,它
14、位于第3行,第0列,因此,其键盘编码应为30H。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对按键进行编码。以图2-8中的44键盘为例,可将键号编码为:01H、02H、03H、0EH、0FH、10H 等16个键号。编码的相互转换可通过计算或查表的方法实现。,6.键盘扫描程序,键盘扫描程序一般应包括以下内容。_ 判别有无按键按下。_ 键盘扫描取得闭合键的行、列值。_ 用计算法或查表法得到键值。_ 判断闭合键是否释放,如没释放则继续等待。_ 将闭合键键号保存,同时转去执行该闭合键的功能。,7.指令介绍,(1)CJNE指令。指令格式是:CJNE
15、目的,源,rel,共有4条:CJNE A,#data,rel;(A)与data比较,如果A=data,则顺序执行,否则转移CJNE A,direct,rel;(A)与(direct)比较,若相等则顺序执行,否则转移CJNE Rn,#data,rel;(Rn)与data比较,若相等则顺序执行,否则转移CJNE Ri,#data,rel;(Ri)与data比较,若相等则顺序执行,否则转移,图2-9 CJNE操作示意图,例2-3 将内部 RAM 的一个数据块(首址为DATA1)传送到内部数据RAM(首址为DATA2),遇到传送的数据为00H 时停止。程序清单:MOV R1,#DATA1;设置数据指针
16、 MOV R0,#DPTA2;设置数据指针 LP1:MOV A,R1;读数据 CJNE A,#00H,LP2;(A)00H,则转移 RET;(A)00H,结束传送 LP2:MOV R0,A;送数到内部RAM INC R0;修改指针 INC R1;修改指针 SJMP LP1;继续传送,(2)累加器A判零指令,有两条:JZ rel;若(A)0,则转移,否则顺序向下执行 JNZ rel;若(A)0,则转移,否则顺序向下执行,在例2-3中,如果利用“JZ”指令的程序如下:MOV R1,#DATA1;设置数据指针 MOV R0,#DATA2;设置数据指针LP1:MOV A,R1;读数据 JZ LP2;判
17、断传送数据是否为00H,是则转移 MOV R0,A;数据不为00H,送内部RAM INC R0;修改地址指针 INC R1;修改外部RAM地址指针 SJMP LP1;继续传送LP2:RET;结束传送,返回主程序,电路设计,任务二 键盘识别,本任务硬件主要由单片机、键盘、显示数码管组成。键盘选择4个按键,采用独立键盘控制,电路如图2-7所示,其编号分别是“14”。键值显示电路如图2-4所示,但只选用其中一个数码管静态显示。,程序设计,任务二 键盘识别,ORG 0000H AJMP START ORG 0100H START:CLR P2.0 CLR P3.6 SETB P2.7 MOV P0,#
18、0FEH;输出数码管公共端信号 SETB P2.1;开通U14 CLR P2.1;锁存U14LOOP:ACALLDLJP AJMPLOOP;独立按键识别子程序DLJP:MOV P1,#0FFH MOV A,P1;读键盘状态 CJNE A,#0FH,XDOU;有键按下消抖处理DLJPR:RET;无键按下则再读键盘状态,程序设计,XDOU:MOV 40H,A;把读的键盘状态放在40H的地址 ACALL DELAY10;延时 MOV A,P1;再读键盘状态 CJNE A,40H,DLJPR;比较两次读键盘状态,如不同则返回 JB ACC.0,SS2;S1键未按下,转SS2 ACALL PS1;1号键
19、按下,显示1 AJMP DLJPRSS2:JB ACC.1,SS3;S2键未按下,转SS3 ACALL PS2;2号键按下,显示2 AJMP DLJPRSS3:JB ACC.2,SS4;S3键未按下,转SS4 ACALL PS3;3号键按下,显示3 AJMP DLJPRSS4:JB ACC.3,DLJPR;S4键未按下,读键盘 ACALL PS4;4号键按下,显示4 AJMP DLJPR,程序设计,PS1:MOV P0,#0F9H;1号键键处理子程序 SETBP2.0 CLRP2.0 RET;1号键按下,显示1PS2:MOV P0,#0A4H;2号键键处理子程序 SETBP2.0 CLRP2.
20、0 RET;2号键按下,显示2PS3:MOV P0,#0B0H;3号键键处理子程序 SETBP2.0 CLRP2.0 RET;3号键按下,显示3PS4:MOV P0,#99H;4号键键处理子程序 SETBP2.0 CLRP2.0 RET;4号键按下,显示4,1.技能训练(1)应用PROTEUS仿真矩阵键盘的键值显示。(2)应用学习板完成按键S1每按下一次,数码管显示值加一的功能(复位后数码管显示0)。(3)画出本任务完整电路图。2.知识思考(1)独立式键盘的工作原理是什么?(2)说明矩阵键盘的按键识别过程。(3)键盘消抖的方法有哪些?,拓展训练,任务三 定时时间的设定,任务三 定时时间的设定,
21、任务要求,本任务要求应用独立式按键,使用3个按键,S1为定时时间加1键,S2为减1键,S3定时时间清零键。要求定时时间范围099秒,定时时间的设定值应用两位数码管显示。,知识目标:(1)进一步理解独立按键工作原理。(2)理解逻辑运算指令和数据交换指令。技能目标:(1)会应用按键设定定时时间。(2)会编写16进制数转换为10进制数程序。(3)会应用逻辑运算指令和数据交换指令。(4)会设计码型转换程序,知识连接,逻辑操作指令,(1)逻辑与操作指令(6 条)ANL A,direct;对A中的内容和直接寻址单元中的内容执行与操作,结果存到A中ANL A,#data;对A中的内容和立即数执行与操作,结果
22、存到A中ANL A,Rn;对A中的内容和寄存器Rn中的内容执行与操作,结果存到A中ANL A,Ri;对A中的内容和工作寄存器Ri所指的地址单元中的内容执行与操作,结果存到A中ANL direct,A;对直接寻址单元中的内容和A中的内容执行与操作,结果存到直接寻址单元中ANL direct,#data;对直接寻址单元中的内容和立即数执行与操作,结果存到直接寻址单元中,(2)逻辑或操作指令(6 条)ORL A,direct;对A中的内容和直接寻址单元中的内容执行或操作,结果存到A中ORL direct,#data;对直接寻址单元中的内容和立即数执行逻辑或操作,结果存在直接寻址单元中ORL A,#d
23、ata;对A中的内容和立即数执行逻辑或操作,结果存在A中ORL A,Rn;对A中的内容和寄存器Rn中的内容执行逻辑或操作,结果存到A中ORL direct,A;对直接寻址单元中的内容和A中的内容执行逻辑或操作,结果存在直接寻址单元中ORL A,Ri;对A中的内容和工作寄存器Ri所指的地址单元中的内容执行或操作,结果存在A中,知识连接,(3)逻辑异或操作指令(6条)XRL A,direct;对A中的内容和直接寻址单元中的内容执行异或操作,结果存在A中XRL direct,#data;对直接寻址单元中的内容和立即数执行异或操作,结果存在直接寻址单元中XRL A,#data;对A中的内容和立即数执行
24、异或操作,结果存在A中XRL A,Rn;对A中的内容和寄存器Rn中的内容执行异或操作,结果存在A中XRL direct,A;对直接寻址单元中的内容和A中的内容执行异或操作,结果存在直接寻址单元中XRL A,Ri;对A中的内容和工作寄存器Ri所指的地址单元中的内容执行异或操作,结果存在A中,知识连接,2.交换指令(5条),XCH A,Rn;(A)(Rn),累加器与工作寄存器Rn中的内容互换XCH A,direct;(A)(direct),累加器与直接寻址单元中的内容互换XCH A,Ri;(A)(Ri),累加器与工作寄存器Ri所指存储单元中的内容互换XCHD A,Ri;(A3-0)(Ri)3-0)
25、,累加器与工作寄存器Ri所指存储单元中内容的低半字节互换SWAP A;(A3-0)(A7-4),累加器中内容的高、低半字节互换,知识连接,例2-4 拆字程序,把R7的内容拆开,高4位送到片内RAM的30H单元中,低4位送到31H中。程序如下:MAIN:MOV A,R7 ANL A,#0F0H;屏蔽高位 SWAP A;交换A中高低位的内容 MOV 30H,A;R7的高4位送到30H中 MOV A,R7;再读入R8中的内容 ANL A,#0FH;屏蔽高位 MOV 31H,A;R7的低4位送到31H SJMP$,知识连接,3.乘除法指令,MUL AB;(A)(B)(A)和(B),将累加器A中的内容与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用技术 课件
链接地址:https://www.31ppt.com/p-3676042.html