




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计)题目 基于单片机的时间温度显示器 指导老师 张凤炳 职称 副教授 基于单片机的时间温度显示器摘 要该设计是基于单片机的时间温度显示器,它主要是利用单片机的稳定性及设计简单实用。通过每个的独立电路组合起来组成一个以单片机为核心的时间显示电路;其中有单片机的最小系统;温度传感器18B20采集电路;时间显示部分电路,此部分的主要是通过LCD12864来显示时间温度等信息;此外还增加了语音报警电路部分,更加增强了该设计的应用。本文利用单片机把每个独立的电路组合起来实现了年、月、日、时分秒及温度的显示;当温度达到我们的设定值时,就会调用语音播报程序。并且就系统出现的误差和电路设计中出现的问题进行分析和讨论。关键词 单片机/显示器/温度 TIME TEMPUTERATURE DISPLAYBASED ON SINGLE CHIPABSTRACTThe design is based on single chip microcomputer temperature display the time, it is mainly the microcontroller stability and the design is simple and practical. Through each independent circuit consists of a combined with single chip time display circuit, One of the smallest chip system, The temperature sensor DS18B20 acquisition circuit, Part time display circuit, this part of the LCD12864 mainly through to display the time information such as temperature, In addition to increasing the speech broadcast circuit, more strengthened this part of the design.Using each independent circuit chip combination realized the year, month, day, when the clock and temperature display, When the temperature reached our value, will call speech broadcast programs. And the systems error and circuit design problems are analyzed and discussed.KEY WORDS SCM, display, temperature目 录中文摘要英文摘要1绪论11.1设计的背景11.2设计意义12设计方案32.1设计思路32.2总体设计框图及电路组成33硬件设计53.1硬件设计原理图53.1.1基本电路组成部分53.1.2语音部分64选用的元器件介绍84.1 AT89S5284.1.1主要性能84.1.2功能描述84.2 LCD12864114.3 DS18B20的主要特征124.3.1 DS18B20工作原理及应用124.4 ISD4004的介绍134.4.1 ISD4004系列芯片引脚图如图所示134.4.2 SPI接口144.5 USB下载器155编程软件及下载调试175.1编程软件175.1.1设计的程序流程图175.2程序下载调试18总 结20致 谢21附 录231绪论1.1设计的背景随着社会文化的不断发展,人们的消费标准不断改变,时间显示器更是扮演着越来越重要的角色,不论是汽车站,火车站,股市交易市场,还是学校都离不开它,然而传统的时间显示器不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的时间显示器亟待改进。由于单片机技术的不断发展,与传统的时间显示器在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LCD技术的不断创新,使得高亮度高清晰的LCD不断推广,为其在生活的应用奠定了基础。并且由于电子产品的不断改良,设计更加的人性化;不仅为用户提供方便快捷的操作界面,而且设计更加实用方便,为用户会提供更有效的信息.像密码锁、智能小车、智能温控等在人们日常生活中的应用;还有一些工业生产中的智能控制方面的应用,在我实习的一个工厂里主要是生产led封装的仪器设备,仪器的主控芯片和显示芯片就是单片机,其中有两个是控制电机的左右位移和上下高度;比较的实用方便。并且单片机的开发周期较其他芯片要快,有较强的商业价值,也为开发者提供很大的开发空间。 1.2设计意义主要从实用性和设计人性化两个方面来讲设计的意义。1 实用性 传统的电子表只有时间的显示,这并不能满足人们对信息的需求。该设计解决了这个问题,该设计增加了一个数字式温度传感器18b20,它有较高的精度能满足人们对当时的温度掌握;而不需要从手机上或互联网上进行搜寻,为人们节约时间;同时该设计增加了一个语音报警电路。所以说该设计有较强的实用性。 2 设计人性化 通常的时间显示利用的是数码管,只能显示简单的数字,显示比较单调;而且不能显示中文字符,所以很多信息都不能完全的显示出来;本设计选用LCD12864液晶屏,能够完全的显示数字、中文字符等的信息,为用户提供更多的直观的信息,彰显出更加人性化的设计。基于以上优点设计了一个基于单片机的时间温度显示器;它选用单片机为主控芯片,并与其它部分电路组合起来设计而成。实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便。2 设计方案 2.1 设计思路 首先该设计由几个独立的部分组成:单片机最小系统、显示电路部分、语音设计电路、按键部分;把每个独立的电路实现,再组合起来实现一个时间温度显示器。下面框图说明介绍每部分的功能:温度采集按键输入控制信息单片机即控制部分语音报警电路显示部分图2-1 设计思路框图2.2总体设计框图及电路组成 设计其中包括时钟电路DS1302、显示电路LCD12864、1*4的按键、温度传感器DS18B20电路、基于ISD4004的语音电路部分、最后就是一个烧写程序的USB的烧写器。设计的时间温度显示器的设计框图如下:外部时钟单片机按键电路时钟电路复位电路程序下载报警电路外界温度变化18B20温度传感器显示电路电源电路图2-2 时间显示器道路框图在这个系统中多个分离的电路部分,所以在设计过程中要确定每个部分的电路的稳定,这样整个系统才会正常的完成预期的效果。3硬件设计3.1硬件设计原理图3.1.1基本电路组成部分 Protues软件是英国Labcenter electronics公司出版的EDA工具软件,功能比较强大,能够实现多种单片机实现仿真功能,对缩小开发周期有很大的意义。 本设计的部分硬件设计首先是在Protues软件环境中仿真实现的,这样可以减少研发的成本提高效率。电路如下:图3-1 硬件电路图通过仿真之后再在硬件电路上测试,出现的一些问题可以提示及时的得到解决,从而在设计硬件电路上节约了大量的时间。取得了比较好的效果。3.1.2 语音部分语音电路采用ISD4004芯片实现,因此对该部分电路的设计应该不困难。该部分主要是完成录音和放音,同时与单片机进行通信。ISD4004电路通过SPI口实现与单片机的连接,具体的电路如图所示。图3-2 ISD4004电路图由图可以看出,该电路设计很简单 ISD4004的SPI口直接与单片机的SPI口进行连接。ISD4004的ADUOUT直接与音频输出连接,在音频输出管脚上放一个电容以实现提高语音质量。ISD4004的音频输出采用差分的方式与MICPHONE进行连接。ISD4004的中断输出通过一个电阻拉高,然后与单片机进行连接。ISD4004的RAC管脚与单片机的一般IO口进行连接,这样通过单片机来控制该管脚的状态。在图的下端有3个滤波电容,加滤波电容的目的是为了减小电源的干扰。在芯片的模拟电源和数字电源管脚端分别放一个0.1F的电容来实现滤波,以减小输入端受到的干扰,为了进一步减小干扰,放一个22F的电容对模拟电源端进行滤波处理。在该芯片的电源连接中,芯片的模拟电源和数字电源连在一起,在PCB布线的时候,电源之间连接的线要尽可能的短;同样模拟地和数字地也连在一起,在PCB布线的时候,地之连接的线也要尽可能的短。4选用的元器件介绍本设计的主要选择的元器件有 AT89S52、 LCD12864、ISD4004、DS18B20等元器件;下面就介绍一下各个器件的主要功能。这样就方便我们设计时使用。4.1 AT89S524.1.1主要性能与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符。图4-1 AT89S52引脚图4.1.2功能描述At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。4.2 LCD1286412864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字。LCD12864模块的20个引脚定义如下:1、Vss逻辑电源地2、VDD逻辑电源正5v3、V0LCD驱动电压4、RS数据/指令选择:高电平为数据,低电平为指令5、R/W读/写选择:高电平为读数据,低电平为写数据6、E读写使能,高电平有效,下降沿锁定数据7、DB0数据输入输出引脚8、DB1数据输入输出引脚9、DB2数据输入输出引脚10、DB3数据输入输出引脚11、DB4数据输入输出引脚12、DB5数据输入输出引脚13、DB6数据输入输出引脚14、DB7数据输入输出引脚15、CS1片选择号,低电平时选择前64列16、CS2片选择号,低电平时选择后64列17、RET复位信号,低电平有效。18、VEE输出15v电源给V0提供驱动电源19、A背光电源LED正极20、K背光电源LED负极具体电路图如下:图4-2 12864引脚图4.3 DS18B20 的主要特征DS18b20全数字温度转换及输出。先进的单总线数据通信。最高 12 位分辨率,精度可达土 0.5摄氏度。 12 位分辨率时最大 工作周期为 750 毫秒。可选择寄生工作方式。检测温度范围为55C +125C (67F +257F)内置 EEPROM,限温报警功能。64 位光刻 ROM,内置产品序列号,方便多机挂接。多样封装形式,适应不同硬件系统。封装形式如下图: 图4-3 DS18b20引脚4.3.1 DS18B20工作原理及应用DS18B20 引脚功能: 1)GND 电压地 2)DQ 单数据总线 3)VDD电源电压 DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解 18B20的内部存储器资源。18B20 共有2种形态的存储器资源,它们分别是:(1)ROM只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是19H) ,后面48 位是芯片唯一的序列号,最后 8位是以上 56的位的 CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。(2)RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共9 个字节 RAM,每个字节为 8 位。第1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户 EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第 5 个字节则是用户第 3 个 EEPROM的镜像。第 6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8个字节的 CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据, DS18B20共3位EEPROM,并在 RAM 都存在镜像,以方便用户操作。4.4 ISD4004的介绍4.4.1 ISD4004系列芯片引脚图如图所示图4-4 ISD4004引脚图同相模拟输入(ANA IN+)这是录音信号的同相输入端,输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32,耦合电容和本端的3输入阻抗决定了芯片频率的低端截止频率。在差分驱动时,信号最大幅度为峰峰值16。反相模拟输入(ANA IN-)差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16,本端的标称输入阻抗为56,单端驱动时,本端通过电容接地。 两种方式下,ANA IN+和ANA IN-端的耦合电容值应相同。音频输出(AUD OUT)提供音频输出,可驱动5的负载。片选(SS)此端为低,即选中ISD4004 系列。串行输入(MOSI)此为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。串行输出(MISO)串行输出端,ISD未选中时,本端呈高阻态。串行时钟(SCLK)ISD的时钟输入端,由主控制器产生,用于同步 MOSI 和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。中断(INT)本端为漏极开路输出,ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始清除,中断状态也可用RINT指令读取。行地址时钟(RAC)漏极开始输出。每个RAC周期表示 ISD存储器的操作进行了一行(ISD4004系列中的存储器有2400行)。8kHz采样频率的器件,RAC周期为200ms,其中175ms保持高电平,低电平为25ms。快进模式下,RAC为218.75ms高电平,31.25ms为低电平,该端可用于存储管理技术。外部时钟(XCLK)本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在+1内,在不外接时钟时,此端必须接地。自动静噪(AM CAP)1F电容构成内部峰值检测电路的一部分,检测出的峰值电平与内部设定的阈值作比较,决定自动静噪电路的工作与否。大信号时自动静噪电路不衰减,静音时衰减6dB。同时,1F电容也影响自动静噪电路时信号幅度的响应速度,本端接VCCA则禁止自动静噪。4.4.2 SPI接口ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作。因此,对 ISD4004而言,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送至MISO引脚。协议具体内容如下:(1) 所有串行数据传输开始于SS下降沿;(2) SS在传输期间必须保持为低电平,在两条指令之间保持为高电平;(3) 数据在时钟上升沿移入,在下降沿移出;(4) SS变低,输入指令和地址后,ISD行才开始录放操作;(5) 指令格式是8位控制码加16位地址码;(6) ISD的任何操作(含快进)如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除;(7) 使用“读”指令会使中断状态位移出ISD的MISO引脚时,控制及地址数据也同步从MOSI端移入;(8) 所有操作在运行位(RUN)置时开始,置0时结束;(9) 所有指令都在SS端上升沿开始执行。OVF标志指示ISD录放操作已到达存储器的末尾。EOM标志只在放音过程中检测到内部的EOM标志时,此状态位置。4.5 USB下载器 随着计算机的发展传统的下载方式已经不能满足人们的需要,取而代之的是USB下载器。一方面是因为大使用USB接口方便,另一方面是因为USB下载器小巧便携,随时随地就可以进行程序的下载调试。在个设计中的USB下载器的使用方法:(1)下载程序打开软件如下图所示:图4-5下载图示选择所要下载芯片型号-调入Flash-打钩芯片擦除、编程Flash。(2)ISP标准接口定义:图 4-6 USB下载器接线图5编程软件及下载调试5.1编程软件单片机开发中除了必要的硬件外,同样离不开软件,本系统的软件编程设计是在Keil软件环境中完成的。我们写的C语言、汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,而目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发51系列单片机的软件,这从近年来各仿真厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选。即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令人事半功倍。Keil 是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C语言来开发,体会更加深刻。Keil 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译生成的汇编代码,就能体会到Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。在该设计中就利用该软件进行程序编译。5.1.1设计的程序流程图为了编写程序思路清晰,编写程序流程图如下:程序初始化LCD清屏显示有按键按下时钟芯片赋初值取时钟、温度温度采集LCD12864显示温度过高语音报警温度变化按键中断程序YN 图 5-1 程序设计框图 通过流程图就清晰地编写程序的每个部分,每一个子程序的调用,缩短了开发的时间。5.2程序下载调试 通过keil uVision软件编写的c语言程序,转换成hex文件下载到所制作的硬件电路上进行调试;显示屏不能正确显示;下载器下载过程中可能不能稳定工作无法下载程序,接线可能松动等原因。经过检查纠错;最后基本完成时间、温度等显示,语音报警部分还有写问题,有待进一步改进。 图5-2 程序调试图示总结 设计以单片机为核心,利用LCD12864及DS1302来实现了时间的显示,同时加上了温度传感器,实现了温度时间显示器的设计。另外在本文中还增加了语音芯片的设计,更加完善本设计。由于时间有限和本身知识水平有限,此设计还有很多需要完善的地方。如系统能精确的调用语音报警而出现很少的错误,如何选择各个元器件,使数据的精度更高,系统更稳定。 通过一段时间的学习,让自己单片机有跟进一步的了解,为今后的学习打下了一定的基础。致 谢在即将毕业真正的进入了社会奋斗,心情颇不宁静,回首想想在校园的每时每刻让人有些不舍;首先要感谢母校是她让我在这度过了美好的四年,让我懂得做人做事。其次在这里我要感谢教育我、传授我知识的老师们和帮助我的同学们,是你们让我学到很多。让我知道不管生活多么的艰辛与困苦,只要不放弃希望,就会有成功的一天;要对未来有信心,对自己有信心。在论文完成之际,我要感谢老师的耐心指导和信心的批阅,对论文设计的不足进行修改和更正;还有在设计过程中遇到很多问题,在张老师的细心指导下才得以顺利的完成;再次感谢张老师!参考文献1 张义和、王敏男,例说51单片机(C语言版),北京,人民邮电出版社出版 2008。 2 谭浩强,C程序设计(第三版),北京,清华大学出版社出版 2005。3 康华光,模拟电子技术基础(第五版),北京,高等教育出版社出版 2006。4 康华光,数字电子技术基础(第五版),北京,高等教育出版社出版 2006。5 王千.实用电子电路大全M,电子工业出版社,2001,p101;6 何立民.单片机应用技术选编M,北京:北京航空大学出版社,1998;7 李华.MCS-51系列单片机使用接口技术M,北京航空航天大学出版社,1993;8 彭为.单片机典型系统设计实例精讲M,北京电子工业出版社,2006;9 潘永雄.新编单片机原理与应用M,西安电子科技大学出版社,2003;10 WIRELESS WORLD,1998,VOL,84,NO,1509,P69;11 Army Kayla. Improving efficiency in existing chillers with optimization technology ,ASHRAE Journal. 附 录设计主程序#include #include #include zimo.h #include ds1302.h#include ds18b20.h#include isd4004.h#include lcd12864.h /按键定义sbit KEY0 = P23; /设置sbit KEY3 = P24; /退出sbit KEY1 = P25; /减sbit KEY2 = P26; /加/端口定义unsigned char w = 0; /调时标志位/键盘函数所要用到的变量unsigned char key_operate = 0;unsigned char timer =0;unsigned char key_flag;unsigned int counter=0;unsigned char Lcd_t = 0; /LCD刷新间隔unsigned char flicker = 0; /调时闪烁间隔unsigned char ss; /全局变量unsigned int v,getdata,getdataa;unsigned char temp1,temp2,temp3,temp4,tempp,temp;static unsigned char menu = 0; /定义静态小时更新用数据变量static unsigned char keys = 0; /定义静态小时更新用数据变量static unsigned char timecount = 0; /定义静态软件计数器变量unsigned int flag = 0;/定义并初始化flagunsigned char ZD = 0; /定义并初始化ZDunsigned char DS = 10; /定义并初始化DSunsigned char DSS = 1; /定义并初始化DSSunsigned char FW ; /定义并初始化FWunsigned char flag1=0;unsigned char flag2=0;unsigned char flag3=0;unsigned char flag4=0;void lcd_dispwendu(void); /函数声明/*/void InitTimer0(void)/产生10ms时间间隔 TMOD = (TMOD & 0XF0) | 0X01; /定时器0工作在模式1,16Bit定时器模式 TH0 = (65536 - 8000)/256; TL0 = (65536 - 8000)%256; TR0 =1; ET0 =1;/开启定时器和中断 EA = 1;void INIT_Clock(void) /初始化 InitLCD(); /初始12864 ClearScreen(0);/清屏 SetStartLine(0);/显示开始行 Initial_DS1302();Init_DS18B20(); InitTimer0();void DelayMM(unsigned int a)/延时函数 1MS/次while( a- );/ Displayen(2,0,0*8,t1);/ Displayen(1,0,63*8,3);/(1右半屏,0第1行,63第63列*8 数字,3第3个数字)/ Display (2,1,1*16,1); /(2左半屏,1第2行,1 第2 列*16汉字,1第1个汉字)/*/*-显示时间-*/void lcd_disptime(SYSTEMTIME *Time) unsigned char s1,s2,f1,f2,m1,m2; /定义时间映射局部变量(专用寄存器) if(Time-Second != ss)/判断是否需要更新ss = Time-Second; /更新数据 if(flag!=0)DS-;if(DSHour/10;s2=Time-Hour%10;f1=Time-Minute/10;f2=Time-Minute%10;m1=Time-Second/10;m2=Time-Second%10; Displayen(2,2,0*8,s1); Displayen(2,2,1*8,s2); Displayen(2,2,2*8,11); /: Displayen(2,2,3*8,f1); Displayen(2,2,4*8,f2); Displayen(2,2,5*8,11); /: Displayen(2,2,6*8,m1); Displayen(2,2,7*8,m2);/*-显示日期-*/void lcd_dispdate(SYSTEMTIME *Time) unsigned char n1,n2,n3,n4,n5,n6,n7,n8,n9; /定义局部变量 n1=Time-YearH/10; n2=Time-YearH%10; n3=Time-Year/10; n4=Time-Year%10; n5=Time-Month/10; n6=Time-Month%10; n7=Time-Day/10; n8=Time-Day%10; n9=Time-Week%10; Displayen(2,0,0*8,2); /2 Displayen(2,0,1*8,0); /0 Displayen(2,0,2*8,n3); Displayen(2,0,3*8,n4); Display (2,0,10*16,8); /年 Displayen(2,0,6*8,n5); Displayen(2,0,7*8,n6); Display (1,0,0*16,9); /月 Displayen(1,0,2*8,n7); Displayen(1,0,3*8,n8); Display (1,0,2*16,7); /日 Display (1,2,9*16,10 ); /星 Display (1,2,10*16,11); /期 Display (1,2,11*16,n9); /日/*-调整状态显示-*/void tiaozheng() switch (key_operate) case 1:/分钟Displayen(2,6,2*8,12 ); /- Displayen(2,6,3*8,12 ); /- Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16,21); /分 Display (1,6,1*16,22); /钟Displayen(1,6,4*8,12 ); /- Displayen(1,6,5*8,12 ); /- Display (1,6,3*16,24); /+ break; case 2: /小时 Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16,23); /小 Display (1,6,1*16,15); /时 Display (1,6,3*16,24); /+ break; case 3: /日期 Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16, 7); /日 D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融美于体 育美而行
- 人际沟通技能提升测试题库及参考答案详解版一
- 高考英语考卷真题及答案
- 门口宣传合同(标准版)
- 燃气供气合同(标准版)
- 2025年测绘工程地理试题及答案
- 2025年报社招聘考试题目及答案
- 美食文化节目创新创业项目商业计划书
- 自然康养服务创新创业项目商业计划书
- 米酒酿造设备行业跨境出海项目商业计划书
- 2025-2026学年统编版五年级上册语文第二单元过关试卷附答案(三套)
- 2025年农村土地租赁协议(合同样本)
- 2025年固态变压器(SST)行业研究报告及未来发展趋势预测
- 神经外科重症管理临床指南
- 少年读史记课件
- 任职资格认证汇报
- 2025年三力测试题试题及答案
- 高盛:释放AI时代的潜力+Powering+the+AI+Era
- 2025人教版八年级数学课后辅导计划
- 微电子器件(4-11)多栅结构MOSFET与FinFET
- 伴郎伴娘租赁协议合同
评论
0/150
提交评论