智能药盒设计单片机嵌入式系统软硬件设计毕业论文Word文档下载推荐.docx
《智能药盒设计单片机嵌入式系统软硬件设计毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《智能药盒设计单片机嵌入式系统软硬件设计毕业论文Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
3.4蜂鸣器报警电路16
3.5发光二极管电路17
3.6定时模式装入初值的计算18
4结论19
致谢20
1绪论
1.1选题目的和意义
很多老年人随着年龄的增长,都有健忘的毛病,对于这些老年人来说在生病的时候甚至是日常生活中按时吃药是一个难题,如果需要在不同时间吃不同的药,几乎很难独立完成,这次的结课论文题目所指的智能药盒就是针对这些老年人所设计的,是一种为了方便老年人服药而设计的药物存储容器,它可以更好地管理高龄人群吃药麻烦的问题,根据对老年人每天吃药的时间进行定时,来实现一天内对老年人每天三次或更多次的定时提醒,提醒使用者服用多种药物中的一种或多种,以帮助人们改掉不按时吃药的坏习惯。
1.2目前智能药盒的现状
现状是刚刚起步,主要针对老年人,但随着对这种刚性的市场需求认识的加深,市场一定会迎来一个发展热潮。
一开始出现的便携小药盒,造型简单,容量小,不能满足人们的需求,于是,随即又发展出现了大容量且功能齐全的药盒。
随着逐渐更新完善,发展出现了造型多样的全新设计的人性化智能电子药盒,易操作,能定时,更简单。
为更多人带来了便利。
电子药盒不仅用于收纳不同的药片,还可以放置保健品,这样也就拓展了电子药盒的消费对象,扩大了消费群体,提升电子药盒的使用价值。
以前大多电子药盒的电路通常由分立的数字电路器件组成,不仅功能单一,而且重量和体积都较大,特别是功耗大,提高了使用成本,因而具有很大的局限性。
所以更加智能的电子药盒成为新的需要。
近几年,随着单片机技术的快速发展,以单片机为核心的大规模集成电路在各种产品中得到了极其广泛的应用。
而以单片机为核心的数字电路正是由于具有功能丰富,体积小,功耗低等优势,符合电子药盒这一产品的特点,具有极大的市场潜力和开发价值。
一切科技都是为了服务人们更好的生活。
鉴于目前不少老年人苦于用药的合理管理和定时服用,智能的药品管理系统正是大众所需。
针对目前的现状,设计一种家庭用智能药盒,本设计是以STC90C516单片机为核心,并与键盘输入和1602LCD液晶显示屏相结合的自动按时提醒控制系统,有较高的应用价值和现实意义。
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显示电路
显示电路中的显示器件为LCD1902,其数据端口与单片机的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数据
LCD1602指令与时序说明如下:
表3-1LCD1602指令表
LCD1602在工作的过程中,在数据线上传送数据时,需将传送数据在数据线上持续一小段时间,保证单片机的P0口数据传送或接收成功,其基本操作时序如表3-2所示:
表32LCD1602基本操作时序
操作
输入
输出
读状态
RS=L,R/W=H,E=H
D0~D7=状态字
写指令
RS=L,R/W=L,D0~D7=指令码,E=高脉冲
无
读数据
RS=H,R/W=H,E=H
D0~D7=数据
写数据
RS=H,R/W=L,D0~D7=数据,E=高脉冲
3.3键盘电路
在单片机应用系统中,除了复位按键外,还需要其他按键,即键盘按键,以便控制系统的运行状态或向系统输入运行参数。
键盘电路一般由键盘接口电路、按键(由控制系统运行状态的功能键和向系统输入数据的数字调节键组合)以及键盘扫描程序等部分组成。
本系统键盘电路共有8个按键组成,按4×
2的格式布置。
键盘的电路连接如图3-6所示:
图3-6系统按键电路连接图
键盘的工作原理是:
按下键帽时,按键内的复位弹簧被压缩,动片触点与静片触点相连,按键接通,相应键向单片机端口发送一个低电平,松开键帽,按键断开。
3.4蜂鸣器报警电路
系统中单片机的P2.3脚与蜂鸣器相连,开启蜂鸣器功能。
当单片机的管脚输出固定频率电平时蜂鸣器响起。
声音是由振动所产生的,一定频率的震动就产生了一定频率的声音,其电路连接图如图3-7所示:
图3-7蜂鸣器电路连接图
一般情况下,P2.3脚处于高电平,当系统进入报警时间时,单片机控制P2.3脚输出一定频率方波,蜂鸣器振动发声,实现声音报警功能。
3.5发光二极管电路
发光二极管在系统中结合蜂鸣器报警同步作用,其电路连接如图3-8所示:
图3-8发光二极管电路连接图
发光二极管一端接电源供电,通过电阻与单片机P2.4脚连接,一般情况下,P2.4为高电平,发光二极管处于熄灭状态,当进入报警时间时,P2.4脚降为低电平,发光二极管导通亮起,其中的电阻起到对通过二极管的电流的调节作用,使得二极管正常发光。
3.6定时模式装入初值的计算
对于定时模式,是对机器周期计数,而机器周期与选定的主频密切相关。
因此,需根据应用系统所选定的主频计算出机器周期值。
现在以主频12MHz为例,则机器周期为
实际定时时间Tc=x×
Tp。
式中Tp为机器周期,Tc为所需定时时间,x为所需计数次数。
Tp和Tc一般为已知值,在求出Tp后即可求得所需计数值x,再将x求补码,即求得定时计数初值。
即
例如设定时时间为Tc=5ms,机器周期Tp=1μs,可求得定时计数次数
设选用工作方式1,则n=16,则应设置的定时时间计算出值为
还需将它分解成两个8位十六进制数,分别求得低8位为B0H装入TLx,高8位为3CH装入THx中。
工作方式0、1、2的最大计数次数分别为8192、65536和256。
4结论
本系统以STC90C516为中心,具有LCD1602时间显示、四次定时、蜂鸣器提醒用药时间、显示四种药物用药量的功能。
所使用的STC90C516系列单片机抗干扰能力超强,低功耗,高可靠。
本系统只需一次设置,在使用过程中不需再进行除服药外的任何操作。
本设计主要完成的工作有:
1、通过单片机内部定时器运行的时钟。
2、使用LCD1602同步显示时间。
3、使用LCD1602将按键输入信息实时显示在显示屏上,包括时间调整,用药量的调整,追求防呆设计。
4、按键完成对四次时间的定时。
5、蜂鸣器在系统设定时间进行声光信号的报警。
随着近年来我国人口老龄化的日益严重以及人们在健康观念上的日益重视,电子药盒已成为一个很具有现实意义和使用价值的电子装置,从本文的课题方向出发,还可以精化以下几个方面的工作:
1、从智能药盒的外形来看,家庭用的智能药盒还可以在系统的外部更加的简化,减少使用所需的按键,配置其他更合适更实用的显示模块降低资源耗费,并沿用一次设置而使用过程不用进行其他操作的思想,简化使用负担。
2、从系统的内部程序来看,本系统由于我的水平和能力未能将系统程序的逻辑和算法优化到更高水平,该系统可进一步优化算法,使用更低级更便宜的单片机,降低系统所需的成本。
3、从系统功能来看,本系统还便于添加其他的应用,如集成DS1302添加类似万年历的功能,集成测温模块添加对家庭室内温度的监测功能等,可以更充分的的利用单片机的资源,并增加系统的可用性。
致谢
结课论文是对学生所学知识的一个总结、归纳、深化的过程,在老师的孜孜不倦的教授下,我对单片机有了新的认识,也为我在以后工作增添了几分本领。
在老师细致入微的讲课中,对也单片机的软硬件有了掌握了。
懂得软件的设计,和硬件的选型。
由于时间和知识水平所限,设计中不可避免会出现纰漏和错误,恳请老师悉心指正。