林钰洲
摘要:该文设计了一款提醒老人用药的电子闹钟,其主要内容是电子电路和软件编程两大块的内容。电子电路部分是以STC89C52为核心,结合DS1302时钟模块、LCD1602模块、L298N电机驱动模块、42步进电机、12V电源等实现对用药系统的控制。电路实现了时间显示、时间调整、定时提醒闹钟、自动出药等功能,经过实践该系统达到了设计目的和要求。
关键词:单片机;DS1302;AT89C52;提醒老人用药
引言
嵌入式计算机技术是当今计算机发展的重要方向之一,单片机作为最典型的嵌入式系统,被广泛应用于工业测控、网络通信、智能仪器和家用电器等领域,已成为现代电子系统中的智能化工具。单片机的全称为单片微型计算机,主要用于控制,所以称它为微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。
1.系统需求分析
经过调查发现,很多时候子女因忙于工作并无法时刻陪在老人身边,身体不适的老人常常会忘记用药,所以我设计了一款智能闹钟来提醒老人用药。
2.电子电路设计
根据设需求以及STC89C52的特点,通过按键进行用药时间的设定,当DS1302中的时间与设定时间吻合时闹钟便会响起,老人需要按一下开关,停止闹钟并由单片机向步进电机发出一定频率和数量的脉冲信号,实现出药功能。其设计方案说明如下:①12V电源为L298N电机驱动模块供电②电机驱动模块为步进电机和单片机供电③单片机与其他模块之间接线进行通信
2.1单片机最小系统
单片机最小系统必需包括电源电路、晶振电路、复位电路。电源电路需要+5V工作电压为单片机供电,晶振电路采用的是11.0592MHz的无源石英晶体振荡器。
2.2供电电路及电机驱动模块
L298N電机驱动模块的驱动部分供电范围为+5V~+35V,可以板内取电,此时要求供电范围为+7V~+35V。由于步进电机需要12V电源,所以选用12V电源作为输入,为42步进电机供电,同时利用该电机驱动模块的特点,使用该模块的5V使能端口,为单片机提供电源。
2.3步进电机
42步进电机是将电脉冲信号转变为角位移的元件,其为二相四线制,以8拍的方式工作,则每个脉冲旋转0.9°,即每旋转一圈需要400个脉冲信号来励磁。
2.4实时时钟模块
DS1302实时时钟模块能够计算2100年之前的年、月、日、时、分、秒、星期,同时还具有闰年调整的能力。该模块通过一个串行I/O口进行通信,使得管脚数最少,其工作电流为200nA并且带有一个CR2032电池,使之能够在掉电的情况下继续走时。
2.5液晶显示模块
LCD1602模块是一种低功耗显示器件,具有显示内容丰富、体积小、重量轻、寿命长、安全省电等优点。该模块一共有16根引脚,通过其中11根线与单片机之间进行通信,显示实时时钟。
2.6组合按键开关
利用6个按键开关组合成一套人机交互方案来修正系统时间和设定闹钟时间。由于按键响应必需快,必需用到中断,而STC98C52芯片只拥有2个外部中断接口,所以利用二极管扩展中断的方法,将外部中断扩展至6个。
3.KeilC51编程流程
编程采用模块化思想对上面的各个模块进行编程设计。主程序分为以下几个模块:①初始化过程,包括LCD1602初始化和DS1302初始化。②循环过程,包括对DS1302进行读写并显示到LCD1602上,判断读取时间是否与设定的时间是否吻合③若吻合则向步进电机发送一定频率和次数的脉冲。
4.Proteus仿真
将Proteus将电路图绘制好,利用软件将编好的程序进行编译并生成HEX文件,在Proteus中读取HEX文件进行仿真,其仿真结果如下:
5.实践结果及结论
一个利用STC89C52芯片与L298N电机驱动模块、LCD1602模块、DS1302模块等之间进行通信实现提醒老人用药具体项目完成。Proteus的应用使单片机系统设计变得更加容易,降低了单片机学习应用的门槛,大大提高了产品开发应用的成功率。
参考文献
[1]王迎旭主编.单片机原理及应用.北京:机械工业出版社
[2]李建忠.单片机原理及应用.西安:西安电子科技大学出版社
[3]刘平.深入浅出玩转51单片机.北京:北京航空航天大学出版社
(作者单位:浙江科技学院机械与能源工程学院)