基于51单片机设计的带有测温功能的电子时钟汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、
职业技能训练之
电子技术课程设计报告
学院电子与信息学院
设计题目基于51单片机设计的带有测温功能的电子时钟班级XXX
姓名XXX
学号XXX
指导教师XXX
时间2012年06月25日
目录
一、设计要求
二、课程设计的方案、目的及意义
三、硬件设计方案
四、软件设计方案
五、总结
六、参考资料
一、设计要求
用51单片机设计带温度显示的电子时钟,具体要求如下:
1、利用DS1302时钟芯片实现时钟功能模块。
2、时钟要求可以调节时间:年、月、日、时、分、秒。
3、利用LCD1602显示。
4、利用DS18B20芯片实现温度功能模块。
5、利用按键完成各项功能。
二、课程设计方案、目的及意义
1、总体方案:
用STC89C51单片机作为CPU主控制器,DS1302时钟芯片提供准确时钟信号,DS18B20温度传感器采集温度信息,三个按键进行加减调整、功能切换作用,通过LCD1602对外多功能显示。
2、具体方案:
CPU控制所有模块,通过循环反复从DS1302中读取时钟信息,传送至LCD1602显示,得到基本时钟功能。当分为59,秒为56时开始,每隔一秒LED 灯点亮240毫秒,0分0秒时LED灯点亮700毫秒。从而实现整点光报时。
定时循环从DS18B20中读取温度信息,传送至LCD1602显示,得到基本温度计功能。当温度高于30度(包括30度)时,点亮红色LED灯,提醒当天为高温天气。低于0度时,点亮蓝色LED灯,提醒当天为冰冻天气。
键盘使用扫面方式,MENU键控制功能切换,完成时钟和温度间的转换。OK键控制时间调整与确定,UP、DOWN键调节时间,R、L 键选择调整对象。进入调整时,暂停DS1302数据读取,并将改变的时间数据写入DS1302,并送LCD1602显示,同时,启动LCD1602光标闪烁,确定调整对象,完成人机对话。退出调整时,停止写入数据,重新读取DS1302时钟信息。从而完善时钟功能。
3、目的及意义
可作为产品生产,作为居家的时钟显示与温度计。
三、硬件设计方案
1、原理图
2、PCB图
3、各功能模块分析
(一)、主控制器:STC单片机89C51
功能:程序存储器16K、RAM数字存储器1280、可直接通过串口下载程序,单一+5V电源供电,五个中断源的中断控制系统,片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器。
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据。
ROM:用以存放程序、一些原始数据和表格。
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出。P0口做I/O 口需接上拉电阻。
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式。
(二)、LCD1602显示模块
介绍:工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。管脚信息:
显示模式设置:
显示开关及功能设置:
数据指针设置:
写时序:
注:R3调节显示屏对比度
(三)、DS1302时钟芯片
管脚信息:
VCC:Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1、X2:X1和X2是振荡源,外接32.768kHz晶振。
RST:RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数
据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK:SCLK为时钟输入端。
日历寄存器:
注:
(1):小时寄存器的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式下,位5为低时为AM,高时为PM。在24小时模式下,位5是第二个10小时位。
(2)、秒寄存器的位7定义为时钟暂停标志。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;该位置0是,时钟开始运行。
(3)、控制寄存器的位7是写保护位,其他7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位1时,写保护位防止对任一寄存器的写操作。
控制字节:
注:
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
数据读写及时序:
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
(四)、DS18B20温度传感器
管脚信息:
GND:接地
DQ:数据I/O