基于单片机的可编程作息时间控制器的设计毕业论文.docx
- 文档编号:10939467
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:45
- 大小:257.63KB
基于单片机的可编程作息时间控制器的设计毕业论文.docx
《基于单片机的可编程作息时间控制器的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的可编程作息时间控制器的设计毕业论文.docx(45页珍藏版)》请在冰豆网上搜索。
基于单片机的可编程作息时间控制器的设计毕业论文
本科毕论文(设计)
论文题目
:
基于单片机的可编程作息时间控制器的设计
作者姓名
:
班级
:
专业
:
学号
:
指导教师
:
完成时间
:
基于单片机的可编程作息时间控制器的设计
何欢
(伊犁师范学院电子与信息工程学院电子信息科学与技术09-2班,新疆伊宁市835000)
摘要:
本设计是作息时间控制器,由单片机最小系统、按键模块、数码管显示模块、铃声模块组成。
采用PIC16F877A单片机、主频4MHZ晶振,通过按键STATE、TEN、UNIT控制时间的校正时间和铃声设定;数码管显示模块用来显示时间,显示格式为“时分”,并能够根据需要显示年、月、日,由数码管小数点闪动作为秒计数;铃声模块进行到时提醒并出
相应动作:
发光二极管闪亮,同时播放音乐。
时钟芯片采用的是DS1302,此芯片是DALLAS公司推出的涓流充电时钟芯片,其内含有一个实时时钟/日历和31字节静态RAM,并通过简单的串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。
该设计采用C语言编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活,许多子函数都可以直接移植过去。
关键词:
PIC16F877A单片机;晶振;液晶显示器;源程序
Basedonsinglechipmicrocomputercontrollerdesignofprogrammablecalendar
Hehuan
(ilinormalcollegeofelectronicandinformationengineeringcollegeofelectronicinformationscienceandtechnology09-2class,xinjiangyiningcity,835000)
Abstract:
Thisisthetimeschedulecontrollerdesignedbysinglechipmicrocomputerminimumsystemmodule,buttons,digitaltubedisplaymodule,alarmmodule.UsingPIC16F877AMCU,4MHZcrystalvibrationmainfrequency,throughthebuttonSTATE,TEN,UNITcontroltimecorrectiontimeandsetring;Digitaltubedisplaymoduleisusedtodisplaytime,displayformatof"time",andcanaccordingtoneedtodisplayyear,month,day,bythedigitaltubedecimalcountingflashingasseconds;Bellmoduletoremindandmakethecorrespondingaction:
light-emittingdiodes,playmusicatthesametime.
UsedclockchipDS1302,thischipisDALLAScompanytolaunchatricklechargingtheclockchip,containingareal-timeclock/calendarand31bytesstaticRAM,andcommunicatewithsinglechipmicrocomputerwithsimpleserialinterface.Real-timeclock/calendarcircuitprovidesseconds,minutes,andinformationday,date,month,year,numberofdayspermonthandleapyearthenumberofdayscanbeautomaticallyadjusted,clockoperationbyanAM/PMindicatordecidedtoadopt12or24hourformat.DS1302powerconsumptionislow,whileworkingtokeepdataandclockinformationwhenthepowerislessthan1mw.
ThisdesignUSEStheClanguageprogram,duetotheportabilityofassemblylanguage,butCismoreflexible,Manyfunctionscanbedirectlytransplantedinthepast.
Keywords:
PIC16F877AMCU;crystalsandliquidcrystaldisplay;thesourceprogram
第一章引言
1.1选题背景和意义
自从人类学会计时开始,计时方式由在木棍和骨头上刻标记,随着人类的智慧的发展,到后面使用计时工具不断的改进,由最开始的圭表、日晷、漏壶、漏箭、机械闹钟、秒表、沙漏、怀表、自摆钟、石英钟等。
现在,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。
数字式电子钟用集成电路设计时,译码代替机械式传动,LED显示器代替指针显示时间,减少了计时误差。
这种电子时钟具备现实时、分、秒的功能,还可以对时、分、秒进行校对,片选的灵活性好。
随着科学技术的发展,电子时钟正在迅速取代纸日历、年历和一般机械电子时钟。
电子时钟走时准确、功能多样、外观时尚、使用方便。
深受消费者的青睐且其产品琳琅满目。
但是他们核心部分都只有两点,一是采用高性能时钟芯片;二是大都采用单片机控制。
现在流行的串口时钟电路很多,如DS1302、DS18B20等。
这些电路的接口简单、价格低廉、使用方便,被广泛的采用。
学校打铃方式也是经过几个不同的阶段,由过去直接靠靠老师凭直觉宣布上下课,随着学生人数规模不断的壮大,逐渐使用人敲锣或则摇铃的方式来确定上下课。
随着科技的发展,后面发展为了电铃方式,不仅省力,而且声音响亮。
但是都是人工控制,即时间到了,然后人去按电铃开关,电铃发出“叮、叮、叮”的响声,这种人工控制方式不仅繁琐,而且单调无味。
还有传统的点铃声作为上下课的作息时间信号,这种铃声单调乏味,会让学生产生了厌烦的情绪,甚至一些学生把铃声看成是考试的代名词,以至于一听到这种声音就产生紧张、恐惧心理。
现在摒弃传统的铃声,代之以现代化优美、怡人的环境音乐,让学生在一次次的铃声音乐中受到美的熏陶,体验音乐的魅力,形成愉悦的心境。
既激活学生的艺术细胞,又达到优化育人环境,陶冶学生情操,营造良好的校园氛围。
不管是人工控制电铃、教室灯、寝室灯或则其它,现在面临的问题越来越多,繁琐,需要专人看管,浪费劳动力,多花一个人的劳务费。
偶尔还会出现不能及时到位,从而出现拖延时间的状况,扰乱正常的教学计划,这次设计的学校时间控制系统可以很好的解决这些难题
1.2PIC16F877A单片机简介
单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器、随机存储器、只读存储器、I/O接口电路、定时器/计数器以及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机。
由于单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控功能领域应用的要求而诞生的。
随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、脉冲宽度调制器、监视定时器等,这些接口电路已经突破了微型计算机传统的体系结构,所以单片机也成为微型控制。
PIC16F877A单片机是对目前所有兼容Intel8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
1.3设计要求及功能
本设计是作息时间控制器,其设计实现的功能主要有:
使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED闪动作为秒计数表示。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
1.4本设计实现的功能
本设计实现的功能为:
使用七段显示器显示时间,显示格式为“时分”,并可显示日期,显示格式为“月日”,年份单独显示。
可以设定作息时间,进行到时提示,并作出相应动作:
发光二极管闪亮,同时播放音乐。
第二章整体设计
2.1系统整体设计
2.1.1设计要求:
1)时钟功能:
能显示年、月、日、星期、时、分、秒
2)调整功能:
能校正年份、日期、时间、星期等
3)打铃功能:
按指定时间表打铃、铃声为不同的声音,现场修改作息时间表
4)设置的作息时间表数据在单片机掉电后不会丢失
2.1.2根据设计要求画出系统框图(如图1所示)。
该控制系统是由微处理器、时钟控制芯片、蜂鸣器、LCD显示部分以及键盘输入部分所组成。
该系统采用PIC16F877A单片机作为处理器,用DS1302时钟芯片作时钟计时单元,它不仅可以计时,同时内部还有114个非易失RAM单元,可以保证时钟及内部RAM内的数据不受停电的影响,保护数据不丢失。
该系统还设有LCD1602液晶显示,可以实时显示时间,系统设有输入键盘,用以修改实时时钟。
图1系统框图
2.2控制系统时刻分析表
根据实际情况主要对上下课打铃开关量在一天内的控制时间列表如下:
时间
事件
动作
9:
30
第一节上课铃响
延时10S
10:
20
第一节下课铃响
延时10S
10:
30
第二节上课铃响
延时10S
11:
20
第二节下课铃响
延时10S
11:
40
第三节上课铃响
延时10S
12:
30
第三节下课铃响
延时10S
12:
40
第四节上课铃响
延时10S
13:
30
第四节下课铃响
延时10S
16:
00
第五节课上课铃响
延时10S
16:
50
第五节课下课铃响
延时10S
17:
00
第六节课上课铃响
延时10S
17:
50
第六节课下课铃响
延时10S
18:
00
第七节课上课铃响
延时10S
18:
50
第七节课下课铃响
延时10S
19:
00
第七节课上课铃响
延时10S
19:
50
第七节课下课铃响
延时10S
21:
30
上晚自习铃响
延时10S
23:
30
下晚自习铃响
延时10S
表1作息时间控制表
2.3处理器的选择
16F877A的主要特性:
具有高性能RISCCPU;具有8K*14个FLASH程序存储器,368*8个数据存储器(RAM)字节,256*8EEPROM数据存储器字节;拥有DC-20MHz时钟输入及DC-200ns指令周期的运行速度;具有可编程的代码保护,低功耗的睡眠方式;与引脚输出和PIC16C73B/74B/76/77兼容;处理器读/写访问程序存储器,运行电压范围在2.0V到5.5V;低功耗。
这些都是制作所需的,故选这个处理器。
2.4时钟芯片的选择
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
但是 DS1302存在时钟精度不高,易受环境影响,但是基于成本价格较低,并且所编程需求功能较少,故选用此芯片。
2.5液晶显示器的选择
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此,所以他不能显示图形。
LCD1602的主要特性:
+5V电压,对比度可调;内含复位电路;提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM;8个可由用户自定义的5X7的字符发生器CGRAM。
第三章硬件部分设计
按系统框图分三个部分设计如下:
3.1系统部分
单片机采用带有程序存储器的16F877A,这样就不需要再扩展片外程序存储器,可以简化线路;采用一片时钟芯片DS1302为系统提供准确时间。
该芯片内部自带锂电池,计时精确。
如图2所示。
图2系统原理图
3.2键盘接口电路
键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。
本系统中采用独立式按键结构,如图3所示,各按键相互独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线置1。
独立式按键电路配置灵活,软件结构简单。
当功能键不很多时,采用该种方式比较合适,如图3所示。
图3按键控制模块
按键控制模块主要有由三个按键组成:
STATE、TEN、UNIT。
其中STATE的功能是模式切换键;TEN的作用是每操作一次增加十;UNIT的作用是加一。
当需要设定时间或是校正时间,即可按下模式切换键来进行。
校正时间:
按第一次STATE键,进入秒数校正状态,此时左下角显示的数字为0.通过按TEN、UNIT键进行描述校正,按一下TEN键则加十,按一下UNIT键则加一;按第二次STATE键,进入分钟校正状态,此时左下角显示的数字为1.通过按TEN、UNIT键进行分钟校正;按第三次STATE键,进入小时设定状态,此时左下角显示的数字为2.通过按TEN、UNIT键进行时钟校正;按下第四次STATE键,进入年份设定状态,此时左下角显示的数字为3.通过按TEN、UNIT键进行年份校正;按下第五次STATE键,进入月份校正状态,此时左下角显示的数字为4.通过按TEN、UNIT键进行月份校正;按下第六次STATE键,进入星期校正状态,此时左下角显示的数字为5.通过按TEN、UNIT键进行星期校正;按下第七次STATE键,进入日期校正状态,此时左下角显示的数字为6.通过按TEN、UNIT键来进行日期校正;校正完毕后,再按一次STATE键,则退出时间校正状态。
3.3显示部分
显示部分选用LCD1602液晶显示器,分别显示时、分、秒、年、月、日、星期,显示数据来自DS1302的时单元、分单元、秒单元,经端口RB5~RB7与单片机16F877A端口连接再送到显示器显示。
如图4所示。
图4显示部分
第四章控制系统软件部分
4.1软件介绍
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有近20年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户建立了完备的电子设计开发环境。
Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
不愧为一款非常优秀的单片机仿真软件。
MPLAB集成开发环境(IDE)是综合的编辑器、项目管理器和设计平台。
具有以下功能:
使用内置编辑器创建和编辑源代码;汇编、编译和链接源代码;通过使用内置模拟器观察程序流程调试可执行逻辑;或者使用MPLABICE2000和MPLABICE4000仿真器或MPLABICD在线调试器实时调试可执行逻辑;用模拟器或仿真器测量时间;在观察窗口中查看变量;使用MPLABICD2、PICSTART®Plus或PROMATE®器件编程器烧写固件。
4.2程序流程图
软件设计以时钟显示、键盘扫描为主。
在设计中利用单片机时钟计时集成电路完成计时的任务,并向单片机发一个中断,中断子程序有时钟显示及时间比较,如比较相等,则说明作息时间已到,发出指令控制电铃的操作,如图5所示。
图5程序流程图
4.3按键扫描子程序
按键扫描子程序是程序计中相当重要的一部分。
按键扫描子程序的功能是:
扫描是否有按键按下,若有键按下,则执行相应功能,如图7所示。
图6按键扫描子程序
4.4铃声控制程序
铃声控制程序是程序中重要部分之一,铃声控制程序的功能是:
当单片机给了一个高电平信号时,此时光耦合电路发生反应,开关闭合
图7铃声控制程序
4.5仿真电路
在仿真电路中,灯D1代表实际电路中的蜂鸣器,LCD1602液晶显示器显示的的分别有星期、年、月、日、时、分、秒及所要调整的日期、时间、星期的位置。
在图8中,设置第一节课的上课时间9:
30准时打铃,即灯D1亮。
在图9中,设置第一节课的上课时间9:
30十秒后停止打铃,即灯D1灭。
在图10中,调节时间、日期、星期,在状态0~6中,分别调节秒、分、时、年、月、星期、日,利用按键STATE设置时间状态,按键TEN用来调节每个数的十位,按键UNIT用来调节每个数的个位。
现在状态为4,即调节的为月份的时间。
图8第一节课上课铃响
图9第一节课上课铃灭
图10时间、日期、星期的调整
第五章总结
此次课程设计为准备近两个多月,是在肖辉老师的指导下做出来的,我从中获益匪浅。
本课程设计是《单片机原理与应用技术》的综合训练。
从选题、确定方案、设计原理图、仿真、焊接的过程中,我们学到了很多,这对我们来说是一次将课本所学知识应用到具体实践中的一次考验。
虽然在这个过程中我们遇到了很多困难,编写程序需要一步一步并认真的调试,一个小小的错误都可导致整个程序的不可用,硬件仿真需要考虑硬件与软件的连调,才能保证硬件与软件协同工作。
我们通过查阅资料、同学的帮助,最终基本解决这些问题,从而基本完成了课程设计的要求。
在这个过程中我们学会了发现问题、分析问题并最终解决问题,为我以后的工作和学习打下了一定的基础。
此次课程设计,也使我们发现了自己的缺点,课本所学知识与实践是有一定距离的,我们不仅要学好科学文化知识,更要积极的参与实践学习,真样才能有更大的收获,真正学到知识,要把理论与实际相结合,从而成为真正有用的人。
通过校园作息时间控制系统的设计,让我体会到单片机使用的广泛性以及其重要性,单片机技术的出现给现代控制领域带来了一项新的改变。
在此次的设计中我遇到了很多的问题:
首先,在查找资料的时候,对于校园作息时间控制系统这个方面AT89C51的资料非常多,而关于单片机PIC16F877A这个方面的资料很有限。
其次,在建立总体框架的时候,总体思路不够明确,从而导致框架结构建造缓慢。
最后,硬件的实现还是有一定困难。
总之这次毕业设计让我把理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。
这些在我今后的学习和工作当中都会有很大的帮助。
四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。
我不是最出色的学生,但我所付出的并不少,我学会了基本的思考方式,我坚信路要一步一步的走。
文献阅读
[1]余发山.王福忠编著.单片机原理及应用技术[M].徐州:
中国矿业大学出版社,2008年.
[2]李光飞.单片机C程序设计指导[M].北京:
北京航空航天大学出版社,2003年1月
[3]耿长清.单片机应用技术[M].化学工业出版社,2002年8月.
[4]胡健,刘玉宾,朱焕立.单片机原理及接口技术实践教程[M].机械工业出版社,2004年.
[5]黄仁欣.单片机原理及应用技术[M].清华大学出版社,2005年3月.
[6]刘守义.单片机应用技术[M].电子科技大学出版社,2005年.
[7]李群芳,张士军,黄建.单片微型计算机与接口技术[M].电子工业出版社.
[8]彭为,黄科,雷道仲.单片机典型系统设计实例讲解[M].2006年.
[9]何立民.单片机应用技术选编[M].北京:
北京航空航天大学出版社,2004年.
[10]杨刚,周群.电子系统设计与实践[M].北京:
电子工业出版社,2004年.
致谢
此次论文是在我的指导老师,肖辉老师的亲切关怀与细心指导下完成的。
从课题的选择到论文的最终完成,肖辉老师始终都给予了细心的指导和不懈的支持,在他的身上,我们可以感受到一个学者的严谨和务实,这些都让我们获益匪浅,并且将终生受用无穷。
毕竟“经师易得,人师难求”,希望借此机会向肖辉老师表示最衷心的感谢!
感谢学院为我提供良好的做毕业设计的环境,最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友,以及在设计中被我引用或参考的论著的作者
附件1:
硬件图
附2:
源程序代码
#include
__CONFIG(XT&WDTDIS&LVPDIS);//设置单片机工作模式
#defineucharunsignedchar//无符号字符型定义符重说明
#defineuintunsignedint//无符号整型定义符重说明
#definelcd_rsRA1//---LCD端口定义---
#definelcd_rwRA2
#definelcd_eRA3
#definei_oRB5//---DS1302端口定义---
#definesclkRB6
#definerstRB7
#defineK1RB1//---键盘端口定义---
#defineK2RB2
#defineK3RB3
uchartest=7,sw[]={5,5,2,9,1,0,3};
ucharpresetTime[]={0x00,0x30,0x09,0x13,0x05,0x03,0x21,0x00};
//初始时间日期"秒、分、小时、年、月、星期、日"存放表
uchardateTime[7];
ucharbell_n=3,yuzhi[][3]={0x00,0x30,0x01,0x15,0x30,0x02,0x30,0x30,0x03
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 可编程 作息 时间 控制器 设计 毕业论文