从LCD电极读数的单片机接口技术

发布者:theta18最新更新时间:2008-02-14 来源: www.esic.cn关键字:电极  读数  单片机  外部中断  等效电路  BCD码  RC滤波器  LCD显示器  中断方式  信号波形 手机看文章 扫描二维码
随时随地手机看文章

  摘要以测量仪表中常见的时分割驱动法驱动的段式LCD显示器为例,分析LCD显示器的电极连接结构和驱动信号波形;介绍单片机读取仪表LCD读数的接口电路。此接口电路应用于笔者开发的自动血压监控仪的研制及临床应用项目中,由8031单片机读取血压计的收缩压、舒张压、心率以及充气和放气时瞬时压强。实验证明,此接口电路工作稳定、可靠。

  关键词LCD电极 读数 时分割驱动法 接口设计

  通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式。通常,接口电路从仪表电路中取得相关的模拟信号,经过A/D转换或V/F 转换送入单片机;或者取得一个频率信号,经整形后送入单片机[1]。然而,有些测量仪表电路中可能找不到这样的信号。以电容式压力传感器血压计为例,尽管从其振荡电路中可以取得一个与压强成线性关系的频率信号[2],送入单片机测得压强,但这个压强并不是所要拾取的收缩压、舒张压和心率;而普通的血压计又没有智能仪表那样的通信接口与单片机通信。显然,要想通过这样的仪表拾取被测信号只有直接读取其显示屏的读数了。

  本文以一个全自动血压计为例,介绍将LCD显示器读数读入单片机的接口电路。该血压计显示器为6 1/2位段式LCD显示器,3位显示收缩压,3位显示舒张压。1/2位在两组数码中间,显示4个指示符号。

  1 LCD的电极连接结构和工作波形

  1.1 LCD的电极连接结构

  图1为血压计LCD的电极连接结构及等效电路。其中,图1(a)为公共电极连接排列,图1(b)为段电极连接排列。它共有4个公共电极COM0~COM3,每位数码各有2个段电极Sx-0、Sx-1,其等效电路为一个4行×2列的矩阵,如图1(c)所示。

  

  图1 LCD电极连接结构及等效电路

  1.2 LCD的工作波形

  用双踪示波器观察血压计LCD的工作波形,如图2所示。它采用时分割驱动法驱动,偏比1/3,占空比1/4,B型[3]。公共电极 COM0~COM3的信号波形始终保持不变,段电极Sx-0、Sx-1信号波形随显示数字的变化而变化。图2中的Sx-0、Sx-1波形为显示数字“0” 时的工作波形。由图2可知,不考虑信号的直流分量,所有波形的前半周期t1~t4与后半周期t5~t8大小相等,极性相反。COM0~COM3信号电压依次在t1~t4四个时间内达到峰值。时间t1为第1行上f、a两段的扫描时间,公共电极COM0,Sx-0为f段的段电极,Sx-1为a段的段电极。在 t1时间内, f段上的电压COM0-Sx-0=V0,a段上的电压COM0-Sx-1=V0,f、a两段均处于选择状态,显示。其余各段在其扫描时间内的电压和显示状态如表1所列。7段中只有g段上的电压为V0/3,处于非选择状态,不显示。其余6段均处于选择状态,显示。因此,显示数字“0”。

  

  

  

  图2 LCD工作波形

  表1 显示“0”时各段的显示状态

  

  

  

  由此可见,只要依次检查在t1~t4四个时间内f、a、g、b、e、c、d各段上的电压COMx-Sx-y(x=0,1,…,6;y=0,1)是V0还是V0/3即可获得LCD各位数码的字形码,然后再将字形码转换为测量结果。

  2 单片机读数接口电路

  图3为根据上述工作原理设计的8051单片机读数接口电路。图中,LCD为血压计的液晶显示器,6位数码从右到左依次编号0~5,中间半位的编号为6。它有13个段电极、4个COM电极,GND为血压计的接地端。8051的 PC口为8051的扩展并行口。

  

  

  

  图3 读数接口电路

  2.1 显示状态读取电路

  由CD4067、CD4051、LM324(UA、UB)组成显示状态读取电路,读取LCD数码各段的显示状态。CD4067多路模拟开关从 LCD的13个段电极信号中选择一路Sx-x输出到LM324(UA)的反相输入端2脚。CD4051多路模拟开关从LCD的4个COM信号中选择一路 COMx输出到LM324(UA)的同相输入端3脚。LM324(UA)接成模拟减法器,由1脚输出信号COMx-Sx-x。UB作电压比较器,参考电压 VR大小由电位器W1调节于V0/3~V0之间,将段电压COMx-Sx-x与VR比较。比较结果为该段的显示状态,高电平说明该段显示,低电平不显示。显示状态送入8051的P1.6脚。R1、C1组成RC滤波器,滤除高频干扰。

  比如,要读取0号数码的a段显示状态,由图1知,0号数码a段的段电极是S0-1,公共电极是COM0。由程序控制在t1时间内令PC1PC0 =00,使CD4051选择COM0,令PC5~PC2=0001,使CD4067选择S01,COM0和S01两信号电压经UA减法器相减,然后再经 UB电压比较后得到a段的显示状态,8051从P1.6脚读取此显示状态。

  2.2 INT0中断信号产生电路

  UC和UD组成INT0中断信号产生电路。UC 接成电压跟随器,减小电路对COM0信号的影响。R2、C2组成RC滤波器,滤除高频干扰。UD作电压比较器,参考电压VR加在同相输入端,VR大小由电位器W2调节于2V0/3~V0。电压比较器将COM0信号转换为INT0负脉冲信号,工作波形如图4所示。负脉冲的下降沿为LCD驱动信号周期T的起始时刻。此负脉冲接至8051的INT0脚,在负脉冲的下降沿产生外部中断0。

  

  

  

  图4 比较器UD工作波形

  3 程序设计

  启用外部中断0和定时器T0,以中断方式读取LCD各位数码的字形码。主程序以查询方式读取该字形码,然后经过读数校验、字形码到BCD码的译码、读数识别等,将字形码转换为读数。

  3.1 读取字形码

  通过外部中断0和定时器T0以中断方式读取LCD某一编号数码的字形码。如图5所示,INT0负脉冲在周期T的起始时刻引起外部中断0,由 INT0中断服务程序启动T0定时器,依次在t1~t4半个周期内的f、a、g、b、e、c、d各时刻产生T0中断,读取各段的显示状态,获得字形码。 T0定时器设为工作方式2,自动再装入定时时间为T/16,初始定时时间为T/32。INT0和T0中断服务程序流程如图6所示。

  

  

  

  图5 T0中断的各个时刻

  

  

  

  图6 INT0和T0中断服务程序流程

  其中,PC口数据格式:PC5~PC3为要读取的那位LCD数码编号,PC2为段电极编号,PC1PC0为COM电极编号。

  3.2 字形码转换

  主程序以查询方式分别读取由中断服务程序采集的各位数码的字形码,查表将字形码转换为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个信号周期内读取所有数码。

  

关键字:电极  读数  单片机  外部中断  等效电路  BCD码  RC滤波器  LCD显示器  中断方式  信号波形 引用地址:从LCD电极读数的单片机接口技术

上一篇:从LCD电极读数的单片机接口技术
下一篇:基于PIC16F87X单片机的火灾报警系统设计

推荐阅读最新更新时间:2024-03-16 12:22

51单片机模拟串口C语言程序代码
/ #include string.h #include stdio.h #include reg52.h sfr16 DPTR = 0x82; typedef unsigned char INT8U; typedef unsigned int INT16U; typedef unsigned char uint8_t; typedef unsigned int uint16_t; typedef unsigned int uchar; typedef unsigned char byte; typedef unsigned int
[单片机]
51单片机特殊功能寄存器有哪些_功能是什么
  51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。   51单片机特殊功能寄存器   1、21个寄存器介绍   51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口
[单片机]
51<font color='red'>单片机</font>特殊功能寄存器有哪些_功能是什么
[单片机][KEIL5] 参数的意义和使用 L #L @L K #K $, #, %, @, ~, ^
使用键序列从µVision传递参数给外部用户程序。 键序列是键码和文件码的组合。 键序列可以使用,例如,在对话框工具,SVCS,选项的目标用户,或从命令行。 以下规则适用: 当从命令行使用时,某些关键代码必须重复。 使用符号$,#,%,@,~,^ 用$$,##,%%,@@,~~,^^来转义它们。 当使用可能包含特殊字符(空格、~或#)的文件夹名称时,将键序列用引号( )括起来。 关键码及档案码列于下表: |C:MYPROJECTPROJECT1.UVPROJX |带扩展名的完整路径和文件名 @| PROJECT1| 没有扩展名或路径说明的文件名 $| C:MYPROJECT | 用反斜杠扩展的文件路径名。
[单片机]
[<font color='red'>单片机</font>][KEIL5] 参数的意义和使用 L #L @L K #K $, #, %, @, ~, ^
这家车规MCU原厂推出ISO26262-ASIL认证新品,布局全球汽车电子市场
最近两年,汽车智能电动潮流势不可挡,大大增加了 MCU 产品的需求量,叠加本土供应浪潮,驱动国内车规MCU原厂不断提升其技术能力,以拓宽国内车规MCU产品成长空间。面对新的市场格局,国内盯上 汽车电子 应用市场的MCU原厂有不少,如何布局技术升级方向正成为诸企业取得更广泛应用的“破局关键”。国内原厂有何规划呢? 10月25日,在第30届中国汽车工程学会六十周年年会暨展览会现场,国内自主架构MCU 芯片 设计公司上海芯旺 微电子技术 股份有限公司(ChipON,以下简称:芯旺微电子)产品总监卢恒洋发表了主题演讲《KungFu内核汽车MCU助力汽车芯片国产化》。 作为国内车规MCU引领者,芯旺微电子凭借在车规MCU领域多年研发
[汽车电子]
这家车规<font color='red'>MCU</font>原厂推出ISO26262-ASIL认证新品,布局全球汽车电子市场
基于FPGA的单片机外围接口电路设计
0 引言 单片机具有性价比高、功能灵活、易于人机对话、数据处理能力强等特点。单片机应用系统通常由键盘、显示器、通信接口、存储器、A/D、D/A电路等部分组成。传统的单片机系统经常要用标准的逻辑电路或专用的接口芯片来组成外围电路,如地址译码、I/O扩展等功能通常由标准的TTL/COMS逻辑电路或各种专用接口芯片实现,这样就会使系统的芯片数增多,接线复杂,从而使电路板面积增大、可靠性和 EMI性能减低,难以实现设计的小型化、集成化和高可靠性。而可编程门阵列FPGA的LCA结构和它丰富的内部资源可以用来设计各种组合逻辑和时序逻辑电路,因此使用FPGA设计单片机的外围电路能够大大简化系统硬件结构,使系统的设计、修改和扩展都变的十分灵活方
[单片机]
基于FPGA的<font color='red'>单片机</font>外围接口电路设计
单片机系统软件看门狗的设计思路解析
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等。 软件看门狗 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序
[单片机]
<font color='red'>单片机</font>系统软件看门狗的设计思路解析
#单片机# ------ stc89c52引脚说明
STC89C52功能简述: STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态
[单片机]
#<font color='red'>单片机</font># ------ stc89c52引脚说明
基于C8051F000的多通道数据采集范围控制系统
1 引 言      在实际应用中,对被控对象的物理参数(温度、湿度、位移、电流、电压等)在一定的范围内进行控制,是单片机的典型应用之一。很多宏观要求精确控制的场合,其微观控制过程,仍可归结为是对某些参数变化范围的控制。如,传统的三相异步电机从启动到正常运行,其电流、电压和温度的变化;抽水塔水位的变化;机床刀具的行程变化及数字电表的自动量程变换等。这些控制过程最显著的特点是:被控物理量都是一个变化范围,而非某一个精确的“点”。有效控制物理量变化范围的方法很多,本文重点介绍利用C8051F000单片机片内8路高性能的12位ADC数据采集系统和可编程窗口检测器,实现对多路参数变化范围控制的硬件组成和软件设计方法。 2 C805
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved