综合课程设计基于DS1302的多功能数字时钟.doc

上传人:仙人指路1688 文档编号:4150443 上传时间:2023-04-07 格式:DOC 页数:13 大小:5.77MB
返回 下载 相关 举报
综合课程设计基于DS1302的多功能数字时钟.doc_第1页
第1页 / 共13页
综合课程设计基于DS1302的多功能数字时钟.doc_第2页
第2页 / 共13页
综合课程设计基于DS1302的多功能数字时钟.doc_第3页
第3页 / 共13页
综合课程设计基于DS1302的多功能数字时钟.doc_第4页
第4页 / 共13页
综合课程设计基于DS1302的多功能数字时钟.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《综合课程设计基于DS1302的多功能数字时钟.doc》由会员分享,可在线阅读,更多相关《综合课程设计基于DS1302的多功能数字时钟.doc(13页珍藏版)》请在三一办公上搜索。

1、HUBEI NORMAL UNIVERSITY综合课程设计(一)Integrated Curriculum Design(1)所在院系教育信息与技术学院专业名称信息工程班级1403题目基于DS1302的多功能数字时钟指导教师完成时间2015年 12 月28日 基于DS1302的多功能数字时钟设计1 设计目的(1)掌握单片机芯片STC89C51的基本功能和使用。(2)熟悉Proteus仿真软件的使用,了解各元件的功能及作用。(3)了解时钟芯片DS1302的基本知识,了解温度传感器DS18B20的基本使用。(4)提高数字电子电路的综合应用能力。(5)掌握Keil软件的使用方法,以及如何创建文件和编

2、写程序。(6)提高焊接能力以及实际问题分析能力。2 设计思路时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。因此自从时钟发明的那刻起,就成为人类的好朋友。随着时间的流逝,科学技术的不断发展和提高,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针进而显示时间,减小了计时误差,这种表

3、具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在单片机的应用系统中,时钟有两个方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时器/计数器来实现;二是用专门的时钟芯片实现。多功能数字时钟将万年历、时钟与温度计结合,设计和制作了一款具有推广价值的多功能数字时钟。3方案论证3.1单片机芯片的选择方案和论证:方案一: 采用STC89C5

4、2芯片作为硬件核心。STC89C52内部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C52可以通过串口下载。方案二:采用AT89S52。AT89S52片内具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。两种单片机都完全能够满足设计需要,STC89C52相对ATS89C52价格便宜,且抗干扰能力强。考虑到成本因素,因此选用STC89C52。 3.2 显示模块选择方案和论证:方案一:采用点阵式数码管显示。点阵式数码管是由八

5、行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且也相对较高,所以不用此种作为显示。方案二:采用LED数码管动态扫描。LED数码管价格便宜,对于显示数字最合适,但功耗较大,且显示容量不够,所以也不用此种方案。方案三:采用LCD液晶显示屏。液晶显示屏的显示功能强大,可显示大量文字,显示多样,清晰可见,且价格适中,所以采用了LCD数码管作为显示。3.3 时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS13

6、02时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。 3.4 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用STC89C52单片机作为主控制系统;采用DS1302作为时钟芯片;采用1602 LCD液晶作为显示器件,扩展模块为DS18B20温度模块。4 设计过程4.1硬件设计电路以STC89C52单片机最小系统为控制核心,时钟电路由高精度低功耗的DS1302提供,采用三线接口与CPU进行同步通信,输入部分采用四个独立式按键S1、S2、S

7、3、S4。1602液晶显示部分,D0D7口与单片机P0口相连,温度模块主要由DS18B20温度传感器构成。具体框图如图1所示。LCD液晶显示键盘DS1302时钟芯片DS18B20温度采集STC89C52控制器图1 系统框图(1)单片机控制模块采用STC89C52芯片作为硬件核心。STC89C52内部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C52可以通过串口下载,实现功能完全,性价比较高,更适合本设计。具体电路如图2所示。图2STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有

8、 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。内含8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式

9、下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。最小系统是指能进行正常工作的最简单电路。它包含五个电路部分:电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入/输出接口电路。其中电源电路、时钟电路、复位电路是 保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。电源电路 芯片引脚VCC一般接上直流稳压电源+5V,引脚GND接电源+5V的负极,电源电压范围在45.5之间,可保证单片机系统能正常工作。时钟电路 单片机引脚1

10、8和引脚19外接晶振及电容,STC89C 52芯片的工作频率可在233MHz范围之间选,单片机工作频率取决于晶振XT的频率,通常选用11.0592MHz晶振。两个小电容通常取值30pF,以保证振荡器电路的稳定性及快速性。复位电路 一般若在引脚RST上保持24个工作主频周期的高电平,单片机就可以完成复位,但为了保证系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。如图复位电路带有上电自动复位功能,当电路上电时,由于C1电容两端电压值不能突变,电源+5V会通过电容向RST提供充电电流,因此在RST引脚上产生一高电平,使单片机进入复位状态。随着电容C1充电,它两端电压上升使得RST电位

11、下降,最终使单片机退出复位状态。正常运行时,可按复位按钮对单片机复位。图3 单片机控制模块(2)时钟电路采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。图4 时钟电路(3)复位电路单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如下图4所示。上电自动复位通过电容C5充电来实现。手动按键复位

12、是通过按键将电阻R5与VCC接通来实现。图5 复位电路(4)显示部分设计用液晶屏 LCD1602 分两行显示“ 年、月、日、周日、时、分、秒 ”,如图5所示。图6 1602显示模块(5)按键控制部分设计共4个独立按键:S1:功能键。用来选择要更改的项目(年、月、日、周日、时、分、秒)。S2:加数键。按1下则数值加1。S3:减数键。按1下则数值减1。S4:闹钟键。进入闹钟模式。下图为键盘电路图6所示。图7 键盘模块温度模块设计 图8 温度模块4.2系统软件程序设计(1)主程序:LCD1602初始化,闹铃响应,检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返

13、回键盘扫描程序继续检测。(2)LCD1602显示子程序:LCD1602初始化函数,LCD读写操作子程序,接受MCU的指令与数据,完成显示功能。(3)DS1302读写子程序:根据检测到的相应按键值对DS1302进行读写操作,完成年、月、日、星期、时、分、秒等数据的更改和传输。(4)键盘扫描子程序:将MCU的I/O口与按键相连,通过不断的检测该I/O口是否变为低电平,当检测到低电平时说明按键被按下,执行相应的指令。(5)温度检测子程序:接受温度传感器DS18B20的数据,4.2.2主程序模块图9 主程序流程图4.2.3按键子程序模块s1 图10 按键子程序流程图(以S2为例)5电路仿真与结果分析5

14、.1电路仿真图11 这是正常显示状态(未设定闹钟)图12 闹钟设置状态图13 闹铃设置成功5.2结果分析 由于是第一次做课程设计,同时也是第一次写这么综合的程序,所以在调试过程中遇到很多问题,一部分是关于DS1302与1602的硬件特点以及在硬件的基础之上驱动程序的调用,这里主要是网上找资料去学会调用与编写,主要是通过网上视频教学;另一部分是自己做的硬件存在很多误差。在仿真与实物图之间还是存在一定差距,需要细心的焊接和调试等操作。6设计体会通过本次课程设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。功能上基本达标:时钟与闹钟的显示,调时间和闹钟功能以及闹钟鸣叫功能。时

15、钟与闹钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时间与闹钟功能,方便快捷。硬件设施基本合乎要求,软件设计可以配合硬件实现其功能。技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。机械时代已经远去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。参考文献1程国钢、

16、陈跃琴、崔荔蒙. 51单片机典型模块开发查询手册. 电子工业出版社.2012年5月第1 版。2郭天祥.51单片机C语言教程,电子工业出版社2009年12月第一版。3康华光.电子技术基础,高等教育出版社.第五版。附件完整电路部分程序:#include #include #define uchar unsigned char#define uint unsigned intsbit rs=P23; /寄存器选择sbit rw=P21; /读写信号线sbit lcden=P21; /led使能端sbit scl=P15; /时钟线sbit rst=P17; /复位线sbit io=P16; /数据口

17、sbit key_set_time=P30; /设置时间键sbit key_add=P31; /加键sbit key_minus=P32; /减键sbit key_set_alarm=P33; /设置闹钟键sbit bee=P24; /蜂鸣器接口sbit dq=P25; /ds18b20测温uchar getTimebuf8;/存放时间数据uchar time= : : ;/时间格式字符串uchar date=20 - - ;/日期格式字符串uchar weeklist=SunMonTueWedThuFriSat;/星期字符列表uchar week= ;/星期格式字符串int count;/设

18、定秒分时日月星期年的时候count的值分别为1235647int alarm;/是否进入闹钟设置界面 123分别代表开关 分 小时的设置int isOpen;/闹钟是否开启 默认不开启int fen,shi;/闹钟的分钟小时int isRing;/闹钟是否在响uchar isInit_1302;/是否初始化时钟完毕int num;int temperature;/温度int temp_flag;/温度正负标志void main()init_1602();init_ds1302();while(1)if(isOpen)/只有开启闹钟的时候才检测beep();/不断检测闹钟key_scan();if(count=0&alarm=0)/没有设定时间 也没有在闹钟界面的时候时间才显示display();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号