基于ADμC845的车用数字仪表的设计
键盘控制电路由ADμC845的P3.0~P3.5构成。其接法如图2所示。该键盘有2行4列共8个键。使用6个I/0作为控制线。其中采用P3.0、P3.1作为行扫描线,采用P3.2。P3.5作为列回复线来构成矩阵键盘。在运行中.为防止按键的连击和抖动,当有键按下时。程序并不立即进入按键处理程序。只有在按键按下又松开的时刻才进入程序处理。
图2显示及键盘电路
3 软件设计
本系统的软件设计包括了系统主程序、键盘扫描子程序、中断子程序、数据采集与A/D转换子程序、LCD及LED指示灯显示子程序、告警信号子程序、看门狗定时器与电源监视器子程序等。
3.1主程序设计
主程序主要实现对系统的初始化以及对各个子程序的调用,如图3所示。系统初始化主要包括对液晶显示器、显示缓冲值、中断及寄存器标志值的初始化等。
3.2数据采集及转换子程序设计
此子程序根据由模拟通道输入的相应模拟信号进行采样、量化并进行相应的运算处理,最后将相应信号的数值返回主程序。
3.3中断子程序
本系统的中断源主要包括霍尔传感器产生的中断脉冲、看门狗定时器和电源监视器等。而ADμC845的中断系统可以提供1 1个中断源,完全可以满足本系统的要求。霍尔元件在每转一圈时输出一个低电平,积累电平的次数并结合轮胎的周长,可得出车辆行驶的里程。采用分频器由霍尔元件得到低电平,低电平产生中断并启动计数器,在第二个低电平到来时停止计数,得到转一周的时间,由此算出运行速度。统计单位时间内霍尔电平变化的次数.可以得出发动机的实时转速。
图3主程序流程图
3.4显示及告警子程序
显示子程序根据键盘扫描结果提取显示缓冲值,然后完成数值、符号在液晶屏及LED灯上的显示输出。
当发生冷却液温度过高、油量不足设定值或是机油压力不够等异常情况时.告警子程序点亮相应的指示灯并使音频装置产生不同频率的告警信号以引起使用者的注意。
4 抗干扰设计
ADμC845单片机具有很好的抗电磁干扰性能.但为保证系统稳定、可靠的运行.本次设计仍采用了硬件电路设计和软件的看门狗程序设计相结合的抗干扰措施。
硬件电路设计主要包括以下部分:系统电源由车载电瓶电源经过变压、稳压、滤波后得到.并加入限流电阻和稳压管,以防止高压及反相输入:为了在掉电的时候可以及时地保存里程数据.在电源地输入端加一个1000F的电解电容:采用一点连接,以减少数字和模拟电路电源之间的干扰,特别是数字电路对模拟电路的干扰;采用光电隔离器,将单片机系统和各种传感器、开关从电气上隔离开来。
软件抗干扰是指对ADμC845的看门狗定时器(WDT)和电源监视器(PSMI)的软件编程。在使能看门狗后。如果在预定的时间内没有进行“喂狗”操作,即对WDCON中的WDE位置1,看门狗将使系统服务复位或产生中断;当数字电源或模拟电源低落到一定的值时产生PSMI中断,由CMPA和CMPD的低电平指明是数字电源还是模拟电源低落。如果CMPA和CMPD回到高电平.在保持高电平250ms之后清除PSMI。
5 结束语
本文创新点:利用新型的、抗干扰性能突出的ADμC845单片机和传感器以及液晶显示屏对车用数字仪表系统进行了设计。宽屏的液晶显示器使本系统的显示功能更加的强大。同时,新型的ADμC845单片机.也为下一步在此基础上开发综合信息系统,扩充显示和控制信息种类,拓开了更加广阔的空间。
- 嵌入式汽车数字仪表设计(02-08)
- 基于RlTOS和ISP功能的数字仪表系统设计与实现(10-29)
- 一种嵌入式汽车数字仪表设计方案(02-25)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)