万年历电子系统设计方案Word文件下载.docx
《万年历电子系统设计方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《万年历电子系统设计方案Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。
能以3V的超底压工作;
同时也与MCS-51
系列单片机完全该芯片部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在
线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要
烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用
AT89S52作为主控制系统
.
1.2.2显示模块选择方案和论证:
方案一:
采用Lcd液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样
清晰可见。
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文
字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案三:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫
描法与单片机连接时,占用的单片机口线少。
由于显示的容较多,采用led数码管不方便,所以采用了LCD液晶作为显示。
1.2.3时钟芯片的选择方案和论证:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒
计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、
分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存
区,工作电压2.5V~5.5V围,2.5V时耗电小于300nA,但成本高。
最终确定采用方案一,直接用单片机定时器提供秒信号。
1.2.4温度传感器的选择方案与论证:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻
阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
。
此设计
方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会
产生较大的测量误差。
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进
行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量围广等优点。
最终采用DS18B20。
1.2.5掉电不丢失
采用EEROM24C02存储设定的时间日期,实现掉电不丢失。
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C52作为主控制系统;
单片机计数器提供时钟;
数字式温度传感器18B20;
LCD液晶屏作为显示;
用独立按键控制时间的调整、闹钟的设定。
二.系统的硬件设计与实现2.1电路设计框图
LCD液晶显示模
STC89C5
1602E2ROM
块
2主控制
键盘模块
单片机内部计数器定
时
模块
温度采集模块
2.2系统硬件概述
本电路是由STC89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压
工作;
时钟电路由单片机部计数器构成,
1602存储,掉电不丢失;
温度的采集由
每计1秒,产生一个终断,提供秒信号;
采用
DS18B20构成;
显示部份由液晶显示屏1602
E2ROM
构成。
2.3主要单元电路的设计
2.3.1单片机主控制模块的设计
stc89c52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机
共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调
电容的一端,在片它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在
片它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复
位电路,20引脚为接地端,40引脚为电源端.如图-1所示
图-1
主控制系统
2.3.2温度采集模块设计
如图-3所示。
采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,
电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P2.7与DS18B20的
I/O口连接加一个上拉电阻,Vcc接电源,1管脚接地。
图-3DS18B20温度采集
2.3.3部计数器
用计数器的工作方式一,采用16位加一计数器,THx8位和TLx8位组成16位加1计数器,计数外部脉冲个数:
1~65536(216),计数的最大值为65536,定时时间(若T=1ms):
1ms~(65536×
T=65.54ms)。
计数器工作原理框图如下
振荡器fosc
?
12
(定时)
D15D8D7D0
C/T=0
加1THxTLx
TFx
&
中断请求
C/T=1
脉冲(8位)(8位)溢出
Tx引脚
(记数)启控
ETx
中
断
动制
TRx
允
GATE
许
≥1
1
INTx
2.3.4显示模块的设计
显示模块通过一块16脚的LCD1602组成。
其中1、2脚接地,7、9、11分别接一个I/O口用于控制液晶的显示,13--28接P0的8个I/O口用于数据传输,29、31用于控制液晶的背光。
如下图所示
基本操作时序表
读写操作时序如图所示:
图读操作时序
图写操作时序
2.3.5按键模块的设计
采用独立按键控制,上拉电阻接Vcc,按键为低电平有效。
2.3.6蜂鸣器模块的设计
蜂鸣器需要用三极管驱动才能工作,高电平有效。
2.3.6rom模块
采用E2ROM24C02,存储时间设置,
可以起到掉电不丢失的作用。
2.3.7串口下载模块
采用芯片max232,在pcb板上设计串口,接单片机的txd和rxd,用于下载程序。
三、系统的软件设计
实验程序流程图如下所示:
开始
T0初始化
时间显示
S4按?
S2按?
S3
按?
S5按?
下?
加一
减一
时间继续
灯
走
灭,蜂鸣
器停
N=最大
N=最大
值?
继
续
继续切
切换
换
四、调试过程和测试方法
调试过程:
1、首先在一块单片机开发板上调用相应的模块,调试程序,这主要是软件调试,软件调试
正确后,按照原理图将所需模块用DXP软件画pcb板并完成腐蚀和焊接。
2、检测串口是否能够下程序
3、检测晶振工作频率是否正常
4、检测按键按下前后输出端点评是否正常
5、正确下进程序之后,发现液晶显示屏始终无法显示字符,这是调节液晶
1602的5管脚
相连的滑动变阻器,直至能够显示字符。
6、在设定时间的时候,光标闪烁显示正在设置的是哪一位,但加上温度显示后,由于温度
随时在采样并显示,所以出现了温度与时间抢光标的情况,而更加糟糕的是,由于不同模块间的相互干扰,加上温度后,时间经常会终止,这是用单片机部计数器定时的弊端,如果用
时钟芯片,应该可以避免这种现象。
最终只能去掉温度显示模块。
结果测试:
最终可以实现年、月、日、时、分、秒的显示和闹钟功能,可以判断闰年闰月,时间可
以设定。
按下s1进入时间设定模式,此时再按键s1可以切换要设置的是哪一位,多次按
s1,依次可以设定秒、分、时、日、月、年的低2位、年的高2位、时钟的分、时钟的时,
按键s2使被设置位的数值增加,按键s3使被设置位的数值减小,按键s4使液晶显示从时
间设定模式转换为正常走时模式。
闹钟所设定的时间到后,蜂鸣器响,led灯亮,这里的led
灯代表一个驱动,比如家里的电饭煲,当时间到的时候,可以自动启动,此时按下按键s5,蜂鸣器停止鸣叫,led灯灭。
掉电后,设定的时间不会丢失,再次开机,仍未原关机前的时
间。
此外,串口工作正常。
五、参考文献
[1]郭天翔.新概念51单片机C语言教程入门、提高、开发、拓展全..电子工业
2009.1
[2]罗杰.电子线路设计实验测试.电子工业2008年4月
[3]江志红51单片机技术与应用系统开发案例精选清华大学
2008.12
[3]居义单片机课程设计指导清华大学2009.9
[3]宋戈51单片机应用开发例大全人民邮电2008.12
附录一、原理图与PCB图
附录二、试验程序
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
bitwrite=0;
sbitsda=P2^3;
sbitscl=P2^4;
sbitp1=P1;
sbitrs=P2^2;
sbitrw=P2^1;
sbitlcden=P2^0;
sbits1=P1^0;
sbits2=P1^1;
sbits3=P1^