嵌入式系统原理及应用基于ARM7的温度报警系统的设计

合集下载

嵌入式系统课程设计温度检测报警系统

嵌入式系统课程设计温度检测报警系统

嵌入式系统课程设计姓名:班级:学号:.目录:一.系统要求二.设计方案三.程序流程图四.软件设计五.课程总结与个人体会.一、系统要求使用STM32F103作为主控CPU设计一个温度综合测控系统,具体要求:1、使用热敏电阻或者内部集成的温度传感器检测环境温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。

记录当前的温度值和时间。

2、使用计算机,通过串行通信获取STM32F103检测到的温度和所对应的时间。

3、使用计算机进行时间的设定。

4、使用计算机进行温度上限值和下限值的设定。

5、若超过上限值或者低于下限值,则STM32进行报警提示。

.二、设计方案本次课程设计的要求是使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求:1、STM32F103内置了3个12位A/D转换模块,最快转换时间为1us。

本次课程设计要求进行温度测定,于是使用了其中一个ADC对片上温度传感器的内部信号源进行转换。

当有多个通道需要采集信号时,可以把ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。

本设计需要循环采集电压值,所以使用连续转换模式。

2、本次课程设计还使用到了DMA。

DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。

使能ADC的DMA接口后,DMA控制器把转换值从ADC数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA传输完成后,在main函数中使用的ADC_ConvertedValue的内容就是ADC转换值了。

3、STM32内部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。

STM内部的温度传感器支持的温度范围:-40到125摄氏度。

利用下列公式得出温度温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25式中V25是 VSENSE在25摄氏度时的数值(典型值为1.42V))曲线的平均斜率(典型值为4.3mV/C是温度与Avg_SlopeVSENSE利用均值法对转换后的温度进行滤波,将得到的温度通过串口输出。

嵌入式系统课程设计(基于ARM的温度采集系统设计)

嵌入式系统课程设计(基于ARM的温度采集系统设计)

教师批阅目录一、设计内容............................................................................................................. - 1 -1.1设计目的....................................................................................................... - 3 -1.2设计意义....................................................................................................... - 3 -二、设计方案............................................................................................................. - 5 -2.1设计要求....................................................................................................... - 5 -2.2方案论证....................................................................................................... - 5 -三、硬件设计............................................................................................................. - 6 -3.1设计思路....................................................................................................... - 6 -3.2系统电路设计............................................................................................... - 6 -四、软件设计............................................................................................................. - 8 -4.1设计思路....................................................................................................... - 8 -4.2程序清单..................................................................................................... - 10 -五、心得体会........................................................................................................... - 12 -参考文献................................................................................................................... - 13 -教师批阅基于ARM的温度采集系统摘要:本设计是基于嵌入式技术作为主处理器的温度采集系统,利用S3C44B0xARM微处理器作为主控CPU,辅以单独的数据采集模块采集数据,实现了智能化的温度数据采集、传输、处理与显示等功能,并讨论了如何提高系统的速度、可靠性和可扩展性。

嵌入式系统课程设计温度检测报警系统解读

嵌入式系统课程设计温度检测报警系统解读

嵌入式系统课程设计姓名:班级:学号:目录:一.系统要求二.设计方案三.程序流程图四.软件设计五.课程总结与个人体会一、系统要求使用STM32F103作为主控CPU设计一个温度综合测控系统,具体要求:1、使用热敏电阻或者内部集成的温度传感器检测环境温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。

记录当前的温度值和时间。

2、使用计算机,通过串行通信获取STM32F103检测到的温度和所对应的时间。

3、使用计算机进行时间的设定。

4、使用计算机进行温度上限值和下限值的设定。

5、若超过上限值或者低于下限值,则STM32进行报警提示。

二、设计方案本次课程设计的要求是使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求:1、STM32F103内置了3个12位A/D转换模块,最快转换时间为1us。

本次课程设计要求进行温度测定,于是使用了其中一个ADC对片上温度传感器的内部信号源进行转换。

当有多个通道需要采集信号时,可以把ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。

本设计需要循环采集电压值,所以使用连续转换模式。

2、本次课程设计还使用到了DMA。

DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。

使能ADC的DMA接口后,DMA控制器把转换值从ADC 数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA 传输完成后,在main函数中使用的ADC_ConvertedValue的内容就是ADC转换值了。

3、STM32内部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。

STM内部的温度传感器支持的温度范围:-40到125摄氏度。

利用下列公式得出温度温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25式中V25是 VSENSE在25摄氏度时的数值(典型值为1.42V)Avg_Slope是温度与VSENSE曲线的平均斜率(典型值为4.3mV/C)利用均值法对转换后的温度进行滤波,将得到的温度通过串口输出。

嵌入式论文基于ARM智能报警系统设计

嵌入式论文基于ARM智能报警系统设计

湖北民族学院科技学院ARM嵌入式系统(结业作业)题目:关于嵌入式的居室安全报警设计学号:k031141723姓名:谭鑫鑫教师:_______随着社会经济水平的发展和人们安防意识的提高,人们对家居生活追求人性化、智能化的同时,越来越重视居住环境的安全性,特别对危及人民生命和财产安全的情况如火灾、煤气泄漏、外人非法入侵等的安全监控提出了前所未有的高要求。

本文针对这一社会现实,设计并实现了一种基于嵌入式技术的家居安全智能报警监控系统。

本系统分成两大部分:服务端(小区报警中心监控系统)和用户端(家居监控系统),小区报警中心监控系统处于整个小区的报警值班室,用户端处于每个家庭中。

系统可以实现的功能:通过家庭中的各种传感器实时获取家庭中的环境数据,如烟雾浓度,煤气浓度等。

如果获取到的环境数据超出了预警值,处于家庭中的监控系统就会把报警信息发送到小区报警中心监控系统,同时传输监控摄像头采集的现场图像,并控制GSM发送报警信息到用户手机。

报警中心监控系统分别显示接收到的环境数据和图像,值班人员可以根据监控界面了解现场情况以采取相应行动。

用户也可以通过手机发送指令到家庭中的监控系统以控制家庭中设备的开关,从而实现减少甚至避免住户的灾害损失。

摘要 (Ⅰ)1 绪论 (1)1.1智能小区和智能家居的概念 (1)1.2智能家居在国外的发展状况 (1)1.2.1 国外智能家居的发展状况 (1)1.2.2 国内智能家居的发展状况 (2)1.3系统研究意义 (2)2 智能家居监控系统总体设计方案 (3)2.1系统组成 (3)2.2系统功能介绍 (4)2.3系统特色 (5)3 系统硬件设计方案 (6)3.1EEL IOD270平台 (6)3.2扩展板 (6)3.2.1 传感器接口电路 (8)3.2.2 家电控制接口电路 (8)3.2.3 RS232接口电路 (9)4系统软件设计方案 (10)4.1服务器端程序设计 (11)4.1.1 服务器接收流程图 (12)图 4.2服务器接收主程序流程图 (13)4.2客户端(EEL IOD270板)程序设计 (15)4.2.1 客户端网络程序设计 (15)4.2.2 扩展板接口程序设计 (16)4.2.3 视频监视程序设计 (17)5 总结 (18)1.1 智能小区和智能家居的概念智能住宅的概念源于美国,且发展最为迅猛,随后,欧洲、日本、新加坡等国家住宅智能化也得到飞速发展。

嵌入式系统原理及运用课程设计

嵌入式系统原理及运用课程设计

摘要嵌入式系统开始于20世纪80年代单片机的使用。

嵌入式技术已经渗透到各个领域,且与人们的日常生活密不可分,给人们生活和工业生产带来极大方便。

本文论述了嵌入式系统概念、嵌入式处理器、嵌入操作系统和嵌入软件开发环境,解释了嵌入式系统组成中的各个部分。

嵌入式操作系统具有良好的可移植性,能够用在根据应用要求选择的微处理器中。

嵌入式系统设计带来了与传统系统设计全然不同的挑战。

嵌入式系统已成为计算机领域的一个重要组成部分。

广泛讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。

嵌入式系统可以通过各种无线形式和有线形式的网络连接方式实现它们之间的相互连接。

因此,在网络通信市场上极具生命力。

关键词嵌入式系统,嵌入式操作系统,μC/OS-ⅡABSTRACTThe Embedded system commenced with the use of SCM in 1980’s. The embedded technology has penetrated in every field. It’s inseparable with our daily life and it brings great convenience to people’s life and the industry.This paper discusses the concept of the embedded system, the embedded processor, the embedded operating system and the embedded software developing environment, explains the components of the embedded system.The embedded system has great compatibility. It can be used in MPU selected according to the application. The design of the embedded system brings the challenge witch is different with the traditional design.The embedded system has been an important component of the computer field. Universally speaking, all the private soft-hardware systems with MPU can be named with embedded system. The embedded systems can connect with each other through wireless and cable connecting way. Therefore, it is animate in the market of the communication networks.KEY WORDS Embedded system, Embedded operating system,μC/OS-Ⅱ目录第一章嵌入式系统概述 (1)1.1 嵌入式系统简介 (1)1.2 嵌入式系统的分类 (3)1.3 嵌入式系统设计的特点 (3)第二章嵌入式处理器 (5)2.1 嵌入式处理器简介 (5)2.2 常用嵌入式处理器 (6)第三章嵌入式操作系统 (7)3.1 嵌入式操作系统简介 (7)3.1.1 嵌入式操作系统的机制 (8)3.1.2 嵌入式操作系统的特点: (9)3.1.3 嵌入式操作系统的分类 (10)3.2 μC/OS-Ⅱ嵌入式操作系统 (10)3.2.1 μC/OS-Ⅱ实时操作系统结构 (11)3.2.2 μC/OS-Ⅱ嵌入式操作系统的特点 (11)3.2.3 μC/OS-Ⅱ的移植 (13)第四章嵌入式系统编程语言 (15)4.1 嵌入式系统的高级语言特点 (15)4.2 嵌入式系统高级语言开发过程 (15)4.3 嵌入式系统编程与系统硬件 (17)4.3.1 存储器映射 (17)4.3.2 I/O映射 (18)结束语 (19)参考文献 (20)第一章嵌入式系统概述1.1 嵌入式系统简介何谓嵌入式系统?根据英国电机工程师协会的定义所做的翻译,“嵌入式系统为控制、监视或辅助设备、机器或甚至工厂操作的装置”。

基于ARM的嵌入式温度控制系统设计

基于ARM的嵌入式温度控制系统设计

目录第一章绪论 (2)1.1 引言 (1)1.2 选题背景与意义 (1)1.3 研究现状 (2)1.4 论文主要研究内容 (2)1.5 主要章节安排 (3)第二章开发工具的介绍 (4)2.1 Proteus的功能 (4)2.1.1 Proteus的功能简述 (4)2.1.2 资源丰富 (5)2.1.3电路仿真 (5)2.2 ADS1.2 (6)2.2.1 ADS种类 (6)2.2.2 软件组成 (6)第三章软硬件介绍 (8)3.1 ARM (8)3.1.1 ARM简介 (8)3.1.2 ARM7 (8)3.2LPC2124处理器 (9)3.2.1LPC2124简介 (9)3.2.2 特性 (9)3.2.3 结构 (9)3.2.4引脚描述 (10)3.3硬件系统的整体结构 (11)3.3.1硬件系统的设计原则 (11)3.3.2系统硬件的整体结构 (12)3.3.3 基本硬件组成 (12)第四章软件设计 (17)4.1系统软件的整体结构 (17)4.2.1测控系统 (18)4.2.2显示数字功能 (19)4.2.3 A/D转换数据采集程序功能与实现 (21)第五章总结与展望 (25)5.1 全文总结 (25)5.2后续工作及展望 (25)致谢 (27)参考文献 (28)附录 (29)摘要温度的测量和控制在工业生产中有广泛的应用,尤其在石油、化工、电力、冶金等工业领域中,对温度的测量和监控是非常重要的一个环节,温度参数是工业控制中的一项重要的指标。

本文主要研究了基于ARM7架构的嵌入式系统对于温度控制的应用,它基于ARM7 内核的LPC2124, 以DS1820采集温度信号, 通过RWB 温度变送器和A/D 转换获得实际温度值, 同时通过LCD 实时显示; 此温度控制系统应用于热电仪, 实际应用表明, 系统稳定、可靠, 满足了热电仪的温度控制要求。

关键词:ARM;Proteus;嵌入式系统;温度控制系统AbstractMeasurement and control of temperature is widely used in industrial production, especially in the petroleum, chemical, electric power, metallurgy and other industrial fields, measurement and monitoring of the temperature is a very important link, the temperature parameter is an important index in industrial control.This paper mainly studies the ARM7 based embedded system for the application of temperature control based on ARM7, which based on the LPC2124 kernel, the DS1820 collecting temperature signal, to obtain the actual temperature value through the RWB temperature transmitter and A/D conversion, at the same time through the LCD real time display; This paper introduces the principle, the system implementation process, gives some application circuits. This temperature control system used in the power system, the practical application shows that the system is stable and reliable, meet, the thermoelectric instrument temperature control requirements.Key words:ARM;Proteus;Embedded system;Temperature control system第一章绪论1.1 引言嵌入式系统这几年被广泛应用于各种工业领域、无线通信领域、智能仪表,消费电子等各个领域,离不开微电子技术的迅猛发展,它主要用于各种嵌入式应用,以将计算机硬件和软件相结合的手段,完成指定的任务和功能。

嵌入式系统原理及应用arm

嵌入式系统原理及应用arm

嵌入式系统原理及应用arm嵌入式系统原理及应用ARM嵌入式系统是一种专门的计算机系统,旨在执行特定任务。

它通常被设计为嵌入到其他设备或系统中,以实现特定的控制功能。

这些设备可以是家用电器、汽车、工业机器人、智能手机等。

嵌入式系统通常要求具有可靠性高、成本低、功耗低等特点,以满足实时要求。

ARM架构是一种最常用的嵌入式系统架构。

ARM起初是Acorn RISC Machine 的简称,后来改称为Advanced RISC Machine。

ARM架构的特点是精简指令集和低功耗设计。

它采用简单的指令集和流水线技术,可以在低功耗的同时提供高性能和高效率的计算能力。

ARM处理器广泛应用于各种嵌入式系统中。

它的应用领域包括智能手机、平板电脑、数字电视、游戏机、路由器、无线通信设备等。

ARM处理器的主要特点是功耗低、性能高、集成度高、可扩展性好。

在智能手机和平板电脑领域,ARM 处理器几乎占据了绝对的市场份额。

嵌入式系统的原理包括硬件和软件两个方面。

硬件方面,嵌入式系统通常由处理器、存储器、输入输出设备和外围接口组成。

其中,处理器是系统的核心,负责处理数据和执行指令。

存储器通常包括闪存、RAM和ROM,用于存储程序和数据。

输入输出设备用于和外部环境进行交互,如键盘、显示器、传感器等。

外围接口用于连接其他设备和系统。

软件方面,嵌入式系统的开发过程包括系统设计、程序开发、测试和调试等阶段。

开发嵌入式软件需要考虑资源有限、实时要求、可靠性等特点。

常用的嵌入式软件开发工具包括编译器、调试器、仿真器等。

编程语言上,C语言是最常用的嵌入式软件开发语言,它有较高的效率和可移植性。

嵌入式系统的应用非常广泛。

在家电领域,嵌入式系统被应用于空调、洗衣机、电视等产品中,实现智能控制和便捷操作。

在汽车工业中,嵌入式系统被用于发动机控制、车载导航、安全系统等领域。

在工业自动化中,嵌入式系统被应用于机器人、传感器、PLC控制器等设备中,实现自动化生产和监测。

基于ARM的温度监测系统设计与实现

基于ARM的温度监测系统设计与实现

基于ARM的温度监测系统设计与实现作者:郭志恒来源:《计算机光盘软件与应用》2011年第12期摘要:提出基于ARM的温度监测系统的设计实现。

采用数字温度传感器DSl8B20作为温度检测元件,单片机控制温度采集,通过单根总线将采集的数据传送到ARM主机S3C2410上。

在嵌入式Linux操作系统,利用Qt作为GUI,实现对温度数据进行实时显示及存储。

关键词:嵌入式Linux;DS18B20;温度监测;Qt中图分类号:TP274+.2 文献标识码:A文章编号:1007-9599 (2011) 12-0000-01ARM-Based Temperature Monitoring System Design and ImplementationGuo Zhiheng(University of Electronic Science and Technology of China,Zhongshan Institute,Zhongshan University,Zhongshan528402,China)Abstract:In this paper,a system design for monitoring temperature based on ARM platform.the DS18B20 temperature sensors are used to collect temperature data,the microcontroller controls temperature acquisition and send data to the ARM host through the RS-485 bus protocol.TheS3C2410 as the core with Qt GUI,carry out displaying of temperature and storing data for real-time. Keywords:Embedded Linux;DS18B20;Temperature monitoring;Qt一、引言在工农业生产环境以及公共场所、家庭环境中,温度数据作为主要监测因素显得越来越重要,温度的远程监控问题尤其应用领域越来越广泛。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统原理及应用》课程设计题目:基于ARM7温度监测系统设计班级学号姓名二〇一三年十一月基于ARM7的温度监测系统的设计摘要本系统基于ARM7LPC2210、温度传感器DS18B20、液晶屏LCD1302、LED显示灯,开关等组成,系统可以实现对温度的初值设定、环境温度监控以及当温度超限时,产生报警LED闪烁)同时通过串口通信发送上位机显示,从而实现对温度的监控。

该系统硬件结构简单,监控温度范围大,精度高,能广泛应用于对温度控制要求较高的各种场合,市场前景广阔。

关键词:LPC2210 DS18B20 LCD 1602 温度超限报警目录1引言 (3)2系统总体方案 (3)3硬件设计3.1DS18B20温度传感器的设计 (4)3.2LCD1602液晶显示屏的设计 (5)3.3串口设计 (6)3.4程序硬件接线图 (6)4程序代码设计及调试仿真4.2 液晶显示功能模块 (7)4.3 串口通信模块 (8)4.4主函数功能模块 (9)6设计结果演示...........................................9--10 7设计体会. (11)1 引言近年来随着科技的飞速发展,嵌入式的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的嵌入式应用系统中,嵌入式往往作为一个核心部件来使用,仅嵌入式方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

温度是一种最基本的环境参数,人们生活与环境温度息息相关,在工业生产过程中需要实时测量温度,在工业生产中也离不开温度的测量,因此研究温度的测量方法和控制具有重要的意义。

DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器,通过此次项目设计,可以在原有的理论基础上,更加深入的了解传感器的工作原理特别是DS18B20温度传感器的工作原理,同时提高我们的实践动手能力以及逻辑思维能力,特别是拓宽了对ARM 控制器的使用视野。

本系统采用LPC2210系列ARM芯片和可编程串行I/O接口芯片DS18B20为中心器件来设计温度监测系统,实现了设计一个数字温度采集并监控的系统,利用LCD液晶屏和上位机显示温度,并具有温度超限报警功能,该系统能广泛应用于各种行业,例如智能家居系统,化工厂和酿酒厂,市场前景广阔,具有很高的实用价值。

2 系统的总体方案系统初始化后,LCD和上位机上显示当前室内温度,通过功能键能实现对温度初值的设定,如果温度超过预先设定的温度值,LED灯会闪烁提示温度超限,上位机会显示警告,提醒值班人员检查温度异常的原因。

1.液晶显示模块LCD1602资料介绍使用LCD液晶屏1602作为温度的显示,LCD 液晶显示器的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

显示清晰,实现功能全,如果利用数码管显示温度,则不能顺利显示英文而且还会用到锁存器,这会导致系统更加繁杂,综合各种考虑,我们选用1602液晶显示。

此外,此液晶的功耗小,显示内容丰富。

如果要想液晶显示汉字,我们可以选择另外一种芯片LCD12864。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

第7~14脚:D0~D7为8位双向数据端。

第15~16脚:空脚或背灯电源。

15脚背光正极,16脚背光负极。

LCD1602最重要的部分是第4,5,6三个引脚。

这三个引脚决定了数据的读和写,我们写程序的重点是控制这三个引脚的状态2.温度传感器设计DS18B20数字温度传感器,该产品采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

由于DS18B20性能已经够好,控制起来也比较方便,故我们直接选用DS18B20作为温度传感器。

在仿真图中的引脚安装DS13820采用独特的单口接线方式传输,在与微处理器连接时只需要一条口线即可实现微处理器与DS1380的双向通信,不需要外围元件,外加电压范围是3.0——5.5V,测量温度范围是-55℃——125℃.在-10℃到+85℃的范围内的固有分辨率是0.5℃,测量结果以9位到12位的数字量方式直接输出数字信号,以“一线总线”方式传给CPU,,同时可传送CRC校验码,具有极强的抗干扰能力,适用于环境恶劣的现场温度测量。

由于它的这种特性,我们只需要把它的引脚与ARMP1.25相连即可,VCC接电源,GND接地(如在仿真中的接线图)整个操作主要包括三个关键过程:主机搜索DS18B20序列号、启动在线DS18B20做温度转换、读取温度值。

DS18B20严格遵循单总线协议,工作时,主机先发一复位脉冲,使总线上的所有DS18B20都被复位,接着发送ROM操作指令,使序列号编码匹配的DS18B20被激活,准备接受下面的RAM访问指令。

RAM访问指令控制选中的DS18B20工作状态,完成整个温度转换,读取等工作。

在ROM命令发送之前,RAM命令命令不起作用。

3.串口的设计LPC2210含有两个符合工业标准的异步串行口,UART0和UART1。

系统仿真接线图RXD和TXD分别连接ARM的P0.1和P0.0 上位机的RXD和也和ARM的P0.0相连。

系统报警模块用一个LED灯模拟,当出现状况时,LED灯会不停的闪烁,达到报警的目的。

系统硬件总设计图4软件代码设计及调试仿真结果软件设计时用到了模块化设计思想,代码包含了若干个头文件,包括lpc2100.h ,stdio.h ,ds18b20.h, lcd.h,uart.h下面我们截取重要的几个头文件程序进行并分析LCD液晶模块程序设计(部分)void ChkBusy(){IO0DIR=0xf0;while(1){IO0CLR=rs;IO0SET=rw;IO0SET=en;if(!(IO0PIN & busy))break;IO0CLR=en;}IO0DIR=0xffffffff;}void WrOp(uint8 dat){ChkBusy();IO0CLR=rs;IO0CLR=rw;IO0CLR=IO0CLR|0xff00; //先清零IO0SET=dat<<8; //再送数IO0SET=en;IO0CLR=en;}void WrDat(uint8 dat){ChkBusy();IO0SET=rs;IO0CLR=rw;IO0CLR=IO0CLR|0xff00; //先清零IO0SET=dat<<8; //再送数IO0SET=en;IO0CLR=en;}void lcd_init(void){WrOp(0x38);WrOp(0x06);WrOp(0x0c);}第一个函数作用是监测lcd是否忙碌,第二个函数是用来写数据的,rs,rw,en的状态很重要,是正确读数据的关键,第三个函数是写指令的函数,和前一个一样,rs,rw,en 状态是很关键的,最后一个是lcd的初始化函数,其他函数在这里不做介绍。

UART串口程序设计(部分)void UART0_Init(void){uint Fdiv;U0LCR = 0x83;// 8位数据,无效验,一个停止位, 除数锁存访问(DLAB = 1,可设置波特率)Fdiv = (Fpclk / 16) / UART_Baud; // 设置波特率, Fpclk=11059200U0DLM = Fdiv / 256; // 设置分频寄存器高字节U0DLL = Fdiv % 256; // 设置分频寄存器低字节//U0DLL=72; // 12MHz 或 11.0592MHz//U0DLL=97; // 15MHZU0LCR = 0x03;}uint8 UART0_GetByte (void){ uint8 rcv_dat;while ((U0LSR & 0x01) == 0); // 等待接收标志置位rcv_dat = U0RBR; // 读取数据return (rcv_dat);}void UART0_SendByte(uint8 data){U0THR = data; // 发送数据while ((U0LSR&0x20)==0); // 等待数据发送完毕 0x40}void UART0_SendStr(uint8 const *str){while(1){if(*str=='\0'){break;}UART0_SendByte(*str++); // 发送数据}}void UART0_GetStr(uint8 *s, uint32 n){ for ( ; n>0; n--){ *s++ = UART0_GetByte(); }}void UART0_SendChar(int ch){if (ch == '\n') {while (!(U0LSR & 0x20));U0THR = 0x0D;}while (!(U0LSR & 0x20));U0THR = ch;}主函数程序设计(部分)#define UART_Baud 9600#include "DS18B20.h"#include "LCD.h"#include "UART.h"#define LED1 (1<<17) //uint16 set_temp=150; //设定温度为15度,超过的话则报警,串口出现warning LED1开始闪烁。

uint16 measure_temp=0;void __irq IRQ_T0(void){T0TCR = 0; // 计数器使能measure_temp=ReadTemp();ConvertTemperature(measure_temp); // 温度转换if(measure_temp>set_temp){IO1CLR |= LED1;Delayms(100);IO1SET|=LED1;Delayms(100);UART0_SendStr("WARNING!! TOO HIGH!! ");DisText(0xc4,Tp);}elseif(measure_temp<100) // 小于10度,则报警{IO1CLR |= LED1;Delayms(100);IO1SET|=LED1;Delayms(100);UART0_SendStr("WARNING!! TOO LOW!!");DisText(0xc4,Tp);}elseUART0_SendStr(" NORMOL!!");UART0_SendStr(Tp); // 发送温度UART0_SendStr("\r\n"); // 回车DisText(0xc4,Tp); // 显示当前温度T0IR=0x02; //清除MR1中断标志VICVectAddr=0x00; //通知VIC中断处理结束T0TCR = 1; // 计数器使能}在以上程序是环境温度起判断作用的关键,设定安全温度为15℃和10℃,当环境温度高于15℃或者低于10℃时,系统报警,LED灯开始闪烁。

相关文档
最新文档