毕业设计(论文)-多功能时钟控制器设计.doc

上传人:李司机 文档编号:7026270 上传时间:2024-04-18 格式:DOC 页数:33 大小:2.02MB
返回 下载 相关 举报
毕业设计(论文)-多功能时钟控制器设计.doc_第1页
第1页 / 共33页
毕业设计(论文)-多功能时钟控制器设计.doc_第2页
第2页 / 共33页
毕业设计(论文)-多功能时钟控制器设计.doc_第3页
第3页 / 共33页
毕业设计(论文)-多功能时钟控制器设计.doc_第4页
第4页 / 共33页
毕业设计(论文)-多功能时钟控制器设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)-多功能时钟控制器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-多功能时钟控制器设计.doc(33页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)目 录摘要(1)ABSTRACT(2)第1章前言(3)第2章设计电路原理和器件简介(4)第2.1节总体设计电路框图 (4)第2.2节AT89S52单片机介绍(4)第2.3节各功能模块器件应用说明 (8)2.3.1液晶显示简介 (8)2.3.2温度传感器说明 (9)2.3.3数字时钟简介(10)2.3.4键盘调节模块(11)第3章系统硬件电路设计(13)第3.1节硬件设计原理图(13)第3.2节单片机外围电路原理(13)3.2.1复位、时钟、电源电路原理(13)3.2.2DS1302实时时钟芯片说明(14)3.2.3128*64 LCD接口和显示原理(17)3.2.4高精度数字温

2、度传感器DS18B20实现方式(19)3.2.5键盘对于时间调节功能实现说明(21)第4章系统软件设计(22)第4.1节软件设计流程图(22)第4.2节各模块程序框图(23)第4.3节软件主程序和各模块子程序(25)第5章时钟控制系统调试(27)第5.1节单片机应用系统调试工具说明(27)第5.2节程序调试(28)结论(29)参考文献(30)致谢(31)附录(32)【摘要】 本论文介绍了多功能时钟控制器的系统设计。系统具有时间设置及显示、定时闹铃、温度检测并显示等功能。系统以 AT89S52单片机为核心,主要进行基于AT89S52低功耗MCU的字符型数字钟及其系统的研究。系统带有GXM1286

3、4液晶显示器,配合按键提供友好的用户界面,操作简单,同时具有实时温度检测功能。该数字钟能够长期、连续、可靠、稳定的工作;同时还具有体积小、功耗低等特点,便于携带,使用方便。系统设计包括单片机及其外围硬件部分和计算机软件编程部分。硬件部分主要为软件的实现提供一个运行的基础,计算机软件编程主要实现键盘调节、液晶显示、温度检测等各模块的功能,采用C语言编程。关键字 单片机 液晶显示 温度检测 数字钟 键盘输入 【ABSTRACT】 This thesis describes the design of a multifunctional digital clock and control syste

4、m. It as displaying and setting time for clock and alarm, this system has another special feature, as temperature measurement and display. The core part of the system is based on a king of an advanced MCU, AT89S52, this system mainly carries on low power consume MCU the character list type the resea

5、rch of the digital clock and its system according to the AT89S52. The system takes GXM 128*64 Liquid Crystal Display, matching with a key to provide amity of customer interface, the operation is simple, having the temperature examination function in the meantime. Consecution, credibility, stable wor

6、k, still have a physical volume in the meantime small, the power consume a low etc. characteristics, easy to take, the usage convenience. The system design includes a MCU with its periphery hardware circuit unit and a computer soft programming unit. The hardware circuit unit only provides the run ba

7、sement for the software, the computer software programming unit mainly contains keyboard adjust, Liquid Crystal Display, temperature examination functions, adoption the C language.KeywordSingle-Chip Microcomputer, LCD, Temperature Examination, Digital Clock, Keyboard Input第1章前言近年来随着计算机在社会领域的渗透,单片机的应

8、用正在不断地走向深入,同时带动传统控制检测日新月益。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。因此,可以利用单片机来控制一些外围电路实现更多的功能,比如数字时钟,温度测控,屏幕显示等。数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路、单片机技术的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地

9、扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究多功能数字钟及扩大其应用,有着非常现实的意义。传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差、测量温度准确率低,而且必须经过专门的接口电路转换成数字信号后才能由单片机处理,因此,本次设计采用一种数字温度传感器来实现,以实现其高性能。单片机的主要输出方式除了发光二极管,数码管以外,还有一种重要的方式:液晶显示。液晶模块已经成为单片机系统的一个重要输出器件,液晶显示正广泛应用于便携

10、式仪器仪表、智能充电、消费类电子产品领域。对于现在流行的嵌入式电子产品,显示输出模块是必不可少的,而且液晶显示最大的优点就是能够实现友好的人机界面,在诸多的显示方式中,液晶显示已经成为首选。第2章设计电路原理和器件简介第2.1节总体设计电路框图本设计以AT89S52单片机为核心,控制其它外围电路,以液晶显示作为其显示方式,通过4个按键实现时间调节功能,用三端稳压管7805把9V直流电源转换为5V直流电作为单片机的工作电压,通过外接的编程口STK500实现对单片机的在线编程,高精度的温度传感器实现对周围的温度的测量,利用实时日历时钟芯片提供当前的年、月、日、星期、小时、分钟、秒钟,时钟电路提供单

11、片机的工作时钟,复位电路实现对单片机的复位功能。总体框图如下图(1):图(1)第2.2节AT89S52单片机介绍单片机全称单片微型计算机(Single Chip Microcomputer),指的是一种单硅片上集成微型计算机主要功能部件的集成芯片。AT89S52其内部集成了中央处理器(CPU)、随机数据存储器(RAM)、只读程序存储器(ROM)、定时器/计数器、输入/输出(I/O)接口电路和串行通信接口等主要功能部件。S52单片机引脚分布如图(2):图(2)1、电源引脚VCC和GNDVCC(40脚):电源端,为+5V。GND(20脚):接地端。2、时钟电路引脚XTAL1和XTAL2XTAL1:

12、振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3、控制信号引脚RST、ALE、PSEN、EARST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。

13、为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。4、I/O输入输出端口P0、P1、P2、P3P0:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1:P1 口是一个具有内部上拉电阻的8 位双向I/O

14、 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表(1)所示。在flash编程和校验时,P1口接收低8位地址字节。表(1)P2 :P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用

15、时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 :P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S5

16、2特殊功能(第二功能)使用,如下表(2)所示。在flash编程和校验时,P3口也接收一些控制信号。表(2)S52内部功能模块如下图(3):它可以划分为CPU、存储器(RAM和ROM)、并行口、串行口、定时器/计数器和中断系统等几个部分。图(3)第2.3节各功能模块器件应用说明2.3.1液晶显示简介液晶显示是通过液晶显示模块实现的,液晶显示模块(LCD Module)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件。在单片机系统中使用液晶显示模块作为输出器件具有一下优点:显示质量高,数字式接口,体积小、重量轻,功率消耗低。本设计所用128*64LCD实物如图(

17、4)所示:图(4)液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。通常按照液晶显示方式可以分为段式、点字符式、点阵式等。除了黑白显示外,LCD还有多灰度和彩色显示等。如果根据驱动方式来分,可分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)、主动矩阵驱动(Active Matrix)3种。液晶显示器LCD的显示原理:(1)线段的显示点阵图形式液晶有M*N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16*8=128个点组成,屏上64*16个显示单元与显示RAM区1

18、024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H-00FH的16字节的内容决定,当(000)=FFH时,则屏的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则显示屏的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=FFH,(003H)=00H,(00EH)=FFH,(00FH)=00H时,则在屏的顶部显示一条由8段亮线和8段暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示用LCD显示一个字符时比较复杂,因为一个字符由6*8或8*8点阵组成,既要找到和显示屏上的某几个位置对应的RA

19、M区的8字节,还要使每字节的不同的位为“1” ,其他的为“0” ,为“1”的点亮,为“0”的不亮,这样一来就组成某个字符。(3)汉字的显示汉字的显示一般采用图形方式,事先提取要显示的汉字的点阵码,每个汉字占32B,分左右两半部,各占16B,左边为1、3、5、7右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二字节,换行按列对齐,送第三字节直到32B显示完就可在LCD上得到一个完整的汉字。显示如图:2.3.2温度传感器说明单片机的接口是数字电信号,要想用单片机获取温度这类非电信号的信息,必须使用温度传感

20、器。温度传感器的作用是将温度信息转换为电流或者电压输出,然后进行A/D转换,以满足单片机接口的需要。本次设计使用数字温度传感器DS18B20,可直接将被测温度转换成串行数字信号,以供单片机处理,它还具有微型化、低功耗、高性能、抗干扰能力强等优点。通过编程,DS18B20可以实现9-12位的温度读数。信息经过单线接口送入或者送出,因此从微处理器到DS18B20仅需连接一条信号线。测量范围为-55+125,在-10+85范围内误差为0.5。将12位的温度值转换为数字量所需时间不超过750ms,转换速度快。DS18B20外观如下图(5):图(5)2.3.3数字时钟简介在单片机应用系统中,常常需要记录

21、实时的时间信息并且长期保存。比如,数据采集时,对某些重要的信息不仅需要记录其内容,还需要记录下该事件发生的准确时间。我们经常可以在银行的大厅中看到显示汇率的显示屏,上面除了显示利率等信息外,还显示着当时的准确时间信息,其中包括年、月、日、星期、时间等,这就需要用到时钟芯片来精确地提供时间信息和保存当时时间数据。本次设计用的为DS1302涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需要用到3个口线:(1)RES(复位),(2)I/O数据线,(3)SCLK(串行时钟)。DS1302工作

22、时功耗很低,保持数据和时钟信息时,功率小于1mW。在电话、传真、便携式仪器以及电池供电的仪器等产品领域都有广泛应用。引脚图和引脚说明如下图(6):图(6)基本工作原理:该串行时钟芯片主要由寄存器、控制寄存器、振荡器、实时时钟以及RAM组成。为了对任何数据传送进行初始化,需要将/RST置为高电平且将8位地址和命令信息装入移位寄存器。数据在SCLK的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。DS1302结构如下图(7):图(7)2.3.4键盘调节模块在单片机应用系统中,通常应具有人机对话功能,能随时发出各种控制命令和数据输入以

23、及报告应用系统的运行状态与运行结果。键盘可以分为独立连接式和矩阵式两类,本设计采用独立式非编码键盘。独立式按键是指直接用用I/O口线构成的单个按键电路。每个独立式按键各单独占有一根I/O口线。每根I/O口线的工作状态不会影响其他I/O口线的工作状态。独立式按键接口电路如图(8)所示:图(8)独立式按键接口电路配置灵活,软件结构简单,但每一个按键必须占有一根I/O口线。在键数较多时,I/O口线浪费较大,故只在按键数量不多时才采用这种按键电路,在本设计使用4个独立式按键可以实现对显示时间的调节,设置DS1302时钟芯片的初始时间和校准当前在LCD上的显示时间。第3章系统硬件电路设计第3.1节硬件设

24、计原理图总体电路原理图设计完后利用Protel DXP绘制,该软件通过设计文件包的方式,将原理图编辑、电路仿真、PCB图设计等功能结合在一起,提供了一个集成开发环境。在本设计中只用到了其中的SCH(原理图)设计功能。硬件电路原理图见附录1。第3.2节单片机外围电路原理3.2.1复位、时钟、电源电路原理单片机复位电路可以对单片机初始化,重新开始工作。也可以在单片机程序跑飞时使系统重新正常工作。同时也是在程序调试时必须要用到,来测试所写的程序和设计的硬件电路是否正确的重要手段。电源电路的功能是为整个单片机系统提供稳定的5V电压。输入电压选择9V的直流电源,经过三端稳压管LM7805,最后输出电压保

25、持恒定,为5V。实际测的数值略低于5V,可以使单片机正常工作。时钟电路可以为单片机提供整个系统工作的时钟脉冲。AT89S52内部有一个用于构成内部振荡器高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体谐振器一起构成自激振荡器,外接电容C1和C2可以增加振荡器工作的稳定性,本次设计使用的晶振为11.0592MHZ。复位、时钟、电源电路原理图如下图(9):图(9)3.2.2DS1302实时时钟芯片说明(1)DS1302与CPU的连接仅需要3条线,即SCLK(7)、I/O(6)和RST(5)。DS1302与单片机的连接图如图(10)。

26、VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。VCC2在双电源系统中提供主电源,在这种方式下VCC1连接到备份电源,以便在没有主电源的情况下能够保存时间信息以及数据。DS1302有VCC1和VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。由于本设计内容不作保存,所以供电时两个都接入VCC,时钟芯片可以正常工作。图(10)(2)控制命令字节和寄存器控制命令字节结构:表(3)控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示

27、存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)为0表示要进行写操作,为1表示要进行读操作,控制字节总是从最低位开始输出。寄存器结构:DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见下表(4):寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10 SECSEC分寄存器82H83H00-59010 MINMIN时寄存器84H85H01-12或00-2312/24010/APHRHR日寄存器86H87H01-28、29、30、310010DA

28、TEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000WEEK年寄存器8CH8DH00-9910 YEARYEAR表(4)表中有些特殊位需要特别指出:CH:时钟暂停位,当此位设置为1时,振荡器停止,DS1302处于低功率的备份方式;当此位变为0时,时钟开始启动。12/24:12或24小时方式选择位,为1时选择12小时方式。在12小时方式下,位5是AM/PM选择位,此位为1时表示PM。在24小时方式下,位5是第2个小时位(2023)。(3)数据输入和输出在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0

29、开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。单字节传输时序和突发模式传输时序如图(11):单字节传送多字节传送图(11)3.2.3128*64 LCD接口和显示原理在一般情况下,液晶器件的驱动需要两种不同的电源电压,一种是+5V(工作电压),另一种是-10V(背景光对比度调节电压)。所以,使用液晶模块时,需要设计专门的液晶电源电路。液晶电源电路的作用就是将输入电压转换成这两种电压信号,为液晶显示模块提供工作电压。MAX1677是双电压输出升压DC-DC变换器,它是一种专门为LCD提供电源的芯片,可以产生这两种可调电压输出

30、。实际使用电路如图(12)所示:Vin为电源电路的输入端(0.75.5V),Vout1输出+5V的电压,作为系统的电源电压;Vout2输出-10V的电压,作为液晶显示模块的背光电源电压。图(12)本次毕业设计中选用的液晶显示模块GXM12864,它内含KS0108B控制器,是一种采用低功耗CMOS技术实现的点阵图形LCD模块,有8位的微处理器接口,通过内部的128*64位映射DDRAM(Display Data RAM)实现128点*64点大小的平板显示。该液晶显示模块使用KS0108B作为列驱动器,同时使用KS0107B作为行驱动器。KS0107B不与CPU发生联系,只要提供电源就能产生行驱

31、动信号和各种同步信号。GXM12864LCD的内部逻辑电路如图(13)所示:/CSA与KS0108B(1)的CS1相连,/CSB与KS0108B(2)的CS1相连,因此/CSA、/CSB选通组合信号为:/CSA、/CSB=01时,选通KS0108B(1);/CSA、/CSB=10时,选通KS0108B(2);为其它值时,禁止选通,总线处于高阻态。KS0107BLCD:VGLS-12864128*64点KS0108B(1)KS0108B(2)646464VDDVSSV0/CSA/CSBDB0DB7D/IR/WE图(13)液晶显示器128*64LCD共有20个引脚,其中,DB0DB7是8位双向数据

32、总线,它的方向由读写控制脚R/W来决定,高电平为读,此时数据出现在总线上,可以由CPU读走;低电平为写,可以写入8位数据。E为使能信号脚,高电平有效。D/I是数据指令选择脚,为高电平表示数据操作,为低电平表示写指令或读状态。如下表(5):引脚号引脚名称引脚定义1VSS 数字地2VDD逻辑电源(+5V)3V0对比度调节4D/I指令数据通道5R/W读写选择6E使能信号(高电平有效)714DB0DB78位数据线15/CSA片选116/CSB片选217RST复位信号(低电平有效)引脚号引脚名称引脚定义18VOUT2液晶驱动电压输出端19VDD背光源正端(+5V)20VSS背光源负端(接地)表(5)本次

33、毕业设计所用液晶显示屏128*64LCD与AT89S52单片机连接如图(14):AT89S52的P0口直接与液晶模块的数据线DB0DB7相连;P2口的5、4、3、2、1、0引脚分别与液晶模块的RST、/CSB、/CSA、E、R/W、D/I相连,在单片机程序执行的过程中,对它们作相应的控制。电位器R1的作用是调节提供给驱动器的供压,从而调节液晶显示器的对比度。图(14)3.2.4高精度数字温度传感器DS18B20实现方式由于DS18B20为单线数字温度传感器,所以与单片机的连接比较简单,如图(15)图(15)DS18B20的核心功能部件是它的数字温度传感器,它的分辨率可配置为9、10、11、12

34、位,默认设置为12位分辨率,它们对应的温度值分辨率分别为0.5、0.25、0.125、0.0625 。温度信息的低位、高位字节内容中还包括了符号位S和二进制小数部分,具体形式如下:这是12位分辨率的情况,如果配置为低的分辨率,则其中无意义位为0。低位字节(MSBLSB):高位字节(MSBLSB):实测温度和数字输出的对应关系如表(6):表(6)3.2.5键盘对于时间调节功能实现说明本次设计中设置有四个独立按键,功能分别为模式,设置,加一,减一。再配合液晶显示屏实现友好的用户界面。与单片机连接如图(16):图(16)第4章系统软件设计第4.1节软件设计流程图主程序框图如下图(17),上电时先对系

35、统进行初始化,对时钟芯片写入初值,使DS1302开始工作,温度传感器检测温度,每隔一秒对LCD显示的数据进行更新。在调节时间时,同时对LCD显示进行更新。开始初始化LCD系统显示初始化写DS1302初值读DS1302时间LCD显示更新启动温度转换读取温度值按键扫描按键处理图(17)第4.2节各模块程序框图温度传感器DS18B20工作流程如图(18):开始初始化DS18B20应答脉冲?YESNO发起Skip Rom命令发起Convert T命令延时750ms等待温度转换完成初始化DS18B20应答脉冲?YESNO发起Read Scratchpad命令读取温度数据第1、2字节图(18)DS1302

36、时钟芯片和液晶显示流程如图(19):开始写DS1302控制字关DS1302写保护写DS1302地址向该地址写数据写DS1302地址向该地址读数据数据送显示结束开始延时关显示指令LCD清屏设置页、列地址开显示指令显示数据结束图(19)第4.3节软件主程序和各模块子程序设计主程序:在main()函数中包括对LCD显示,DS1302时钟芯片数据读写,DS18B20数字温度传感器测量数据函数的调用和对键盘调节函数的操作。部分程序函数如下:InitialLcd();/LCD显示初始化DS1302_ReadClockBurst(TimeBuffer);/读时间DS1302_WriteClockBurst(

37、TimeBuffer);/写时间convert();/ 温度转换 RdTemp();/ 读取温度KeyScan();/按键扫描KeyPro();/按键处理Time_Dis();/LCD数据显示更新LCD显示模块程序函数:void BusyOrNot(void);/判忙 void WriteCommandToRightArea(uchar Command);/向右区写命令 void WriteDataToRightArea(uchar _Data,bit Reverse);/向右区写数据 void WriteCommandToLeftArea(uchar Command);/向左区写命令 voi

38、d WriteDataToLeftArea(uchar _Data,bit Reverse);/向左区写数据 void ShowLcd(uchar on);/开显示void InitialLcd(void);/清液晶RAM,定位起始0行0列,开显示void ClearLcdRam(void);/清内存void LocateLcdColumn(uchar Column);/列定位void LocateLcdPage(uchar Page);/页定位void LocateLcdPageColumn(uchar Page,uchar Column);/定位页与列void WriteOneColumn

39、(uchar _Data,bit Reverse);/写一列,Reverse为反白标志void LCDDelay(void);/延时DS1302时钟模块程序函数:void DS1302_SendByte(uchar _Data);/发送一字节数据uchar DS1302_ReceiveByte();/接受一字节的数据void DS1302_Write(uchar Address,uchar _Data);/向指定地址写一字节数据void DS1302_Read(uchar Address);/从指定地址读一字节数据void DS1302_WriteClockBurst(uchar * Time

40、Buffer);/时钟突发写模式void DS1302_ReadClockBurst(uchar * TimeBuffer);/时钟突发读模式void DS1302_WriteRamBurst(uchar * DataPointer);/用户RAM突发写模式void DS1302_ReadRamBurst(uchar * DataPointer);/用户RAM突发读模式DS18B20测温模块程序函数:void ds18b20_delay(uint t);/延时t毫秒void TxReset(void);/产生复位脉冲初始化DS18B20void RxWait(void);/等待应答脉冲bit

41、RdBit(void);/读取数据的一位uchar RdByte(void);/读取数据的一个字节void WrByte(uchar b);/写数据的一个字节void convert(void);/启动温度转换void RdTemp(void);/读取温度值第5章时钟控制系统调试第5.1节单片机应用系统调试工具说明本设计中所写程序都在Keil C编译器中运行和调试。Keil提供了一个集成开发环境uVision,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。运行界面如图(20)所示。使用Keil C对程序进行调试和编译:1、建立工程。2、对工程的参数设置。3、对工程进行编译和连接。图(20)第5.2节程序调试(1)实现在液晶屏上显示静态画面:写LCD驱动程序,把要显示的数据送到显示屏。由于还未加如动态更新和时钟信息,显示的年、月、日等时间信息为静止的。(2)显示动态时间:在液晶屏能正常显示的基础上,由时钟芯片提供精确的时间信息,由单

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号