




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安工业大学北方信息工程学院毕业设计(论文) 西安工业大学北方信息工程学院本科毕业设计(论文)题目:基于ARM的LCD显示设计与实现系 别: 电子信息系 专 业: 通信工程 班 级: B090310 学 生: 杨海竹 学 号: B09031044 指导教师: 任安虎 2013年06月毕业设计(论文)任务书系别 电子信息系 专业 通信工程 班级 B090310 姓名 杨海竹 学号 B09031044 1.毕业设计(论文)题目:基于ARM的LCD显示设计与实现 2.题目背景和意义:随着科技的发展,ARM在社会各个方面的应用越来越广。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以
2、其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。因此,研究基于ARM的LCD显示有其实际应用意义。 3.设计(论文)的主要内容(理工科含技术指标):基于LPC2000系列的ARM处理器实现控制液晶屏LCD显示。进行ARM处理器最小系统设计,ARM与LCD接口、控制按键电路设计,并进行软件设计完成输入数据的显示。 4.设计的基本要求及进度安排: 基本要求: 查阅国内外相关文献,了解系统的工作原理; 进行系统方案设计; 进行系统硬件原理图设计; 编写程序并调试; 完成毕业设计论文及答辩。 进度安排: 第16-17周:学习相关参考文献,对课题做初步了解; 第18-19周:
3、整理思路,构思开题报告,准备开题答辩; 第1-3周:查阅相关资料,完成硬件模块框图; 第4-8周:搭建硬件环境; 第9-11周:完成LCD液晶屏驱动程序设计及调试; 第12-13周:系统调试,实现所有编程,达到设计功能要求; 第14-15周:撰写论文,定稿、打印、准备毕业答辩。 5.毕业设计(论文)的工作量要求 实验(时数)*或实习(天数): 不少于200学时 图纸(幅面和张数)*: 2张 其他要求:完成与课题相关的3000字左右的英文文献资料翻译。 指导教师签名: 年 月 日学生签名: 年 月 日系主任审批: 年 月 日目 录1 绪论11.1前言11.2课题研究背景11.3课题研究意义11.
4、4国内外相关研究情况21.5论文结构安排32 相关技术及系统方案设计42.1 ARM技术简介42.2 硬件设计原理42.2.1 系统设计方案42.2.2 硬件设计原理框图43 单元电路设计63.1 LPC210363.1.1 LPC2103介绍63.1.2 LPC2103 电路设计图63.2 外围电路设计73.2.1电源电路73.2.2 系统时钟电路73.2.3 复位电路83.2.4 JTAG 接口电路83.3 LCD 显示电路设计93.3.1 LCD12864液晶显示屏简介93.3.2 显示模块的设计93.4按键控制接口电路设计93.5 DS18B20温度采集模块103.5.1数字温度传感器
5、DS18B20的介绍103.5.2 温度采集电路的设计114 软件设计124.1 软件开发环境124.1.1 ADS集成开发环境简介124.1.2 ADS1.2开发环境搭建124.2主程序流程图设计164.3子程序流程图设计204.3.1 DS18B20程序流程图设计204.3.2 LCD12864程序流程图设计214.3.3 KEY程序流程图设计305 系统调试245.1硬件调试305.1.1 Protel99简介305.1.2原理图调试315.2软件调试316结论346.1 总结346.2 体会34致谢35参考文献36毕业设计(论文)知识产权声明37毕业设计(论文)独创性声明38附录1硬件
6、原理图39附录2源程序设计40II基于ARM的LCD显示设计与实现摘 要在当前的数字信息技术和网络技术高速发展的后PC时代,嵌入式系统技术已经广泛地渗透到人们生活的各个方面。由于嵌入式系统的交互性比较强,液晶屏做为输出设备对汉字显示又尤为重要,但很多关于嵌入式系统开发、应用的教材中,对于液晶屏的程序设计也只是初始化和测试的编程,没有进一步的应用开发。所以选择了该毕业设计题目,以完善液晶屏的汉字显示功能。在选定了毕业设计题目之后,随着开发研究的不断深入,主要完成了以下工作:首先,对三种常用的嵌入式操作系统进行了分析比较,对项目开发是否选用操作系统提出了自己的见解,结合本次毕业设计的实际应用,选择
7、了不使用操作系统的方法。其次,选定硬件开发系统后,把单片机的传统调试方法与ARM的边界扫描技术进行了分析比较,并在实际应用开发中采用了边界扫描技术。 再次,由于在C语言程序运行前需要加入一些必要的初始化代码,于是又完成了对LCD初始化程序的分析与设计。 最后,在编写汉字显示程序时,采用了读取字库法显示汉字方案和读取字模数据输出汉字方案分别实现了液晶屏的汉字显示,并取得了良好的效果。本文不但说明了如何利用ARM处理器实现液晶屏的汉字显示,还讲述了开发ARM处理器应用程序的一个完整的过程。随着嵌入式技术的不断普及,对ARM处理器的学习、应用、开发都有一定的帮助作用。关键词:ARM;LCD;嵌入式;
8、C语言 IIDesign and Implementation of the LCD Based on ARM Abstract With the rapid development of digital information technology and network technology,embedded system technology has been widely applied to various aspects of our life.Embedded systems have rather strong interactivityand LCD is especiall
9、y important for Chinese characters as display equipment,but many teaching materials on the development and application of embedded systems only covered the initialization and testing programming about LCD screen without further application programming.Due to above reasons,this paper focuses on desig
10、n and realized of the display driver for LCD screen in order to improve LCD screens display efficiency for Chinese characters.Some tasks are completed with the development of the in-depth study as follow:First of all, on the three kinds of commonly used embedded operating system are analyzed and com
11、pared, in project development whether choose operating system put forward its own views, combined with the practical application of this graduation design, chose not to use the operating system. Second, the selected hardware development system, the traditional method of debugging MCU and ARM of boun
12、dary scan technology are analyzed and compared, and the boundary scan technology is adopted in the actual application development. Again, as in the C language program before running need to add some necessary initialization code, and completed the analysis and design of LCD initialization program. F
13、inally, in the written Chinese characters display program, using the read word stock method of display Chinese characters and read font data output Chinese characters respectively realized the LCD screen display Chinese characters, and achieved good results. This paper not only illustrates how to us
14、e the ARM processor implementation, according to the characters of liquid crystal screen also tells the story of the ARM processor application development of a complete process. With the embedded technology popularization, the learning and application of ARM processor, the development has certain he
15、lp.Key Words:ARM;LCD;Embedded Systems Technology;C LanguageII 1 绪论 1 绪论1.1前言采用模块化分析,以ARM7为控制核心,设计了系统对温度传感器DS18B20实测数据读取的温度传感器模块,建立了在12864液晶上显示时间、日期和实时温度值的显示模块。系统采用独立式键盘模块设定初始时间、日期。1.2课题研究背景在当前的数字信息技术和网络技术高速发展的后PC时代,嵌入式系统技术已经广泛地渗透到人们生活的各个方面。由于嵌入式系统的交互性比较强,液晶屏做为输出设备对汉字显示又尤为重要,但很多关于嵌入式系统开发、应用的教材中,对于液晶屏
16、的程序设计也只是初始化和测试的编程,没有进一步的应用开发。所以选择了该毕业设计题目,以完善液晶屏的汉字显示功能。在选定了毕业设计题目之后,随着开发研究的不断深入,主要完成了以下工作:首先,对三种常用的嵌入式操作系统进行了分析比较,对项目开发是否选用操作系统提出了自己的见解,结合本次毕业设计的实际应用,选择了不使用操作系统的方法。其次,选定硬件开发系统后,把单片机的传统调试方法与ARM的边界扫描技术进行了分析比较,并在实际应用开发中采用了边界扫描技术。再次,由于在C语言程序运行前需要加入一些必要的初始化代码,于是又完成了对LCD初始化程序的分析与设计。最后,在编写汉字显示程序时,采用了读取字库法
17、显示汉字方案和读取字模数据输出汉字方案分别实现了液晶屏的汉字显示,并取得了良好的效果。本文不但说明了如何利用ARM处理器实现液晶屏的汉字显示,还讲述了开发ARM处理器应用程序的一个完整的过程。随着嵌入式技术的不断普及,对ARM处理器的学习、应用、开发都有一定的帮助作用。1.3课题研究意义 踏着改革的开放,社会的进步的步伐,各种显示类技术也发生了翻天覆地的变化,其发展经历了起步阶段、数量型发展阶段、规模化发展阶段以及品牌建设阶段,至此已取得了令人瞩目的成绩,初步形成了投资主多元化、经营业态多元化、经营方式连锁化、品牌建设特色化、市场需求大众化、从传统产业向现代产业转型的发展新格局。最大限度的满足
18、广大消费者的不同需求。56 西安工业大学北方信息工程学院毕业设计(论文) 随着经济的复苏和市场的进一步改革开放,人民的生活水平在不断的奔向小康,促进着电子显示的快速发展,同时许多电子类产品商家也敏锐地嗅到了这一产业的商机,注定着这个行业的竞争越来越激烈。因此,要在这个竞争激烈的市场中获胜并且稳步前进就要降低的成本,提高效益。虽然不同的电子类产品所要显示的内容和格式的标准不同,但是每个显示方向都可以使用管理信息工具来提高本企业的核心竞争力。综上所述,LCD显示运用嵌入式系统设计的思想,采用目前最先进的嵌入式技术,从而实现实时显示的要求。1.4国内外相关研究情况虽然嵌入式系统是近几年才风靡起来的,
19、但是这个概念并非新近才出现。从20世纪70年代单片机的出现到今天各种各样的嵌入式处理器、微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。综观嵌入式技术的发展,大致经历了以下4个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能,应用于一些专业性强的工业控制系统中。这种系统一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,
20、通用性比较弱;系统开销小,效率高;操作系统达到了一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好;主要用于控制系统负载的运行以及监控应用程序的运行。第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API,开发应用程序简单;嵌入式应用软件丰富。第四阶段是以基于Intemet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Inter
21、net之外,但随着Intemet的发展以及Intemet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet 的结合将代表着嵌入式技术的真正未来。1.5论文结构安排采用模块化分析,以ARM7为控制核心,设计了系统对温度传感器DS18B20实测数据读取的温度传感器模块,建立了在12864液晶上显示时间、日期和实时温度值的显示模块。系统采用独立式键盘模块设定初始时间、日期。本设计的论文内容结构安排为:第一章:绪论对整个设计进行综述,大体介绍本系统的实际应用及前景;第二章:系统设计准备为本系统的软件设计做好设计前的理论准备,LPC2103的结构及原理、编程语言,并对ADS1.2软
22、件平台进行大概介绍;第三章:系统硬件设计对系统硬件设计的原理及方法进行了介绍;第四章:程序设计重点研究阐述实现功能的各个模块的程序设计;第五章:结论对本次毕业设计的过程和经历进行深刻总结。 最后在论文背后附上参考文献以及附件。 2 相关技术及系统方案设计 2 相关技术及系统方案设计2.1 ARM技术简介ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。采用RISC体系架构的ARM微处理器一般有如下特点:a. 体积小、低功耗、低成本、高性
23、能;b. 支持Thumb( 16位) /ARM(32位) 双指令集,能很好的兼容8/16位器件;c. 大量使用寄存器,指令执行速度更快;d. 大多数数据操作都在寄存器中完成;e. 寻址方式灵活简单,执行效率高;f. 指令长度固定。2.2 硬件设计原理硬件设计主要是对系统原理图的设计,主要是在Protel SE 99环境下绘制原理图。设计中的框图绘制使用Visio软件绘制。2.2.1 系统设计方案采用模块化分析,以ARM7为控制核心,设计了系统对温度传感器DS18B20实测数据读取的温度传感器模块,建立了在LCD12864液晶上显示时间、日期和实时温度值的显示模块。系统采用独立式键盘模块设定初始
24、时间、日期。2.2.2 硬件设计原理框图系统直接控制设备运行,硬件部分包括微处理器,存储部分,LCD显示屏模块,以及其他基本的外围电路部分(复位模块,电源模块,晶振模块等)。根据下位机要实现的功能,系统方框图如图2.1所示。 西安工业大学北方信息工程学院毕业设计(论文) 电源模块时钟模块 ARM处理器温度采集模块LCD显示模块复位模块按键模块 图2.1硬件框图 3 单元电路设计 3 单元电路设计3.1 LPC21033.1.1 LPC2103介绍LPC2103的10位A/D转换器提供8路模拟输入,低功耗实时时钟具有独立的电源和特定的32768HZ时钟输入,多达32个通用I/O口(可承受5V电压
25、),可通过个别使能禁止外围功能外围时钟分频来优化额外功耗。较小的封装和很低的功耗使LPC2103特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口和8KB的片内SRAM,它也非常适合于通信网关和协议转换器。高级性能还使它适合用作数学协处理器,此外也特别适用于工业控制和医疗系统。LPC2103设计主要有电源模块,时钟电路,复位电路,JTAG下载调试接口。3.1.2LPC2103 电路设计图LPC2103接口电路如图3.1所示。 图3.1 LPC2103最小系统 西安工业大学北方信息工程学院毕业设计(论文) 3.2 外围电路设计外围电路设计主要有电源模块,时钟电路,复位电路,
26、JTAG下载调试接口。3.2.1电源电路LPC2103要使用两组电源,I/O口供电电源为3.3V,内核及片内外设供电电源为1.8V,所以系统设计为3.3V应用系统。首先,由CZ1电源接口输入9V直流电源,二极管D2防止电源反接,经过C1、C3滤波,然后通过78M05将电源稳压至5V,再使用LDO芯片稳压输出3.3V及1.8V电压。LDO芯片采用了LM1117MPX-1.8和LM1117MPX-3.3,其特点为输出电流大,输出电压精度高,稳定性高。系统电源电路如图3.2所示。 图3.2电源电路3.2.2 系统时钟电路LPC2103可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运
27、行速度更快(CPU最大操作时钟为60MHz)。倘若不使用片内PLL功能及ISP下载功能,则外部晶振频率范围是1MHz30MHz,外部时钟频率范围是1MHz50MHz;若使用了片内PLL功能或ISP下载功能,则外部晶振频率范围是10MHz25MHz,外部时钟频率范围是10MHz25MHz。使用了外部11.0592MHz晶振,用1M电阻R6并接到晶振的两端,使系统更容易起振。用11.0592MHz晶振的原因是使串口波特率更精确,同时能够支持LPC2103芯片内部PLL功能及ISP功能。时钟电路图如图3.3所示。图3.3系统时钟电路3.2.3 复位电路 复位电路是对整个系统进行复位,电路如图3.4所
28、示。图3.4复位电路3.2.4 JTAG 接口电路采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与LPC2103的连接如图3.5所示。JTAG接口上的信号nRST、nTRST与复位电路连接,形成线与的关系,达到共同控制系统复位的目的。图3.5 JTAG接口电路3.3 LCD 显示电路设计3.3.1 LCD12864液晶显示屏简介LCD显示屏采用12864液晶显示屏。此屏满足带中文字库的LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16&
29、#215;16点汉字,和128个16×8点ASCII字符集利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字也可完成图形显示低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。3.3.2 显示模块的设计LCD显示电路如图3.6所示。图3.6 LCD显示电路3.4按键控制接口电路设计按键设计了八个,即KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY,CLR。按住
30、KEY键时,可以对时间日期进行调整,KEY1键可为秒加1,KEY2可为1加1,KEY3可以对时加1,KEY4可为日期加1,KEY5可为月加1,KEY6可以为年加1,CLR为清除键,如图3.7所示。 图3.7按键控制接口电路3.5DS18B20温度采集模块3.5.1数字温度传感器DS18B20的介绍传统的测温系统一般都是由温度传感器、A/D转换、单片机处理、显示驱动芯片和LED显示组成,而本测温系统则是用一线测温器件DS18B20与ARM单片机共同组成了最小的测温系统。DS18B20是美国DALLAS公司生产的一线数字温度传感器,它的测温范围从-55到+125,分辨力为0.0625,在-10到+
31、85范围内其测温准确度为±0.5。它体积小、功耗低、抗干扰能力强、易与微处理器连结,它无需任何外围硬件即可方便地进行温度测量,与单片机交换信息仅需要一根I/O口线,其读写及温度转换的功率也可来源于数据总线,而无需额外电源。单总线数字温度传感器DS18B20简介:采用单总线专用技术,既可通过串行口线,也可通过其他I/O口线与微机接口,无须经过其他的变换电路,直接输出被测温度值(9位二进制数,含符号位),测温范围为-55到+125,测量分辨率为0.0625,内含64位经过激光修正的只读寄存器ROM,适配各种单片机或系统机,用户可分别设定各路温度的上、下限,内含寄生电源。DS18B20内部
32、结构,主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL高速暂存器。64位光刻ROM是出厂前被光刻好的,它可以看做是该DS18B20的地址序列号。3.5.2 温度采集电路的设计电路设计如图3.8所示。 图3.8 DS18B20温度传感模块 4 软件设计 4 软件设计4.1 软件开发环境4.1.1 ADS集成开发环境简介本系统的程序设计将基于ADS1.2开发系统,所以有必要对这个软件系统有所认识。本节将介绍有关这个系统的基本知识。ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2
33、。ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C 、C+源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、Windows XP、Windows2000以及Red Hat Linux上运行。 这里将简单介绍使用ADS1.2建立工程,编译连接设置,调试操作等等。最后还介绍了基于LPC2200系列ARM7微控制器的工程模板的使用,EasyJTAG仿真器的安装与使用。由于用户一般直接操作的CodeWarrior IDE集成开发环境和AXD调试器,所以我们只介绍这两部分软件的使用,其它部分的详细说明参考ADS1.2的在线帮助文
34、档或相关资料。4.1.2 ADS1.2开发环境搭建a. 建立工程点击WINDOWS操作系统的开始à程序àARM Developer Suitev1.2 àCodeWarrior for ARM Developer Suite起动Metrowerks CodeWarrior,或双击“CodeWarrior for ARM Developer Suite”快捷方式起动。启动ADS1.2 IDE如图4.1所示。 图4.1 启动ADS1.2 西安工业大学北方信息工程学院毕业设计(论文) 点击File菜单,选择New即弹出New对话框,如图4.2所示。 图4.2 New对话
35、框选择工程模板为ARM可执行映象(ARM Executable Image )或Thumb可执行映象(Thumb Executable Image) ,或Thumb、ARM交织映象(Thumb ARM Interworking Image),然后在Location项选择工程存放路径,并在Project name项输入工程名称,点击确定按钮即可建立相应工程,工程文件名后缀为mcp(下文有时也把工程称为项目) 。b. 建立文件建立一个文本文件,以便输入用户程序。点击“New Text File ”图标按钮,如图4.3所示。图4.3 New Text File然后在新建的文件中编写程序,点击“Sav
36、e”图标按钮将文件存盘(或从File菜单选择Save) ,输入文件全名,yanghaizhu.S。注意,请将文件保存到相应工程的目录下,以便于管理和查找。 c. 添加文件到工程如图4.4所示,在工程窗口中Files页空白处点击鼠标右键,弹出浮动菜单,选择“Add Files”即可弹出“Select files to add”对话框,选择相应的源文件(可按着Ctrl键一次选择多个文件),点击打开按钮即可。另外,用户也可以在Project菜单中选择Add Files来添加源文件,或使用 New对话框选择File页来建立源文件时选择加入工程(即选中“Add to Project”项)。添加文件操作如
37、图4.4、图4.5所示。图4.4选择Add Files图4.5 弹出Select files to add对话框d. 编译连接工程如图4.6所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速的进行工程设置、编译连接、启动调试等等(在不同的菜单项上可以分别找到对应的菜单命令)。它们从左至右分别为:DebugRel Settings工程设置,如地址设置、输出文件设置、编译选项等,其中DebugRel为当前的生成目标(target system)。Synchronize Modification Dates同步修改日期,检查工程中每个文件的修改日期,若发现有更新(如使用其它编辑器编辑源文件),
38、则在Touch栏标记“”。 Make编译连接(快捷键为F7)。 Debug启动AXD进行调试(快捷键为F5)。Run启动AXD进行调试,并直接运行程序。Project Inspector工程检查,查看和配置工程中源文件的信息。图4.6 工程窗口中的图标按键点击“DebugRel Settings”图标按钮,即可进行工程的地址设置、输出文件设置、编译选项等,如图4.7所示。在“ARM Linker”对话框设置连接地址,在“Language Settings”中设置各编译器的编译选项。图4.7 DebugRel Settings 窗口对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的
39、“Make”图标按钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即会使用光标指出当前出错的源代码行,编译连接输出窗口如图4.8所示。同样,您可以在Project菜单中找到相应的命令。 西安工业大学北方信息工程学院毕业设计(论文) 图4.8 编译连接输出窗口如图4.9所示,Touch栏用于标记文件是否已编译,若打上“”则表明对应文件需要重新编译。Touch栏用于标记文件是否已编译,若打上“”则表明对应文件需要重新编译。可以通过单击该栏位置来设置取消符号“”,或将工程目录下的*.tdt 文件删除也可以使整个工程源文件均打上“”。 图4.9 工程窗口中Make操作4
40、.2主程序流程图设计 开始,初始化时间日期,采集温度,读取时间,在屏幕上显示温度和时间,判断KEY是否为低电平,如果是就对时间日期进行设定,否就回到初始化状态。如果设定了时间,再判定是否按下清除键,如果按下,则清除LCD屏时间日期,回到温度采集。没有按下清除键,则直接回到采集温度。如图4.10所示。 西安工业大学北方信息工程学院毕业设计(论文) 图4.10 主程序流程图主程序:int main (void) char str20; uint32 bak; PINSEL0 = PINSEL0 & (0x0F); PINSEL0 = PINSEL0 | 0x05; /设置I/O连接到UAR
41、T UARTInit (); /串口初始化 Temp_init(); LCD_Initial(); RTCInit(); / RTC初始化 while (1) Read_18B20();/ 读取温度值 sprintf(str, "nTEMP = %f", ftemperature); LCD_Disp_Strs(1, 1, str);/ 将温度值显示在LCD屏上 while (0 = (ILR & 0x01);/ 等待RTC增量中断 ILR = 0x01;/ 清除中断标志 Disp_Time();/ 读取时钟值,并显示在LCD屏上 while(!(IO0PIN&am
42、p;KEY)/控制按键KEY按下不松手,说明当前进入设置时间状态 CCR = 0x00; /禁止时间计数器 if(checkKEY1() /按键2按下调整分针分钟加1bak = (uiTimes >> 8) & 0x3f; / 获取分钟 MIN = bak+1;/设置分 LCD_Disp_NUM(3,5, MIN);LCD_Disp_Ascii(3,7, ':');if(checkKEY2() /按键3按下,调整时针小时加1bak = (uiTimes >> 16) & 0x1f; / 获取小时 HOUR = bak+1;/ 设置时LCD
43、_Disp_NUM(3,6, HOUR);LCD_Disp_Ascii(3,7, ':');if(checkKEY3() /按键2按下调整分针分钟加1bak = (uiTimes >> 8) & 0x3f; / 获取星期 MIN = bak+1;/ 设置星期 LCD_Disp_NUM(3,5, MIN);LCD_Disp_Ascii(3,7, ':');if(checkKEY4()/按键4按下,调整日期 日期加1bak = uiDatas & 0x1f; / 获取日 DOW= bak+1;/ 设置日期LCD_Disp_NUM(2,8,
44、 bak);if(checkKEY5()/按键5按下,调整月份 月份加1bak = (uiDatas >> 8) & 0x0f; / 获取月 MONTH= bak+1;/ 设置月LCD_Disp_NUM(2,6, MONTH);LCD_Disp_Ascii(2,7, '-');if(checkKEY6()/按键6按下,调整年份 年份加1LCD_Disp_Strs(2,1, "日期:");bak = (uiDatas >> 16) & 0xfff; / 获取年 YEAR = bak+1;/ 设置年LCD_Disp_NUM
45、(2,4, bak);LCD_Disp_Ascii(2,5, '-'); CIIR = 0x01; / 设置秒值的增量产生1次中断 CCR = 0x01;/ 启动RTC if(checkKEYCLR()/如果清除按键按下 则清屏 LCD_Erase();/清屏RTCInit();/ RTC初始化 重新计时 DelayNS(10); return 0; 4.3子程序流程图设计4.3.1 DS18B20程序流程图设计开始,复位DS18B20,判断复位是否成功,是就发送读取命令、读取温度值,后结束,否就直接结束。如图4.11所示。 图4.11 DS18B20DS18B20程序:voi
46、d Read_18B20(void) /读取ds18b20unsigned char temp1 = 0, temp2 = 0;int16 temperature = 0; if(Reset_18B20()/DS18B20复位 DelayNS_us(7200); Writebyte_18B20(0xcc);/跳过序列号脉冲 DelayNS_us(7200);Writebyte_18B20(0x44);/转换命令DelayNS_us(8000);/延时800msif(Reset_18B20()DelayNS_us(8000);Writebyte_18B20(0xcc);/跳过ROM DelayN
47、S_us(8000); Writebyte_18B20(0xbe); /发送读取命令temp1 = Readbyte_18B20();/读取低八位数据DelayNS_us(720);temp2 = Readbyte_18B20();/读取高八位数据Reset_18B20();/DS18B20复位if(temp2 & 0xf8)temperature = (temp2 << 8) | temp1);temperature = (temperature) + 1);ftemperature = temperature * (-0.0625);elsetemperature = (temp2 << 8) | temp1);ftemperature = (fp64)(temperature * 0.0625); else ; 4.3.2LCD12864程序流程图设计开始,确定LCD的写入位置,发送命令到地址,判断是否有字符需要发送,是则发送字符到地址,结束,否则直接结束。如图4.12所示。 图4.12 LCD12864流程图LCD12864程序:void LCD_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年美容师(技师)职业技能鉴定实操试卷真题模拟及
- 物理力学基础概念与原理解析教案
- 期中七年级数学试卷
- 培训机构小学数学试卷
- 七下总复习数学试卷
- 普洱中考数学试卷
- 齐河一中真题数学试卷
- 年级上学期数学试卷
- 2024年酒泉市公安局肃州分局招聘警务辅助人员笔试真题
- 蚌埠固镇县职业技术学校招聘考试真题2024
- 2025年通信专业技术-通信专业技术(中级)-中级通信专业技术(交换技术实务)历年参考题库含答案解析(5套)
- 《丙型肝炎防治指南》
- 2025年湖北省工程专业中级职务水平能力测试(电子信息)经典试题及答案
- 2025至2030年中国酒店布草行业市场全景评估及投资前景展望报告
- 中小学校长在2025秋季开学第一次全体教师大会上讲话:人心决定温度人格决定高度人品决定厚度
- (2025年标准)供暖采暖协议书
- 2025年应急管理普法知识竞赛历年参考题库含答案详解(5套)
- 2025至2030中国非标自动化行业发展趋势分析与未来投资战略咨询研究报告
- 个人挂靠劳务公司协议书
- 2025年小学生爱粮节粮科普知识竞赛试题(含答案)
- 2025驾驶员安全教育培训考试试卷(及答案)
评论
0/150
提交评论