带温度显现的电子时钟_第1页
带温度显现的电子时钟_第2页
带温度显现的电子时钟_第3页
带温度显现的电子时钟_第4页
带温度显现的电子时钟_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正惠厩学.督泞致新簸看样餐弓科技大序GUILINUNIVERSITYOFELECTRONICTECHNOLOGY课程设计(论文)说明书题目:带温度显示的电子时钟院(系):正惠厩学.督泞致新专业:学生姓名:学号:指导教师:职称:2012年XX月YY日日期和时钟以及温度都是我们日常生活关心的问题。本设计是采用单片机STC89C51作为核心元件,利用1602液晶屏作为显示元件;用单片机实现时钟和日历功能,并且可用三个键盘对电子日历及时钟进行调控;其中DS18b20实现温度数据的采集;并以总线形式将数据传输给单片机;本作品在单片机最小系统基础上,分别接上了1602液晶显示电路和DS18b20温度数据采集电路。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性好,抗干扰能力强和使用方便等方面的独特的优点,所以此装置不仅轻便、稳定,而且功能非常实用。可作为我们生活的小助于。关键字:STC89C51;1602液晶屏;DS18b20;电子日历;温度计AbstractDateandtemperaturearetheclockisaconcerninourdailylives.ThisdesignisusedasacorecomponentchipSTC89C51,using1602astheLCDdisplaydevice;withMCUclockandcalendarfunctions,andthreekeyboardavailableontheelectroniccalendarandclockcontrol;whichDS18b20fortemperaturedatacollection;andtobusformdatatothemicrocontroller;theworkinthesmallestsingle-chipsystemsbasedonliquidcrystaldisplayareconnectedtothe1602circuitandDS18b20temperaturedataacquisitioncircuit.Ashighlyintegratedsingle-chip,powerful,commongood,especiallywhenitissmall,lightweight,lowpowerconsumption,cheapandreliability,stronganti-interferenceabilityandeaseofuseoftheuniqueadvantages,sothisdeviceisnotonlylightweight,stable,andisverypractical.Asweliveinasmallassistant.Keywords:STC89C51;1602LCDscreen;DS18b20;electroniccalendar;thermometer目录TOC\o"1-5"\h\z\o"CurrentDocument"引言1\o"CurrentDocument"1设计任务1\o"CurrentDocument"2系统总体方案及硬件设计12.1单片机最小系统电路12.1.1复位电路1晶振电路12.1.3单片机系统功能52.1.4单片机机管脚功1\o"CurrentDocument"2.1.551单片内部寄存器能12.1.6单片机最小系统原理图1\o"CurrentDocument"1602液晶电路设计42.2.1管脚图42.2.2字符地址4\o"CurrentDocument"2.2.3指令集8\o"CurrentDocument"2.2.4电路设计5\o"CurrentDocument"DS18b20电路设计5\o"CurrentDocument"2.3.1DS18B20的简介5\o"CurrentDocument"2.3.2工作原理6DS18B20的外形和内部结构6\o"CurrentDocument"DS18B2与单片机的典型接口设计6\o"CurrentDocument"3系统原理图及PCB图介7软件设计74.1.1程序中各部分所用到的子函数84.1.2程序中的主函数8\o"CurrentDocument"结论8\o"CurrentDocument"谢辞9参考文献10\o"CurrentDocument"附录11湖vccPflOptllPHP03PG4PL6P€5n?PMPfif?PM/RJCD湖vccPflOptllPHP03PG4PL6P€5n?PMPfif?PM/RJCDEAP刊仃xpALEP3XIHT0F■SETlP37P26PJ5/T1P253-1单片机最小系XTAL1P2IGNDPiO统原理图•呻||3.1.2复位电路[电子日历和温度计是一种很实用的生活小制作,由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性好,抗干扰能力强和使用方便等方面的独特的优点,易于在系统中实现上述功能,并越来越多的普及在我们的生活中。1设计任务制作一个可以实现24小时计时的数字钟,以及1到30号的日期更换,并且用三个键盘实现对日期时钟的调控,用1602液晶屏显示日期时钟。外加一个由DS18b20读取的温度数据也显示在液晶评上的小作品。2设计要求2.1可使用键盘修改年、月、日,时、分、秒,实现加减修改。2.2时钟误差范围为:1分每天。2.3温度误差范围为:0.5摄氏度。3系统总体方案及硬件设计3.151单片机最小系统电路介绍3.1.1单片机最小系统原图,如图3-1所示:SL13GH2-|1'单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10〜30uF,51单片机最小系统容值越大需要的复位时间越短。3.1.3晶振电路单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频第2页共25页率越大处理速度越快。3.1.4单片机系统功能单片机最小系统起振电容C2、C3一般采用15〜33pF,并且电容离晶振越近越好,品振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。51单片机管脚功能89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。引脚说明:-VCC:电源电压-GND:地•P0口:P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0口具有内部上拉电阻。在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。-P1口:P1口是一带有内部上拉电阻的8位双向I/O口。P1口的输出缓冲能接受或输出4个TTL逻辑门电路。当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。-P2口:P2是一带有内部上拉电阻的8位双向的I/O端口。P2口的输出缓冲能驱动4个TTL逻辑门电路。当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。在这种情况下,P2口使用强大的第3页共25页内部上拉电阻功能当输出1时。当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄存器的内容。当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。-P3口:P3是一带有内部上拉电阻的8位双向的I/O端口。P3口的输出缓冲能驱动4个TTL逻辑门电路。当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。•ALE/PROG:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。当在Flash编程时还可以作为编程脉冲输出(PROG)。•RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。P3口的第二功能:P3口同时具有AT89C51的多种特殊功能,具体如下表3-1所示:表3-151单片机I/O口管脚功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0)P3.5T1(定时器1)P3.6W(外部数据存储器写选通)P3.7RD(外部数据存储器都选通)一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。3.1.5单片机内部寄存器标识符号地址寄存器名称P30B0HI/O口3寄存器PCON87H电源控制及波特率选择寄存器SBUF99H串行数据缓冲寄存器TCON88H定时控制寄存器TMOD89H定时器方式选择寄存器桂林电子科技大利程设计(论文)报告用饿第桂林电子科技大利程设计(论文)报告用饿第4页共25页KJKPO5Emrod1*03I心图3-21602液晶屏原理图TL08AH定时器0低8位TH08CH定时器0高8位TL18BH定时器1低8位TH18DH定时器1高83.21602液晶电路设计3.2.1管脚功能KJKPO5Emrod1*03I心图3-21602液晶屏原理图工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7〜14脚:D0〜D7为8位双向数据线。第15〜16脚:空脚1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”3.2.2字符地址表3-21602液晶屏字符地址显示位序号1234540DDRAM第一行000102030427

地址(HEX)|第二行|4041424344673.2.3指令集第5页共25页1602通过D0~D7的8位数据端传输数据和指令。显示模式设置:00111000[0x38]设置16X2显示,5X7点阵,8位数据接口;显示开关及光标设置:(初始化)00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)000001NSN=1(读或写一个字符后地址指针加1&光标加1),N=0(读或写一个字符后地址指针减1&光标减1),S=1且N=1(当写一个字符后,整屏显示左移)s=0当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。通常推荐的初始化过程:延时15ms写指令38H延时5ms写指令38H延时5ms写指令38H延时5ms(以上都不检测忙信号)(以下都要检测忙信号)写指令38H写指令08H关闭显示写指令01H(以上都不检测忙信号)(以下都要检测忙信号)写指令38H写指令08H关闭显示写指令01H显示清屏写指令06H光标移动设置写指令0cH显示开及光标设置3.2.4电路设计3.3DS18b20电路设计3.3.1DS18B20的简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可DALLAS18B20123NC匚NC匚Vdd匚DQ匚■NCNCNCGNDS-pin150-milSOIC

i;DS18B20Z:i(BOTTOMVIEW)TO-02实现微处理器与DS18B20的双向通讯。在使用中不需要任何外围元件图3-3DS18b20管脚示意图桂林电子科技大利程设计(论文)报告用维第6页共25页可用数据线供电,电压范围:+3.0〜+5.5V。测温范围:-55~+125°C。固有测温分辨率为0.5°C。通过编程可实现9~12位的数字读数方式。用户可自设定非易失性的报警上下限值。支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.3.2工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在一55C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。3.3.4DS18B20与单片机的典型接口设计以MCS-51单片机为例,图3中采用寄生电源供电方式,P1.1口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89C51的P1.0来完成对总线的上拉。当DS18B29处于写存储器和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD和GND端均接地。由于单线只有一根线,因此发送接口必须是三态的。主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶体管晶振频率为12MHZ,根据DS18B20的初始化时序、写时序和读时序,分别编写三个子程序:INTI为初始化子程序,WRITE为写子程序,READ为读子程序,所有的数据读写均由最低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7K,另外两个引脚分别接电源和地。4系统原理图及PCB图4.1系统原理图本作品设计是基于51单片机最小系统,加上1602液晶显示电路和DS18b20的温度采集数据电路,其中左上角为复位电路,左下角为晶振电路。单片机上方为电源指示电路。右下角的版块为温度电路,用于温度的数据采集;其中还使用桂林电子科技大学课程设计(论文)报告用蹴第桂林电子科技大学课程设计(论文)报告用蹴第7页共25页了P0和P2口接1602的电路,作为对液晶屏数据的的输入和字符输入的控制电路,P3口接了三个控制键盘,可对时钟和日期进行选定调控。并在P0和P2两个输出端口加上了两个2K的上拉电阻,增加电路的驱动电路,使得1602液晶屏能够获得足够的供电电压,显示更好的效果;在电源接入部分,使用了两个插针接入5V电源给单片机和电路供电,图3-4系统原理图riJ101CONIJll3OPFTVCCc-CON3阳PIOPllP12P13P14P15P16P17RSTP30.TJXDP31-TXDP32-INT0P33/INT1P34/T0P35.-T1P37jKDXTAL2XTAL1GND12MHZXTALSXT一迪riJ101CONIJll3OPFTVCCc-CON3阳PIOPllP12P13P14P15P16P17RSTP30.TJXDP31-TXDP32-INT0P33/INT1P34/T0P35.-T1P37jKDXTAL2XTAL1GND12MHZXTALSXT一迪201615■n1CKIoIT—VCCPOOP01F02P03P04P05P06P07EAALEPSENP27P26P25P24P23P22PllP20P0137PC2PC335PC434P0533P0632P0731P25委P27PflCPflTP02丽P05302K29J?E27VCC27P263426P2525P24SW1CKCONIBELL图99d碧爰图第8页__共25页在PCB图的布局时,根据电路特点进行了原件的合理摆放,原件封装大小、和焊的设置都进行相关确认之后用于动布线,其中为了节省空间,将晶振电路放到了单片机的底座下,这样既节省了空间也使电路看起来更加美观。具体见PCB4软件设计4.1.1程序中各部分所用到的子函数voidwrite_date(uchardate);//写数据函数voiddelays(uintz);//延时子函数voidkeyscan();//键盘扫描子函数voidwrite_n(ucharadd,uchardate);//年voidwrite_yr(ucharadd,uchardate);//月voidwrite_sfm(ucharadd,uchardate);//日voidinit_ds18b20(void);//18b20声明初始化函数voiddelay(uintt);//声明延时函数voidwrite_byte(uchardat);//声明写字节函数voidwrite_wen(uchartemp);//写温度函数ucharreadtemperature(void);//读取温度函数4.1.2程序中的主函数voidmain()(init();//初始化程序while(1)//执行程序(keyscan();}}具体软件程序见附录25结论经试验测试,实现了系统设计的任务要求,稳定显示了日期和时钟,并且键盘的选定和加减调控日期和时钟均实现功能,其中温度也能够温度且准确的显示温度,若改变温度,变化明显。作品实物见附录3。键盘调控范围如下表所示:键盘年月日调控范围0—99990—120—30键盘功能测试结构如下表所示:键盘按下次数123456K1选定秒选定分选定时选定日选定月选定年K2+1+1+1+1+1+1K3-1-1-1-1-1-1(其中K1、K2、K3为正对实物从右往左对键盘编号)其中温度显示范围为:测温范围:-55~+125°C。固有测温分辨率为0.5°C。本次作品制作完成了任务要求,达到了之前预定的目标。但是在程序方面,由于作者能力有限,在许多程序方面有待完善,其中在日期的12月的设计中,没能很好的处理好大小月份的显示以及闰年和瑞年的问题,以及在扩展功能上,需要在程序中加入时钟。但所设定的任务都已完成,作者在之后将继续在程序方面进行改进完善,争取完善作品。谢辞在本次课程设计过程中,从作品的选题,到制作过程,以及程序的修改等,都得到了老师和同学的大力帮助,特别感谢武小年老师在选题和作品设计方面给出的良好建议和悉心的指导,感谢科协学长在程序设计方面给出的指导和建议,以及感谢学院科协提供的制作场地,才使得作品能够按时顺利完成所设定的任务。在今后的学习中,我会在理论学习的同时注重实践,让理论和实践能够真正的融合为一体。当一名理论知识和动手能力全面发展的大学生。参考文献郭天祥.51单片机C语言教程[M].电子工业出版社,2008张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版,2003谭浩强.C程序设计.[M].北京:清华大学出版社,1991求是科技.单片机典型模块设计实例导航[M].北京:人民邮电出版社,2004桂林电子科技大学课程设计(论文〉报告用纸附录附录1:作品实物图附录2作品程序:#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitlcdrs=P2”5;sbitgnd=P2”6;sbitlcden=P2”7;sbitDQ=P3"5;//ds18b20单线与单片机的接口定义sbits1=P3”2;sbits2=P3”3;

sbits3=P3”4;voidinit();voidwrite_com(ucharcom);voidwrite_date(uchardate);voiddelays(uintz);voidkeyscan();voidwrite_n(ucharadd,uchardate);voidwrite_yr(ucharadd,uchardate);voidwrite_sfm(ucharadd,uchardate);voidinit_ds18b20(void);voidinit_ds18b20(void);voiddelay(uintt);voidwrite_byte(uchardat);voidwrite_wen(uchartemp);ucharreadtemperature(void);//18b20声明初始化函数//声明延时函数//声明写字节函数//写温度函数//读取温度函数uchars1num;ge1,shi1,ge2,shi2,ge3,shi3,aa,num,wen1,wen2,temp;charmiao,fen,shi,nian,nian1,nian2,yue,ri;uchartable□二〃2011-01-26”;uchartable1[]="00:00:00T:〃;voidmain()(init();while(1)(keyscan();}}//初始化函数voidinit_ds18b20(void)(ucharn;DQ=1;//先把总线拉高delay(8);//延时等待稳定DQ=0;//把总线拉低delay(80);//延时拉低时间DQ=1;//把总线拉高delay(8);//再延时n=DQ;//把DQ赋给n以判断ds18b20是否存在,但本实验以确定其存在delay(4);//延时//初始化函数voidwrite_byte(uchardat)//写一个字节(uchari;for(i=0;i<8;i++)//一个字节8位,需要8此循环(DQ=0;//把总线拉低DQ=dat&0x01;//拉低后马上输入数据,用dat和0x01相与以每次取dat的最低位delay(4);//延时DQ=1;//把总线拉高dat>>=1;//dat右移一位,以便下次循环取下一位的值,低位在前,高位在后}delay(4);}ucharread_byte()//读一个字节(uchari,value;for(i=0;i<8;i++)DQ=0;value>>=1;//每次读一位,右移一位DQ=1;if(DQ)value|=0x80;delay(4);}returnvalue;}ucharreadtemperature(void)(uchara,b;init_ds18b20();//调用初始化函数以初始化ds18b20write_byte(0xcc);//跳过romwrite_byte(0x44);//开始测温度delay(300);//延时给ds18b20足够时间测温度init_ds18b20();//初始化函数以准备读写数据write_byte(0xcc);write_byte(0xbe);//命令:读暂存器的值a=read_byte();//读暂存器的0字节b=read_byte();//读暂存器的1字节b<<=4;//删去小数点b+=(a&0xf0)>>4;//同上returnb;}voiddelay(uintt)(while(t--);}voidwrite_wen(uchartemp)wenl二temp/10;wen2=temp%10;write_com(0x80+0x40+13);write_date(0x30+wen1);write_date(0x30+wen2);}voidwrite_com(ucharcom)//写命令(怎样显示)(lcdrs=0;//写的命令状态P0=com;//给P0口赋上命令delays(5);lcden=1;//打开开关,把P0口命令送人液晶delays(5);lcden=0;//送入完毕,关上液晶}voidwrite_date(uchardate)//写数据(显示什么)(lcdrs=1;P0=date;delays(5);lcden=1;delays(5);lcden=0;}voidwrite_sfm(ucharadd,uchardate)(shi1=date/10;ge1=date%10;write_com(0x80+0x40+add);write_date(0x30+shi1);write_date(0x30+ge1);voidinit()(gnd=0;lcden=0;write_com(0x38);//显示模式write_com(0x0c);//开显示、显示光标、光标闪烁write_com(0x06);//指针自动加一,整屏不移动write_com(0x01);//清屏write_com(0x80);for(num=0;num<10;num++)(write_date(table[num]);delays(5);}write_com(0x80+0x40);for(num=0;num<13;num++)(write_date(table1[num]);delays(5);}aa=0;shi=0;fen=0;miao=0;ri=28;yue=1;nian2=11;nian1=20;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;}voidtime()interrupt1(TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa++;if(aa==20)//一秒钟(aa=0;miao++;if(miao==60)//秒钟(miao=0;fen++;if(fen==60)//分钟(fen=0;shi++;if(shi==24)//时钟(shi=0;ri++;if(ri==31)//日(ri=0;yue++;if(yue==12)//月(yue=0;第19页__共25页nian2++;if(nian2==99){nian2=0;nian1++;write_n(0,nian1);}write_n(2,nian2);}write_yr(5,yue);}write_yr(8,ri);}write_sfm(0,shi);}write_sfm(3,fen);}write_sfm(6,miao);temp二readtemperature();write_wen(temp);}}voidwrite_yr(ucharadd,uchardate)(shi2=date/10;ge2=date%10;write_com(0x80+add);write_date(0x30+shi2);write_date(0x30+ge2);}voidwrite_n(ucharadd,uchardate)(shi3=date/10;ge3=date%10;write_com(0x80+add);write_date(0x30+shi3);write_date(0x30+ge3);}voiddelays(uintz)//延时子函数(uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidkeyscan()(if(s1==0)(delays(5);if(s1==0)(s1num++;while(!s1);if(s1num==1)(ET0=0;write_com(0x80+0x40+6);write_com(0x0f);}if(s1num==2)(ET0=0;write_com(0x80+0x40+3);write_com(0x0f);}if(s1num==3)ET0=0;write_com(0x80+0x40+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论