AVR学习笔记十五数码管驱动和键盘控制芯片CH452实验.doc

AVR学习笔记十五数码管驱动和键盘控制芯片CH452实验.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR学习笔记十五数码管驱动和键盘控制芯片CH452实验

AVR学习笔记十五、数码管驱动和键盘控制芯片CH452A实验 -------基于LT_Mini_M16 15.1数码管驱动和键盘控制芯片CH452A实验 15.1.1 实例功能 前面我们已经学习了4位数码管显示的例子,但是仅仅4位数码管显示电路就占用了12个I/O口,如果数码管超过4位的话,占用的I/O口数目就会更多,我们知道单片机的I/O口资源是很有限的,那么能不能使用更少的I/O口来控制更多的数码管显示呢? 方法是有的,且有很多,比如我们可以使用串口转并口芯片74HC595,74HC164,74HC165等,关于这些芯片的使用,我们会在以后的学习中逐步学习的,今天我们来认识一种更加方便的数码管驱动芯片CH452,这个芯片能够在只占用4个甚至两个I/O口的情况下驱动8位数码管显示,同时这种芯片还能在驱动8位数码管现实的同时实现8X8共计64个按键的识别。 也就是说这个芯片只用单片机的最多4个I/O口就能够同时驱动8位数码管显示和识别64个按键。 本实例共有3个功能模块,分别描述如下: ● 单片机系统:使用ATmega16单片机的4个I/O口控制CH452芯片,实现8位数码管的显示。 ● 外围电路:CH452驱动数码管显示电路。 ● 软件程序:熟悉掌握ATmega16单片机的I/O口输出应用。 通过本实例的学习,掌握相关电路设计,并掌握以下知识点: ● 了解芯片CH452的功能 ● 掌握单片机I/O口实现时序转换的编程方法。 15.1.2、器件和原理 本实例介绍数码管驱动和键盘控制芯片CH452的简单应用。关于本芯片实现8X8=64个按键的原理和方法,我们在以后的学习中在进行讨论,本实例中只介绍该芯片驱动8位共阴极数码管的功能。 1、器件介绍 CH452是数码管驱动和键盘控制芯片,可以动态驱动8位数码管或者64个LED发光二极管,还可以驱动64级光柱。该芯片与单片机的接口有4线和2线两种接口方式,其中4线接口支持芯片的无限级联,而2线方式兼容I2C总线。 CH452同时还提供高电平复位和低电平复位两种信号,可以直接为单片机提供复位信号。 CH452A的封装图如下 2、管脚介绍 CH452A有28个引脚,其中管脚15-22是数码管的段控制引脚,分别对应a,b,c,d,e,f,g,dp8段,管脚1-8是位控制引脚,分别控制0-7的8位数码管。 与单片机的4线连接引脚分别是SCL、SDA、LOAD、DOUT,这四个脚的作用分别是:串行数据输入端口SDA,串行时钟输入端口SCL,数据加载端口LOAD,键值输出端口INT#。 RST、RST#、RSTI是三个复位信号引脚,其中RST输出高电平有效分、的复位信号,RST#输出低电平有效的复位信号,RSTI是手动复位引脚,高电平有效。 H3L2是数据通讯方式选择端,该端口接高电平(或者悬空),选择4线接口方式,连接低电平则选择2线接口方式。 3、4线接口方式驱动8位数码管工作原理 4线接口方式用到SCL、SDA、LOAD、INT#这四个引脚,其中DOUT用于输出按键键值,本实例中我们不分析按键的接法,所以这个引脚不予考虑。 SDA用于用于单片机向CH452A芯片提供串行数据,高电平表示数据1,低电平表示数据0,串行数据输入的顺序是先低位后高位; SCL用于提供串行时钟,CH452在SCL的上升沿读入数据,在下降沿将数据从DOUT引脚送出; LOAD用于加载串行数据,CH452在其上升沿加载移位寄存器中的数据,并将移位寄存器中的数据作为操作命令分析并处理,也就是说,LOAD的上升沿是串行数据帧的完成标志,此时无论移位寄存器中的数据是否有效,CH452A都会将其当做操作命令进行处理。 Ch452a的内部移位寄存器是12位的,即单片机每次向CH452A发送的操作指令必须是12位的,数据的发送顺序是先发送低位,后发送高位。 单片机向DH452传输数据数据的过程是: 1)通过引脚SDA发送一位数据(最低位),然后在SCL引脚上产生一个上升沿,使数据写入移位寄存器; 2)以同样的方式,依次写入剩余的11位数据; 3)在LOAD引脚产生一个上升沿,使CH452A加载数据(处理并显示)。 4、操作命令 CH452的操作命令均为12位,具体的操作命令请参阅数据手册。 15.1.3、电路 本实例的电路与数据手册上的电路一致,只不过是将单片机从51单片机换成了AVR单片机。数码管采用的是共阴极的数码管。 电路连接 电路中单片机的PB0、PB1、PB2端口分别连接CH452A的SDA、SCL、LOAD三个管脚。 5.1.4、程序设计 1、程序功能 程序的功能是通过单片机的PB0、PB1、PB2这三个端口控制CH452实现驱动8位数码管显示。 2、程序流程 在程序中使用宏

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档