AT89S52单片机多功能时钟电路设计

上传人:沈*** 文档编号:62758587 上传时间:2022-03-16 格式:DOC 页数:40 大小:1.77MB
返回 下载 相关 举报
AT89S52单片机多功能时钟电路设计_第1页
第1页 / 共40页
AT89S52单片机多功能时钟电路设计_第2页
第2页 / 共40页
AT89S52单片机多功能时钟电路设计_第3页
第3页 / 共40页
点击查看更多>>
资源描述
目录摘要 ,4 175 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5(1)ABSTRACT ,(2)第 1 章 前言 ,*1 *口 J 115555555555555555555555555(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.2 DS1302 实时时钟芯片说明 ,( 14)323 128*64 LCD接口和显示原理(17)3.2.4高精度数字温度传感器 DS18B2C实现方式,,,(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)致谢 ,(5555555555555555555555555555531 )附录 , (1 1J J5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 532)【摘要】 本论文介绍了多功能时钟控制器的系统设计。系统具有时间设置及显示、定时闹铃、温度检测并显示等功能。系统以 AT89S52单片机为核心,主要进行基于 AT89S52低 功耗MCUI勺字符型数字钟及其系统的研究。系统带有GXM1286液晶显示器,配合按键提供友好的用户界面,操作简单,同时具有实时温度检测功能。该数字钟能够长期、连续、 可靠、稳定的工作;同时还具有体积小、功耗低等特点,便于携带,使用方便。系统设计 包括单片机及其外围硬件部分和计算机软件编程部分。硬件部分主要为软件的实现提供一 个运行的基础, 计算机软件编程主要实现键盘调节、 液晶显示、 温度检测等各模块的功能, 采用 C 语言编程。关键字 单片机 液晶显示 温度检测 数字钟 键盘输入- 1 -【 ABSTRACT 】 This thesis describes the design of a multifunctional digital clock and control system. 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, A T89S52, this system mainly carries on low power consume MCU the character list type the research 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 work, 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 basement for the software, the computer software programming unit mainly contains keyboard adjust, Liquid Crystal Display, temperature examination functions, adoption the C language.Keyword Single-Chip Microcomputer, LCD, Temperature Examination, Digital Clock, Keyboard Input- 2 -第 1 章 前言近年来随着计算机在社会领域的渗透 , 单片机的应用正在不断地走向深入,同时带动 传统控制检测日新月益。在实时检测和自动控制的单片机应用系统中,单片机往往是作为 一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具 体应用对象特点的软件结合,以作完善。因此,可以利用单片机来控制一些外围电路实现 更多的功能,比如数字时钟,温度测控,屏幕显示等。数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭 车站,码头办公室等公共场所, 成为人们日常生活中不可少的必需品, 由于数字集成电路、 单片机技术的发展和石英晶体振荡器的广泛应用,使得数字钟的精度 , 远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功 能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、 定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表 数字化为基础的。因此,研究多功能数字钟及扩大其应用,有着非常现实的意义。传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差、测量温度准 确率低,而且必须经过专门的接口电路转换成数字信号后才能由单片机处理,因此,本次 设计采用一种数字温度传感器来实现,以实现其高性能。单片机的主要输出方式除了发光二极管,数码管以外,还有一种重要的方式:液晶显 示。液晶模块已经成为单片机系统的一个重要输出器件,液晶显示正广泛应用于便携式仪 器仪表、智能充电、消费类电子产品领域。对于现在流行的嵌入式电子产品,显示输出模 块是必不可少的,而且液晶显示最大的优点就是能够实现友好的人机界面,在诸多的显示 方式中,液晶显示已经成为首选。- 3 -第2章设计电路原理和器件简介第2.1节总体设计电路框图本设计以AT89S52单片机为核心,控制其它外围电路,以液晶显示作为其显示方式, 通过4个按键实现时间调节功能,用三端稳压管 7805把9V直流电源转换为5V直流电作 为单片机的工作电压,通过外接的编程口STK500实现对单片机的在线编程,高精度的温度传感器实现对周围的温度的测量,利用实时日历时钟芯片提供当前的年、月、日、星 期、小时、分钟、秒钟,时钟电路提供单片机的工作时钟,复位电路实现对单片机的复位 功能。总体框图如下图(1):调节按键 液晶显示屏=电源转换电路rzr复位电路AT89S52=STK50 傑程口舷传潴实吋日历时钟图(1)第2.2节 AT89S52单片机介绍单片机全称单片微型计算机(Single Chip Microcomputer),指的是一种单硅片上集成微型计算机主要功能部件的集成芯片。AT89S52其内部集成了中央处理器(CPU)、随机数据存储器(RAM )、只读程序存储器(ROM )、定时器/计数器、输入/输出(I/O) 接口电路和串行通信接口等主要功能部件。-5 -S52单片机引脚分布如图(2):13171:1419is飢范二)(ADOJPO.CP 口 (TiEX)COl)PO,lP1.2(AD2JM.2P1.3CAD31PGJPL4(AD4JPD.4P1.5(MOSDPI.6J1IIS0)(ADtfjPD.eFI.(SCK)(ADPQ-ASJP2.CP3.i(r?fo(AP)P2,L (AL0)P2.2Pj.5:T1)(AL1)P2.3(A12JP2.4(A13)P2.5EAVPP(AL4JP2.6(ALi)P27XTAL1XTAL2VCC GNDRSTRXD:iP3.:(TXDJP3.1曲二迈i.UZPROGPSATSPS52-02-0 u 00 u CINCV(BOTTOM X7EW-)TO-92(DS18B20)图(5)-11-#-233 数字时钟简介在单片机应用系统中,常常需要记录实时的时间信息并且长期保存。比如,数据采集 时,对某些重要的信息不仅需要记录其内容,还需要记录下该事件发生的准确时间。我们 经常可以在银行的大厅中看到显示汇率的显示屏,上面除了显示利率等信息外,还显示着 当时的准确时间信息,其中包括年、月、日、星期、时间等,这就需要用到时钟芯片来精 确地提供时间信息和保存当时时间数据。本次设计用的为DS1302涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态 RAM可以通过串行接口与单片机进行通信。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需要用到3个口线:(1)RES(复位),(2) I/O数据线,(3)SCLK(串 行时钟)。DS1302工作时功耗很低,保持数据和时钟信息时,功率小于1mW/在电话、传真、便携式仪器以及电池供电的仪器等产品领域都有广泛应用。引脚图和引脚说明如下图(6):Vcc:n16VCC1XI 27(SCLKX2 口3eGNori45e-PIN Diploe MIL;PIN DESCRIPTIONX1.X2- 32768 kHz Crystal Pins- GroundRSTRssstI/O-Data Input/OutputSCLK-Serial ClockVCC1; VCC2 -Power Supply Pins图(6)基本工作原理:该串行时钟芯片主要由寄存器、控制寄存器、振荡器、实时时钟以及RAM&成。为了对任何数据传送进行初始化,需要将/RST置为高电平且将8位地址和命令信息装入移位寄 存器。数据在SCLK勺上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后, 在之后的时钟周期,读操作时输出数据,写操作时输入数据。DS1302吉构如下图(7):DS1302 BLOCK DIAGRAM图(7)2.3.4键盘调节模块在单片机应用系统中,通常应具有人机对话功能,能随时发出各种控制命令和数据输 入以及报告应用系统的运行状态与运行结果。键盘可以分为独立连接式和矩阵式两类,本 设计米用独立式非编码键盘。独立式按键是指直接用用I/O 口线构成的单个按键电路。每个独立式按键各单独占有 一根I/O 口线。每根I/O 口线的工作状态不会影响其他I/O 口线的工作状态。独立式按键 接口电路如图(8)所示:AT89S52P1.0pi 1P1 2P1 3图(8)独立式按键接口电路配置灵活,软件结构简单,但每一个按键必须占有一根I/O 口线。 在键数较多时,I/O 口线浪费较大,故只在按键数量不多时才米用这种按键电路,在本设 计使用4个独立式按键可以实现对显示时间的调节,设置DS1302时钟芯片的初始时间和校准当前在LCD上的显示时间。-13-第 3 章 系统硬件电路设计第 3.1 节 硬件设计原理图总体电路原理图设计完后利用 Protel DXP 绘制,该软件通过设计文件包的方式,将 原理图编辑、电路仿真、 PCB 图设计等功能结合在一起,提供了一个集成开发环境。在本 设计中只用到了其中的SCH(原理图)设计功能。硬件电路原理图见附录 1。第 3.2 节 单片机外围电路原理3.2.1 复位、时钟、电源电路原理单片机复位电路可以对单片机初始化,重新开始工作。也可以在单片机程序跑飞时使 系统重新正常工作。同时也是在程序调试时必须要用到,来测试所写的程序和设计的硬件 电路是否正确的重要手段。电源电路的功能是为整个单片机系统提供稳定的 5V电压。输入电压选择9V的直流电 源,经过三端稳压管LM7805最后输出电压保持恒定,为 5V。实际测的数值略低于5V, 可以使单片机正常工作。时钟电路可以为单片机提供整个系统工作的时钟脉冲。AT89S52内部有一个用于构成内部振荡器高增益反相放大器,引脚 XTAL1和XTAL2分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体谐振器一起构成自激振荡器,外接电容 C1 和 C2可以增加振荡器工作的稳定性,本次设计使用的晶振为11.0592MHZ复位、时钟、电源电路原理图如下图( 9):VgT曲31XTAL1ll 0592PL0(T2)(ADOJM.OP1.1(T2EX.1Pl .3(AD3JK Pl 41-2(X1031Dd.jPU .5Pl 4OIIS0)F1.7(SCK)(AI厂删广Pj.jINT1)(A8JP2.0P3-XIKT0)(A)P2.1P3.5(T1)(AlOJPl:(Al. l.iPJ .5Pj.4 XTAL1XTALJvccGNDRST(RXDJP3.0CTXDJPj.lP3.7::KD)ALE PROGpj絆烏PSESATS?Sf2iiT37s22豆II34J 321图(9)322DS1302实时时钟芯片说明(1) DS1302与 CPU勺连接仅需要 3 条线,即 SCLK( 7)、I/O (6)和 RST( 5)。DS1302 与单片机的连接图如图(10)。VCC1在单电源与电池供电的系统中提供低电源并提供低功 率的电池备份。VCC2在双电源系统中提供主电源,在这种方式下VCC1连接到备份电源,以便在没有主电源的情况下能够保存时间信息以及数据。DS1302有 VCC1和VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V寸,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302 由VCC1供电。由于本设计内容不作保存,所以供电时两个都接入VCC时钟芯片可以正常工作。把沁I Fl L T2EZC Pl J3 K4Pl 6Pl Kti抻 3 r-九 3 53tTiW 1 T1旳I 4 TijXIAUX1A12対T p空 Fl d vTHH忙G Hr vesXLEIO4l_|丨1图(10)沁即C Ai W : 帕他:AL L -Fl JA! K |2 ycccSM?Tmii-3:(2)控制命令字节和寄存器控制命令字节结构:?65432101RAN/CKA4A3A2A1A0RD/S表(3)控制字节的最高有效位(位7)必须是逻辑1,如果它为0,贝U不能把数据写入 DS1302 中,位6如果为0,则表示存取日历时钟数据,为 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、310010DATEDATE月寄存器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开始。同样,在紧跟8位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302的数据,读出数据时从低位 0位到高位7。单字节传输时序和突发模式传输时序如图(11):单字节传送 /1234567 D 123斗!5寻 7I/O | A0 A1 | A2 A3 M1|ADDRESS COMMANDDATA i NPUTOUTPUT多字节传送SCLKRSTI/O1234507124567IR/W11111RiC13 Jr ifJ JADDRESS COMMAND ATA ! 日 YTE 1DTA BYTE N-17-#-图(11)-#-18-3.2.3 128*64 LCD接口和显示原理在一般情况下,液晶器件的驱动需要两种不同的电源电压,一种是 +5V (工作电压), 另一种是-10V (背景光对比度调节电压)。所以,使用液晶模块时,需要设计专门的液晶 电源电路。液晶电源电路的作用就是将输入电压转换成这两种电压信号,为液晶显示模块 提供工作电压。MAX1677是双电压输出升压DC-DC变换器,它是一种专门为 LCD提供电源的芯片,可 以产生这两种可调电压输出。实际使用电路如图(12)所示:Vin为电源电路的输入端(0.7 5.5V),Vout1输出+5V的电压,作为系统的电源电压;Vout2输出-10V的电压,作为液晶显示模块的背光电源电压。Q.Vw Aslsnclxjm茶工曳QI1=C1:C3LIMBR3SPIKK图(12)R1330K.R2110KOUTPOUTLXGNDLCDLXLBILBOREF亡 LKSELLCDONONLCDGrDLCDPOLFBMiKDLCDFBVIhlAXIL10U 1S-L5r本次毕业设计中选用的液晶显示模块 GXM1286,它内含KS0108B控制器,是一种采用 低功耗CMOS技术实现的点阵图形LCD模块,有8位的微处理器接口,通过内部的 128*64 位映射DDRAMDisplay Data RAM )实现128点*64点大小的平板显示。该液晶显示模块 使用KS0108B乍为列驱动器,同时使用 KS0107B乍为行驱动器。KS0107B不与CPU发生联 系,只要提供电源就能产生行驱动信号和各种同步信号。GXM12864LCI的内部逻辑电路如图(13)所示:/CSA与 KS0108B( 1)的 CS1 相连,/CSB与 KS0108B( 2)的 CS1 相连,因 此/CSA、/CSB 选通组合信号为:/CSA /CSB=01 时,选通 KS0108B( 1); /CSA、/CSB=10时,选通KS0108B( 2);为其它值时,禁止选通,总线处于高阻态图(13)液晶显示器128*64LCD共有20个引脚,其中,DBA DB7是8位双向数据总线,它的 方向由读写控制脚R/W来决定,高电平为读,此时数据出现在总线上,可以由 CPU卖走; 低电平为写,可以写入8位数据。E为使能信号脚,高电平有效。D/I是数据指令选择脚, 为高电平表示数据操作,为低电平表示写指令或读状态。如下表( 5):引脚号引脚名称引脚定义1VSS数字地2VDD逻辑电源(+5V)3V0对比度调节4D/I指令数据通道5R/W读写选择6E使能信号 (高电平有效)714DB(DB78位数据线15/CSA片选116/CSB片选217RST复位信号 (低电平有效)引脚号引脚名称引脚定义18V0UT2液晶驱动电压输出端19VDD背光源正端(+5V)20VSS背光源负端(接地)表(5)本次毕业设计所用液晶显示屏 128*64LCD与AT89S52单片机连接如图(14) : AT89S52 的P0 口直接与液晶模块的数据线 DBA DB7相连;P2 口的5、4、3、2、1、0引脚分别与 液晶模块的RST /CSB /CSA、E、R/W D/I相连,在单片机程序执行的过程中,对它们 作相应的控制。电位器 R1的作用是调节提供给驱动器的供压,从而调节液晶显示器的对 比度。C1C1R5TPs.afKfo)Pl.ifMQSC)Pl.1300P5.3(TL)Pl.OfH)P1.HT2E0a XTJU.LXTAU1IdP3.6(WiII卜AE)P2.0(A1W2.2AL3P2.4 卿dAW2.6 從1坤2户LC-K(心卿上 (ADlC.I (ADZjPC.l (AD两(AD 沁 5 心卿.8 IAD)PO.vetCKDrrMJffs.iiPSST0U1 VDD VSS;图(14)3.2.4 高精度数字温度传感器DS18B2C实现方式由于DS18B2C为单线数字温度传感器,所以与单片机的连接比较简单,如图(15)VCCU113NCNCNCNCVDDNCDQGNDU2DS ISE 20烈皆41431ISCl22pfl7Pl.o craM.OPl.1 CE2EJQPO.lP1.2P0.2Pl-5PC.JP1.-1P0.4Pl.5“ HrM 5Pl.ea-亠P0.6F1.7P0.7P3.2(TiP2 0P3.3P2.1P2.2F 3.4 (TO)P3.5 (Tl)P2.4P2 5EA-PPP2 6P2JXTALOXTAL1vssVCCRESET(KXDJPj.OP3.fi (WR)CTKD)P3.1P3;7(RD)ALE (PROG)PSW2S二O.luf4G11图(15)DS18B20的核心功能部件是它的数字温度传感器,它的分辨率可配置为9、10、11、12位,默认设置为12位分辨率,它们对应的温度值分辨率分别为0.5 C、0.25 C、0.125 C、0.0625 C。温度信息的低位、高位字节内容中还包括了符号位S和二进制小数部分,具体形式如下:这是 12位分辨率的情况,如果配置为低的分辨率,则其中无意义 位为0。低位字节(MSB- LSB :bn 7bit 6bit?bit 4bit 3bit 2bit 1bicO-22-222l2212J高位字节(MSB- LSB):bit 15bit 13bit 12bit 11bit 10bit 9bit-#-sssss2625-#-实测温度和数字输出的对应关系如表(6):温度值数字输岀二逬制)数字输岀(十六逬制)+125CC0000 0111 1101 000007D0h+85C*0000 0101 0101 0000055011-25.0625C0000 0001 1001 0001019111+10J25C0000 0000 1010001000A2h+0,5C0000 0000 0000 10000008hoc0000 0000 0000 0000OOOOh-OJCmi mi ini 1000FFF81110.125Cmi mi oioi moFF5E11-25.0625C1111 11100110 1111FECFh-55Cmi lioo looi ooooFC90h表(6)325键盘对于时间调节功能实现说明本次设计中设置有四个独立按键,功能分别为模式,设置,加一,减一。再配合液晶显示屏实现友好的用户界面。与单片机连接如图(16):第4章系统软件设计第4.1节软件设计流程图主程序框图如下图(17),上电时先对系统进行初始化,对时钟芯片写入初值,使DS1302 开始工作,温度传感器检测温度,每隔一秒对LCD显示的数据进行更新。在调节时间时,同时对LCD显示进行更新。图(17)-25-第4.2节各模块程序框图温度传感器DS18B2C工作流程如图(18):图(18)-26-DS1302寸钟芯片和液晶显示流程如图(19):图(19)-27-第 4.3 节 软件主程序和各模块子程序设计主程序:在 main()函数中包括对LCD显示,DS1302寸钟芯片数据读写,DS18B20 数字温度传感器测量数据函数的调用和对键盘调节函数的操作。部分程序函数如下:InitialLcd();/LCD 显示初始化DS1302_ReadClockBurst(TimeBuffer) ;/ 读时间DS1302_WriteClockBurst(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) ;/ 向左区写命令void 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(uchar _Data,bit Reverse) ; / 写一列 ,Reverse 为反白标志void LCDDelay(void) ; / 延时DS1302时钟模块程序函数:void DS1302_SendByte(uchar _Data) ; / 发送一字节数据uchar DS1302_ReceiveByte() ; / 接受一字节的数据void DS1302_Write(uchar Address,uchar _Data) ; / 向指定地址写一字节数据;/ 时钟突发写模式;/ 时钟突发读模式;/用户RAM突发写模式 ;/用户RAM突发读模式void DS1302_Read(uchar Address) ;/ 从指定地址读一字节数据void DS1302_WriteClockBurst(uchar * TimeBuffer) void DS1302_ReadClockBurst(uchar * TimeBuffer) void DS1302_WriteRamBurst(uchar * DataPointer) void DS1302_ReadRamBurst(uchar * DataPointer)DS18B2C测温模块程序函数:void ds18b20_delay(uint t) ; / 延时 t 毫秒void TxReset(void) ; / 产生复位脉冲初始化 DS18B20 void RxWait(void) ; / 等待应答脉冲 bit RdBit(void) ; / 读取数据的一位 uchar RdByte(void) ; / 读取数据的一个字节 void WrByte(uchar b) ; / 写数据的一个字节 void convert(void) ; / 启动温度转换 void RdTemp(void) ; / 读取温度值-30-第5章时钟控制系统调试第5.1节单片机应用系统调试工具说明本设计中所写程序都在Keil C编译器中运行和调试。Keil提供了一个集成开发环境 uVision ,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。运 行界面如图(20)所示。X%iJon2 - C:XKEILC51UNCVREG52.HJz*-REGS2.H-523 Target 1Fl tzi Source Group 1 初 STARTUP,A51 -盡mari.c使用Keil C对程序进行调试和编译:1、建立工程。2、对工程的参数设置。3、对工 程进行编译和连接。0 Files 百1rea52.ti.Icd-h1 inbins.ti Q ds 1302. h dsiabao.i- :;i absa匚匚-h 日 stdio.h 筍 rTAth.h cd.c 前 Icd.h 為 reg52.li 叵|Header file for generic 80C52 and S0C32 microcont-rol 1 er- Copyright (c) 1980-2002 Keil Elektronik QmhH and Keil SoFtwar Al 1 rights reserved.REG52_H_z*BYTERegigtersf rP0=OkEO;sf rPl-0z90;srP2 OxAO;sfrP3-OxBO;sf rPSW-OkDO*sfrACC=OkEO;dldefine EEG52 _|Build CommandFind in Fits/Forhfcdp, press FlD12 023-31-#-图(20)-#-第5.2节程序调试(1)实现在液晶屏上显示静态画面:写 LCD驱动程序,把要显示的数据送到显示屏。由 于还未加如动态更新和时钟信息,显示的年、月、日等时间信息为静止的。(2)显示动态时间:在液晶屏能正常显示的基础上,由时钟芯片提供精确的时间信息, 由单片机控制把时间显示到屏幕上,时间初值是在系统初始化时设定的,不能调节。(3)利用温度传感器测量温度并显示在 LCD上:在显示时间的同时,把测量的环境温度 通过液晶屏显示出来。(4)实现按键的时间调节:在主程序中加入键盘调节函数,先把调节的时间数值存入缓 冲区,在调节完后显示在屏幕上。-32-结论本多功能时钟设计及其控制系统 , 具有以下几个功能特点:GXM12864LC显示。(1) 利用AT89S52单片机控制时钟芯片与温度测量传感器以及(2) 用DS1302时钟芯片为整个单片机系统提供精确的时间。(3) DS18B2C用于测量周围环境温度,并且可以达到很高的精度(4) 128*64LCD液晶显示模块用于显示时间和温度值。5)独立式按键实现对系统时间的调节。-33-参考文献1)翁桂荣、邹丽新 编著单片微型计算机接口技术 苏州大学出版社 2001(2)戴佳、戴卫恒 编著51单片机C语言应用程序设计电子工业出版社 20063)张岳新 编著 Visual C+ 程序设计 苏州大学出版社 2003(4) 倪泽峰、江中华 编著电路设计与制板Protel DXP典型实例人民邮电出版社2003赵亮、侯国锐 编著单片机C语言编程与实例 人民邮电出版社2003-34-附录1硬件设计原理图致谢计设eno eo t eS楠铠BnwDe m N757e DO O QJDWCMI-UJ 山形牖 Q. .QL11-S B附录2:设计实物图-33-
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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