1、任课教师:http:/ vision软件下载及指导手册(Helpvision Help)http:/ 第十章第十章 人机交互接口人机交互接口本章学习目标本章学习目标掌握键盘接口技术掌握键盘接口技术掌握数码、液晶显示技术掌握数码、液晶显示技术了解数码管显示驱动和键盘扫描控制专用芯片了解数码管显示驱动和键盘扫描控制专用芯片2人机交互接口是指人与计算机之间建立联系、交换人机交互接口是指人与计算机之间建立联系、交换信息的输入信息的输入/输出设备的接口,设备包括键盘、显示输出设备的接口,设备包括键盘、显示器、打印机、鼠标器等。器、打印机、鼠标器等。主要介绍键盘输入接口设计、显示原理及接口技术。主要介绍键
2、盘输入接口设计、显示原理及接口技术。第十章第十章 人机交互接口人机交互接口10.1 键盘接口技术键盘接口技术10.1.1 简易键盘接口的实现简易键盘接口的实现10.1.2 矩阵键盘接口的实现矩阵键盘接口的实现10.2 显示技术显示技术10.2.1 数码数码LED显示技术显示技术10.2.2 液晶显示技术液晶显示技术10.3 数码管显示驱动和键盘扫描控制专用芯片数码管显示驱动和键盘扫描控制专用芯片310.1 键盘接口技术非编码键盘和编码键盘非编码键盘和编码键盘非编码键盘非编码键盘:直接利用口线连接按键开关或开关型:直接利用口线连接按键开关或开关型传感器来实现,通过程序判断口线的电平就能够确传感器
3、来实现,通过程序判断口线的电平就能够确定输入的键值。定输入的键值。优缺点优缺点:设计简单,使用方便,且因为具有共用端,:设计简单,使用方便,且因为具有共用端,容易直接同开关电路或开关型传感器连接。但是这容易直接同开关电路或开关型传感器连接。但是这种方式的口线利用率较低,受单片机口线数量的限种方式的口线利用率较低,受单片机口线数量的限制,其键盘规模无法做大。制,其键盘规模无法做大。410.1 10.1 键盘接口技术键盘接口技术编码键盘编码键盘:将口线与按键开关连接成矩阵电路:将口线与按键开关连接成矩阵电路,通过软通过软件扫描件扫描,识别识别I/O口上的编码口上的编码,按编码规则识别输入键值。按编
4、码规则识别输入键值。优点优点:口线利用率高,键盘规模可以做得较大。:口线利用率高,键盘规模可以做得较大。具体用哪一种形式键盘可根据控制系统规模及用途决定。具体用哪一种形式键盘可根据控制系统规模及用途决定。5非编码键盘和编码键盘非编码键盘和编码键盘4 4输入输入与门与门10.1.1 简易键盘接口的实现简易键盘接口的实现简易键盘接口采用非编码形式简易键盘接口采用非编码形式,典型电路如图示。典型电路如图示。6图图10-1 简易键盘接口电路简易键盘接口电路8 Input NAND/AND GateKABCDEFGHJ1318 输入与非输入与非/与门与门下下降沿触降沿触发发INT0中断中断10.1.1
5、简易键盘接口的实现简易键盘接口的实现键盘在使用中考虑到人员操作或机械特性在接触时键盘在使用中考虑到人员操作或机械特性在接触时产生的产生的抖动问题抖动问题,即按键开关在接通或断开瞬间并,即按键开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期,在此期间非完全可靠接触,而是存在一个抖动期,在此期间的电平变化波形如图所示。的电平变化波形如图所示。7图图10-2 按键闭合时的电平变化波形按键闭合时的电平变化波形10.1.1 简易键盘接口的实现简易键盘接口的实现抖动期一般不超过抖动期一般不超过10 ms。在口线电平抖动期间,。在口线电平抖动期间,单片机无法准确检测出口线电平的正确值,必须单片机无法
6、准确检测出口线电平的正确值,必须采取一定的措施进行鉴别。采取一定的措施进行鉴别。常用的方法是常用的方法是延时消抖法延时消抖法,例如遇到由高向低的,例如遇到由高向低的电平转换后先不急于读取口线键值,而是在电平转换后先不急于读取口线键值,而是在中断中断服务程序的开始执行一段服务程序的开始执行一段1020 ms的延时程序。的延时程序。若延时程序后再次判断口线仍为低电平则进入口若延时程序后再次判断口线仍为低电平则进入口线的键值读取程序,否则放弃键值读取操作。线的键值读取程序,否则放弃键值读取操作。810.1.1 简易键盘接口的实现简易键盘接口的实现示例代码如下:示例代码如下:ORG0000H LJMP
7、MAIN ORG0003H ;INT0外部中断外部中断0入口地址入口地址 LJMP KRD ORG0100HMAIN:MOV SP,#70H SETB IT0 ;设置设置INT0下降沿触发下降沿触发 SETB EX0 ;开放开放INT0中断中断 SETB EA ;开放总中断开放总中断 ;其他初始化代码其他初始化代码MAINLOOP:;主循环主循环 LJMP MAINLOOP9(1)定时)定时/计数器计数器T0和和T1的控制寄存器的控制寄存器TCON 10 该该寄存器同时锁存了寄存器同时锁存了T0和和T1的溢出中断请求标志及的溢出中断请求标志及外部中断请求标志。外部中断请求标志。TCON(地址地
8、址88H(可位寻址可位寻址),复位值复位值00H)各位定义:各位定义:1)IT0:外部中断外部中断0触发触发方式控制位。可由软件置方式控制位。可由软件置1或或清清“0”。0:INT0/P3.2上上的的上升沿或下降沿上升沿或下降沿均可触发外中断均可触发外中断0,置置位位IE0。1:INT0/P3.2为为下降下降沿沿触发外部中断触发外部中断0,置位置位IE0。2)IT1:外部中断外部中断1触发触发方式控制位,与方式控制位,与IT0类似。类似。6)EXl:外部外部中断中断INT1中断允许控制位。中断允许控制位。1:允许外部中断:允许外部中断1中断;中断;0:禁止外部中断:禁止外部中断1中断。中断。7
9、)ET0:定时器定时器0中断中断允许控制位。允许控制位。1:允许定时器:允许定时器0中断;中断;0:禁止定时器:禁止定时器0中断。中断。8)EX0:外部外部中断中断INT0中断允许控制位。中断允许控制位。1:允许外部中断:允许外部中断0中断;中断;0:禁止外部中断:禁止外部中断0中断。中断。111)中断允许寄存器)中断允许寄存器IE10.1.1 简易键盘接口的实现简易键盘接口的实现12下下降沿触降沿触发发INT0中断中断 KRD:LCALLDELAY20 ;调调20 ms延时子程序延时子程序,消除抖动消除抖动 MOV A,P2 ;读读P2口键值口键值 JNB ACC.0,KPR0 ;判断判断P
10、2.0P2.7是否有键按下是否有键按下 JNB ACC.1,KPR1 JNB ACC.2,KPR2 JNB ACC.3,KPR3 JNB ACC.4,KPR4 JNB ACC.5,KPR5 JNB ACC.6,KPR6 JNB ACC.7,KPR7 RETI(弱上拉弱上拉I/O口输入前先将输口输入前先将输出锁存器出锁存器置置1)这里这里P2口口输出锁存器输出锁存器复位值即为复位值即为0FFh 强极弱弱P0P5准准双双向向口口工工作作模模式式的的结结构构当从端口引脚上当从端口引脚上输入数据时输入数据时,T4应一直处于截止状态应一直处于截止状态。假定在输入之前曾输出假定在输入之前曾输出锁存过数据锁
11、存过数据0,则则T4导通导通,这样引这样引脚上电位就脚上电位就被箝位在被箝位在0电平电平,使输入高电平无法读入。使输入高电平无法读入。13因此因此,作为准双向口使用时作为准双向口使用时,输入数据时输入数据时,应先向口写应先向口写1,1,使使T4T4截止截止,然后方可作高阻抗输入然后方可作高阻抗输入。这是准双向口的主。这是准双向口的主要特点。要特点。01通通0101外部外部输入输入0截止截止截止截止130A20mA200A截止截止通通010.1.1 简易键盘接口的实现简易键盘接口的实现KPR0:;P2.0口线按键口线按键处理程序处理程序 MOV A,P2 ;读读P2口键值口键值 JNB ACC.
12、0,KPR0 ;判判P2.0口线电平是否变口线电平是否变高高(即即按键是否松开按键是否松开)KP01:CALL DELAY20;检测到检测到P2.0变变高高,调调20 ms延时子程延时子程序序消抖消抖 MOV A,P2 ;读读P2口键值口键值 JNB ACC.0,KP01;证实证实P2.0口线一直保持低电口线一直保持低电平平(确认确认按按键是否松开键是否松开);按键处理程序。按键处理程序。由低由低电平电平变变为高电为高电平平认为按键认为按键按按下下松开松开 RETIKPR1:;P2.1口线按键处理程序口线按键处理程序 RETIKPR7:;P2.7口线按键处理程序口线按键处理程序 RETIDEL
13、AY20:;20 ms延时子程序延时子程序 RET END14按按键没松开则继续等待键没松开则继续等待按按键没松开则继续等待键没松开则继续等待10.1.2 矩阵键盘接口的实现矩阵键盘接口的实现简易键盘电路每一按键用一根简易键盘电路每一按键用一根I/O口线口线,口线利用率低。口线利用率低。若将口线按行列排成若将口线按行列排成矩阵形式矩阵形式,则可在相同口线数量下则可在相同口线数量下增大键盘规模。增大键盘规模。15可将可将P2口的口的8根根I/O线线排列成排列成44矩阵矩阵形式形式,连接连接16只按键只按键。行线特定的行线特定的4位数据输位数据输出出和和列线对应的列线对应的4位数位数据输入据输入可
14、组成一个可组成一个8位位的特征字的特征字,该特征字即该特征字即为为键值键值,代表了按下的代表了按下的键所在的位置。键所在的位置。CD4082 双双4输入端与门输入端与门10-1-2 矩阵键盘接口的实现矩阵键盘接口的实现1、电路结构及设计思路、电路结构及设计思路矩阵式键盘将矩阵式键盘将P2口的口的8根根I/O口线分成行、列线连接,口线分成行、列线连接,图中图中P2.0P2.3为行线,为行线,P2.4P2.7为列线。为列线。16只按只按键分别跨接在对应的行、列线节点上。键分别跨接在对应的行、列线节点上。如果单片机在行线对应的如果单片机在行线对应的I/O口线上有数据输出,当口线上有数据输出,当有键按
15、下时,行、列线短路,单片机在列线对应的有键按下时,行、列线短路,单片机在列线对应的I/O口线上的输入数据将由行线上的电平决定。口线上的输入数据将由行线上的电平决定。16行线特定的行线特定的4位数据输出和列线对应的位数据输出和列线对应的4位数据输入位数据输入可组成一个可组成一个8位的特征字,该特征字即为键值,代表位的特征字,该特征字即为键值,代表了按下的键所在的位置。了按下的键所在的位置。2、键值产生的原理、键值产生的原理以以行线作为扫描行线作为扫描输出输出,以以列线作为接收列线作为接收输入输入,依次将各依次将各行线置为低电平行线置为低电平,并在列线上逐次接收数据。并在列线上逐次接收数据。扫描完
16、成后扫描完成后,如果发现接收到的某一如果发现接收到的某一列线有低电平列线有低电平,则则表示该表示该列线与行线连接的按键已经闭合列线与行线连接的按键已经闭合。在接收到低电平的那次扫描中在接收到低电平的那次扫描中,行线数据与列线数据的行线数据与列线数据的组合便是所期望组合便是所期望键值键值,由该键值可确定闭合键在矩阵连由该键值可确定闭合键在矩阵连接中的位置。接中的位置。17 1)扫描法产生键值)扫描法产生键值2、键值产生的原理、键值产生的原理2)线反转识别法产生键值)线反转识别法产生键值先将行线全部置为低电先将行线全部置为低电平平,列线全部置为高电平列线全部置为高电平(弱上拉弱上拉I/O口输入前先
17、将输出锁存器置口输入前先将输出锁存器置1),从从列线列线对应的对应的I/O口线接收数据口线接收数据,如果发现有口线变低,如果发现有口线变低,则证明该列线与闭合的按键连接。则证明该列线与闭合的按键连接。将列线全部置为低电平将列线全部置为低电平,行线全部置为高电平行线全部置为高电平,从从行线对应的行线对应的I/O口线接收数据口线接收数据,如果发现有口线变如果发现有口线变低低,则证明该行线与闭合的按键连接。则证明该行线与闭合的按键连接。对上述两次操作的结果所获得的两个对上述两次操作的结果所获得的两个8位数据进位数据进行综合分析,便可确定闭合的按键所在位置。行综合分析,便可确定闭合的按键所在位置。18
18、3、键盘识别原理、键盘识别原理在键盘扫描产生键值前在键盘扫描产生键值前,为避免无键按下的空扫描为避免无键按下的空扫描,浪费浪费CPU时间时间,应先进行一次应先进行一次键盘识别键盘识别,有两种方法有两种方法。191)硬件中断识别法)硬件中断识别法将矩阵式键盘电路的将矩阵式键盘电路的所有列线连接至所有列线连接至“与与”门电路门电路的输入端的输入端,“与与”门电路的输出端与单片机外部中门电路的输出端与单片机外部中断连接。断连接。把把全部行线置为低电平全部行线置为低电平,全部列线置为高电平全部列线置为高电平,当,当有键按下时有键按下时列线上出现低电平列线上出现低电平,对应,对应“与与”门的输门的输出电
19、平出现由高向低的跳变,经引脚进入单片机产出电平出现由高向低的跳变,经引脚进入单片机产生中断,在生中断,在中断服务程序中开始扫描键盘中断服务程序中开始扫描键盘。3、键盘识别原理、键盘识别原理2)软件查询识别法)软件查询识别法全部行线置为低电平全部行线置为低电平,全部列线置为高电平全部列线置为高电平,定时从列定时从列线对应的线对应的I/O口线读输入数据口线读输入数据,若接收的数据中若接收的数据中有低电有低电平平,则说明有按键按下则说明有按键按下,开始开始执行键盘扫描程序执行键盘扫描程序。此法。此法无需在矩阵键盘中连接无需在矩阵键盘中连接“与与”门电路门电路,硬件电路简洁。硬件电路简洁。上述两种识别
20、方法中上述两种识别方法中,用硬件中断识别法可随时响应用硬件中断识别法可随时响应键盘动作键盘动作,具有较强实时性具有较强实时性,而采用软件查询法则可简而采用软件查询法则可简化电路。化电路。204、按键操作的抖动处理、按键操作的抖动处理与简易键盘电路相同,矩阵键盘同样要考虑按键与简易键盘电路相同,矩阵键盘同样要考虑按键触点闭合或断开时存在的抖动期,一般在取回键触点闭合或断开时存在的抖动期,一般在取回键值后进行值后进行510 ms的延时的延时,判断原键值是否存在,判断原键值是否存在,以决定是否存在按键的误动作。以决定是否存在按键的误动作。215、矩阵键盘处理程序、矩阵键盘处理程序下面是可供调用的键盘
21、扫描子程序下面是可供调用的键盘扫描子程序:可读入可读入44键盘键盘状状态态,然后将键值送往内部然后将键值送往内部RAM的的 30H33H单元。单元。具体方法具体方法:利用单片机利用单片机P2口的口的P2.0P2.3口线口线轮流轮流向行向行扫描线扫描线送低电平送低电平,将每次扫描中由将每次扫描中由P2.4P2.7返回的数返回的数据据与当时行扫描送出的数据组合后作为键值与当时行扫描送出的数据组合后作为键值送内部送内部RAM的的30H33H单元。单元。键值内容为键值内容为8位位,低低4位中的位中的“0”对应于行扫描输出线对应于行扫描输出线,高高4位中的位中的“0”对应于闭合按键对应于闭合按键连接的列
22、线。连接的列线。225、矩阵键盘处理程序、矩阵键盘处理程序KEY-SCAN:MOV R0,#30H ;设置键值存储单元地址指针设置键值存储单元地址指针MOV A,#0FEH ;设置设置行扫描初始状态行扫描初始状态 (加加)SETB C ;下面用下面用RLC使扫描指向下行使扫描指向下行SCAN:MOV P2,A ;输出输出至行扫至行扫描描线线,P2 .0低电平低电平(加加)AND A,#0FH ;只保留只保留行扫描行扫描线线(P2.0P2.3)状状态态 MOV R1,A ;保存保存行扫描线行扫描线状状态态(R1低低4位位),R1高高4位为位为0MOV A,P2 ;读回列线读回列线数数据据(P2.
23、4P2.7)AND A,#0F0H ;保留读回数据的高保留读回数据的高4位位ORL A,R1 ;组合组合键值键值,R1低低4位扫位扫描线状态描线状态,高高4位为位为0MOV R0,A;键键值送存储单元值送存储单元RET23,列线输出高列线输出高电平电平内部内部RAM的的 30H33H单元单元MOV R3,#0FEHINC R0;指向下行键值单元指向下行键值单元MOV A,R3;准备扫描下行准备扫描下行RLC A;扫描指向下行扫描指向下行MOV R3,A;保存扫描行保存扫描行JB ACC.4,SCAN;判断是否已经完成扫描判断是否已经完成扫描4行行键盘扫描程序清单如下:键盘扫描程序清单如下:5、
24、矩阵键盘处理程序、矩阵键盘处理程序键盘扫描程序清单如下键盘扫描程序清单如下:KEY-SCAN:MOV R0,#30H ;设置键值存储单元地址指针设置键值存储单元地址指针MOV A,#0FEH ;设置设置行扫描初始状态行扫描初始状态SCAN:MOV P2,A ;输出输出至行扫至行扫描描线线,P2 .0低电平低电平(加加)AND A,#0FH ;只保留只保留行扫描行扫描线线(P2.0P2.3)状状态态 MOV R1,A ;保存保存行扫描线行扫描线状状态态(R1低低4位位),R1高高4位为位为0MOV A,P2 ;读回列线读回列线数数据据(P2.4P2.7)AND A,#0F0H ;保留读回数据的高
25、保留读回数据的高4位位ORL A,R1 ;组合组合键值键值,R1低低4位扫位扫描线状态描线状态,高高4位为位为0MOV R0,A;键键值送存储单元值送存储单元RET24,列线输出高列线输出高电平电平内部内部RAM的的 30H33H单元单元MOV R3,#01INC R0;指向下行键值单元指向下行键值单元MOV A,R3;准备扫描下行准备扫描下行RL A;准备扫描下行准备扫描下行MOV R3,A;保存移位值保存移位值CPL A;指向扫描下行指向扫描下行JB ACC.4,SCAN;判断是否已经扫描判断是否已经扫描4行行或者修改程序或者修改程序10.2 显示技术显示技术10.2.1 数码数码LED显
26、示技术显示技术1、显示元件概述、显示元件概述主要显示元件:主要显示元件:LED(发光二极管显示器发光二极管显示器 数码管数码管)或或LCD(液晶显示器液晶显示器)。显示形式:笔画式和点阵式。显示形式:笔画式和点阵式。笔画式显示元件大多为笔画式显示元件大多为LED数码管数码管,用于显示数字用于显示数字或简单字母信息或简单字母信息,适合于规模较小的单片机系统。适合于规模较小的单片机系统。若考虑到单片机系统功耗因素若考虑到单片机系统功耗因素,也有笔画式也有笔画式LCD数数码管可供选用码管可供选用,但在控制和连接上要稍微复杂一些。,但在控制和连接上要稍微复杂一些。251、显示元件概述、显示元件概述显示
27、显示大信息量或图形大信息量或图形时,一般使用时,一般使用点阵式点阵式LCD显显示器。这种显示器结构比较复杂,需要考虑灰度调示器。这种显示器结构比较复杂,需要考虑灰度调节、高压背光的配合,电路连接及程序操作都比较节、高压背光的配合,电路连接及程序操作都比较繁琐。繁琐。用用点阵式点阵式LCD显示器显示器最好采用最好采用内置控制器模块形内置控制器模块形式式 (LCD Module,或或LCM),这种情况下这种情况下,单片机与单片机与点阵式点阵式LCD的接口实际上变成了单片机与单片机的接口实际上变成了单片机与单片机之间的数据通信。之间的数据通信。本节主要介绍笔画式本节主要介绍笔画式LED和点阵式和点阵
28、式LCD的应用。的应用。2610.2.1 数码数码LED显示技术显示技术2、七段码、七段码LED显示器显示器LED数码管由数码管由8只只LED发光二极管构成发光二极管构成,8只只LED发光发光二极管分别代表组成数码的笔画二极管分别代表组成数码的笔画(称为段称为段)和该位数码和该位数码的小数点。由于显示的数字由的小数点。由于显示的数字由7个显示段组合而成,个显示段组合而成,所以也称为七段码。所以也称为七段码。272、七段码、七段码LED显示器显示器七段数码管显示器中为简化电路引出线,通常将七段数码管显示器中为简化电路引出线,通常将8只只发光二极管的阴极或阳极连接在一起作为电路公共端,发光二极管的
29、阴极或阳极连接在一起作为电路公共端,由此分成了由此分成了共阴极或共阳极显示器共阴极或共阳极显示器,采用,采用高电平或低高电平或低电平驱动电平驱动。28图图10-4 LED七段数码管显示器结构七段数码管显示器结构 注意注意:七段数码管的驱动电流应限制,在保证不超过七段数码管的驱动电流应限制,在保证不超过单片机或其他驱动芯片功耗前提下维持正常发光亮度。单片机或其他驱动芯片功耗前提下维持正常发光亮度。共阴极共阴极共阳极共阳极高电平驱动高电平驱动低电平驱动低电平驱动3、七段码、七段码LED显示器的显示方式及接口显示器的显示方式及接口七段码七段码LED显示器可采用显示器可采用静态显示静态显示和和动态显示
30、动态显示两种两种形式。形式。静态显示静态显示是指在显示时段内对组成字型的发光二是指在显示时段内对组成字型的发光二极管保持极管保持恒定的导通或截止恒定的导通或截止;动态显示动态显示是指在显示时段内对组成字形的发光二是指在显示时段内对组成字形的发光二极管实行极管实行间断或轮流间断或轮流(多字符显示多字符显示)点亮点亮。其中前一种形式程序操作简单,其中前一种形式程序操作简单,CPU送出字形码后送出字形码后可以不再管理。而后一种显示形式则可最大限度地可以不再管理。而后一种显示形式则可最大限度地降低显示功耗,但是占用了降低显示功耗,但是占用了CPU的执行程序时间。的执行程序时间。291)静态显示接口)静
31、态显示接口由单片机由单片机串行口串行口与与移位寄存器芯片移位寄存器芯片CD4094组成的共阴组成的共阴极七段码极七段码LED静态显示接口电路如图所示。静态显示接口电路如图所示。30图图10-5 LED静态显示接口电路静态显示接口电路 CD4094是是8位位移位寄存器移位寄存器/三态三态并行并行锁存器锁存器输出输出,QS移位输出可移位输出可级联级联;EN=0锁存器锁存器输出高阻输出高阻,EN=1锁存器锁存器并行输出并行输出;ST=0锁存器锁存器不随不随移位寄存器移位寄存器变化变化,ST=1锁存器锁存器随随移位寄存器移位寄存器变化而变化变化而变化;串串口用方口用方式式 08 位位同同步步移移位位寄
32、寄存存器器输输出出方方式式1)静态显示接口)静态显示接口电路说明电路说明单片机工作在单片机工作在串口方式串口方式“0”状态状态,要显示的字形以,要显示的字形以七段码形式由单片机的七段码形式由单片机的RXD输出至输出至CD4094的数据的数据输入端输入端D,每次输出,每次输出1个字节,对应个字节,对应1位显示数字。位显示数字。多位显示时需要输出多个字节的显示数据,同时也多位显示时需要输出多个字节的显示数据,同时也需要多个需要多个CD4094级联,即前级级联,即前级CD4094的数据输出的数据输出端端QS与后级与后级CD4094的数据输入端的数据输入端D连接。连接。31单片机的单片机的TXD与每个
33、与每个CD4094的时钟输入端的时钟输入端CP连连接,在串行数据输出过程中接,在串行数据输出过程中TXD发出移位脉冲,发出移位脉冲,驱动数据依次逐位在驱动数据依次逐位在CD4094芯片中移动。芯片中移动。CD4094是是8位位移位寄存器移位寄存器/三态并行三态并行锁存器锁存器输出输出EN=1锁存器锁存器并行输出并行输出ST=0锁存锁存器器不随不随移位寄存器移位寄存器变化变化,ST=1锁存锁存器器随随移位寄存器移位寄存器变变化而化而变化变化EN=0锁存器锁存器输出高输出高阻阻1)静态显示接口)静态显示接口电路说明电路说明单片机工作在单片机工作在串口方式串口方式“0”状态状态,要显示的字形以,要显
34、示的字形以七段码形式由单片机的七段码形式由单片机的RXD输出至输出至CD4094的数据的数据输入端输入端D,每次输出,每次输出1个字节,对应个字节,对应1位显示数字。位显示数字。多位显示时需要输出多个字节的显示数据,同时也多位显示时需要输出多个字节的显示数据,同时也需要多个需要多个CD4094级联,即前级级联,即前级CD4094的数据输出的数据输出端端QS与后级与后级CD4094的数据输入端的数据输入端D连接。连接。32单片机的单片机的TXD与每个与每个CD4094的时钟输入端的时钟输入端CP连连接,在串行数据输出过程中接,在串行数据输出过程中TXD发出移位脉冲,发出移位脉冲,驱动数据依次逐位
35、在驱动数据依次逐位在CD4094芯片中移动。芯片中移动。1)静态显示接口)静态显示接口电路说明电路说明当所有要显示数据全部送出后当所有要显示数据全部送出后,单片机可以将单片机可以将P1.0控制口线由低置高控制口线由低置高,通过,通过CD4094的的ST引脚控制引脚控制,使使所有送入所有送入CD4094的数据的数据由串行由串行(移位寄存器移位寄存器)转为并转为并行行(锁存器锁存器)输出输出,在在LED数码管上显示出对应位的数数码管上显示出对应位的数字内容。字内容。33静态显示的主要特点静态显示的主要特点:是占用:是占用CPU处理时间少,显处理时间少,显示稳定、亮度高,使用口线少。但在使用中应注意
36、示稳定、亮度高,使用口线少。但在使用中应注意串口数据传送的格式及字符排位顺序。串口数据传送的格式及字符排位顺序。串行静态显示的串行静态显示的位数主要由位数主要由TXD、P1.0口线口线的带负的带负载能力决定载能力决定。也可将也可将CD4094的的ST脚始终接高电平脚始终接高电平,缺点是在单片缺点是在单片机送出显示数据过程中机送出显示数据过程中LED数码管会显示乱码。数码管会显示乱码。1)静态显示接口)静态显示接口电路说明电路说明实际中也可不用实际中也可不用P1.0,将将CD4094的的ST脚始终接高电脚始终接高电平平,进入进入CD4094的串行数据会自动转为并行输出。的串行数据会自动转为并行输
37、出。其缺点是在单片机送出显示数据过程中其缺点是在单片机送出显示数据过程中LED数码管数码管会显示乱码。但数据传送过程很短,在不频繁更换会显示乱码。但数据传送过程很短,在不频繁更换显示数据的场合还可接受。显示数据的场合还可接受。34实践证明实践证明,CD4094输出与输出与LED数码管间可不加限流数码管间可不加限流电阻。当电阻。当CD4094输出电流过大时会引起输出电压下输出电流过大时会引起输出电压下降,从而自动限制了流过降,从而自动限制了流过LED的电流。的电流。另外,如果另外,如果STC15F2K60S2单片机的串行口单片机的串行口1在系统在系统中另有用途,则可中另有用途,则可用用串口串口2
38、输出数据。输出数据。2)动态显示接口)动态显示接口采用采用多位多位LED数码管显示数码管显示时,可时,可逐逐位点亮数码管位点亮数码管,虽然在显示过程中有些数码管有熄灭时间,但是利虽然在显示过程中有些数码管有熄灭时间,但是利用人眼的用人眼的视觉暂留效应视觉暂留效应和和LED发光二极管的发光二极管的余辉余辉,只要点亮与熄灭时间分配适当,仍能够只要点亮与熄灭时间分配适当,仍能够感觉到所有感觉到所有数码管始终处于显示状态数码管始终处于显示状态。35动态显示时动态显示时CPU需要经常执行相关程序进行显示刷需要经常执行相关程序进行显示刷新新,这可能占用较多的,这可能占用较多的CPU执行时间,对需要快速执行
39、时间,对需要快速运算或实时控制的用途会增加编程难度。运算或实时控制的用途会增加编程难度。2)动态显示接口)动态显示接口但是,但是,在实际编程中可以融入一些编程技巧减轻在实际编程中可以融入一些编程技巧减轻CPU刷新显示的负担。刷新显示的负担。例如,例如,将逐位显示程序编入经常调用的延时子程序将逐位显示程序编入经常调用的延时子程序中中,就可以在执行正常程序的过程中满足动态显示,就可以在执行正常程序的过程中满足动态显示的需求。的需求。36动态显示可以动态显示可以提高单片机显示口线的利用率提高单片机显示口线的利用率,简,简化硬件电路的接线。化硬件电路的接线。LED动态显示接口的具体电动态显示接口的具体
40、电路见下面图所示。路见下面图所示。2)动态显示接口)动态显示接口LED动态显示接口的具体电路如图所示。动态显示接口的具体电路如图所示。37图图10-6 LED动态显示接口电路动态显示接口电路 共阳极端共阳极端输出低电平输出低电平,数码管显示数码管显示三态八缓冲器三态八缓冲器/线驱动器线驱动器动态扫描显示子程序如下:动态扫描显示子程序如下:设设需显示需显示4位位字形七段码字形七段码16进制数的数字进制数的数字放在放在60H开始的开始的4单单元元中中:38SDIS:MOV R0,#60H ;使指使指针针R0指向显示数据存储区首址指向显示数据存储区首址 MOV DPTR,#DSEG;设置设置七段码字
41、模表首地址七段码字模表首地址 MOV R7,#0FEH;设置数码管显示位指针设置数码管显示位指针,指向最指向最右右左左边一位边一位P2.0 MOV A,R7 ;显示显示位位指针内容送累加器指针内容送累加器 (加加)SETB C ;下面用下面用RLC使扫描指向下行使扫描指向下行LD0:MOV P2,A ;选通显示位选通显示位P2.0 RLC A ;显示显示位位指向下一位指向下一位 MOV R7,A ;保存保存下一下一显示显示位位指针内容指针内容 MOV A,R0 ;取显示取显示数数据据(每个存储单元值每个存储单元值0F)内容内容 MOVC A,A+DPTR ;查查显示内容显示内容(0F)字形码字
42、形码(字模字模)MOV P0,A ;送出显示字形码送出显示字形码(0F)(字模字模)CALL DEL1 ;调延时子程序使数码管显示一定时间调延时子程序使数码管显示一定时间 INC R0 ;指向下一个显示的存储单元指向下一个显示的存储单元 MOV A,R7 ;取取下一显示位下一显示位指指针内容针内容 JB ACC.4,LD0 ;未扫描完未扫描完4位位(P2.4还没显示还没显示),继续循继续循环环 RET例例题题:要求显示要求显示4位位16进制进制的数的数2)动态显示接口)动态显示接口 ;下面是下面是09,AF共阳极字形七段码共阳极字形七段码DSEG:DB C0H,F9H,A4H,B0H,99H,
43、92H,82H,F8H,80H;DSEG2:DB 90H,88H,83H,C6H,A1H,86H,8EH39 请自行补充完请自行补充完整其中的延时整其中的延时子程序和对应子程序和对应的的C语言程序。语言程序。(A)=0,1,2,3,4,5,6,7,8(A)=9,A,B,C,D,E,F09C0H90H字模值字模值10.2.2 液晶显示技术液晶显示技术液晶显示器件液晶显示器件(LCD显示器显示器)因有显示信息丰富、功耗因有显示信息丰富、功耗低、体积小、无辐射等优点,得到了广泛应用。低、体积小、无辐射等优点,得到了广泛应用。LCD显示器有显示器有笔画分段笔画分段、分割显示分割显示、字符点阵显示字符点
44、阵显示和和图形点阵图形点阵LCD显示显示形式之分,对于比较丰富的显示内形式之分,对于比较丰富的显示内容通常采用图形点阵显示形式,但是这种显示形式的容通常采用图形点阵显示形式,但是这种显示形式的电路结构及控制方式比较复杂。电路结构及控制方式比较复杂。40为便于使用为便于使用,LCD图形点阵显示器图形点阵显示器常以常以LCM (LCD Module)形式形式出现出现,模块中封装了显示器、驱动电路、模块中封装了显示器、驱动电路、控制电路及背光调节电路等。控制电路及背光调节电路等。(如如12864,1602液液晶屏晶屏)以以OCMJ4X8C为例介绍图形点阵为例介绍图形点阵LCD显示接口应用。显示接口应
45、用。LCD1602字符型液晶屏字符型液晶屏,能够同时显示能够同时显示16x02即即32个字符个字符(非中文非中文)1、OCMJ4X8C液晶显示模块概述液晶显示模块概述OCMJ4X8C液晶显示屏液晶显示屏(统称统称12864液晶屏液晶屏)为为12864点点阵阵,可显示可显示4行行 每行每行8个汉字。个汉字。OCMJ4X8C可实现汉字可实现汉字 ASCII码码 点阵图形点阵图形 自造字体的同屏显示。自造字体的同屏显示。该模块具有该模块具有2MB的的中文字形中文字形CGROM(Custom Glyph RAM),其中含有其中含有8192个个1616点阵中文字库;点阵中文字库;16K-位位(12816
46、8 点阵点阵)半宽字半宽字型型ROM(HCGROM)总总共提供共提供128 个符号字型个符号字型(16x8 点阵点阵)ASCII字符库;字符库;6416-位的字位的字型产生型产生RAM(CGRAM)提供了提供了4组组1616点阵的点阵的图象定义图象定义(造字功能造字功能)空间空间。41(字形字形)(国标码国标码GB2312的的汉字机内码汉字机内码)1、OCMJ4X8C液晶显示模块概述液晶显示模块概述12864液晶屏液晶屏为为12864点阵点阵,可显示可显示4行行 每行每行8个汉字。个汉字。可实现汉字可实现汉字CGROM ASCII码码(HCGROM)点阵图形点阵图形 自造字体自造字体(CGRA
47、M)的同屏显示。的同屏显示。421 OCMJ4X8C液晶显示模块概液晶显示模块概述述12864液晶屏液晶屏为为12864点阵点阵,可显示可显示4行行 每行每行8个汉字。个汉字。可实现汉字可实现汉字CGROM ASCII码码(HCGROM)点阵图形点阵图形 自造字体自造字体(CGRAM)的同屏显示。的同屏显示。43128168半宽字型符号半宽字型符号表表1、OCMJ4X8C液晶显示模块概述液晶显示模块概述显示数据显示数据RAM(DDRAM,display data RAM):模块内部模块内部显示数据显示数据RAM提供提供642个个字节字节的空间的空间,最多可控制最多可控制4行行16字字(64个字
48、个字)的中文字型显示的中文字型显示(汉字国标码汉字国标码2个字节个字节);当写入当写入DDRAM时时,可显示三种字型可显示三种字型:半角英半角英文文数字型数字型(16*8)HCGROM型型 CGROM中文字型与中文字型与CGRAM自定义字型自定义字型;三种三种字型的选择字型的选择,由在由在DDRAM中写入的编码选择中写入的编码选择,在在0000H0006H的编码中的编码中(其代码分别是其代码分别是0000 0002 0004 0006共共4个个)将选择将选择CGRAM的自定义字型的自定义字型;02H7FH的编码将选择半角英的编码将选择半角英文文数字的字型数字的字型;至于至于A1以上的编码以上的
49、编码将将自动结合下一个自动结合下一个字节字节,组成两个组成两个字字节节的编码形成的编码形成中文字型的编码中文字型的编码BIG5(A140D75F),GB(A1A0-F7FFH)。44(BIG5(A140繁体规范繁体规范,GBGB是简体规范是简体规范)1、OCMJ4X8C液晶显示模块概述液晶显示模块概述可显示可显示4行行 每行每行8个汉字。实现汉字个汉字。实现汉字CGROM ASCII码码(HCGROM)自造字体自造字体(CGRAM)点阵图形点阵图形的同屏的同屏显示。显示。45地址计数器地址计数器(AC,address counter):地址计数器是用来贮存地址计数器是用来贮存DDRAM/CGR
50、AM之一的地址之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写它可由设定指令暂存器来改变,之后只要读取或是写入入DDRAM/CGRAM的值时,地址计数器的值就会自的值时,地址计数器的值就会自动加一,当动加一,当RS为为“0”时而时而R/W为为“1”时,地址计数时,地址计数器的值会被读取到器的值会被读取到DB6DB0(字节的低字节的低7位位)中。中。提供提供64256点阵点阵GDRAM(Graphic Display Ram)绘图区域绘图区域。IRAM(ICON RAM):1516 位位点阵点阵总共总共 240 点点的的图标图标RAM,存存储将被显示的图标数据储将被显示的图标数据(应用