光控数字温度时钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号:11
光电技术课程设计题目:光控数字温度时钟
学生刘慧班级电子1202-1BF 学号14122502243 专业电子科学与技术指导老师田芃职称副教授
完成时间2015年6月15日
(湖南理工学院物理与电子学院)
课程设计任务书
目录
一、引言 (4)
二、设计目的 (5)
三、设计要求 (5)
四、硬件设计 (5)
1、DS1302组成数字时钟发生模块 (6)
2、D/A模块 (7)
3、显示模块 (7)
4、温度光强采集模块 (8)
5、提示模块与按键 (9)
五、软件设计 (11)
六、心得体会 (24)
一、引言
在科技飞速发展的今天,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展,使数字钟具有走时准确、性能稳定的特点。因此在许多电子设备中被广泛应用。
电子钟是人们日常生活中常用的计时工具,而且电子钟又具有重量轻、走时准确、结构简单、耗电量少等优点而在生活中被广泛使用,因此本次设计就用数字集成电路来设计一个电子钟,使其完成多功能。本文主要介绍由单片机控制的带有温度显示的电子钟的设计。随着人们生活水平的日益提高,人们对生活的要求越来越高,原有的事物已经不能满足人们的生活需求了,一些带有新功能的事物已经在慢
慢的取代旧事物。就像电子钟一样,人们用电子钟不仅仅只是看时间了,人们还需要看温度了。越来越多的新功能更贴近人们的生活了,所以也越来越受人们所喜欢。
二、设计目的
1:熟悉51单片机的操作,引脚分配,定时器的使用,及相关一些外设的使用;
2:掌握数字钟的组成及工作原理;
3:熟悉数字钟的设计与制作;
4: 掌握DS1302时钟芯片使用方法
5: 掌握LED数码管动态显示原理与使用方法
6:学习ADC DAC芯片的使用方法
7:熟悉PROTEUS软件的使用.
三、设计要求
1:掌握DS1302时钟芯片使用方法
2:掌握光敏电阻原理、特点和使用方法
3:掌握热敏电阻原理、特点和使用方法
4:掌握LED数码管动态显示原理与使用方法
5:设计与开发一套数字时钟
(1):采用DS1302S时钟芯片,带断电保护;
(2):具有闹钟和定点报时功能;
(3):具有温度显示功能;
(4):具有光控功能,能根据环境光线的强弱,动态调节显示亮度。
四、硬件设计
硬件电路主要包括:控制器模块,数字时钟发生模块,显示模块,温度与亮度测量与转换模块,提示模块,按键调节模块。
硬件电路如下:
1、DS1302组成数字时钟发生模块:
DS1302可通过简单的串行接口与单片机进行通信
可提供:
--秒,分,时,星期,年,月,日
--每月的天数和闰年的天数可自动调整
--可通过
AM/PM指示决定采用24或12小时格式
--低功耗:保持数据和时钟信息时功率小于1mW,可用在断电保护
2、D/A模块
采用DAC0808用于控制数码管的亮度
DAC输出经放大器接至PNP三极管发射极,通过改变发射极电压来控制数码管的亮度。
3、显示模块
用4位数码管显示
数码管为
共阳极数码管,
数码管采
用动态显示时
间,温度。
数码管阳
极接至PNP三
极管集电极,以
提供数码管的驱动,并便于控制数码管的亮度(通过控制PNP三极管的发射极电位)。
4、温度光强采集模块
用光敏电阻和热敏电阻分别采集光强信号和温度信号,再经过TLC1543串行10位AD将采集到的信号传送给单片机。
使用10位串行ADC TLC1543不但能得到较高的精度,而且采用串行通信减少了单片机的引脚连接。程序软件编写应注意TLC1543通道地址必须为写入字节的高四位,而CPU读入的数据是芯片上次A/D 转换完成的数据。
5、提示模块与按键
蜂呜器用于闹钟提示与整点报时。
按键用于调时间和设闹钟。并设置了长按键功能(长按功能键返回正常显示状态,长按加键快速调时或设闹钟)。
实际硬件采用的专用单片机:STC15F204EA单片机。它与通用51的区别如下:
STC15F204EA单片机是A/D转换单片机,1个时钟/机器周期,高速,高可靠,8路10位高速A/D转换,内部有高精度R/C 时钟,±1%温飘,彻底省掉外部昂贵的晶振,
5MHz~35MHz宽范围可设置.
•内部高精度R/C时钟,时钟从5M~35MHz可选;
•内部高可靠复位,彻底省掉外部复位电路;
•8通道,10位高速ADC,速度可达30万次/秒;
•通用I/O口(26个),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。
我们使用的STC15F204EA单片机它的外部封装如下:
它的相
关功能
如下:
实物如下:
五、软件设计
/*************** DS1302.C ******************/
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit IO = P1^5; //DS1302's I/O
sbit SCLK = P1^6; //DS1302's clock
sbit RST = P1^7; //DS1302's Reset
void Write_A_Byte_TO_DS1302(uchar x)
{
uchar i;
for(i=0;i<8;i++)
{
IO=x&0x01;SCLK=1;SCLK=0;x>>=1;
}
}
uchar Get_A_Byte_FROM_DS1302()
{
uchar i,b=0x00;
for(i=0;i<8;i++)
{
b |= _crol_((uchar)IO,i);
SCLK=1;SCLK=0;
}
return b/16*10+b%16; //返回BCD码
}
uchar Read_Data(uchar addr) //从DS1302指定位置读数据{
uchar dat;
RST = 0;SCLK=0;RST=1;
Write_A_Byte_TO_DS1302(addr);
dat = Get_A_Byte_FROM_DS1302();
SCLK=1;RST=0;
return dat;
}
void Write_DS1302(uchar addr,uchar dat)
{
SCLK = 0; RST = 1;
Write_A_Byte_TO_DS1302(addr);
Write_A_Byte_TO_DS1302(dat);