陈燕秀
(贵州理工学院电气工程学院,贵州 贵阳 550004)
2013-08-22
陈燕秀(1975-),女,副教授,现主要从事电子线路方面的教学与研究工作。
基于单片机的LCD多功能显示器设计
陈燕秀
(贵州理工学院电气工程学院,贵州 贵阳 550004)
设计了一种基于单片机的LCD多功能显示器:该显示器以STC89C52单片机为控制核心,以LCD12864作为显示器,时钟产生采用DS1302芯片,温度采集选用DS18B20,片外数据储存芯片采用CAT24C04。实际应用表明,该显示器能够进行时间显示、温度采集、电子书阅读、图片显示、音乐播放等,具有响应速度快、抗干扰能力强、体积小等特点。
单片机;LCD多功能显示器;控制系统
现代电子产品正在以前所未有的速度革新,向着功能多样化、体积最小化,低功耗化的方向迅速发展。针对现实生活中对小型多功能产品的需求,笔者基于单片机设计了一种LCD多功能显示器。
图1 系统结构图
LCD多功能显示器结构图1。具体设计思路如下:①整个控制系统采用STC89C52系列单片机作为控制核心[1]。②采用带中文字库的LCD12864作为显示器,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,并显示8×4行16×16点阵的汉字。③时钟产生采用DS1302,DS1302是美国DALLAS公司推出的一款高性能、低功耗、带内部RAM的实时时钟芯片(RTC),能够为单片机系统提供日期和时间。④温度采集选用DS18B20,使用简单。⑤片外数据储存芯片采用CAT24C02,其具有低功耗、掉电不丢失数据的特点。⑥控制部分采用5个独立式按键,从P2口输入,一键多用。LCD12864采用P0口并口输出,读写速度快,连接简单,布线美观。
2.1显示电路设计
LCD12864可构成全中文人机交互图形界面,可完成图形显示,且低电压低功耗。显示电路单元电路图如图2所示。
2.2时钟单元设计
实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式[2]。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需3根I/O线(包括复位(RST)、I/O数据线、串行时钟(SCLK))。DS1302工作时功耗很低(保持数据和时钟信息时,功耗小于1mW)。为了使DS1302在断电的情况下也能工作,在设计中加入了一个3.2V的备用电池(J4),由于耗电量小,电池寿命至少在2a以上。时钟单元电路图如图3所示。
图2 显示电路单元电路图 图3 时钟单元电路图
图4 温度采集单元电路图
2.3温度采集电路设计
温度采集选用DS18B20,其具有以下主要特性:①独特的单线接口方式,与微处理器连接时仅需要一条口线即可实现双向通讯。②支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。③在使用中不需要任何外围元件。④测温范围-55℃~125℃。温度采集单元电路图如图4所示。
2.4储存电路设计
为了扩展片外数据存储容量,采用一片基于I2C-BUS 的CAT24C02作为片外扩展[3],其2K的容量足以保存程序所需的显示点阵代码、电子书字符和简单的音乐容量。
图5 主程序流程设计图
3.1主程序设计
主程序设计内容包括主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等,主程序流程设计图如图5所示。
3.2时间程序设计
虽然DS1302芯片省去了时钟产生的步骤,但是调时程序要注意DS1302内部产生的时钟是以16进制形式出现,调试中发现从00H-09H为1到9数字,09H后并不是0AH而是10H,因而调时程序应避免0AH-0FH的出现,否则重置以后会出错[4]。此外,闹钟程序是一个比较程序,将需要比较的时间设置并储存,在时间运行时不断进行比较,一旦时、分、秒都和设置的时间相符合,则启动闹钟。时间程序流程设计图如图6所示。
图6 时间程序流程设计图
基于单片机系统设计了LCD多功能显示器,产品设计中遵循硬件电路简单化、尽可能采用软件编程完成功能控制的原则,且编程采用汇编语言完成,使得产品具有体积小、功能多、响应速度快等特点,可以在市场上推广应用。
[1][1]何立民.单片机初级教程——单片机基础[M].北京:北京航空航天大学出版社,2006.
[2]韩志军,沈晋源,王振波.单片机应用系统设计——入门向导与设计实例[M].北京:机械工业出版社,2005.
[3]钟富昭,张晨.8051单片机典型模块设计与应用[M].北京:人民邮电出版社,2007.
[4]陈有卿,谢刚.新颖电子模块应用手册[M].北京:机械工业出版社,2003.
TP273
A
1673-1409(2013)31-0090-03
[编辑] 李启栋