作息时间控制器.docx
- 文档编号:24213017
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:36
- 大小:61.17KB
作息时间控制器.docx
《作息时间控制器.docx》由会员分享,可在线阅读,更多相关《作息时间控制器.docx(36页珍藏版)》请在冰豆网上搜索。
作息时间控制器
电子系统综合课程设计
信息工程系(院)电子信息工程专业
题目作息时间控制器(硬件部分)
学生姓名麦迪
班级级电子信息工程
学号2009100189
指导教师克里斯保罗
日期2012年12月7日
作息时间控制器
Timeschedulecontroller
总计课程设计(论文)31页
表格0个
插图18幅
摘要
本设计详细介绍了利用AT89C51单片机设计时间控制器的方法。
该时间控制器是以AT89C51单片机为核心,采用了DS18B20温度芯片,该芯片能测量环境中的温度变化,通过单片机的处理就可以显示出实时温度值。
当环境温度改变时,显示出来的温度也会随着改变我们设计的作息时间控制是用单片机实现的,是为了更好的对时间控制智能化。
时间控制器包括硬件和软件。
硬件设计部分以单片机为核心,I/O接口及外围电路构成学校电铃硬件系统。
显示电路采用数码管显示,单片机和数码管之间的数据传输使用串口方式。
。
软件设计部分采用单片机C语言进行程序编写,由很多功能块整合而成。
这一部分主要包括系统初始化,定时器初始化,串口初始化,时钟的设定,闹铃时间的设定,定时器中断处理,按键判断,响铃判断,响铃指示等。
纵观整个系统,结构简单、体积小、可靠性高、操作简单、扩展性强,而且价格低廉,非常适合学校、工厂和机关等单位使用。
关键字:
单片机;打铃;智能控制;显示
Abstract
ThisdesigndetailedintroducedtheuseofAT89C51timecontrollerdesignmethod.ThetimecontrollerbasedonAT89C51single-chipmicrocomputerasthecore,theDS18B20temperaturechip,thechipcanmeasuretheenvironmenttemperaturechange,throughthesinglechipprocessingcanshowrealtimetemperaturevalue.Whentheenvironmentaltemperaturechange,thetemperatureofthedisplaywillchangeaswedesignworkandresttimecontrolistousesinglechipmicrocomputer,isinordertobetterfortimecontrolintelligent.Timecontrollerincludinghardwareandsoftware.
Hardwaredesignofsingle-chipmicrocomputerasthecore,theI/Ointerfaceandperipheralcircuitconstitutetheschoolbellhardwaresystem.Displaycircuitusingdigitaltubedisplay,single-chipmicrocomputeranddigitaltubedatatransferbetweenuseserialmode..
ThesoftwaredesignofthesinglechipmicrocomputerClanguageprogramming,byalotoffunctionblockintegrationandbecome.Thispartmainlyincludessysteminitialization,thetimerinitialization,serialinitialization,clocksetting,alarmtimesetting,thetimerinterrupthandling,keyjudgment,ringjudgment,ringindicator,etc.
Throughouttheentiresystem,simplestructure,smallvolume,highreliability,simpleoperationandstrongscalability,andthepriceislow,verysuitableforschools,factoriesandauthority,andotherunitstouse.
Keywords:
singlechipmicrocomputer;bell;intelligentcontrol;display
第一章绪论
1.1本设计的研究背景和研究目的
学校以及一些企事业单位通常使用传统的电铃声作为上下课、上下班的作息时间信号。
且不说人工打铃的繁琐,铃声的单调和乏味,光是那突然骤响的刺耳铃声就常常激起周围居民的不满。
多年来,中国各地从大学到小学乃至幼儿园,从城市到农村,从冬到夏,那特有的铃声响遍了大江南北,成了学校的特色和“专利”。
正是这种铃声让一些学生产生了厌烦情绪,甚至一些学生把铃声看成是考试的代名词,以至于一听到这种声音就产生紧张、恐惧心理。
单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备。
1.2国内外研究现状
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。
数字式电子钟用集成电路计时时,译码代替机械式传动,LED显示器代替指针显示时间,减小了计时误差。
这种电子钟具备显示时、分、秒的功能,还可以对时、分、秒进行校对,片选的灵活性好。
随着科学技术的迅速发展,电子时钟正迅速取代纸质日历、年历和一般机械电子时钟。
电子时钟走时准确、功能多样、外观时尚、使用方便,深受消费者的青睐且其产品琳琅满目,但它们的核心部分都有两个共同点,一是采用高性能时钟芯片;二是大都采用单片机控制。
1.3本设计的研究内容
以往的作息时间控制系统只具备基本时钟(显示当前时间的小时及分钟)功能,而且采用数字电路实现,致使电路非常复杂,计时精度不高,且不能随季节的变化以及天气的变化而自动调整控制,功能简单。
而该统除了具备基本时钟功能之外,还可以显示年、月、日、温度等信息,并且采用单片机控制并配合时钟芯片,既保证了系统结构简单,又保证了控制时间的精度和可靠性,且通过外扩电路还可以实现多种功能。
1.4作息时间控制器的功能
实现校园作息时间的控制既保证了时间控制的准确性,又达到了特殊情况下时间设置的灵活性。
该控制系统硬件设备结构简单,易操作,准备度高,系统灵活性,实用性强,成本低,适用于各类院校的作息时间控制。
本设计作息时间控制器主要功能为:
1、时钟功能:
能显示年、月、日、星期、时、分、秒;
2、调整功能:
能调时和调分,以保证时钟与标准时间相吻合;
3、打铃功能:
可根据学校的作息时间按时打铃、现场修改作息时间表;设置的作息时间表数据在单片机掉电后不会丢失;
5、温度显示:
测量环境中的温度变化,实时显示温度值。
第二章硬件设计
基于单片机的作息时间控制器其硬件电路方框图如所示。
该系统主要包含调节模块、温度模块、声音模块、LCD显示模块等外围电路组成。
硬件功能:
按键输入控制电路、晶振、复位电路、LCD显示器电路、、蜂鸣器电路都是有硬件功能来实现。
软件功能:
LED动态显示、时钟计时、按键判断和处理都是有软件功能来实现。
图2-1
2.1单片机的选用
2.1.1AT89C51
AT89C2051是美国ATMEL公司生产的一种低电压、高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大。
2.1.2AT89C51芯片的引脚及特点
图2-2AT89C51引脚图
引脚功能说明:
VCC——电源电压
GND——接地
P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
RST——复位输入。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
PSEN——程序储存允许。
EA/VPP——外部访问允许。
2.2显示器的选用
本次设计采用了12864,液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
可与CPU直接接口,提供两种界面来连接微处理机:
8-位并行及串行两种连接方式。
具有多种功能:
光标显示、画面移位、睡眠模式等。
各引脚说明:
?
1VSS0V逻辑电源地。
?
2VDD5.0V逻辑电源正。
?
3V0LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻。
?
4D/IH/L数据\指令选择:
高电平:
数据D0-D7将送入显示RAM;低电平:
数据D0-D7将送入指令寄存器执行。
?
5R/WH/L读\写选择:
高电平:
读数据;低电平:
写数据。
?
6EH.H/L读写使能,高电平有效,下降沿锁定数据。
?
7DB0H/L数据输入输出引脚。
?
8DB1H/L数据输入输出引脚。
?
9DB2H/L数据输入输出引脚。
?
10DB3H/L数据输入输出引脚。
?
11DB4H/L数据输入输出引脚。
?
12DB5H/L数据输入输出引脚。
?
13DB6H/L数据输入输出引脚。
?
14DB7H/L数据输入输出引脚。
?
15CS1H/L片选择信号,低电平时选择前64列。
?
16CS2H片选择信号,低电平时选择后64列。
?
17RETL复位信号,低电平有效。
?
18VEE-10VLCD驱动电源。
?
19BLAC背光电源,LED。
?
20BLAC背光电源,LED-。
2.3系统设计的流程框图
2.3.1时钟与复位电路的设计
1、系统复位电路的设计:
单片机工作的时间基准是有时钟电路提供的。
在单片机的XTAL1和XTAL2两个引脚,接一只晶振及两只电容就构成了单片机的时钟电路,如原理图所示。
电路中,电容C4和C5对晶振频率有微调作用,通常的取值范围为(30
10)pF。
石英晶体选择12MHz,选择不同的石英晶体,其结果只是机器周期不同,影响计数器的计数初值。
单片机系统一般应有手动或上电复位电路。
复位电路的实现通常有两种方式:
1)RC复位电路;2)专用μP监控电路。
前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。
对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。
本设计系统采用上电自动复位和手动复位组合电路,如原理图中单片机的RST引脚连接R1(
)、C3(10
),按键S2可以选择专门的复位按键,也可以选择轻触开关。
只要Vcc上升时间不超过1ms,它们都能很好的工作。
复位电路主要用来在单片机的程序进入死循环后,能使单片机重新从头执行程序而不会无休止的执行程序。
本设计采用了上电按钮电平复位电路,如图2
图2-3
2、系统时钟电路设计:
对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。
但由于实际工作过程中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在实际应用中一定要注意正确选择参数(30±10PF),并保证对称性(尽可能匹配),这两个电容元件对闹钟的走时误差有很大关系,并且选用正规的瓷片或云母电容,如果可能的话,温度系数要尽可能低。
另外,瓷片电容的实际焊接距离不应该离单片机太远否则误差较大。
具体的时钟电路如图三所示:
图2-4
2.3.2指示电路设计:
指示可以有声或光两种形式。
本系统采用声音指示。
元件是蜂鸣器和。
闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。
2.3.3显示电路的设计:
时间显示模块主要由四位数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。
时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时天自动加一。
图2-5
2.3.4定时和调时电路的设计:
本设计因为使用到的键数目比较少,不宜采用矩阵式键盘,采用了功能直观简洁方便的独立式键盘,而且考虑了键盘的消抖问题。
比较容易理解。
每个键的具体功能如下:
按键定义如图5所示:
图2-6
2.3.5闹铃实现:
程序初始化的时候对20个闹铃时间进行了赋值,其闹铃的时间分别是{8:
00、8:
50、9:
00、9:
50、10:
10、11:
00、10:
10、12:
00、14:
00、14:
50、15:
00、15:
50、16:
00、16:
50、17:
00、17:
50、19:
00、19:
50、20:
00、20:
50}。
如果要修改闹铃时间,可以依次进入调节模式2、3、4进行修改。
当到了闹铃时间时,则蜂鸣器会响起来。
。
当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,同时二极管闪亮一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。
图2-7蜂鸣器
2.3.6温度测量:
本次设计采用了DS18B20温度芯片,该芯片能测量环境中的温度变化,通过单片机的处理就可以显示出实时温度值。
当环境温度改变时,显示出来的温度也会随着改变。
图2-8DS18B20温度芯片
第三章软件设计
本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位
该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。
许多子函数都可以直接移植过去。
在程序中除了有主函数外还包含许多子函数,如延时函数、按键扫描函数、初始化函数、时间显示函数、设定闹钟显示函数、设定日期显示函数、设定年份显示函数、月份选择函数、年份显示辅助函数
图3-1总的硬件电路图
3.1调节工作模式:
调节模式的实现只用了三个按钮,分别是mode、inc和dec按钮。
如图3-2所示:
图3-2三个调节按钮
开始程序仿真时,进入的是设定好的模式0:
图3-3模式0
按下mode按键,则进入模式1:
进入修改时间,此时修改分钟按INC按键,修改小时按DEC按键:
图3-4模式1
再次按下mode按键,则进入模式2:
选择要修改的闹铃,此处显示的是第2个闹铃,可以按inc按键加,也可以按下dec按键减:
图3-5模式2
再次按下mode按键,则进入模式3:
修改选定的闹铃的分钟此时修改的是闹铃的分钟,inc按键加,dec按键减:
图3-6模式3
再次按下mode按键,则进入模式4:
修改选定的闹铃的小时此时修改的是闹铃的小时,inc按键加,dec按键减:
图3-7模式4
再次按下mode按键,则回到模式0:
正常工作状态:
图3-8返回模式0
四课程设计心得
此次课程设计为期三个星期,我们从中获益匪浅。
本课程设计是所学的综合知识训练。
从讨论、确定方案、设计原理图、仿真的过程中,我们学到了很多,这对我们来说是一次将课本所学知识应用到具体实践中的一次考验。
虽然在这个过程中我们遇到了很多困难,编写程序需要一步一步并认真的调试,一个小小的错误都可导致整个程序的不可用;硬件仿真需要考虑硬件与软件的连调,才能保证硬件与软件协同工作。
我们通过查阅资料、同学的帮助,最终基本解决这些问题,从而基本完成了课程设计的要求。
在这个过程中我们学会了发现问题、分析问题并最终解决问题,为我们以后的工作和学习打下了一定的基础。
此次课程设计,也使我们发现了自己的缺点,课本所学知识与实践是有一定距离的,我们不仅要学好科学文化知识,更要积极的参与实践学习,真样才能有更大的收获,真正学到知识,要把理论与实际相结合,从而成为真正有用的人。
五参考文献
[1]、单片机典型系统设计实例精讲/彭为等编着.—北京:
电子工业出版社,2006.5ISBN7-121-02461-6
[2]、单片机C51程序设计教材与实验/祁伟等编着。
—北京:
北京航空航天大学出版社,2006.1ISBN7-81077-736-X
[3]、单片机微型计算机技术/刘国荣等编着。
—北京:
机械工业出版社.2000.1
[4]、单片机原理与应用/曾屹等编着。
—长沙:
中南大学出版社.2009.5(高等院校培养应用型人才电子技术类课程规划教材)ISBN987-7-81105-832-1
[5]、陈光东,《单片微型计算机原理与接口技术》华中科技大学出版社出版1999
[6]、何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,
北京航空航天大学出版社,2001
[7]、李建忠,单片机原理及应用,西安电子科技大学出版社,2002
[8]、潘永雄,新编单片机原理与应用.西安:
西安电子科技大学出版社.2003
[9]、胡汗才编《单片机原理及其接口技术》清华大学出版社出版1996
[10]、M.MorrisMano《DigitalDesign》(ThirdEdition)HigherEducationPress,2002.
六附录
附录一:
原理图
附录二:
程序源代码
/**************************************************************************
名称:
作息时间控制控制器的设计程序,基于AT89C51单片机,用lcd12864显示
内容:
三个按键:
mode(模式)、inc(增加)、dec(减少)一个LCD12864显示一个DS18B20数字温度计和一个声音播放器SOUNDER
日期:
2012-12-7
编写:
ZMY
**************************************************************************/
#include
#include
#defineLCDP0
sbitDQ=P3^7;//定义DS18B20数据端口
sbitP07=P0^7;//小数点控制I0
sbitmode=P1^0;//key1分
sbitinc=P1^1;//kye2时
sbitdec=P1^2;//key3闹铃
sbitfmq=P1^7;//蜂鸣器接口
sbitE=P2^0;//用于DS18B20接线端口
sbitRW=P2^1;
sbitRS=P2^2;
sbitCS1=P2^4;
sbitCS2=P2^3;
sbitBUSY=P0^0;
unsignedchara,i,j,k;
unsignedcharbai,shi,ge,xiaoshu;//用于表示温度
unsignedintrealtemp;//读取的实际温度值
unsignedcharflag;//正负标志位
unsignedcharfu;//符号寄存器
unsignedcharcount,hour,minute,second=0;//用于表示时间
unsignedcharmode_value=0,xf;//调节模式
unsignedcharmonth=12,day=7;//用于表示日期
unsignedcharh1,h2,f1,f2,s1,s2=0;//用于显示时间
unsignedcharm1,m2;d1,d2;//用于显示日期
unsignedchards[20][2]=
{
{8:
00、8:
50、9:
00、9:
50、10:
10、11:
00、10:
10、12:
00、14:
00、14:
50、15:
00、15:
50、16:
00、16:
50、17:
00、17:
50、19:
00、19:
50、20:
00、20:
50}
};//用于定时闹铃
unsignedcharcodezi[28][16]=
{
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0xFF,0x44,0x29,0x19,0x27,0x49,0x89,0x89,0xFF,0x89,0x89,0xCD,0x49,0x00},
{0x00,0xFC,0x84,0x84,0x84,0xFE,0x14,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x00},/*"时",2*/
{0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x23,0x40,0x80,0x7F,0x00,0x00,0x00},
{0x00,0x80,0x40,0x20,0x98,0x86,0x80,0x80,0x83,0x8C,0x90,0x20,0xC0,0x80,0x80,0x00},/*"分",3*/
{0x01,0x00,0x80,0x40,0x20,0x1F,0x00,0x40,0x80,0x40,0x3F,0x00,0x00,0x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作息 时间 控制器