一种多功能数字码表的设计

嵌入式设计应用

132人已加入

描述

【摘 要】 介绍一种多功能数字码表的软、硬件设计方法,它通过RS232接口可实现与主机的串行通讯,可对输入数据进行各种运算、判断、存储、显示,可设置所需的各种参数,并向主机发出各种控制命令,在电源断电过程中,可自动保存各种参数,保证下次上电时数据的连续性。此码表硬件结构简单、功能强。
  关键词:微控制器,自动存储,液晶显示


1 引 言
  在工业控制和自动测量领域,经常希望对所测得的结果进行自动处理、存储记录,使其不受断电等影响,如用于记录与显示织布长度、故障指示等的纺织数控织机、用于记录电、煤气等的各种仪表、汽车计价器等。本文介绍一种为数控织机设计的码表,它可通过RS232接口与控制主板进行数据通讯,能实时处理、显示主机的开机时间、工作时间、工作效率、主机转速,能实时统计并显示故障次数、故障原因、织布布长,按设定落布布长输出落布停车信号等。具体功能为:
  ·能方便地进行落布布长、纬密、经长、工作班次等的设定;
  ·能快速地完成米/码、码/米、英寸/厘米、厘米/英寸等的转换;
  ·能方便地实现各班次工作时间、效率等的转换、保存;
  ·能实时显示、记录织机开机时间、运转时间、工作效率;
  ·能实时统计、显示、记录停车次数、停车原因,实时显示主机转速;
  ·能实时统计、记录织机的织布长度,当累计布长等于设定落布布长时,通过RS232接口发出落布停车信号。
  该码表主要由AT89C52微处理器、X24C45串行SRAM、RS232转换电路MAX202E、LCD显示控制模块MDLS16265B、键盘控制电路等构成。
2 主要器件简介
2.1 AT89C52简介
  AT89C52是ATMEL公司生产的低功耗、高性能8位微控制器,它内部具有8K字节的Flash存储器、256×8Bit RAM、32个可编程输入/输出端口、3个16位定时/计数器、8个中断源、存储器具有1000次可写/擦寿命、可编程串行输入/输出端口、最高工作频率24MHz。由于89C52内部具有2K字节的Flash存储器和256字节的RAM,这就使它无需其它外围芯片,就可构成一个独立的小系统,从而被广泛应用于各种仪表。
2.2 X24C45简介
  X24C45是XICOR公司生产的串行SRAM,其内部包含256位的RAM和256位的EEPROM,且RAM和EEPROM阵列位对位重叠。X24C45上电时,数据可自动从EEPROM调到SRAM中,系统在正常工作时,数据存放在SRAM中,对5V供电系统而言,当电源电压降到4.0~4.3V时,数据开始自动从SRAM中保存到EEPROM中,当电源电压降到3.5V以下时,将不能继续数据存储操作;为了保证数据能够可靠存入EEPROM,必需有5ms的存储时间。
  X24C45为8脚DIP/SOIC封装,其中CE脚为片选输入;SK脚为串行时钟输入;DI为数据输入;DO为数据输出;VCC为电源供电;VSS为接地;/RECALL为调用输入端,可以用单片机的一个输入/输出口来控制;/AS为漏极开路输出端,它有效时表示VCC已降至自动存储门限之下,它可和多个漏极开路/AS输出端线连接,并可用作微控制器中断输入或作低功率复位电路的输入。X24C45内部有一个8位的指令寄存器,可通过DI输入端对它进行访问,数据在SK的上升沿由时钟同步输入,在整个数据操作期间,CE必须为高电平。对X24C45的操作包括写指令、读指令、用程序进行数据存储和掉电数据自动存储、上电数据自动调用与用程序进行数据调用。
2.3 MAX202E简介
  MAX202E是MAXIM公司生产的RS232接口芯片,其最高数据传送速率为120kbps,其各端口可承受的ESD电压为15kV,其正常工作电压为单一+5V供电。
2.4 MDLS16265B模块简介
  MDLS16265B液晶显示模块由点阵LCD、控制电路HD44780、驱动电路等构成,具有体轻、体薄、微功耗、功能丰富、通用性强、可与微处理器和微处理机直接接口的特点。它可显示二行5×7或5×11点阵字符;其内存字符发生器ROM可显示192种字符、数字、符号,并具有可自编点阵字符的字符发生器RAM;它可直接与4位或8位微处理器MPU接口;它具有丰富的指令功能,包括清屏、光标的设置/移位/开关/闪烁、显示行数及字符规格的设置、数据读/写、接口设置等。
3 硬件电路工作原理
  所设计的数字码表电原理图如图1所示。它由微控制器、RS232接口电路、串行SRAM数据存储电路、键盘与LCD显示控制电路、电源变换电路等构成。
  MAX202E及其外围器件构成RS232接口转换电路,完成RS232信号与TTL信号电平互相转换的功能。其一将主机输入的RS232信号转换为TTL信号,输到微控制器的串行输入端;其二将微控制器输出的TTL信号转换为RS232信号,输出到主机。AT89C52微处理器的功能包括:作为定时器,产生实时时钟信号,用于统计开机时间、实际正常运转时间及工作效率;响应串行中断信号,实时处理来自主机的各种数据信号,实时统计主机运转速度、转速、织布长度、故障次数、故障部位等;实时响应来自键盘的外部中断信号,完成键盘操作功能,该码表有6个开关,分别为‘模式’、‘复位’、‘↑’‘↓’‘→’‘←’,其中‘模式’开关实现LCD显示器显示画面的切换,‘复位’开关实现功能复位,‘→’、‘←’开关实现光标的左右移动,‘↑’‘↓’关实现参数的设置;输出LCD显示所需的数据;实现对LCD背景光显示时间的控制,当P1.0输出高电平信号时,D2导通,LCD背景光电路工作;实现对处理数据的存储,当电源电压降到4.0~4.3V期间,自动将数据保存到X24C45中的EEPROM中,在断电时,D2、C12用来延迟电压的跌落速度,以保证X24C45有足够的数据存储时间。74HC540用于实现LCD和键盘对P0口的共享,当G信号为高电平时,P0口接收来自键盘的中断响应信号,暂停输出LCD显示所需的数据;当G为低电平时,P0口停止对键盘的中断响应,输出LCD显示所需的数据。

码表
码表

4 软件设计简介
  为了完成该码表的功能,所设计的软件由定时子程序、串口中断子程序、键盘中断与功能切换子程序、参数设置子程序、数据处理和故障判断与统计子程序、各种计算子程序、LCD显示与数据传送子程序、微处理器将数据写入X24C45的EEPROM与从X24C45的EEPROM中将数据读出子程序等。其工作流程如图2所示,下面简要地予以介绍。
  接通电源后,X24C45自动将EEPROM中的数据传送到对应的SRAM中,微控制器完成初始化后,调用存储在X24C45中上次断电时的数据,并将其传送到LCD显示器,即恢复上次断电时的记录;然后,依次判断是否有定时中断、串行中断、键盘中断及电源断电等。如果有定时中断,则执行定时中断子程序,对主机开机时间、有效工作时间及工作效率进行计算,并更新LCD显示内容。当有串行中断时,执行串行中断子程序,接收并处理主机传送来的各种数据,包括速度的判断、织布长度的计算、故障部位的判断与统计、是否到落布长度的判断、如织布长度等于设置的落布长度则发出落布停车信号等。当有键盘中断时,程序调用键盘中断子程序,完成显示画面的切换、参数的设置等功能。当判断有电源电压跌落时,优先执行数据存储子程序,将有用的、需记录保持的数据存储到X24C45中的EEPROM。

码表

5 结束语
  此数字码表具有硬件结构简单、成本低、软件功能强、操作简单、抗干扰能力强等优点,现已批量生产。其工作电压为12V,功耗小于0.2W,串行通讯数据的误码率小于10-6,LCD数据更新时间0.5s,键盘响应时间小于200ms,接口承受ESD试验电压大于8kV,通过EMC试验。对此码表的软件进行修改,增加相应的传感器,就可实现数据的采集与传输任务,将所采集的数据通过RS232送PC进行处理;同样,对软件进行修改,就可实现对工控设备的控制,它可按键盘预设状态实现控制功能,也可通过串口接收PC指令,实现对工控设备的控制

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分