基于单片机的的智能药盒的设计文档格式.docx
《基于单片机的的智能药盒的设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的的智能药盒的设计文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
1.2目前智能药盒的现状
现状是刚刚起步,主要针对老年人,但随着对这种刚性的市场需求认识的加深,市场一定会迎来一个发展热潮。
一开始出现的便携小药盒,造型简单,容量小,不能满足人们的需求,于是,随即又发展出现了大容量且功能齐全的药盒。
随着逐渐更新完善,发展出现了造型多样的全新设计的人性化智能电子药盒,易操作,能定时,更简单。
为更多人带来了便利。
电子药盒不仅用于收纳不同的药片,还可以放置保健品,这样也就拓展了电子药盒的消费对象,扩大了消费群体,提升电子药盒的使用价值。
以前大多电子药盒的电路通常由分立的数字电路器件组成,不仅功能单一,而且重量和体积都较大,特别是功耗大,提高了使用成本,因而具有很大的局限性。
所以更加智能的电子药盒成为新的需要。
近几年,随着单片机技术的快速发展,以单片机为核心的大规模集成电路在各种产品中得到了极其广泛的应用。
而以单片机为核心的数字电路正是由于具有功能丰富,体积小,功耗低等优势,符合电子药盒这一产品的特点,具有极大的市场潜力和开发价值。
如今电子药盒在选择机型的过程中综合考虑单片机性能体积和产品耐用性等因素,正向微型化,智能化的方向发展。
一切科技都是为了服务人们更好的生活。
鉴于目前不少老年人苦于用药的合理管理和定时服用,智能的药品管理系统正是大众所需。
针对目前的现状,设计一种家庭用智能药盒,本设计是以STC90C516单片机为核心,并与键盘输入和1602LCD液晶显示屏相结合的自动按时提醒控制系统,有较高的应用价值和现实意义。
1.3本文的结构
本系统基于单片机定时/计数器时钟程序进行计时,同时通过1602LCD液晶显示屏显示时间,时间采用24时制。
当需要进行设定时,可根据外部键盘输入时间点。
当时间达到预定时间时单片机通过写入的程序在输出端输出低电平,以致控制蜂鸣器实现声音提醒的目的。
本系统采用单片机技术,电路简洁,成本低,控制精度和效率也较高,稳定性好,易操作,显示直观,解决了老年人用药的日常问题,适合普通家庭使用,对于提高老年人健康生活很有意义。
介绍本文结构如下:
第一章为绪论部分,简要介绍了选题的背景及意义,研究的现状和发展趋势以及本文的主要内容和结构。
第二章总体方案设计,简要介绍整个系统的结构及工作原理,论证系统总体方案的设计。
第三章为系统硬件设计部分,介绍各个模块的资料、原理并对电路功能进行分析,对硬件进行器件布局和线路设计,得出系统硬件电路图。
第四章为系统软件设计部分,主要介绍系统各部分软件的设计思想和工作流程。
第五章为系统的调试。
第六章为总结与展望,主要是对本设计的总结。
2系统总体方案设计
2.1设计要求
利用STC90C516单片机、8个按键、LCD1602液晶显示屏、蜂鸣器、LED发光二极管等设计一个家庭用智能药盒。
该系统硬件部分由单片机最小系统、按键电路、液晶显示电路、声光报警电路组成,系统能完成时间的实时显示、每天四次定时、每次用药四种药用量提醒的功能。
系统基本功能如下:
(1)显示
采用LCD1602显示实时时间、用药量、调设信息显示等。
(2)定时时间与用药量的设定
系统须实现每天四次时间的定时,每次用药时须对四种药做出用量的提醒,通过6个按键完成,1个功能键,1个调节键,4次定时对应的4个定时按键。
(3)实时时间调节
实时时间通过另外2个按键进行调节,其中之一为功能键,另一个为调节键。
(4)报警功能
实时时钟运行到定时时间时,LCD1602显示此次用药量,蜂鸣器响起,LED闪烁,提醒用药时间到。
2.2总体设计思路
本设计采用模块化设计的方法,以STC90C516RD+单片机为核心设计一种家庭用智能药盒。
系统采用单片机为主控芯片,结合单片机最小系统所必须的上电复位电路,内部晶振电路,采用电源模块为整个系统提供稳定直流电源,采用单片机芯片提供的定时器设计系统时钟,LCD显示模块负责时间及其他参数的的显示,语音模块接收单片机发送来的信号完成声音信号的提醒,LED发光二极管配合语音模块的蜂鸣器起到辅助的报警作用。
在程序的设计问题上,以单片机内部资源为核心,调用程序存储区的各个模块的驱动程序,通过单片机的引脚对系统中其他模块资源进行驱动和调用,通过主程序调用按键扫描子程序和LCD1602数据刷新程序,将按键模块和LCD1602联系起来,使得按键的输入信息可以实时地显示在LCD1602液晶屏上,程序调用LCD1602读数据的子程序,并运算判断是否进入报警时间,进入到报警时间时,将之前设定的用药的信息刷新到LCD1602上,并通过作用单片机管脚,驱动蜂鸣器发声和LED发光二极管发光,起到必要的报警功能。
系统基本原理如图2-1所示:
图2-1系统原理图
本系统采用STC90C516RD+作为单片机最小控制系统的核心,STC90C516RD+是STC90C51系列单片机的一种;
采用LCD1602液晶屏作为显示器件;
以单片机内部定时器中断作为系统时钟。
系统通过单片机实现对各个系统模块的协调控制,由单片机检测2+2+4共8个按键的输入,并将输入信息实时显示在LCD1602上。
定时设置通过6个按键完成,1个功能键,1个调节键,4次定时对应的4个定时按键,功能键按下后,即可通过调节键调节,随按下功能键次数的不同,完成对时间和用药量六个值的设定,最后一次按下功能键,并按下4个定时按键的其中一个,LED发光二极管闪动,以确定定时按键确实被按下,则记录此时各参的值,表示一次定时操作结束,则时钟继续向前运行。
定时设置完成后,对系统始终时间做出调整。
由2个按键完成,一个是功能键,一个是调节键,按下功能键,即可对时间作出调整,随功能键按下次数不同,分别对分钟数和小时数作出调整,调整结束后,最后一次按下功能键,时钟开始运行。
系统利用单片机的定时器运行实时时钟,由单片机检测此时实时时间是否与4个定时时间之一相等。
实时时钟运行到定时时间时,LCD1602显示此次用药量,蜂鸣器响起,LED闪烁,提醒用药时间到,一分钟后,实时时钟越过定时时间,实时时间与定时时间不再相等,则系统自动退出报警程序。
2.3系统结构设计
系统结构由STC90C516单片机、2+2+4键盘、电源、晶振电路、复位电路、LCD显示、蜂鸣器电路、发光二极等几部分构成。
系统结构如图2-2所示:
图2-2系统结构图
3硬件电路的设计
3.1单片机最小系统
单片机最小系统主要由STC90C516单片机、晶振电路、复位电路等构成,单片机最小系统如图3-1所示:
图3-1单片机最小系统电路图
3.1.1.STC90C51RC/RD+系列单片机简介
STC90C51RC/RD+系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期和6时钟机器周期可以任意选择。
内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。
STC90C51RC/RD+单片机中包含中央处理器(CPU)、程序存储器(FLASH)、数据存储器(SPAM)、定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块。
STC90C51RC/RD+系列单片机几乎包含了数据采集和控制所需要的所有单元模块,可称得上一个片上系统。
1、增强型6时钟/机器周期,12时钟/机器周期8051CPU。
2、工作电压:
5.5V-3.8V(5V单片机)/3.6V-2.0V(3V单片机)。
3、工作频率范围:
0-40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
4、用户应用程序空间4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/61K/字节。
5、片上集成1280字节/512/256字节RAM。
6、通用I/O口(35/39个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)。
P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3-5秒即可完成一片。
8、EEPROM功能。
9、看门狗。
10、内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位电路,复位脚可直接接地。
11、共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
12、外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒。
13、通用异步串行口(UART),还可用定时器软件实现多个UART。
14、工作温度范围:
0-75℃/-40-+85℃。
15、封装:
LQFP-44,PDIP-40,PLCC-44。
图3-2STC90C51RC/RD+系列单片机引脚图
1、电源
Vcc(引脚号40),芯片电源,接+5V;
Gnd(引脚号20),电源接地端。
2、时钟
XTAL1(引脚号19)内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。
当采用外部振荡器时,此引脚接地。
XTAL2(引脚号18)内部振荡器的反相放大器输出端,是外接晶振的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
3、控制总线
(1)ALE/
(引脚号30):
正常操作时为ALE功能(允许地址锁存),用来把地址的低字节锁存到外部锁存器。
ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟信号或用于定时。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LSTTL电路。
(2)
(引脚号29):
外部程序存储器读选通信号。
在从外部程序存储器取指令(或数据)期间,
在每个机器周期内两次有效。
可以驱动8个LSTTL电路。
(3)RST/VPD(引脚号9):
复位信号输入端。
振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。
此引脚还可接上备用电源。
在Vcc掉电期间,由VPD向内部RAM提供电源,以保持内部RAM中的数据。
(4)
/Vpp(引脚号31):
为内部程序存储器和外部程序存储器的选择端。
当
为高电平时,访问内部程序存储器;
为低电平时,访问外部程序存储器。
4、I/O线
(1)P0口(引脚号32~39):
单片机的双向数据总线和低8位地址总线。
在访问外部存储器时实现分时操作,先用作地址总线,在ALE信号的下降沿,地址被锁存;
然后用作为数据总线。
它也可以用作双向输入/输出口。
P0口能驱动8个LSTTL负载。
(2)P1口(引脚号1~8):
准双向输入/输出口,它能驱动4个LSTTL负载。
(3)P2口(引脚号21~28):
准双向输入/输出口。
在访问外部存储器时,用作高8位地址总线。
P2口能驱动4个LSTTL负载。
(4)P3口(引脚号10~17):
P3口的每一引脚还有另外一种功能:
P3.0——RXD:
串行口输入端。
P3.1——TXD:
串行口输出端。
P3.2——
:
外部中断0中断请求输入端。
P3.3——
外部中断1中断请求输入端。
P3.4——T0:
定时器/计数器0外部输入端。
P3.5——T1:
定时器/计数器1外部输入端。
P3.6——
外部数据存储器写选通信号。
P3.7——
外部数据存储器读选通信号。
3.1.2.晶振电路
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。
单片机的时钟信号通常有两种产生方式:
内部时钟方式和外部时钟方式。
内部时钟方式是在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。
晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12MHz、11.0592MHz、24MHz等。
一些新型的单片机还可以选择更高的频率。
外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。
外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。
时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。
单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。
振荡周期:
是片内振荡电路或片外为单片机提供的脉冲信号的周期。
时序中1个振荡周期定义为1个节拍,用P表示。
时钟周期:
振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。
时钟周期为振荡周期的2倍。
时序中1个时钟周期定义为1个状态,用S表示。
每个状态包括2个节拍,用P1、P2表示。
机器周期:
机器周期是单片机完成一个基本操作所需要的时间。
一条指令的执行需要一个或几个机器周期。
一个机器周期固定的由6个状态S1~S6组成。
指令周期:
执行一条指令所需要的时间称为指令周期。
一般用指令执行所需机器周期数表示。
单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。
了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。
例如:
若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。
晶振电路如图3-3所示:
图3-3系统晶振电路图
3.1.3.复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。
复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
单片机的复位条件:
必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。
单片机的复位形式:
上电复位、按键复位,此处采用上电复位。
按键复位电路中,当按键没有按下时,电路同上电复位电路。
如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。
单片机要复位只需要在第9引脚接个高电平持续2μs就可以实现,电容的的大小是10uF,电阻的大小是10k。
所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K×
10UF=0.1S。
单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,单片机最小系统容值越大需要的复位时间越短。
单片机复位电路如图3-4所示:
图3-4系统复位电路
3.2显示电路
显示电路中的显示器件为LCD1602,其数据端口与单片机的P0口相接,电路连接如图3-5所示:
图3-5LCD1602连接图
1602采用标准的16脚接口,其中:
第1脚:
VSS为地电源。
第2脚:
VCC接5V正电源。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生重影,使用时可以通过一个1K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
背光灯电源。
数据位
命令
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
清屏0000000001
归位000000000*
输入方式00000001I/DS
显示开关0000001DCB
光标、画面000001S/CR/L**
功能设置00001DLNF**
CGRAM地址0001A5A4A3A2A1A0
DDRAM地址001A6A5A4A3A2A1A0
读BF及AC01BFAC6AC5AC4AC3AC2AC1AC0
写数据10数据
读数据11数据
LCD