c语言sscanf函数的用法是什么
246
2022-11-02
键盘显示芯片CH451与MEGA32的接口设计
1 键盘显示方案比较
1.1 经典方案:使用8279芯片
1.2 自由方案:使用辅助单片机
1.3 新方案:使用CH451芯片
CH451的特点是:
b) 用硬件实现,串行接口、显示驱动、键盘扫描、μP监控之间相互独立不受干扰,串行接口的位时钟能够支持到10 MHz,数据传输速度比辅助单片机方案提高40倍,即使主控单片机频繁操作也完全不会影响显示驱动和键盘扫描以及μP监控。
c) 串行接口以硬件实现,不需要时钟;而显示驱动和键盘扫描使用约0.75 MHz的全内置主时钟多次分频后的扫描时钟,所以在工业现场不易受到干扰。即使受到强干扰,也能够在干扰后立即正常工作,不会影响串行接口、显示驱动和键盘扫描的后续操作。
现在与CH451类似的还有北京凌志比高科技的BC7281、hd7279a等,这些都是相当不错的显示和键盘接口芯片。
2 硬件设计
3 软件设计
AVR的集成开发环境种类比较多,如ICCAVR、WINAVR、BASCOM-AVR、IAR、CodeVisionAVR等,因此造成程序之间难以完全兼容,这也是目前开发的一个缺点。这里选择ICCAVR作为开发环境,应用C语言来实现程序。因为ICCAVR在我国有广泛的使用者,用C语言进行软件开发可以很好地实现代码的可读性和移植性,大幅度加快开发进度。
CH451具有硬件实现的高速4线串行接口,包括4个信号线:串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。启用键盘扫描功能时序图如图3示。
这4根信号线虽然与SPI总线方式类似,但是不能用AMEG32自带的SPI接口来对CH451进行控制,因为这不符合时序要求。
软件设计包括CH451的初始化、显示和读按键3部分。初始化包括对CH451的设置,如开显示、键盘功能、设置BCD译码方式等。显示部分对6个数码管分时轮流显示,通过加载字数据命令来显示每个数码管的数字。读按键则是加载CH451的读取按键代码命令。单片机可以通过查询或者外部中断方式来读取。
6个数码管显示和读取8个按键信息主要用到的函数如下:
显示24个发光二极管用到的函数如下:
4 结束语
本文详细介绍了CH451与AMEG32的接口方案,并给出了具体的程序设计,现场实际运行稳定可靠。运用这些集成的键盘显示驱动芯片可以大大简化外围器件,节省单片机I/O口,提高系统的可靠性。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~