电子系统设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子系统设计与实践——
具有报时报温功能的电子钟
设计者:电气83班 08041074刘湛 08041072 李旭
内容摘要
本次设计以AT89C52芯片为核心,辅以必要的外围电路,设计了一个简易的具有报时报温功能的电子钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用8个七段LED数码管来进行显示,LED采用的是动态扫描显示,利用74LS573进行数码管段驱动,利用ULN2803A进行位驱动。通过LED能够比较准确显示时、分、秒以及日期和当前室温。利用5个简单的按键分别实现对时间的调整,年月日显示的切换,温度显示切换。时钟日历来源于DS1302芯片。温度测量功能来源于DS18BU20芯片。
软件方面采用C语言编程,以完成功能实现。整个电子钟系统能完成时间的显示,调时,以及温度显示等功能。
关键词:电子系统设计AT89C52 LED数码管日历芯片DS1302 温度测量芯片DS18BU20
目录
一.实现功能、任务以及具体要求二.重要硬件简介及应用
三.功能的论证与实现
四.系统框图
五.总体设计系统电路原理图和PCB 版图
六.程序流程图
七.实验遇到的问题及改进
八.实验总结及感想
九.参考书目
十.源程序
一.实现功能、任务以及具体要求1.目的及任务:
(1)通过查阅相关资料,深入了解温度测量相关知识;
(2)学习动态显示方式的实现方法及原理;
(3)复习“MCS-51单片机原理及C语言程序设计”,掌握其接口扩展;
(4)确定具有报时报温功能的电子钟的原理图,构建硬件平台;
(5)采用汇编或C语言编写应用程序并调试通过;(6)制作出样机并测试达到功能和技术指标要求;(7)写出设计报告和答辩PPT。
.2.具体工作内容:
(1)技术要求:
1. 时钟日历来源于DS1302芯片。
2. 温度测量使用DS18BU20。
3. 定闹功能、蜂鸣器音提示。
4. 具有实时年月日显示和校时功能。
5. 六位数码管动态显示,可采用按键切换显示。(2)工作任务:
1.组建具有报时报温功能的电子钟的总体结构框图;
2.根据设计要求,通过理论分析选择电路参数;3.根据操作功能要求,确定键盘控制功能;
4.按设计要求确定显示位数、指示类型和单位;5.编写应用程序并调试通过;
6.对系统进行测试和结果分析;
7.撰写设计报告和答辩PPT。
二.重要硬件简介及应用
89C52单片机、DS1302时钟日历芯片、DS18B20温度传感器
1、DS18B20主要资料
温度传感器DS18B20是单线智能温度传感器,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,在使用中不需要任何外围元件,测量结果以9-12位数字量方式串行传送。其测温范围-55℃~+125℃,固有测温分辨率0.5℃。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温。DS18B20的外形图如图2所示,在本设计中2号引脚节单片机的P3.4引脚,来实现温度数据的传输。下面就其内部结构和原理做简要介绍。
(1)DS18B20的内部结构。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存
器。该装置信号线高的时候,内部电容器储存能量通由1线通信线
路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到
来重新充电。 DS18B20的电源也可以从外部3V-5 .5V的电压得到。(2)DS18B20的六条控制命令
温度转换 44H 启动DS18B20进行温度转换;
读暂存器 BEH 读暂存器9个字节内容;
写暂存器 4EH 将数据写入暂存器的TH、TL字节;
复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中;
重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节;
读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CP (3)DS18B20的初始化
(1)先将数据线置高电平“1”。
(2)延时(该时间要求的不是很严格,但是尽可能的短一点)
(3)数据线拉到低电平“0”。
(4)延时750微秒(该时间的时间范围可以从480到960微秒)。
(5)数据线拉到高电平“1”。
(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,
但是应注意不能无限的进行等待,不然会使程序进入死循环,所
以要进行超时控制)。
(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起最少要480微秒。
(8)将地址线拉高到“1”后结束。
(4)DS18B20的写操作
(1)数据线先置低电平“0”。
(2)延时确定的时间为15微秒。
(3)按从低位到高位的顺序发送字节(一次只发送一位)。
(4)延时时间为45微秒。
(5)将数据线拉到高电平。
(6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。
(7)最后将数据线拉高。
(5)DS18B20的读操作
(1)将数据线拉高“1”。
(2)延时2微秒。
(3)将数据线拉低“0”。
(4)延时15微秒。
(5)将数据线拉高“1”。
(6)延时15微秒。
(7)读数据线的状态得到1个状态位,并进行数据处理。
(8)延时30微秒。