将LCD显示器读数读入单片机的接口电路
断服务程序采集的各位数码的字形码,查表将字形码转换为BCD码,再将几位数码的BCD码转变为数值。
3.3 读数校验
读取一位数码的字形码需要1个周期T(实际只用前半个周期),经测量,T=16.318 ms。读取全部612位数码至少需要用7个周期,约114 ms。考虑到在单片机读数的过程中,LCD的读数有可能发生变化而导致读数错误,程序中采用连续两次读数的方法来校验读数的正确性。如果连续两次读数相 同,则说明读数是正确的;如果连续两次读数不同,则说明读数可能是错误的,应重新读数。
3.4 读数识别
血压计显示的内容除了收缩压、舒张压和心率以外还有充气、放气时的瞬时压强以及一些状态信息。LCD中间的半位 (6号)用于显示待机 (Reay to measure)、充气(CUFF Inflating)、放气(CUFF Deflating)以及更换电池(Replace Batteries)四个符号。另外,4号数码显示“E”时表示测量出错,显示“P”时,右边3位 (0~2号)数码显示的数字为心率。左右两边显示内容均是数字时,左边3位(3~5号)是收缩压,右边3位是舒张压,血压与心率交替显示。主程序通过这些 信息来识别LCD所显示的内容。
4 结论
使用此接口电路采集数据,不必考虑与拾取信号的测量相关的细节问题和技术规范。这样,当拾取信号的测量比较复杂时,可以有效地缩短开发周期。同时,它也不存在二次A/D转换或V/F转换方法所存在的单片机采集数据与仪表读数不完全一致的问题。
程序设计用1个驱动信号周期读取1位数码,这样的读取速度对于读数变化不是很快的血压计来说已经足够了。如果测量仪表LCD读数变化很快,可以修改编程,在1个周期内同时读取几位数码,甚至修改电路设计,将后半周期也用于进行读数,实现在1个信号周期内读取所有数码。
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于S3C44B0X+μcLinux的嵌入式以太网设计(07-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- DSP和Flash接口技术的实现(08-15)
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)