2021-2022收藏资料基于单片机的数字万年历温度显示.doc

上传人:知****量 文档编号:19287150 上传时间:2022-06-05 格式:DOC 页数:41 大小:2.22MB
返回 下载 相关 举报
2021-2022收藏资料基于单片机的数字万年历温度显示.doc_第1页
第1页 / 共41页
2021-2022收藏资料基于单片机的数字万年历温度显示.doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《2021-2022收藏资料基于单片机的数字万年历温度显示.doc》由会员分享,可在线阅读,更多相关《2021-2022收藏资料基于单片机的数字万年历温度显示.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、西安航空职业技术学院 基于单片机的数字万年历 毕业设计论文西安航空职业技术学院毕 业 设 计(论 文)论文题目: 基于单片机的数字万年历 所属系部: 电子工程学院指导教师: 职称: 讲师学生姓名: 学号: 11201211专业: 应用电子技术西安航空职业技术学院制西安航空职业技术学院毕业设计(论文)任务书题目: 基于单片机的数字万年历任务与要求:1:在液晶屏上可以实时显示年月日时分秒以及星期、温度等信息 2:可通过按键随时调校和设置年月日时分秒的显示状态 3:具有显示实时温度的功能 4:实物制作时间: 年 月日 至 年 月 日 共 周所属系部: 电子工程学院学生姓名: 学 号: 1120121

2、1专业: 应用电子技术指导单位或教研室: 指导教师: 职 称: 讲师西安航空职业技术学院制:毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。基于单片机的数字万年历【摘要】本论文主要阐述了基于单片机实时显示温度的数字万年历系统,此设计以STC89C52单片机为主控制芯片,以DS1302时钟芯片对时间进行计算,以DS18B20为温度传感器对温度进行采集的系统。该控制系统可以实时显示当前的时间并记录相关的温度数据。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C52单片机最小

3、系统、实时时钟电路、测温电路、LCD1602液晶显示电路以及按键处理模块电路等。系统程序主要包括主程序、读DS1302子程序、读出温度子程序、计算温度子程序、按键处理程序、LCD显示程序等。关键词: 单片机STC89C52;DS1302;LCD1602显示电路;温度传感器DS18B20【Abstract】 This paper mainly expounds the real-time display of temperature based on single chip computer digital calendar system, this design STC89C52 microc

4、ontroller as the main control chip, the clock chip DS1302 time for calculation, using DS18B20 as temperature sensor for temperature acquisition system. The control system can display the current time and recording the temperature data. The system design of the hardware circuit and the related applic

5、ations. The hardware circuit including STC89C52 MCU minimum system, real time clock circuit, temperature measurement circuit, LCD1602 circuit for liquid crystal display and key processing module circuit. System program, including the main program, read the DS1302 subroutine, read-out temperature sub

6、routine,calculated temperature subroutine, key process, LCD display program etc.Key words STC89C52 microcontroller;DS1302;LCD1602 display circuit;temperature sensor DS18B20目 录1.绪论21.1课题设计背景及目的和意义21.1.1课题设计背景21.1.2课题研究的目的和意义22.方案设计与论证32.1主控芯片的方案选择32.2实时时间计算方案论证32.3温度采集的方案论证32.4显示模块的方案选择42.5总体方案43 .系统

7、的硬件电路设计53.1 51系列单片机的结构特点及最小系统53.1.1 51系列单片机的结构特点53.1.2 51单片机最小系统63.2 DS18B20的介绍及温度采集模块电路73.2.1 DS18B20的性能介绍73.2.2 温度采集模块电路83.3 DS1302的介绍及实时时间采集模块电路93.3.1 DS1302的结构及工作原理93.3.2 DS1302引脚功能及结构93.3.3 DS1302控制字介绍93.3.4 DS1302实时时间采集电路103.4 LCD1602的介绍及显示模块电路113.4.1 LCD1602的结构及性能介绍113.4.2 LCD1602的引脚功能与结构113.

8、4.3 LCD1602的指令表123.4.4 液晶显示模块电路图133.5 按键处理模块133.6 电源模块电路144.系统软件设计154.1 DS1302实时采集时间子程序164.2计算温度子程序164.3 按键处理子程序17结 束 语18谢 辞19参考文献20附录一 系统总体电路图21附录二 系统总体仿真电路图22附录三 系统程序231.绪论1.1课题设计背景及目的和意义1.1.1课题设计背景随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆

9、轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。1.1.2课题研究的目的和意义随着电子技术的迅速发展,特别是随

10、大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。其中电子万年历就是一个典型的例子。而且在万年历的基础上还可以扩展其它的实用功能,比如温度计。万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚

11、至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。2.方案设计与论证2.1主控芯片的方案选择方案一:可以使用FPGA实现控制功能。使用FPGA时,电路设计比较简单,通过相应的编程设计,可以很容易的实现控制和显示、按键等功能,是一种可选的方案。但由于FPGA控制板价格比较昂贵,性价比较高,且其功能强大做本课题有点大材小用。方案二:可以使用51系列单片机AT89S52,同样可完成控制、显示、键盘等功能,电路设计和制作比较简单,系统的构建简洁、易行,能方便的实现系统功能,成本也低具有良好的性价比。综上所述,主控芯片选择方案二,利用5

12、1系列单片机AT89S52单片机。2.2实时时间计算方案论证方案一:AT89S52单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且如果单片机掉电无法继续进行计时,所以使用不便。方案二:DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月

13、和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5-5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。综合所述两种方案,宜采用方案(2)实现实时计时功能。2.3温度采集的方案论证方案一:利用传统的温度采集电路,该电路需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,因此电路结构相当复杂,并且这种方式不仅电路复杂,元器件个数多,而且温度采集的线性度和准确度都不理想,抗干扰能力也弱。方案二:利用一线制数字温度

14、传感器DS18B20,该温度传感器功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,并且电路简单,是单总线控制,使得系统的调制与维护比较简单,以及抗干扰能力较传统也比较理想。综上所述,温度采集采用单总线的DS18B20作为温度传感器。2.4显示模块的方案选择方案一:用传统的数码管显示,数码管的优点是亮度高,显示大,驱动部份的软件简单,但数码管一般只适合数字显示,并且占用的IO多,电路复杂。方案二:利用LCD1602液晶显示,可能程序会相对复杂些,但是LCD1602显示信息量大,便于人机交流。综上所述,显示模块利用LCD1602液晶显示屏。2.5总体方案经过方案的选择,本课题设计的是

15、一种以STC89C52单片机为主控制芯片,实时时间计算采用时钟芯片DS1302集成块,用DS18B20作为温度传感器的温度采集控制系统,利用液晶LCD1062作为显示单元。除此之外本系统还包括电源模块、按键处理模块以及单片机最小系统。3 .系统的硬件电路设计硬件电路的设计主要包括单片机系统及显示电路、温度采集电路和按键控制和报警电路三部分。单片机采用STC89C52单片机,采用11.0592MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差;温度采集利用温度传感器DS18B20,利用单总线占用单片机的IO口少,便于控制与调试;显示电路采用LCD12864液晶屏,采用串行传输,占用的单片机I

16、O端口少;按键采用独立式按键,可以减少程序的编写,并且可以减少干扰,更好地控制;报警电路与传统的一样,可以更好地实现人机互动。总体结构图如图3-1所示图3-1.总体结构图3.1 51系列单片机的结构特点及最小系统3.1.1 51系列单片机的结构特点51系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。STC89C52单片机是深圳宏晶科技有限公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存

17、储器RAM;4K片内程序存储器;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ,以上各个部分通过内部总线相连接。如图3-2所示是单片机的外形及引脚图。图3-2.单片机的外形及引脚图 STC89C52单片机的40个引脚中有2个专用的电源引脚20脚为电源负40脚为电源正;2个外接晶振的引脚18和19引脚;4个控制或与其它电源复用的引脚;以及32条输入输出I/O引脚分别是P0口(22脚39脚)、P1口(1脚8脚)、P

18、2口(21脚28脚)及P3口(10脚17脚)。其中P3口为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表 表1 单片机P3.0管脚含义引脚第2功能P3.0RXD(串行口输入端0)P3.1TXD(串行口输出端)P3.2INT0(部中断0请求输入端,低电平有效)P3.3INT1(中断1请求输入端,低电平有效)P3.4T0(时器/计数器0计数脉冲端)P3.5T1(时器/计数器1数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电

19、平有效)3.1.2 51单片机最小系统51单片机的最小系统包括:时钟振荡电路、复位电路、电源电路、程序储存控制电路。时钟振荡电路必须在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,晶体振荡器常用12M,电容用33pf;复位电路采用上电复位,,采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定、时计数器TO和T1,4个8 b的IO端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更

20、为有用。单片机最小系统电路图如图3-3所示图3-3.单片机最小系统电路图3.2 DS18B20的介绍及温度采集模块电路3.2.1 DS18B20的性能介绍采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。传感器输出信号进4.7K的上拉电阻直接接到单片机的引脚上。DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。DS18B20的特点包括(1)系统的特性:测温范围为-55+125 ,测温精度为士0.5;温度转换精度912位可变,能够直接将温度转换值以16位二进

21、制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。(2)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。(3)系统复杂度:由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。(4)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。同时因为DS18B20是全数字元器件,故障率很低,抗干扰性

22、强,因此,减少了系统的日常维护工作。如图3-4为DS18B20的外观图和封装图 图3-4.DS18B20的外观图和封装图3.2.2 温度采集模块电路DS18B20温度传感器只有三根外引线:单线数据传输总线端口DQ ,外供电源线VDD,共用地线GND。DS18B20有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。在本设计中采用外部供电方式实现DS18B20传感器与单片

23、机的连接,其接口电路图如图3-5所示。图3-5.温度采集模块电路3.3 DS1302的介绍及实时时间采集模块电路3.3.1 DS1302的结构及工作原理DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进

24、行涓细电流充电的能力。3.3.2 DS1302引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电;X1和X2是振荡源,外接32.768kHz晶振;RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送;I/O为串行数据输入输出端(双向);SCLK为时钟输入端。如下图3-6为DS1302的引脚图图3-6为DS1302的引脚图3.3.3 DS

25、1302控制字介绍如下表2-DS1302控制字表控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A4A0):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。读数据:读数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据是从最低位到最高位。写数据:控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入也是从最低位(0位)开始。位0(最低有效位):为1

26、表示进行读操作。 如为0,表示要进行写操作,控制字后 SCLK 下降沿 读数据 SCLK上升沿写数据 表2 DS1302控制字表3.3.4 DS1302实时时间采集电路DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。图3-7是DS1302与89C2051的连接图为实时时间采集电路图3-7 DS1302实时时间采集电路3.4 LCD1602的介绍及显示模块电路3.4.1 LCD1602的结构及性能介绍LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可

27、以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。显著特征是微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。如图3-8为LCD1602的外观图图3-8.LCD1602的外观图3.4.2 LCD1602的引脚功能与结构图3-9.LCD1602的引脚图1602采用标准的16脚接口,其中:第1脚:VSS为电源地 第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接

28、地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.4.3 LCD1602的指令表表3 LCD1602的指令表它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00

29、H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显

30、示5x10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据3.4.4 液晶显示模块电路图本课题设计的温度控制系统是采用液晶屏LCD1602作为显示模块,其接口原理图如图3-10所示:图3-10.液晶显示电路模块上图是利用了LCD1602的并行显示,占用了单片机的所有P0,RES为10K的排阻,对P0的所有I/O进行上拉。3.5 按键处理模块本课题设计采用的按键处理模块,其接口原理图如图3-11所示:图3-11.按键处理模块该模块中按

31、键S1为时间设置键;按键S2为时间上调键;按键S3为时间下调键。其中的电阻为上拉电阻3.6 电源模块电路本电源模块采用L7805稳压块,输出为5V。电子组件要正常运作都需要电源电压供电,一般常用的电源电压为+5V或+12V,因为数字IC (Ingegrated Circuit:集成电路)所供给的电压为+5V,而CMOS IC所供给的电压为+12V,7805是一个稳压块。7805稳压管把高电压转换到低电压,7805稳压管具有保护单片机的作用。L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。电源配以开关和指示灯,以方便使用。如图3-12是电源模块的电路图。图3-12.电源

32、模块电路图4.系统软件设计系统的软件语言主要是采用C语言,对单片机进行编程以实现各项功能。主程序对模块进行初始化,而后调用DS1302时间处理子程序、读温度、处理温度、显示、键盘等模块。用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责时间的实时显示以及温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程如图4-1系统程序流程图。 图4-1.系统程序流程图4.1 DS1302实时采集时间子程序DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保

33、护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出),如左图4-2是DS1302实时时间流程图 图4-2. DS1302实时时间流程图4.2计算温度子程序计算温度子程序包括初始化,判断DS18B20是否存在,若存在则进行一系列的读操作,若不存在则返回。其程序流程图如图4-3所示。图4-3.读温度流程图4.3 按键处理子程序按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下,若有则进行一系列的按键输入操作。其程序流程框图如图4-4所示。

34、图4-4.按键处理子程序流程图结 束 语完成情况:此次电路设计基本达到设计要求,可以实时显示时间的年月日时分秒以及可以实测当时温度,经过protues软件调试通过。所得收获:通过几周的努力,基于单片机的数字万年历的毕业设计终于在我的努力下完成了。设计能够成功的完成是与余老师细心的指导和帮助分不开的,在此表示忠心的感谢。在这次毕业设计过程中。通过资料的查阅,制定方案等一系列过程,极大的丰富了我的专业知识,使我的理论与实际动手能力又有了一个很大的提高,特别是在单片机编程方面又学到了不少新的东西。毕业设计使我有机会把自己平时理论学习能够运用到实际中去,理论与实践相结合使我对自己的毕业设更加得心应手,

35、在设计过程中同样也发现自己在各方面还存在不少问题,但经过自己细心修复后一切正常。经过这次也使我真正的认识单片机管脚的重要性,也从此得到了一个教训,做事一定有条理,不能急躁的去干,否则造成大返工,吃亏终就是自己。 毕业设计对我来说,是三年来所学的所有知识的一个非常全面的综合性应用,涉及的理论知识面也很广,需要了解各方面的知识,是理论与实践相结合的最好体现,也是对我们大学三年生活的一种肯定,所以我们大家都是用心去把它做到最好,毕业论文的编写经过了很长的时间,也发现了很多问题,但是在发现问题并解决问题的同时,不仅巩固了自己的知识,更加锻炼了自己的动手能力。参考文献【1】【2】高吉祥,丁文霞等.全国大

36、学生电子设计竞赛培训系列教程-数字系统与自动控制系统设计.电子工业出版社2007年【3】宋双杰,葛宁,洪云飞.电子线路CAD技术.西安电子科技大学出版社2009年【4】张玉莲 编著.电子CAD(protel 99 SE)实训指导. 西安电子科技大学出版社2009年【5】李全利 主编.单片机原理及应用技术 第3版.高等教育出版社北京2011年【6】谭浩强 编著.C程序设计.北京.清华大学出版社【7】杨加国 主编.单片机原理与应用及C51程序设计.清华大学出版社2006年【8】刘文涛 编著.单片机应用开发实例.清华大学出版社2005年【9】蔡美琴,张为民等.MCS-51系列单片机系统及其应用高等教

37、育出版社.2004(06).【10】DS18B20 百度百科. 【11】STC89C52 百度百科. 【12】DS1302 百度百科. 附录一 系统总体电路图附录二 系统总体仿真电路图附录三 系统程序主函数#include#includeDS18B20_3.H#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;/flag用于读取头文件中的温度值,和显示温度值#define yh 0x80 /LCD第一行的初始位置,因为LCD1602字符

38、地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 /LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)/液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)sbit rs=P20;sbit en=P22;sbit rw=P21; /如果硬件上rw接地,就不用写这句和后面的rw=0了sbit led=P26; /LCD背光开关/DS1302时钟芯片与C51之间的引脚连接定义sbit IO=P11;sbit SCLK=P10;sbit RST=P12;sbit ACC0=ACC0;sbit ACC7=ACC7;/校时按键与C51的引脚

39、连接定义sbit key1=P15; /设置键sbit key2=P16; /加键sbit key3=P17; /减键sbit buzzer=P13;/蜂鸣器,通过三极管9012驱动,端口低电平响/*/uchar code tab1=20 - - ; /年显示的固定字符uchar code tab2= : : ;/时间显示的固定字符/延时函数,后面经常调用void delay(uint xms)/延时函数,有参函数uint x,y;for(x=xms;x0;x-) for(y=110;y0;y-); void write_1602com(uchar com)/*液晶写入指令函数*rs=0;/数

40、据/指令选择置为指令rw=0; /读写选择置为写P0=com;/送入数据delay(1);en=1;/拉高使能端,为制造有效的下降沿做准备delay(1);en=0;/en由高变低,产生下降沿,液晶执行命令void write_1602dat(uchar dat)/*液晶写入数据函数*rs=1;/数据/指令选择置为数据rw=0; /读写选择置为写P0=dat;/送入数据delay(1);en=1; /en置高电平,为制造下降沿做准备delay(1);en=0; /en由高变低,产生下降沿,液晶执行命令void lcd_init()/*液晶初始化函数*write_1602com(0x38);/设

41、置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);/开显示不显示光标write_1602com(0x06);/整屏不移动,光标自动右移write_1602com(0x01);/清显示write_1602com(yh+1);/日历显示固定符号从第一行第1个位置之后开始显示for(a=0;a14;a+)write_1602dat(tab1a);/向液晶屏写日历显示的固定符号部分write_1602com(er+2);/时间显示固定符号写入位置,从第2个位置后开始显示for(a=0;a0;a-)IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;uchar read_byte()/读一个字节RST=1;for(a=8;a0;a-)ACC7=IO;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁