光控数字温度时钟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档