带温度显示的数字钟.docx

上传人:b****6 文档编号:7448885 上传时间:2023-01-24 格式:DOCX 页数:10 大小:107.59KB
下载 相关 举报
带温度显示的数字钟.docx_第1页
第1页 / 共10页
带温度显示的数字钟.docx_第2页
第2页 / 共10页
带温度显示的数字钟.docx_第3页
第3页 / 共10页
带温度显示的数字钟.docx_第4页
第4页 / 共10页
带温度显示的数字钟.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

带温度显示的数字钟.docx

《带温度显示的数字钟.docx》由会员分享,可在线阅读,更多相关《带温度显示的数字钟.docx(10页珍藏版)》请在冰豆网上搜索。

带温度显示的数字钟.docx

带温度显示的数字钟

 

第七届“创兴杯”电子设计竞赛论文

带温度显示的数字钟

指导教师:

林志贵

完成人:

鲁闯(组长,电子1005)

吴曼(电子1005)

杨磊(电子1003)

2012年5月21日

 

 

 

 

带温度显示的数字钟

摘要:

本文介绍了设计的框架结构和组成模块以及各模块的原理,介绍了各部分硬件设计和各部分软件设计以及软件流程图。

该设计是以STC89C52单片机为控制核心的集多种功能于一体的数字钟。

该数字钟实现了具有时间显示功能;具有温度显示功能;闹铃功能。

硬件设计分为单片机控制模块、按键模块、温度模块、时钟模块、闹铃模块、显示模块等几个部分。

单片机控制就用STC89C52,显示模块用LCD1602C液晶显示温度、时间、日期等内容,按键模块用来调整时间、日期、LED的亮度等,时钟用DS12C887时钟芯片,用蜂鸣器发出闹铃声,温度传感器用DS18B20芯片。

软件设计用单片机C语言编写,实现了全部控制功能。

关键词:

单片机,显示,温度,时间。

1功能描述及总体该方案

1.1功能描述

根据主要功能要求,该设计利用51单片机实现了电子时钟、温度的显示以及设置闹铃等功能。

具体可分为一下几种:

1)显示当前的时间,24时制的时、分、秒;

2)可调节时间;

3)显示当前屋内温度;

4)可设置闹铃时间并报警。

1.2系统组成及工作过程

六大模块以STC89C52单片机为控制核心,实现了数字钟的各项要求,外接一个5V的直流电源,为整个系统供电。

图1为设计的系统组成框图。

图1 系统组成框图

根据设计要求,该数字钟可分为六大模块:

1)单片机控制模块;

2)按键模块;

3)温度模块;

4)时钟模块;

5)闹铃模块;

6)显示模块;

加上5V直流电源后,后五大模块在单片机控制之下分别工作。

2硬件设计

2.1单片机控制模块设计

硬件电路如图2,

图2单片机控制模块电路

单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(singlechipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:

(1)最小应用系统是指能维持单片机运行的最简单配置的系统。

这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。

片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.

(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有

8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

STC89C52具有以下标准功能:

 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

这里我们选用12M的晶振,晶振系统由两个30pF的电容CAP和晶振组成,接到单片机的18、19两管脚。

晶振给单片机提供硬件本身的时钟振荡。

一个10μF的电解电容和一个1k的电阻组成复位电路,接至单片机的第9管脚。

P0口加上排阻,即其就是P0口的上拉电阻,这就是给P0加驱动电路,电源通过排阻向P0口供电,使其能够驱动与P0口相连的元件。

2.2按键模块电路设计

按键模块电路如图3,

图3按键模块电路

独立按键用来用作调节时钟以及闹铃。

按键均采用低电平有效连接方式。

几个按键可以对时钟进行设置调节,并调节设置闹铃,当时间与设置的时间一致是闹铃报警,即蜂鸣器响。

2.3温度模块电路设计

温度模块电路如图5,

图5温度模块电路

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。

第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。

第六、七、八个字节用于内部计算。

第九个字节是冗余检验字节,见表一。

表一DS18B20暂存存储器的8个连续字节

寄存器内容

字节地址

温度最低数字位

0

温度最高数字位

1

高温限值

2

低温限值

3

保留

4

保留

5

计数剩余值

6

每度计数值

7

CTR校验

8

 

 

该字节各位的意义如下:

TMR1R011111

低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

在使用PL/M、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。

(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。

当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

(3)连接DS1820的总线电缆是有长度限制的。

试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。

当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。

这种情况主要是由总线分布电容使信号波形产生畸变造成的。

因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。

这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

由于DS18B20温度传感器的集成度很高,封装简单,所以我们选用该芯片作温度模块电路。

1脚接电源VCC,2脚数据线接单片机P24口,3脚接地。

芯片采集到的数据通过2脚传给单片机的P24口让单片机进行处理,之后送给显示模块进行显示。

2.4时钟模块电路设计

时钟模块电路如图6,

图6时钟模块电路

因为DS12C887时钟芯片的集成度都很高,而且它自带锂电池,即使断电了时钟仍然在工作,所以我们选择了DS12C887时钟芯片作为时钟。

各脚的连接见图6.由于其集成度很高,我们只需按照其数据手册焊接电路即可。

2.5闹铃模块电路设计

闹铃模块电路如图7,

图7闹铃模块电路

闹铃模块主要就是一个蜂鸣器,其作用是当到达设定的时间到时发出蜂鸣声报警。

用一个PNP型三极管和蜂鸣器连接主要是给蜂鸣器一个驱动,让蜂鸣器为高电平有效,即P07口高电平时蜂鸣器发声报警。

2.6显示模块电路设计

显示模块电路如图8,

图8显示模块电路

1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。

本设计使用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,容量为1行2行16个字。

1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10KΩ的电位器调整对比度。

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

D0~D7为8位双向数据线。

1602液晶模块内部的字符发生存储器(CGROM)存储了160个点阵字符图形,如图2-7-1所示,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

1602液晶模块内部的控制器共有11条控制指令,如表二所示:

表二

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

清显示

0

0

0

0

0

0

0

0

0

1

光标返回

0

0

0

0

0

0

0

0

1

*

置输入模式

0

0

0

0

0

0

0

1

I/D

S

显示开/关控制

0

0

0

0

0

0

1

D

C

B

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

置功能

0

0

0

0

1

DL

N

F

*

*

置字符发生存储器地址

0

0

0

1

字符发生存储器地址(ACG)

置数据存储器地址

0

0

1

显示数据存储器地址(ADD)

读忙标志或地址

0

1

BF

计数器地址(AC)

写数到CGRAM或DDRRAM

1

0

要写的数据

从CGRAM或DDRRAM

1

1

读出的数据

 

 

 

 

 

 

 

 

 

 

 

1602液晶模块的读写操作、屏幕和光标的操作都可以通过指令编程来实现。

(说明:

1为高电平、0为低电平)指令1:

清显示,指令码01H,光标复位到地址00H位置指令2:

光标复位,光标返回到地址00H指令3:

光标和显示模式设置I/D:

光标移动方向,高电平右移,低电平左移S:

屏幕上所有文字是否左移或者右移。

高电平表示有效,低电平则无效指令4:

显示开关控制。

D:

控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:

控制光标的开与关,高电平表示有光标,低电平表示无光标B:

控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:

光标或显示移位S/C:

高电平时移动显示的文字,低电平时移动光标指令6:

功能设置命令DL:

高电平时为4位总线,低电平时为8位总线N:

低电平时为单行显示,高电平时双行显示F:

低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:

字符发生器RAM地址设置指令8:

DDRAM地址设置指令9:

读忙信号和光标地址BF:

为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:

写数据指令11:

读数据

 

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

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1