第十章人机交互接口_第1页
第十章人机交互接口_第2页
第十章人机交互接口_第3页
第十章人机交互接口_第4页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及单片机接口技术微机原理及单片机接口技术第十章第十章 人机交互接口人机交互接口任课教师: http:/ stc15系列单片机器件手册等keil vision软件下载及指导手册(Helpvision Help) http:/ Software Cx51 编译器用户手册: Cx51编译器-对传统和扩展的8051微处理器的优化的C编译器和库参考2 第十章第十章 人机交互接口人机交互接口本章学习目标本章学习目标掌握键盘接口技术掌握键盘接口技术掌握数码、液晶显示技术掌握数码、液晶显示技术了解数码管显示驱动和键盘扫描控制专用芯片了解数码管显示驱动和键盘扫描控制专用芯片3人机交互接口是指人与计算机之

2、间建立联系、交换人机交互接口是指人与计算机之间建立联系、交换信息的输入信息的输入/输出设备的接口,设备包括键盘、显示输出设备的接口,设备包括键盘、显示器、打印机、鼠标器等。器、打印机、鼠标器等。主要介绍键盘输入接口设计、显示原理及接口技术。主要介绍键盘输入接口设计、显示原理及接口技术。 第十章第十章 人机交互接口人机交互接口10.1 键盘接口技术键盘接口技术10.1.1 简易键盘接口的实现简易键盘接口的实现10.1.2 矩阵键盘接口的实现矩阵键盘接口的实现10.2 显示技术显示技术10.2.1 数码数码LED显示技术显示技术10.2.2 液晶显示技术液晶显示技术10.3 数码管显示驱动和键盘扫

3、描控制专用芯片数码管显示驱动和键盘扫描控制专用芯片410.3 数码管显示驱动和键盘扫描控制专用芯片数码管显示驱动和键盘扫描控制专用芯片在单片机应用系统中在单片机应用系统中, 为节省为节省I/O口资源口资源, 提高提高CPU效效率率, 设计键盘和显示接口时设计键盘和显示接口时, 常用数码管显示驱动和常用数码管显示驱动和键盘扫描专用芯片键盘扫描专用芯片 (键盘键盘/显示扩展芯片显示扩展芯片)。常见的键盘常见的键盘/显示扩展芯片有显示扩展芯片有CH451、ZLG7289A等。等。51、CH451简介简介CH451是一个整合了是一个整合了数码管显示驱动数码管显示驱动、键盘扫描控键盘扫描控制制以及以及微

4、处理器监控微处理器监控的多功能外围芯片。的多功能外围芯片。三个功能之间相互独立,单片机可以通过操作命令三个功能之间相互独立,单片机可以通过操作命令分别启用、关闭、设定分别启用、关闭、设定CH451 的任何一个功能。的任何一个功能。1、CH451简介简介 CH451内置内置RC振荡电路,可以动态驱动振荡电路,可以动态驱动8位数码位数码管或者管或者64只只LED发光管,具有发光管,具有BCD译码、闪烁、译码、闪烁、移位等功能;移位等功能;还可以进行还可以进行64键的键盘扫描;键的键盘扫描;CH451通过可级联的串行接口与单片机等交换数通过可级联的串行接口与单片机等交换数据,其串行接口是由硬件实现的

5、,单片机可以频据,其串行接口是由硬件实现的,单片机可以频繁地通过串行接口进行高速操作,而不会降低繁地通过串行接口进行高速操作,而不会降低CH451 的工作效率。的工作效率。62、CH451特点特点 (1)显示驱动)显示驱动内置大电流驱动级,段电流不小于内置大电流驱动级,段电流不小于25mA,字电流,字电流不小于不小于150mA。动态显示扫描控制,直接驱动动态显示扫描控制,直接驱动8 位数码管或者位数码管或者64 只只发光管发光管LED。可选数码管的段与数据位相对应的不译码方式或者可选数码管的段与数据位相对应的不译码方式或者BCD译码方式。译码方式。数码管的字数据左移、右移、左循环、右循环。数码

6、管的字数据左移、右移、左循环、右循环。7各数码管数字独立闪烁控制。各数码管数字独立闪烁控制。任意段位寻址,独立控制各个任意段位寻址,独立控制各个LED 或者各数码管的或者各数码管的各个段的亮与灭。各个段的亮与灭。2、CH451特点特点(1)显示驱动)显示驱动通过占空比设定提供通过占空比设定提供16级亮度控制。级亮度控制。支持段电流上限调整,可以省去所有限流电阻。支持段电流上限调整,可以省去所有限流电阻。扫描极限控制,支持扫描极限控制,支持1到到8个数码管,只为有效数个数码管,只为有效数码管分配扫描时间。码管分配扫描时间。8(2)键盘控制)键盘控制内置内置64键键盘控制器,基于键键盘控制器,基于

7、88矩阵键盘扫描。矩阵键盘扫描。内置按键状态输入的下拉电阻,内置去抖动电路。内置按键状态输入的下拉电阻,内置去抖动电路。键盘中断,低电平有效输出。键盘中断,低电平有效输出。提供按键释放标志位,可供查询按键按下与释放。提供按键释放标志位,可供查询按键按下与释放。2、CH451特点特点(3)其它)其它高速高速4线串行接口线串行接口, 可多片级联可多片级联, 时钟速度时钟速度010MHz。串行接口中串行接口中DIN和和DCLK信号线可与其它接口电路信号线可与其它接口电路共用共用, 节约引脚。节约引脚。完全内置时钟振荡电路完全内置时钟振荡电路, 不需外接晶体或者阻容振荡。不需外接晶体或者阻容振荡。内置

8、上电复位和看门狗内置上电复位和看门狗Watch-Dog, 提供高电平有提供高电平有效和低电平有效复位输出。效和低电平有效复位输出。支持低功耗睡眠支持低功耗睡眠, 节电节电, 可被按键或命令操作唤醒。可被按键或命令操作唤醒。支持支持3V5V电源电压。电源电压。提供提供SOP28和和DIP24S两种无铅封装,兼容两种无铅封装,兼容RoHS。93、封装、封装: SOP28和和DIP24S提供提供SOP28和和DIP24S两种封装分别如图所示两种封装分别如图所示 10图图10-11 CH451的两种封装形式的两种封装形式4、引脚、引脚11SOP28引脚引脚 DIP24S引脚引脚 引脚名称引脚名称类型类

9、型引脚说明引脚说明232VCC电源电源正电源端,持续电流不小于正电源端,持续电流不小于200mA915GND电源电源公共接地端,持续电流不小于公共接地端,持续电流不小于200mA254LOAD输入输入串行接口的数据加载,内置上拉电阻串行接口的数据加载,内置上拉电阻265DIN输入输入串行接口的数据输入,内置上拉电阻串行接口的数据输入,内置上拉电阻276DCLK输入输入串行接口的数据时钟,内置上拉电阻串行接口的数据时钟,内置上拉电阻同时用于看门狗的清除输入同时用于看门狗的清除输入243DOUT输出输出串行接口的数据输出和键盘中断串行接口的数据输出和键盘中断22151、2418SEG7SEG0三态

10、输出三态输出及输入及输入数码管的段驱动数码管的段驱动, 高电平有效高电平有效, 键盘扫描键盘扫描输入输入, 高电平有效高电平有效, 内置下拉内置下拉18714DIG7DIG0输出输出数码管的字驱动,低电平有效,数码管的字驱动,低电平有效,键盘扫描输出,高电平有效键盘扫描输出,高电平有效1216RST输出输出上电复位和看门狗复位,高电平有效上电复位和看门狗复位,高电平有效13不支持不支持RST#输出输出上电复位和看门狗复位,低电平有效上电复位和看门狗复位,低电平有效28不支持不支持RST1输入输入外部手工复位输入外部手工复位输入, 高电平有效高电平有效, 内置下内置下拉电阻拉电阻14不支持不支持

11、ADJ输入输入段电流上限调整,内置强下拉电阻段电流上限调整,内置强下拉电阻11不支持不支持CLKO输出输出内部系统时钟输出内部系统时钟输出10不支持不支持GND电源电源建议接建议接GND不支持不支持17NC.空脚空脚未使用,禁止连接未使用,禁止连接表表10-4 CH451两种封装形式的引脚及引脚说明两种封装形式的引脚及引脚说明5、CH451功能说明功能说明(1)显示驱动)显示驱动CH451对数码管和发光管采用动态扫描驱动,顺序对数码管和发光管采用动态扫描驱动,顺序为为DIG0至至DIG7,当其中一个引脚吸入电流时,其,当其中一个引脚吸入电流时,其它引脚则不吸入电流。它引脚则不吸入电流。12CH

12、451内部有大电流驱动级内部有大电流驱动级, 可直接驱动可直接驱动0.52in共阴共阴数码管,数码管,段驱动脚段驱动脚SEG0SEG6分别对应数码管段分别对应数码管段G段段A段驱动引脚段驱动引脚SEG7对应数码管的小数点对应数码管的小数点字驱动引脚字驱动引脚DIG7DIG0分别连接分别连接8个数码管阴极。个数码管阴极。(1)显示驱动)显示驱动CH451可连接可连接88矩阵的发光二级管矩阵的发光二级管LED阵列或阵列或者者64个独立发光管;个独立发光管;CH451还可以通过外接反相驱动器支持共阳数码还可以通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的数码管。管,或者外接大功率管支

13、持大尺寸的数码管。13CH451支持扫描极限控制,并且只为有效数码管支持扫描极限控制,并且只为有效数码管分配扫描时间。分配扫描时间。当扫描极限设定为当扫描极限设定为1时,唯一的数码管时,唯一的数码管DIG0 将得将得到所有的动态驱动时间,从而等同于静态驱动;到所有的动态驱动时间,从而等同于静态驱动;当扫描极限设定为当扫描极限设定为8时,时,8个数码管个数码管DIG7DIG0各各得到得到1/8的动态驱动时间;的动态驱动时间;(1)显示驱动)显示驱动 当扫描极限设定为当扫描极限设定为4时,时,4个数码管个数码管DIG3DIG0各各得到得到1/4的动态驱动时间,此时各数码管的平均驱的动态驱动时间,此

14、时各数码管的平均驱动电流将比扫描极限为动电流将比扫描极限为8时增加一倍,所以降低扫时增加一倍,所以降低扫描极限可以提高数码管的显示亮度。描极限可以提高数码管的显示亮度。14CH451将分配给每个数码管的显示驱动时间进一将分配给每个数码管的显示驱动时间进一步细分为步细分为16等份,通过设定显示占空比支持等份,通过设定显示占空比支持16级级亮度控制。亮度控制。占空比的值从占空比的值从1/16至至16/16,占空比越大,数码管,占空比越大,数码管的平均驱动电流越大,显示亮度也就越高,但占的平均驱动电流越大,显示亮度也就越高,但占空比与显示亮度之间是非线性关系。空比与显示亮度之间是非线性关系。(1)显

15、示驱动)显示驱动CH451内部具有内部具有8个个8位的数据寄存器,用于位的数据寄存器,用于保存保存8个字数据,分别对应于个字数据,分别对应于CH451所驱动所驱动的的8个数码管或者个数码管或者8组每组组每组8个的发光二极管。个的发光二极管。CH451支持数据寄存器中的字数据左移、右支持数据寄存器中的字数据左移、右移、左循环、右循环,并且支持各数码管的移、左循环、右循环,并且支持各数码管的独立闪烁控制,在字数据左右移动或者左右独立闪烁控制,在字数据左右移动或者左右循环移动的过程中,闪烁控制的属性不会随循环移动的过程中,闪烁控制的属性不会随数据移动。数据移动。15(1)显示驱动)显示驱动CH451

16、默认情况下工作于不译码方式默认情况下工作于不译码方式8个数据寄存器中字数据的位个数据寄存器中字数据的位7位位0分别对应分别对应8个个数码管的小数点和段数码管的小数点和段G段段A,对于发光二极管阵,对于发光二极管阵列,则每个字数据的数据位唯一地对应一个发光二列,则每个字数据的数据位唯一地对应一个发光二级管。级管。当数据位为当数据位为1时,对应的数码管的段或者发光管就时,对应的数码管的段或者发光管就会点亮;会点亮;当数据位为当数据位为0时,则对应的数码管的段或者发光管时,则对应的数码管的段或者发光管就会熄灭。例如,第三个数据寄存器的位就会熄灭。例如,第三个数据寄存器的位0为为1,所,所以对应的第三

17、个数码管的段以对应的第三个数码管的段A点亮。点亮。16(1)显示驱动)显示驱动通过设定,通过设定,CH451可以工作于可以工作于BCD译码方式译码方式该方式主要应用于数码管驱动,单片机只要给出该方式主要应用于数码管驱动,单片机只要给出二进制数二进制数BCD码,由码,由CH451将其译码后直接驱动将其译码后直接驱动数码管显示对应的字符。数码管显示对应的字符。BCD 译码方式是指对数据寄存器中字数据的位译码方式是指对数据寄存器中字数据的位4位位0进行进行BCD译码,控制段驱动引脚译码,控制段驱动引脚SEG6SEG0的输出,对应于数码管的段的输出,对应于数码管的段G段段A,同时用字数,同时用字数据的

18、位据的位7控制段驱动引脚控制段驱动引脚SEG7的输出,对应于数码的输出,对应于数码管的小数点,字数据的位管的小数点,字数据的位6和位和位5不影响不影响BCD译码。译码。17(1)显示驱动)显示驱动位位4位位0进行进行BCD译码所对应的段译码所对应的段G段段A及数码管显示字符及数码管显示字符18(1)显示驱动)显示驱动参考表,如果需要在数码管上显示字符参考表,如果需要在数码管上显示字符0,只要置入,只要置入数据数据0 xx00000B 或者或者00H;需要显示字符需要显示字符0.(0 带小数点),只要置入数据带小数点),只要置入数据1xx00000B或者或者80H;类似类似1xx01000B或者

19、或者88H 对应于字符对应于字符8.(8 带小数点带小数点);数据数据0 xx10011B或者或者13H对应于字符对应于字符=;数据数据0 xx11010B或者或者1AH 对应于字符对应于字符. (小数点小数点);数据数据0 xx10000B 或者或者10H 对应于字符对应于字符 (空格,数(空格,数码管没有显示)。码管没有显示)。19(1)显示驱动)显示驱动CH451的段驱动引脚的段驱动引脚SEG7SEG0的内部电路简图的内部电路简图20SEGMENT-DATASEGA与与非非 与与按键按键编码编码或或非非非非非非50mA 2V25mA 3V. 1mA 4V15mAADJBCD-DECODE

20、KEYB-SCANDISPLAY-ENABLE100K用电压控制电流用电压控制电流VCC215mA图图10-12 CH451段驱动引脚段驱动引脚SEG7SEG0的内部电路简图的内部电路简图(1)显示驱动)显示驱动CH451字驱动引脚字驱动引脚DIG7DIG0的内部电路简图的内部电路简图:21非非DIGKEYB-SCANDISP-SCANDISP-ENABLEINTENSITYSPARKLINGVCC5mA820mA图图10-13 CH451的字驱动引脚的字驱动引脚DIG7DIG0的内部电路简图的内部电路简图(2)键盘扫描)键盘扫描 CH451键盘扫描功能支持键盘扫描功能支持88矩阵矩阵64键键

21、盘。键键盘。在键盘扫描期间,在键盘扫描期间,DIG7DIG0引脚用于引脚用于列扫描输出列扫描输出SEG7SEG0引脚都带有内部下拉电阻,引脚都带有内部下拉电阻,用于行扫描输入用于行扫描输入当启用键盘扫描功能后,当启用键盘扫描功能后,DOUT引脚的功引脚的功能由串行接口的数据输出变为键盘中断以能由串行接口的数据输出变为键盘中断以及数据输出。及数据输出。22(2)键盘扫描)键盘扫描CH451插入键盘扫描过程(插入键盘扫描过程(显示驱动扫描过程显示驱动扫描过程中定期扫描键盘中定期扫描键盘)在键盘扫描期间,在键盘扫描期间,DIG7DIG0引脚按照引脚按照DIG0至至DIG7的顺序依次输出高电平,其余的

22、顺序依次输出高电平,其余7个引脚输出低电平;个引脚输出低电平;SEG7SEG0引脚输出被禁止引脚输出被禁止, 当无键被按下当无键被按下时时, SEG7SEG0都被下拉为低电平都被下拉为低电平; 当有键当有键被按下时被按下时, 如连接如连接DIG3与与SEG4的键被按下的键被按下, 则当则当DIG3输出高电平时输出高电平时SEG4检测到高电平。检测到高电平。23(2)键盘扫描)键盘扫描为防止因为按键抖动或者外界干扰而产生误码,为防止因为按键抖动或者外界干扰而产生误码,CH451实行两次扫描,只有当两次键盘扫描的结果实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。相同时,按键才会

23、被确认有效。如果如果CH451检测到有效的按键,则记录下该按键代检测到有效的按键,则记录下该按键代码,并通过码,并通过DOUT引脚产生低电平有效的键盘中断,引脚产生低电平有效的键盘中断,此时单片机可通过串行接口读取按键代码;此时单片机可通过串行接口读取按键代码;在没有检测到新的有效按键之前,在没有检测到新的有效按键之前,CH451不再产生不再产生任何键盘中断。任何键盘中断。CH451不支持组合键,也就是说,不支持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键代码较小的按键优先。多个键同时按下,那么按键代码较小的

24、按键优先。24(2)键盘扫描)键盘扫描CH451所提供的按键代码为所提供的按键代码为7位位位位2位位0是列扫描码是列扫描码, 位位5位位3是行扫描码是行扫描码;位位6是状态码(键按下为是状态码(键按下为1, 键释放为键释放为0)25DIG7DIG0与与SEG7SEG0之间的键被按下时之间的键被按下时, 按键代码如下按键代码如下:按键代码按键代码 DIG7 DIG6 DIG5 DIG4 DIG3 DIG2 DIG1 DIG0SEG047H46H45H44H43H42H41H40HSEG14FH4EH4DH4CH4BH4AH49H48HSEG257H56H55H54H53H52H51H50HSEG

25、35FH5EH5DH5CH5BH5AH59H58HSEG467H66H65H64H63H62H61H60HSEG56FH6EH6DH6CH6BH6AH69H68HSEG677H76H75H74H73H72H71H70HSEG77FH7EH7DH7CH7BH7AH79H78H表表10-6 按键与按键代码的对应关系按键与按键代码的对应关系(2)键盘扫描)键盘扫描例例,按下按下DIG3与与SEG4间的键间的键, 按键代码是按键代码是1100011B或或63H, 键被释放后键被释放后, 按键代码是按键代码是0100011B或或23H; 其其中中, 对应对应DIG3的列扫描码为的列扫描码为011B, 对

26、应对应SEG4的行扫的行扫描码为描码为100B。可在任何时候读按键代码可在任何时候读按键代码, 但一般在但一般在CH451检测到有检测到有效按键而产生键盘中断时读取按键代码,此时按键效按键而产生键盘中断时读取按键代码,此时按键代码位代码位6总是总是1。若要看按键是否释放。若要看按键是否释放, 可通过查询方可通过查询方式定期读取按键代码,直到按键代码的位式定期读取按键代码,直到按键代码的位6为为0。26若需键被释放的按键代码若需键被释放的按键代码, 可将表中按键代码位可将表中按键代码位6置置0, 即将表中按键代码减即将表中按键代码减40H。(3)P监控监控 CH451提供的提供的P监控包括上电复

27、位和看门狗监控包括上电复位和看门狗Watch-Dog。单片机或微处理器的复位输入引脚可根据需要直接单片机或微处理器的复位输入引脚可根据需要直接连接到连接到CH451的的RST引脚或者引脚或者RST#引脚引脚, 当当CH451通电或看门狗溢出时通电或看门狗溢出时, RST引脚输出高电平有效的引脚输出高电平有效的复位脉冲信号,复位脉冲信号,RST#引脚输出低电平有效的复位引脚输出低电平有效的复位脉冲信号。脉冲信号。CH451的上电复位脉冲信号同时作用于的上电复位脉冲信号同时作用于CH451芯片芯片的内部电路,而看门狗复位脉冲信号不会对的内部电路,而看门狗复位脉冲信号不会对CH451芯片的内部电路起

28、作用。芯片的内部电路起作用。27(3)P监控监控CH451的上电复位是指上电过程的上电复位是指上电过程(从断电状态变为正从断电状态变为正常供电状态的过程常供电状态的过程) 中产生的复位脉冲。中产生的复位脉冲。为减少为减少CH451驱动大电流而产生的电源干扰驱动大电流而产生的电源干扰, 应在紧应在紧靠靠CH451芯片的正负电源间并联一组芯片的正负电源间并联一组电源退耦电容电源退耦电容(包括独石或瓷片电容包括独石或瓷片电容0.1uF和电解电容和电解电容100uF)。28CH451启用看门狗后启用看门狗后, 只要引脚只要引脚DCLK的电平无变化,的电平无变化,看门狗计时器就会计时,当计满溢出周期时,

29、就会看门狗计时器就会计时,当计满溢出周期时,就会产生看门狗复位脉冲信号。产生看门狗复位脉冲信号。为避免计时溢出产生复位信号为避免计时溢出产生复位信号, 应定期改变应定期改变DCLK电电平,及时清除看门狗的计时。平,及时清除看门狗的计时。(3)P监控监控CH451的看门狗计时的看门狗计时可被下述任何可被下述任何一个操作清除:一个操作清除:上电复位上电复位RSTI引脚的手工复位引脚的手工复位DCLK从低变为高从低变为高DCLK从高变为从高变为低等低等启用启用看门狗功能看门狗功能后后, 当当单片机程序失控而单片机程序失控而使使DCLK的的电平长时间保持不变时电平长时间保持不变时, CH451就会输出

30、就会输出看门狗复位看门狗复位脉冲信号。脉冲信号。29(4)串行接口)串行接口 CH451具有硬件实现的高速具有硬件实现的高速4线串行接口线串行接口, 包括包括4个信个信号线:号线:串行数据输入线串行数据输入线DIN串行数据时钟线串行数据时钟线DCLK串行数据加载线串行数据加载线LOAD串行数据输出线串行数据输出线DOUTDIN、DCLK、LOAD是带上拉的输入信号线是带上拉的输入信号线, 默认默认是高电平是高电平; DOUT在未启用键盘扫描功能时作为串在未启用键盘扫描功能时作为串行数据输出线行数据输出线, 在启用键盘扫描功能后作为键盘中在启用键盘扫描功能后作为键盘中断和数据输出线,默认是高电平

31、。断和数据输出线,默认是高电平。30(4)串行接口)串行接口CH451的串行接口框图如图所示。的串行接口框图如图所示。31DCLKDOUTLOAD CK非非DINDCK寄存器寄存器 QDCK寄存器寄存器 QDCK寄存器寄存器 QDCK寄存器寄存器 QDCK寄存器寄存器 QD10D11D9D0命命令令译译码码D11-D0Q01S选择器选择器KEYB-DATAK E Y B -INTERKEYB-ENABLE图图10-14 CH451的串行接口框图的串行接口框图(4)串行接口)串行接口单片机向单片机向CH451输出串行数据的过程输出串行数据的过程 (不是唯一过程不是唯一过程, 可有很多变化可有很多

32、变化)是是:单片机向单片机向CH451输出一位数据输出一位数据, 即向即向DIN输出输出最低最低位数据位数据D0, 并向并向DCLK输出低电平脉冲输出低电平脉冲(从高电平变从高电平变为低电平再恢复为高电平为低电平再恢复为高电平), 其中其中包括一个上升沿包括一个上升沿使使CH451输入位数据;输入位数据;以同样的方式,以同样的方式,输出位数据输出位数据D1D11;向向LOAD输出低电平脉冲输出低电平脉冲,其中,其中包括一个上升沿包括一个上升沿使使CH451加载串行数据。加载串行数据。32用用D0D1D2D3D4D5D6D7D8 D9D10D11作作为上述过程的为上述过程的简化简化描述描述;(4

33、)串行接口)串行接口用用D0D1D2D3D4D5D6D7D8 D9D10D11作为上述过程的简化描述作为上述过程的简化描述;其中其中, 代表代表 DCLK 的上升沿的上升沿,代表代表 LOAD 的上升的上升沿沿,D0D11 分别代表分别代表 1 位数据位数据,如果是字符,如果是字符 0 或或 1则对应则对应 DIN 输入的位数据输入的位数据,如果是字符,如果是字符 L 或或 H 则则对应对应 DOUT 输出的位数据输出的位数据 0 或或 1 。例如。例如:100000000100表示向表示向 CH451 发送了发送了一组一组 12 位的串行数据位的串行数据 001000000001B;1110

34、HHLLLHH表示先向表示先向 CH451 发发送了一组送了一组 4 位串行数据位串行数据 0111B,然后接收了一组,然后接收了一组 7 位位的串行数据的串行数据 1100011B。33(4)串行接口)串行接口未启用键盘扫描功能时未启用键盘扫描功能时, 单片机通过串行接口向单片机通过串行接口向CH451发发送送12位数据的波形示意图如图所示。位数据的波形示意图如图所示。34LOADDOUTD0D1D3D2D4D5D6D7D1D8D10 D11D0D2D3D4D5D6 D7D9D10D9D8DINDCLK1 0 0 0 0 0 0 0 0 1 0 0 图图10-15 未启用键盘扫描功能时未启用

35、键盘扫描功能时CH451发送发送12位数据的波形示意图位数据的波形示意图 DOUT 用于输出串行用于输出串行数据数据, 移位寄存器中的最低位移位寄存器中的最低位数据总是数据总是在在 DCLK 的下降的下降沿出现在沿出现在 DOUT 引脚引脚。(4)串行接口)串行接口启用键盘扫描后启用键盘扫描后, DOUT 作键盘中断和数据输出。作键盘中断和数据输出。CH451查到有查到有效按键效按键, DOUT 输出低电平有效中断输出低电平有效中断;单片机中断单片机中断, 发读按键代码发读按键代码命令命令, CH451 在在 LOAD上升沿后从上升沿后从 DOUT 输出输出 7 位按键代码最高位按键代码最高位

36、位,单片机继续输出串行时钟单片机继续输出串行时钟, DCLK 每个下降沿每个下降沿, CH451 依次从依次从 DOUT 输出输出 7 位按键代码剩余位按键代码剩余 6 位位, 高位在前高位在前; 按键代码输出完毕按键代码输出完毕后后,无论无论 DCLK 如何变化如何变化, CH451 都将都将 DOUT 恢复为默认高电平。恢复为默认高电平。35图图10-16 单片机从单片机从CH451获得按键代码的过程获得按键代码的过程DINLOADDCLKDOUTMCU中断中断读取按键代码命令读取按键代码命令输入按键代码输入按键代码D8D9D10D111 1 1 0K6K5K4K3K2K1K0H H L

37、L L H HL单片机单片机读取按键代码读取按键代码: 0111xxxxxxxxB(4)串行接口具体过程是:)串行接口具体过程是:输出一位数据,即向输出一位数据,即向DIN输出读取按键代码命令的最输出读取按键代码命令的最低位数据低位数据D0,并向,并向DCLK输出低电平脉冲;输出低电平脉冲;以同样方式以同样方式, 输出读按键代码命令的位数据输出读按键代码命令的位数据D1D11;36向向LOAD输出低电平脉冲输出低电平脉冲, 其中包括一个上升沿使其中包括一个上升沿使CH451加载串行数据加载串行数据, CH451分析出是读按键代码命分析出是读按键代码命令令, 立即在立即在DOUT输出按键代码的最

38、高位数据输出按键代码的最高位数据K6;读取一位数据,即从读取一位数据,即从DOUT输入按键代码的最高位输入按键代码的最高位数据数据K6,并向,并向DCLK输出低电平脉冲;输出低电平脉冲;以同样方式,输入按键代码的位数据以同样方式,输入按键代码的位数据K5K0。(4)串行接口)串行接口实际上,实际上,CH451的读取按键代码命令只有位数据的读取按键代码命令只有位数据D8D11是有效的,所以单片机不必发出读取按是有效的,所以单片机不必发出读取按键代码命令的键代码命令的D0D7。例如,按键代码是例如,按键代码是63H,则上述过程的简化描述是,则上述过程的简化描述是1110HHLLLHH,即先向,即先

39、向CH451发出读取按键代码命令发出读取按键代码命令0111xxxxxxxxB,然后从,然后从DOUT接收按键代码接收按键代码1100011B。37(5)操作命令)操作命令 CH451的各个操作命令所对应的的各个操作命令所对应的12位串行数据如表所示。位串行数据如表所示。38表表10-7 CH451的各个操作命令所对应的的各个操作命令所对应的12位串行数据位串行数据(5)操作命令)操作命令1)空操作)空操作:0000 xxxxxxxxB空操作命令不对空操作命令不对CH451产生任何影响。该命令可在产生任何影响。该命令可在多个多个CH451级联的应用中,透过前级级联的应用中,透过前级CH451向

40、后级向后级CH451 发送操作命令而不影响前级的状态。发送操作命令而不影响前级的状态。39例例, 要将操作命令要将操作命令001000000001B 发给两级级联电路发给两级级联电路中的后级中的后级CH451(后级后级CH451 的的DIN接前级接前级CH451的的DOUT), 就在该命令后加空操作命令就在该命令后加空操作命令000000000000B 再发送再发送, 即即10000000010000000 0000000; 则该操作命令将经过前级则该操作命令将经过前级CH451到达后级到达后级CH451, 而空操作命令留给了前级而空操作命令留给了前级CH451。(5)操作命令)操作命令另外,

41、为了在不影响另外,为了在不影响CH451的前提下改变的前提下改变DCLK以以清除看门狗计时,也可发送空操作命令,在非级联清除看门狗计时,也可发送空操作命令,在非级联的应用中,空操作命令可以只发送有效数据的应用中,空操作命令可以只发送有效数据D8D11,简化描述是,简化描述是0000。402)段位寻址清)段位寻址清0:000110BIT_ADDRB段位寻址清段位寻址清0 命令用于将指定地址的发光管(或者命令用于将指定地址的发光管(或者数码管的指定段或者小数点)熄灭,该命令一次数码管的指定段或者小数点)熄灭,该命令一次只能熄灭指定地址的一个发光管,并且完全不影只能熄灭指定地址的一个发光管,并且完全

42、不影响其它发光管的状态。响其它发光管的状态。2)段位寻址清)段位寻址清0:000110BIT_ADDRB段位寻址的编址顺序(矩阵编址表)如表所示。段位寻址的编址顺序(矩阵编址表)如表所示。41矩阵编址矩阵编址 DIG7 DIG6 DIG5 DIG4 DIG3 DIG2 DIG1 DIG0SEG038H30H28H20H18H10H08H00HSEG139H31H29H21H19H11H09H01HSEG23AH32H2AH22H1AH12H0AH02HSEG33BH33H2BH23H1BH13H0BH03HSEG43CH34H2CH24H1CH14H0CH04HSEG53DH35H2DH25H

43、1DH15H0DH05HSEG63EH36H2EH26H1EH16H0EH06HSEG73FH37H2FH27H1FH17H0FH07H表表10-8 矩阵编址表矩阵编址表例如例如, 命令数据命令数据000110111010B 表示将编址为表示将编址为3AH 的的发光管熄灭。发光管熄灭。(5)操作命令)操作命令3)段位寻址置)段位寻址置1:000111BIT_ADDRB段位寻址置段位寻址置1 命令用于将指定地址的发光管命令用于将指定地址的发光管(或者或者数码管的指定段或者小数点数码管的指定段或者小数点)点亮,该命令一次只点亮,该命令一次只能点亮指定地址的一个发光管,并且完全不影响能点亮指定地址的

44、一个发光管,并且完全不影响其它发光管的状态。段位寻址的编址顺序请参考其它发光管的状态。段位寻址的编址顺序请参考矩阵编址表。矩阵编址表。例如,命令数例如,命令数000111000110B 表示将编址为表示将编址为06H 的的发光管点亮。发光管点亮。42(5)操作命令)操作命令4)芯片内部复位:)芯片内部复位:001000000001B内部复位命令将内部复位命令将CH451 的各个寄存器和各的各个寄存器和各种参数复位到默认的状态。种参数复位到默认的状态。芯片上电时,芯片上电时,CH451总是被复位,此时各个总是被复位,此时各个寄存器均复位为寄存器均复位为0,各种参数均恢复为默认,各种参数均恢复为默

45、认值。值。43(5)操作命令)操作命令5)进入睡眠状态:)进入睡眠状态:001000000010B进入睡眠状态命令使进入睡眠状态命令使CH451 暂停显示驱动和键盘暂停显示驱动和键盘扫描,并进入低功耗睡眠状态,从而可以节约电扫描,并进入低功耗睡眠状态,从而可以节约电能。能。执行该命令之前,应该先用设定系统参数命令关执行该命令之前,应该先用设定系统参数命令关闭闭CH451的显示驱动使能和按键扫描使能,并且的显示驱动使能和按键扫描使能,并且执行该命令本身必须在执行该命令本身必须在20uS 之内完成,发出命令之内完成,发出命令后后DCLK 引脚必须保持不变。引脚必须保持不变。44(5)操作命令)操作

46、命令处于低功耗睡眠状态中的处于低功耗睡眠状态中的CH451 可以被下述两种可以被下述两种事件中的任何一种唤醒,事件中的任何一种唤醒,第一种事件是检测到第一种事件是检测到SEG3SEG0上的按键,有上的按键,有效按键代码是效按键代码是40H 到到5FH;第二种事件是接收到单片机发出的操作命令第二种事件是接收到单片机发出的操作命令(通通常是空操作命令常是空操作命令), 或者检测到或者检测到DCLK 引脚的状态引脚的状态变化。变化。睡眠和唤醒操作本身不会影睡眠和唤醒操作本身不会影CH451 的工作状态。的工作状态。45(5)操作命令)操作命令6)字数据左移:)字数据左移:001100000000B字

47、数据左移命令将字数据左移命令将CH451 的字数据左移一次,即的字数据左移一次,即从从DIG0 向向DIG7 移动一位,然后最右边的移动一位,然后最右边的DIG0补补进数据进数据00H。例如,在数码管例如,在数码管DIG7DIG0 显示显示“87654321”时,时,执行字数据左移命令,显示变为执行字数据左移命令,显示变为“7654321 ”(不(不译码方式)或者译码方式)或者“76543210”(BCD 译码方式)。译码方式)。46(5)操作命令)操作命令7)字数据右移:)字数据右移:001100000010B字数据右移命令将字数据右移命令将CH451 的字数据右移一次,即的字数据右移一次,

48、即从从DIG7 向向DIG0 移动一位,然后最左边的移动一位,然后最左边的DIG7补补进数据进数据00H。例如,在数码管例如,在数码管DIG7DIG0 显示显示“87654321”时,时,执行字数据右移命令,显示变为执行字数据右移命令,显示变为“ 8765432”(不(不译码方式)或者译码方式)或者“08765432”(BCD 译码方式)。译码方式)。47(5)操作命令)操作命令8)字数据左循环:)字数据左循环:001100000001B字数据左循环命令将字数据左循环命令将CH451 的字数据左循环一次,的字数据左循环一次,即从即从DIG0 向向DIG7 移动一位,然后最右边的移动一位,然后最

49、右边的DIG0 补进原补进原DIG7 的数据。的数据。例如,在数码管例如,在数码管DIG7DIG0 显示显示“87654321”时,时,执行字数据左循环命令,显示变为执行字数据左循环命令,显示变为“76543218”。48(5)操作命令)操作命令9)字数据右循环:)字数据右循环:001100000011B字数据右循环命令将字数据右循环命令将CH451 的字数据右循环一次,的字数据右循环一次,即从即从DIG7 向向DIG0 移动一位,然后最左边的移动一位,然后最左边的DIG7 补进原补进原DIG0 的数据。的数据。例如,在数码管例如,在数码管DIG7DIG0 显示显示“87654321”时,时,

50、执行字数据右循环命令,显示变为执行字数据右循环命令,显示变为“18765432”。4910)自定义)自定义BCD 码:码:00111SELF_BCDB自定义自定义BCD码命令用于自行定义常规码命令用于自行定义常规BCD译码中未译码中未实现的特殊字符实现的特殊字符, CH451支持一个自定义支持一个自定义BCD码码, 其其BCD值为值为1EH, 显示编码由该命令指定显示编码由该命令指定, 编码共编码共7 位位, 分别对应于数码管的分别对应于数码管的7 个段个段, 而小数点由而小数点由BCD 值的最值的最高位单独控制。高位单独控制。50例例, 命令数据命令数据001110111110B 表示自定义

51、表示自定义BCD字符字符U (对应的段显示数据为对应的段显示数据为3EH)在在BCD译码方式下译码方式下: 当单片机要求显示当单片机要求显示BCD 值值1EH 时时, CH451会在对应的数码管中显示字符会在对应的数码管中显示字符U当单片机要求显示当单片机要求显示BCD 值值9EH 时时, CH451 会在对应会在对应的数码管中显示字符的数码管中显示字符U.(含小数点)。(含小数点)。(5)操作命令)操作命令11) 设定系统参数设定系统参数: 0100000CKHF0WDOGKEYBDISPB设定系统参数命令用于设定设定系统参数命令用于设定CH451 的系统级参数的系统级参数: 输输出高频时钟

52、出高频时钟CKHF(选择快速闪烁选择快速闪烁), 看门狗使能看门狗使能WDOG, 键盘扫描使能键盘扫描使能KEYB, 显示驱动使能显示驱动使能DISP。各参数均。各参数均通过通过1位数据控制位数据控制, 将相应的数据位置为将相应的数据位置为1 则启用该功则启用该功能能, 否则关闭该功能(默认值)。否则关闭该功能(默认值)。例如,命令数据例如,命令数据010000000011B 表示选择低频时钟、表示选择低频时钟、关闭看门狗的功能、启用键盘扫描的功能、启用显示关闭看门狗的功能、启用键盘扫描的功能、启用显示扫描驱动的功能。扫描驱动的功能。5112)设定显示参数设定显示参数:0101MODELIMI

53、TINTENSITYB该命令用于设定该命令用于设定CH451 的显示参数的显示参数: 译码方式译码方式MODE, 扫描极限扫描极限LIMIT, 显示亮度显示亮度INTENSITY。52译码方式译码方式MODE 通过通过1 位数据控制位数据控制,置,置1 时选择时选择BCD 译码方式,置译码方式,置0 时选择不译码方式时选择不译码方式 (默认值默认值)。扫描极限扫描极限LIMIT 通过通过3 位数据控制位数据控制, 数据数据001B111B 和和000B分别设定扫描极限为分别设定扫描极限为17 和和8 (默认值默认值)。显示亮度显示亮度INTENSITY通过通过4位数据控制位数据控制, 数据数据

54、0001B1111B和和0000B 分别设定显示驱动占空比为分别设定显示驱动占空比为1/1615/16 和和16/16(默认值)。(默认值)。(12)设定显示参数设定显示参数:0101MODELIMITINTENSITYB例如例如命令数据命令数据010101110000B 表示选择不译码表示选择不译码方式、扫描极限为方式、扫描极限为7、显示驱动占空比为、显示驱动占空比为16/16;命令数据命令数据010110001010B 表示选择表示选择BCD 译译码方式、扫描极限为码方式、扫描极限为8、显示驱动占空比为、显示驱动占空比为10/16。53(5)操作命令)操作命令13)设定闪烁控制:)设定闪烁

55、控制:0110D7SD6SD5SD4SD3SD2SD1SD0SB设定闪烁控制命令用于设定设定闪烁控制命令用于设定CH451 的闪烁显示属性:的闪烁显示属性:D7SD0S 分别对应于分别对应于8 个字驱动个字驱动DIG7DIG0。闪。闪烁属性烁属性D7SD0S 分别通过分别通过1 位数据控制,将相应的位数据控制,将相应的数据位置为数据位置为1 则使能闪烁显示,否则为正常显示,则使能闪烁显示,否则为正常显示,不闪烁(默认值)。不闪烁(默认值)。54例例, 命令数据命令数据011000100001B 表示设定数码管表示设定数码管DIG5 和和DIG0 闪烁显示闪烁显示, 其余数码管正常显示其余数码管正常显示, 不闪烁。不闪烁。(5)操作命令)操作命令14)加载字数据:)加载字数据: 1DIG_ADDRDIG_DATAB该命令用于将字数据该命令用于将字数据DIG_DATA 写入写入DIG_ADDR 指定地址的数据寄存器中。指定地址的数据寄存器中。DIG_ADDR 通过通过3 位数位数据指定数据寄存器的地址,数据据指定数据寄存器的地址,数据000B111B 分别指分别指定地址定地址07,对应于,对应于DIG0DIG7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论