课程设计实验报告基于单片机的数字时钟设计.doc
《课程设计实验报告基于单片机的数字时钟设计.doc》由会员分享,可在线阅读,更多相关《课程设计实验报告基于单片机的数字时钟设计.doc(18页珍藏版)》请在三一办公上搜索。
1、绪 论随着时代的进步和发展,单片机技术已经普及到生活、工作、科研等各个领域,已经成为一种比较成熟的技术。本文将介绍一种基于单片机控制的数字温度计和数字钟,本数字温度计属于多功能温度计,可以任意设置温度的上下限报警功能,当温度不在设定范围内时,可以报警;本数字钟可以同步显示时间日历,日期和时间都可通过按键校整。本系统采用的DS1302可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。本系统显示部分采用LCD液晶显示屏显示,工作方便,外形美观一、方案设计本项目拟设计基于单片机的数字时钟和数字温度计,并将时间和温度显示在液晶显示器上。本系统由主控模块、时钟模块、显示模块、测温模块共4个模块
2、组成。主控芯片使用89系列的AT89C52单片机。时钟芯片使用DS1302, DS1302做为计时芯片,可以做到及时准确。DS1302可以在很小电流的后备电源(2.55.5V电源,在2.5V时耗小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。测温模块采用DS18B20,具有测温准确,测温范围宽,电路简单的优点。显示模块采用液晶显示屏LCD1602,LCD1602电路简单,功耗低,显示信息量大,显示质量高,显示界面美观、友好。1、主控制器的选择 ATmega16是AVR系列中的一个低电压,高性能CMOS 8位单片机,片内含8k bytes
3、的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准AVR指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的ATmega16单片机可为您提供许多较复杂系统控制应用场合。另外,在校期间所涉及到也主要是MCS-51系列单片机,对于其内部功能和指令系统较为熟悉,能在较为短的项目内完成项目的设计和验证。2、时钟功能的实现时钟功能的实现有两种方案:一是用软件实现,直接用单片机的定时器编程以实现时钟;二是用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。比较两种方案,
4、用软件实现时钟固然可以,但是程序运行需占用大量的CPU资源,会影响记时的准确度。而用专用时钟芯片可以实现准确记时。顾采用专用时钟芯片DS1302来实现时钟功能。3、温度功能的实现可以采用热敏电阻来实现温度的测量,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测到的温度的精确度不能够得到保证。在本装置中,要实现精度为0.1摄氏度温度的车辆,采用热敏电阻不嫩够满足求,故考虑采用数字温度传感器DS18B20。DS18B20 测量温度,输出信号全数字化,便于单片机处理及控制,单总线的数据传输,省去传统的测温方法的很多外围电路,系统的结构可以做得较为紧凑。4、显示部分选
5、择 一般的数据输出可采用数码管,但是,采用七段LED数码管显示,虽然显示较为清楚,但由于本项目设计所要求输出的数据较多,如果采用数码管显示,则会用到多个数码管,将导致硬件电路复杂化,也会占用较多的线路板面积,也会给软件设计实现上带来困难,并且整个电路的功耗也会较大。顾考虑采用液晶显示器lcd1602作为数据的输出显示部件。该芯片可显示162个字符,可显示字符较多多。另外,l602芯片编程和电路设计比较简单,具有低功耗功能,能够满足设计要求。 5、时间调整部分选择 DS1302必须设定初始时间才能正常工作,顾本系统必须有初始时间输入电路。可以考虑通过PC机通过串口通讯将初始时间数据送入单片机内部
6、,但这给时间的调整带来一定不便,不能随时随地的调整时间。因此选择通过键盘来实现设定初始时间。二、总体设计按照系统的设计功能要求,初步确定系统由单片机主控单元、时钟模块、测温模块、显示模块、键盘接口模块共五个模块组成,框图如图1所示。主控器件AT89C52温度检测DS0820时钟DS1302LCD显示器1602键盘部分图1 系统框图三、硬件设计系统整体硬件电路包括:单片机主板电路,传感器数据采集电路,时钟芯片电路,温度和时间显示电路。 如图2,系统硬件电路主要有4部分组成,单片机主板电路中的按健复位电路是上电复位加手动复位方式,DS1302使用两个1.5伏外部电源为后备电 接到VCC1,主电源+
7、5伏接VCC2 ,RST接平p1.5,SLK接p1.7,I/ O接p1.6。DS18B20采用外部电源供电方式。用p0口驱动LCD1602液晶显示屏。 图2 系统整体硬件电路1、时钟电路设计采用DS1302作为计时芯片,主要为了提高计时精度,更重要的就是DS1302可以在很小的后备电源下继续计时,并可编程选择充电电流来对后备电源进行充电,可以保证后备电源基本不耗电。电路如图3所示。图3 DS1302时钟电路2、温度传感器设计DS18B20是美国DALLAS公司的新一代单总线数字温度传感器,其单总线是将地址线、数据线、控制线合三为一根信号线,单片机只需一根端口线就能与DS18B20串接和通讯。实
8、现了一信号线上进行双向数据传输。图4 DS18B20 电路3、液晶显示电路设计LCD1602液晶显示器属于工业字符型液晶,能够同时显示16x02即32个字符(2行16列)。LCD1602液晶模块内部的字符发生内存(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。LCD1602与单片机之间通过3根控制线和8位并行数据IO线实现交互,电路如图5所示。图5 LCD160
9、2液晶显示电路4、键盘接口电路按键有4个,分别实现为时间调整键、时间增加,时间减少、时间确认按键。四、软件设计本次设计用Keil编程软件进行软件设计。Keil软件是目前最流行的开发MCS-51 系列单片机软件,近年来各仿真机厂商纷纷宣布全面支持Keil。Keil提供了包括C 编译器、宏汇编、连接器、库管理和仿真调试器在内的完整开发方案,通过集成开发环境将这些部分组合在一起。Keil支持汇编语言和C语言的程序设计,易学易用1、系统流程图系统主程序首先对系统进行初始化,显示开机画面。由于单片机没有停止指令,所以可以设计系统程序不断地循环执行上述显示效果。系统流程图如图6所示。时钟芯片初始化Done
10、=0?是否进入液晶显示数据扫描各键功能是开始液晶初始化DS18B20初始化键值处理各标志位初始化Done=1?是否进入键值处理否是图6 系统流程图2、DS18B20芯片程序设计系统程序的设计主要包括C程序主函数、DS18B20复位函数、DS18B20写字节函数、DS18B20读字节函数、温度计算转换函数和显示函数等,系统主程序设计流程图如图10所示。 开始初始显示读取温度值、发温度转换命令读出温度值计算、处理,送显示模块图7 DS18B20芯片程序流程图3、键值处理程序流程图,如图8所示返回扫描各键数据更新位闪控制显示程序关闭时钟调节项目选择扫描各键数据更新位闪控制显示程序扫描各键数据更新位闪
11、控制显示程序扫描各键数据更新位闪控制显示程序扫描各键数据更新位闪控制显示程序扫描各键数据更新位闪控制显示程序秒分时星期月日年开始扫描各键数据更新位闪控制显示程序图8 键值处理程序流程图4、时钟程序的设计因为使用了时钟芯片DS1302,阳历程序只需要从DS1302各寄存器中读出年、周、月、日、小时、分、秒等数据,再处理既可。对其进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示缓存单元。时钟程序流程图见图9所示。 开始初始化13021302开始振荡从1302中读出年、周、月、日、小时、分、秒读出的数据都为BCD码,送显示模块图9 时钟程序流程图5、液晶程序设计时钟需显示时间、温度。
12、以上两个模块都需将数值送显示模块。液晶的一般初始化过程:延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置void en_toggle()en=0;/_nop_();delay();en=1;delay();/ _nop_();en=0; /液晶延时五、仿真调试 1、软件介绍1.1概述Proteus ISIS是英国Labcenter公司开发的电路分析与实物
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 实验 报告 基于 单片机 数字 时钟 设计
链接地址:https://www.31ppt.com/p-4150586.html