第3章人机交互接口-AVR单片机应用技术项目化教程课件.ppt
《第3章人机交互接口-AVR单片机应用技术项目化教程课件.ppt》由会员分享,可在线阅读,更多相关《第3章人机交互接口-AVR单片机应用技术项目化教程课件.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3 章章 人机交互接口人机交互接口键盘输入设备键盘输入设备一一 显示输出设备显示输出设备二二单片机中断系统单片机中断系统三三 数字密码锁数字密码锁四四人机交互接口人机交互接口键盘和显示器是计算机常见的人机交互输入、输出设备。在实际设计中,单片机通常需要接收外部的数据或状态、控制命令等,键盘是常见的数据、命令、状态输入装置。单片机通过显示器将执行结果或操作过程通过显示器显示出来。常见显示器的类型有LED发光二极管、LED数码管、LCD液晶显示器等。3.1 3.1 键盘输入设备键盘输入设备编码键盘:编码键盘:编码键盘按下时输出固定规律的编码,如BCD码键盘、ASCII码键盘等。非编码键盘:
2、非编码键盘:又分为独立式按键和矩阵式键盘。典型按键如图3-1所示,由开关按钮构成,当按键不按时开关两个触点断开,按下键时触点闭合。将开关接入电路中,通过操作其闭合和断开,产生数字0和1,从而将信息输给计算机。3.1 3.1 键盘输入设备键盘输入设备开关K闭合产生数字0,断开时产生数字1,机械弹性开关动作的瞬间产生一连串的抖动:抖动时间的长短由按键的机械特性决定,约为510 ms。键盘抖动会引起CPU多次判断,从而导致程序的错误操作。3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备1 1独立式键盘独立式键盘独立式键盘是最简单的键盘电路,各键互相独立,每个按键
3、独立的与一根单片机的I/O端口线相连接,如图3-3所示。特点:编程简单,浪费I/O口资源。3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘(1 1)组成结构)组成结构为了减少I/O连线,通常都将键盘排成行列矩阵的形式,因此又称为矩阵键盘,如图3-4所示。图中有4条行线(L0L3),4条列线(R0R3),正好构成一个44的矩阵。所有行列线均接至单片机的I/O口,这些交叉点本身是不联通的,在这些的行线和列线交叉点上放置一个按键,当键盘键按下时行线与行线接通。4条行线、4条列线的矩阵共有16个交叉点,可以放置16个按键,这比使用独立
4、式键盘节约一倍I/O口数。3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘(2 2)工作原理)工作原理以图3-4所示44矩阵键盘为例,图中L0L3(PA0PA3)为列输出线,R0R7(PA4PA7)为行读入线。先列线全部送0,然后读入行线的数据。如果无按键,由于列线接上拉电阻,故读入4个1。如果有按键按下,按键对应的行线与列线交叉点短路,列线输出的0送到行线,行线变成0,此时读入的列线数据不为1111,通过判断列
5、数据是否为1111还是非1111从而首先确定有无键盘按下,其次进一步准确判断是哪一个按键按下。3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘(2 2)工作原理)工作原理逐行逐列扫描判断键盘,具体方法是第1行送数字0,其他行送数字1,即L0-L3送1110到行线,然后读列线,如果R0=0说明是K0按下,如果R1=0,说明K1按下,如果R2=0,说明K2按下,如果R3=0,说明K3按下,通过四次逐一对列线的检测一行的K0K3这四个按键有无按键按下。如果R0-R3均为1,说明按下去的按键不在第1行,行线送出1101继续扫下一行按键
6、,直到将第4行的扫完为止,这样K0K15 1个按键均被扫描一遍,最坏的情况是扫最坏的情况是扫1616次扫到键盘次扫到键盘K15K15,详细过程见,详细过程见表3-1所示。3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘(2 2)工作原理)工作原理将表中行、列线的编码进行组合就可以是该键盘的编码表,如键盘K6的行列组合编码为0 xbd(列在高4位,行在低4位)。这种编码与键盘的编号不对应,实际使用时不方便,可进一步进行处理将键盘的编码表与键盘编号相对应,K0的编号为0,K15的编号为15,可以进一步对键值做处理。3.1.1 3.
7、1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备2 2行列矩阵键盘行列矩阵键盘(3 3)编程实现)编程实现变量i记录行号(L0-L3),j记录列号(R0-R3)。k0在0行、0列,k3在0行3列,K12在3行0列,k15在3行3列。通过观察可以发现,键值k与i、j满足如下关系:k=i4+jk=i4+jK键值编码:015,对应键盘k0-k15 i行号 j列号3.1.1 3.1.1 非编码键盘非编码键盘 3.1 3.1 键盘输入设备键盘输入设备3 3应用应用3.1.2 3.1.2 编码键盘编码键盘 3.1 3.1 键盘输入设备键盘输入设备编码键盘通常将图3-4所示矩阵电路、键
8、盘扫描电路、去抖动、键值转换电路集成在一个芯片,直接输出键盘编号,以ASCII码、BCD码或其他码输出,使用时不需要编写键盘处理程序,直接读取键值即可。常见的编码键盘芯片如8279、HD7279、MAX7129等。适合用于按键比较多的场合,如8279接32个键盘,HD7279接64个按键。在按键较多的仪器、仪表等设备应用较多。3.1.2 3.1.2 编码键盘编码键盘 3.1 3.1 键盘输入设备键盘输入设备旋转编码开关是编码键盘的一种特殊形式,又叫飞梭开关,其开关手柄可以左右旋转也可以向下摁。通过飞梭开关的左右旋转可以实现无极调节,使用比较方便。这种编码开关还应用与智能菜单操作系统,结合显示器
9、件,通过旋转旋转菜单选项,按下选中确认。其外形如同电位器,有3个引脚(带按钮开关的5个),中间公共端COM,旁边信号输出端A、B。3.1.2 3.1.2 编码键盘编码键盘 3.1 3.1 键盘输入设备键盘输入设备使用时公共端COM接低电平,信号输出端A、B接上拉电阻。旋转编码开关时信号端输出两组正交的脉冲信号,以A为参考,当手柄左选A超前B,右旋时A滞后B,通过检测A 脉冲有无判断开关有无动作,检测A、B信号的超前还是滞后检测开关往左边旋还是往右边旋,检测任意一个脉冲的个数可以统计旋转的次数、位置等,如图3-6所示。3.2 3.2 输出显示设备输出显示设备 显示设备是计算机控制系统的重要组成部
10、分,用来显示运行过程和运算结果。在单片机系统中常用的LED数码管显示器和LCD液晶显示器。数码管显示器简单易用,内部为发光二极管结构,在二极管两端加电压使其导通发光显示数字。此外还有米字型数码、LED点阵显示器等,也都是由发光二极管所组成。液晶显示器的结构和原理稍微复杂,使用中时需要编写时序严格的控制程序。液晶显示器有字符型、点阵型和TFT真彩显示器。3.2.1 3.2.1 数码管数码管 3.2 3.2 输出显示设备输出显示设备1 1数码管原理数码管原理数码管是内部由8个发光二极管构成的“8”字形显示器,可以显示0F的数字或符号,7个二极管显示数字笔画,一个显示小数点,有叫7段数码管,有8段数
11、码管。数码管内部结构不同,分共阳极数码管和共阴极数码管,如图3-7所示。3.2.1 3.2.1 数码管数码管 3.2 3.2 输出显示设备输出显示设备1 1数码管原理数码管原理数码管数码管每个笔画段(简称段)均有固定字母名称,用字母ag表示,用h或dp表示小数点,这些字母也指代图3-7中的二极管的阳极或阴极控制端,给数码管的公共端和段控制端加不同的电平即可组合显示不同数字。显然,共阴极、共阳极数码管的接法和驱动是不同的。3.2.1 3.2.1 数码管数码管 3.2 3.2 输出显示设备输出显示设备1 1数码管原理数码管原理(1 1)共阴极数码管)共阴极数码管共阴极数码管的所有发光二极管的阴极接
12、在一起作为公共端,阳极为段控制端。使用时数码管公共端接地,阳极段加高电平的发光点亮,加低电平的不发光,通过组合显示不同数字。(2 2)共阳极数码管)共阳极数码管共阳极数码管的所有发光二极管的阳极接在一起作为公共端,阴极为段控制端。使用时数码管公共端接VCC,阴极段加电平的发光点亮,加高电平的不发光,通过组合显示不同数字。极数码管显示数字的字型码表见表3-2。3.2.1 3.2.1 数码管数码管 3.2 3.2 输出显示设备输出显示设备3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(1 1)静态数码管显示)静态数码管显示如图3-8所示,静态显
13、示时,每一个数码管公共端(又称位端)接地或接电源,比划段(简称段)接单片机I/O口,单片机根据共阴还是共阳数码管输出字型码给数码管的段端,控制其显示数字按。每个数码管独立显示数字,互不影响,显然,每个数码使用独立的位控制线和段控制I/O口。这种显示方式显示器的亮度较,编程简单使用方便,但是占用单片机较多的I/O口资,因此在显示位数较多时不实用。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(1 1)静态数码管显示)静态数码管显示3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(2 2)动态
14、数码管显示)动态数码管显示当显示位数较多时,通常应采用动态数码管显示方式,如图3-9。动态显示时,数码管轮流工作,任意时刻只有一个数码管显示数字。当轮换的时间足够短时,由于人眼视觉残留效应,所看到的是多个数码管一起显示数字。动态显示的数码管所有段线并接在一起,接单片机的I/O口,每个数码管位端由独立I/O线控制,以便分时选通数码管。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(2 2)动态数码管显示)动态数码管显示图3-9中,显示字符的字形码从D0D7送出,输出到所有数码管a-h段线上,在分时控制cc7其中c0为低电平(共阴),使其中一个
15、数码管显示数字,间隔一段时间后再从D0D7送下一个数字,再使c1为低电平,如此进行下去直到控制数码管L7显示数字,让8个数码管均显示一次数字,只要两两数码管的持续时间短于人眼视觉残留时间,看上去就如8个数码管同时一起工作,同时显示数字。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(2 2)动态数码管显示)动态数码管显示3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(2 2)动态数码管显示)动态数码管显示图3-9中,显示字符的字形码从D0D7送出,输出到所有数码管a-h段线上,在分时控制
16、cc7其中c0为低电平(共阴),使其中一个数码管显示数字,间隔一段时间后再从D0D7送下一个数字,再使c1为低电平,如此进行下去直到控制数码管L7显示数字,让8个数码管均显示一次数字,只要两两数码管的持续时间短于人眼视觉残留时间,看上去就如8个数码管同时一起工作,同时显示数字。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式(2 2)动态数码管显示)动态数码管显示图3-9中,显示字符的字形码从D0D7送出,输出到所有数码管a-h段线上,在分时控制cc7其中c0为低电平(共阴),使其中一个数码管显示数字,间隔一段时间后再从D0D7送下一个数字,
17、再使c1为低电平,如此进行下去直到控制数码管L7显示数字,让8个数码管均显示一次数字,只要两两数码管的持续时间短于人眼视觉残留时间,看上去就如8个数码管同时一起工作,同时显示数字。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式【例3-1】使用动态显示法在数码管中显示4位数字,PD0、PD1、PD2分别按键开关S0、S1、S2。按S0使数码管数字加88,按S1使其减39,按S2将数字清,数字显示范围08000。使用共阴极数码管。解:在Proteus中绘制原理图如图3-10所示。编程思路为先将09的共阴极字型码定义成一个数组LED,再定义变量n
18、um,对num进行BCD码转换,分离出千位、百位、十位、个位,分别存于4个变量,再将这四个变量分别去LED数字查找该数的字型段码,送段I/O口,动态将4位数字显示出来。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备2 2驱动方式驱动方式【例3-1】读取键盘,判断键值,如果是S0令num+88,并判断其范围使之不超出8000,如果是S1令num-39,并判断其范围,使之不小于0,如果是S2令num=0,编程思路如图3-10所示。3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显示设备输出显示设备3.2.3.2.1 1 数码管数码管 3.2 3.2 输出显
19、示设备输出显示设备3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备LCD(Liquid Crystal Display)液晶显示器将液晶置于两片导电玻璃之间,靠两个电极间电场的驱动,引起液晶分子扭曲向列的电场效应,以控制光源透射或遮蔽功能,在电源关开之间产生明暗而将影像显示出来,若加上彩色滤光片,则可显示彩色影像。3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备在两片玻璃基板上装有配向膜,所以液晶会沿着沟槽配向,由于玻璃基板配向膜沟槽偏离90度,所以液晶分子成为扭转型,当玻璃基板没有加入电场时,
20、光线透过偏光板跟着液晶做90度扭转,通过下方偏光板,液晶面板显示白色;当玻璃基板加入电场时,液晶分子产生配列变化,光线通过液晶分子空隙维持原方向,被下方偏光板遮蔽,光线被吸收无法透出,液晶面板显示黑色(如下图右)。液晶显示器便是根据此电压有无,使面板达到显示效果。3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备根据LCD液晶显示器结构不同,有段式LCD和点阵LCD。段式LCD与数码管类似,显示简单的数字及符号。点阵型LCD通过像素点阵的形式显示内容,而根据显示内容不同又字符型LCD、图文LCD、TFT真彩显示器。这三种LCD液晶显示器在实际中均
21、有应用。由于液晶做显示时需要有复杂的驱动电平,实际使用的液晶显示器均是将液晶显示器与驱动芯片做在一体的模组。液晶模组由驱动芯片驱动LCD面板显示内容,具有可编程特性,使用时通过接口对其进行初始化配置以后将显示的内容输入到驱动芯片,即可在LCD面板显示出来。3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备1 1 字符型液晶字符型液晶 1602(A/B/C)是常见的字符型液晶显示器。目前市场上生产该型号LCD显示器的厂家比较多,技术成熟。1602显示器能显示2行ASCII字符,每行显示16个,模组面板见图3-11。该模组内部采用了HD44780以及
22、兼容LCD驱动芯片,使用Bonding封装技术,将芯片与PCB板做成一体,能有效降低整个模组功耗,提高其工作稳定性。3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备(1 1)LCDLCD模组引脚功能模组引脚功能3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备(1 1)LCDLCD模组引脚功能模组引脚功能VSSVSS:电源地,接地。VDDVDD:正电源,4.55.5V。V0V0:调整该脚电压可以调整LCD显示对比度。RSRS:命令/数据控制引脚。当该引脚为高电平时,写入LCD的为显示数据;当该引脚
23、为低电平时,写入LCD的为控制命令,读出的为LCD的状态。R/WR/W:读写控制信号。当该引脚为高电平时,读LCD的数据和状态,当该引脚为低电平时,将数据或命令写入LCD。D0D0D7D7:LCD的数据总线。BLABLA:背光电源正极,通常接正电源。BLKBLK:背光电源负极。3.2.3.2.2 LCD2 LCD液晶显示器液晶显示器 3.2 3.2 输出显示设备输出显示设备(2 2)LCDLCD模组命令模组命令市场上常见的1602 LCD液晶显示模组,大多采用HD44780驱动芯片或其兼容芯片。这些兼容芯片对外的指令大多相同。因此,同一个1602的驱动程序,可以驱动不同厂家的液晶显示器,前提是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人机交互 接口 AVR 单片机 应用技术 项目 教程 课件
限制150内