《基于单片机的环境控制模拟实验箱 毕业设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的环境控制模拟实验箱 毕业设计.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 本科生毕业论文(设计)题 目: 基于单片机的环境控制模拟实验箱 (恒温恒湿控制系统) 姓 名: 学 院: 工学院 专 业: 电子信息科学与技术 班 级: 信息95 学 号: 32309509 指导教师: 职称: 讲师 2013 年 5月 1 日 目 录摘要1关键词1Abstract.1Key words11论文概述21.1课题背景21.2课题研究的目的和意义21.3国内外发展状况21.4研究的主要内容32系统的总体设计32.1 系统设计的原则32.2 系统的组成32.3 系统的工作原理43.系统的硬件设计43.1单片机的设计43.1.1 C8051F020单片机概述43.1.2 C8051F
2、020单片机与80C51主要的不同点53.2 温湿度传感器的设计63.3 液晶显示装置的设计83.4 输入控制模块的设计103.5 温湿度控制模块的设计113.5.1温度控制装置113.5.2湿度控制装置123.6 模拟箱的设计与组建134.系统的软件设计134.1 模拟箱的设计与组建134.1.1 Keil概述144.1.2 Keil开发系统整体结构154.2常用的调试方法154.2.1单步调试154.2.2断点调试164.3系统软件流程图164.4初始化模块174.5温湿度检测模块174.6液晶显示模块194.7键盘输入模块214.8温湿度判断控制模块24结论25致谢26参考文献2726
3、基于单片机的环境控制模拟实验箱 (恒温恒湿控制系统) 电子信息科学与技术专业学生 孙嘉骏指导教师 卢伟摘要:随着物质生活水平的日益提高和社会经济的不断发展,人们对生活品质的要求也日益提高,因此引入了科技住宅这一概念,绿色科技住宅最为吸引人的一点即为24小时的恒温恒湿,如何有效的控制温度和湿度,也一直是人们探讨的话题。本论文主要阐述了利用C8051F020单片机设计一个模拟智能家居的温湿度检测控制系统,对室内的温湿度进行检测控制并实时显示。其中温湿度传感器采用AM2301数字温湿度传感器,通过C8051F020单片机的处理把温湿度值显示在1602液晶上。同时通过4*4矩阵键盘设定所需的温湿度,并
4、实时判断温湿度值是否满足设定的温湿度范围,若超出设定范围,通过C8051F020启动温湿度控制系统,达到恒温恒湿的目的。关键词:C8051F020;AM2301;1602液晶;恒温恒湿 The environmental simulate box based on single-chip microcomputer(Constant temperature and humidity control system) Student majoring in Electronic and Information Science and Technology Sun Jiajun Tutor Lu W
5、eiAbstract:With the continuous development of material living standards and increasing the social economy, peoples quality of life demands are increasing, thus introducing the concept of residential technology, the constant temperature and humidity an attraction for 24 hours for residential green te
6、chnology, how to effectively control the temperature and humidity, has always been people discussion on topic.This paper mainly expounds the temperature and humidity measuring and controlling system using C8051F020 single-chip microcomputer to design a simulation of intelligent home furnishing, temp
7、erature and humidity on the indoor test control and real-time display. The temperature and humidity sensor using AM2301 digital temperature and humidity sensors, through the C8051F020 MCU to temperature and humidity values in the 1602 liquid crystal display. At the same time, through the 4*4 matrix
8、keyboard set temperature and humidity is required, and the real-time judgment of temperature and humidity value meets the set humidity and temperature range, if exceed the set range, through the C8051F020 start temperature and humidity control system, to achieve the purpose of constant temperature a
9、nd humidity.Key words: C8051F020;AM2301;1602LCD;Constant temperature and humidity引言 随着物质生活水平的日益提高和社会经济的不断发展,人们对生活品质的要求也日益提高,因此引入了科技住宅这一概念,绿色科技住宅最为吸引人的一点即为24小时的恒温恒湿,如何有效的控制温度和湿度,也一直是人们探讨的话题。而基于单片机的温湿度控制系统的模拟实验箱对解决这一问题有着非常重大的意义。1论文概述1.1课题背景随着物质生活水平的日益提高和社会经济的不断发展,人们对生活品质的要求也日益提高,因此引入了科技住宅这一概念,绿色科技住宅最为
10、吸引人的一点即为24小时的恒温恒湿,如何有效的控制温度和湿度,也一直是人们探讨的话题。而基于单片机的温湿度控制系统的模拟实验箱对解决这一问题有着非常重大的意义。之前的恒温恒湿家居主要设定一固定的温湿度,为了充分的利用好恒温恒湿这一高效技术,就必需有一套科学的,先进的技术处理手段,用以对不同的人在不同的季节和气候条件下对温度和湿度有着截然不同的需求。温湿度控制对于单片机的应用具有一定的实际意义,它代表了一类自动控制的方法。而且其应用十分广泛。1.2课题研究的目的和意义随着经济和社会的不断发展,人们对自己的生活环境越来越严格。基于单片机的温湿度监测控制统设计,将对环境的温湿度监测控制系统做详细的设
11、计与实现。采用高性能的控制芯片C8051F020,向模块化、高速化、智能化的单片机数据采集系统靠近。将此系统应用到智能家居中无疑为人们的日常生活提供了更加适宜的环境,使人们不用再受室外的气候和天气影响,具有十分良好的发展前景。本系统拟采用的C8051F020为89C51单片机的一款升级衍化产品。89C51单片机是常用于控制的芯片,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温湿度检测控制系统的实例也很多。使用89C51单片机能够实现温湿度全程的自动检测与控制,而且89C51单片机易于学习、掌握,性价比高。使用89C51型单片机设计温湿度检测控制系统,可以及时、精
12、确的反映室内的温度以及湿度的变化。完成诸如升温到特定温度、降温到特定温度、在温度上下限范围内保持恒温等多种控制方式,在湿度控制方面也是如此。将此系统应用到智能家居,科技住宅领域中无疑能方便的给人们提供更加舒适的居住环境。1.3国内外发展状况国外在这一领域较为领先,技术也较为成熟,目前这方面主要的发展方向一是利用计算机仿真技术,与PC机结合,做仿真实验。二是提高试验速度,降低试验成本。多功能化、智能化,更加安全、精确。虽然现在温湿箱只能模拟两种参数,但是将来将重点发展复合式的多功能智能化试验箱2。恒温恒湿试验箱的应用越来越广, 生产、科研对它的要求也越来越高。要求它的性能价格比更高, 使用寿命更
13、长, 使用费用更少(省电) , 响应速度更快。近几年来,我国从国外引进了大批试验系统,为我国工业产品的研制和定型发挥了重要作用,但由于其本身的复杂性,使得试验箱在运行中出现了许多问题,而且出现了问题不能及时解决,大大延长了试验周期,影响了产品的研制工作。而产生这些现象的原因是对综合试验的工作原理不了解3。因此本次课题将从恒温恒湿箱原理出发,在实现恒温恒湿控制的基础上进一步在精度上,加湿方式等方面进行完善和提高。1.4研究的主要内容 本研究主要集中于设备的结构、温控和湿控选择、控制精度与测试监控等方面。主要研究内容如下:1. 温度检测与控制:对箱内温度进行测量,并通过升温或降温达到最佳温度。2.
14、 湿度检测与控制:对箱内湿度进行测量,并通过喷雾或去湿达到最佳湿度。3. 显示: LCD显示相应的温湿度,并有相应的控制界面。4. 人性化的控制设计:根据个人具体的生活需求,可通过输入按键或触摸屏进行温湿度设置,把温湿度值控制在一定的范围内。2系统的总体设计2.1 系统设计的原则要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。可靠性:高可靠性是单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则。提高系统的可靠性通常从以下几个方面考虑:使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道抗干扰措施;进行软硬件滤波;系统
15、自诊判断功能等。操作维护方便:在系统的软硬件设计时,应从操作者的角度考虑操作和维护方便,尽量减少对操作人员专用知识的要求,以利于系统的推广。因此在设计时,要尽可能减少人机交换接口,多采用操作内置或简化的方法。同时系统应配有现场故障自动诊断程序,一旦发生故障能保证有效地对故障进行定位,以便进行维修。性价比:单片机除体积小、功耗低等特点外,最大的优势在于高性能价格比。一个单片机应用系统能否被广泛使用,性价比是其中一个关键因素。因此,再设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能使用软件功能取代硬件功能等。2.2 系统的组成测控系统主要采用SOC单
16、片机C8051F020,选用温湿度传感器AM2301,1602LCD显示器,4*4矩阵键盘,以及控制温度的制热制冷设备和控制湿度喷雾设备。系统总的组成如图2.1所示:图2.12.3 系统的工作原理本系统以单片机C8051F020为核心,数据采集、传输、显示都要通过单片机。数据采集通过单总线的智能数字温湿度传感器AM2301完成;通过单片机把采集的数据显示在LCD上。并通过键盘设定控制的温湿度范围。在整个系统中采用了AM2301单总线技术,采用C语言进行单片机编程。 温室温湿度控制系统是以C8051F020单片机作为中央控制装置,制冷,制热设备,加湿设备,除湿设备等。 C8051F020作为中央
17、控制装置,负责中心运算和控制,协调系统各个模块的工作。 矩阵键盘:负责设定控制的温湿度范围。 制冷设备:负责系统的降温工作。 加热设备:负责系统的加热工作。 喷雾设备:负责系统的加湿工作。3.系统的硬件设计3.1单片机的设计3.1.1 C8051F020单片机概述 C8051F系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的CIP-51微控制器内核,采用流水线结构,单周期指令运行速度是8051的12倍,全指令集运行速度是原来的9.5倍。熟悉NCS-51系列单片机的工程技术人员可以很容易地掌握C8051F的应用技术并能进行软件的移植。但是不能将8051的程序完全照搬的应用于C805
18、1F单片机中,这是因为两者的内部资源存在较大的差异,必须经过加工才能予以使用。其中C8051F020以其功能较全面,应用较广泛的特点成为C8051F的代表性产品,其性能价格比在目前应用领域也极具竞争力。C8051F020的内部电路包括CIP-51微控制器内核及RAM、ROM、IO口、定时计数器、ADC、DAC、PCA(PrintedCircuitAssembly印制电路组装)、SPI(SerialPeripheralInterface-串行外设接口)和SMBus(SystemManagementBus)等部件,即把计算机的基本组成单元以及模拟和数字外设集成在一个芯片上,构成一个完整的片上系统(
19、SoC)。本次所采用的最小开发板如图3.1所示:图3.13.1.2 C8051F020单片机与80C51主要的不同点运行速度: C8051F020的指令运行速度是一般80C51系列单片机的10倍以上。因为其CIP-51中采用了流水线处理结构,已经没有了机器周期时序,指令执行的最小时序单位为系统时钟,大部分指令只要12个系统周期即可完成。又由于其时钟系统比80C51的更加完善,有多个时钟源,且时钟源可编程,时钟频率范围为025MHz,当CIP-5l工作在最大系统时钟频率25MHz时,它的峰值速度可以达到25MIs,C8051F020已进入了8位高速单片机行列。IO端口的配置方式: C8051F0
20、20拥有8个8位的IO端口,大量减少了外部连线和器件扩展,有利于提高可靠性和抗干扰能力。其中低4个IO端口除可作为一般的通用IO端口外,还可作为其他功能模块的输入或输出引脚,它是通过交叉开关配置寄存器XBR0、XBR1、XBR2选择并控制的,可将片内的计数器定时器、串行总线、硬件中断、比较器输出及其它的数字信号配置为在端口IO引脚出现,这样用户可以根据自己的特定需要选择所需的数字资源和通用IO口。数字交叉开关是一个比较大的数字开关网路,这在所有80C51系列单片机上是一个空白。另外P1MDIN用于选择P1的输入方式是模拟输入还是数字输入,复位值为11111111B,即默认为数字输入方式。而80
21、C51单片机的IO引脚是固定分配的,即占用引脚多,配置又不够灵活。C8051F020通过优先权交叉开关译码器(如图2所示)控制数字开关网路,端口引脚的分配顺序是从P0.0开始一直到P3.7。当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应使能位被设置为逻辑“1”时,交叉开关将端口引脚分配给外设,例如,如果UARTOEN位(XBR0.2)被设置为逻辑“1”,则TX0和RX0引脚将分别被分配到P0.0和P0.1。因为UART0有最高优先权,所以当UARTOEN位被设置为逻辑“1”时其引脚将总是被分配到P0.0和P0.1。未被设置的交叉开关分配端口可作为通用IO口。注意:当选择了串行通信
22、外设(即SMBus、SPI或UART)时,交叉开关将为所有相关功能分配引脚。例如,不能为UART0功能只分配TX0引脚而不分配RX0引脚。交叉开关寄存器被正确配置后,通过将XBARE(XBR2.6)设置为逻辑“1”来使能交叉开关。内部功能: C8051F020内部带有数据采集所需的ADC和DAC,其中ADC有两个,一个是8路12位逐次逼近型ADC,可编程转换速率,最大为100kSs可通过多通道选择器配置为单端输入或差分输入。内有可编程增益放大器PGA用于将输入的信号放大,提高AD的转换精度。可编程增益为:0.5、1、2、4、8或16,复位时默认值为1。另一个是8路8位ADC,可编程转换速率最大
23、为500kSs,其可编程放大增益为0.5、1、2、4,复位时默认值为0.5。有2个12位的DAC,用于将12位的数字量转换为电压量,可产生连续变化的波形,两路信号可同步输出。外部接口:C8051F020外设还增添了三个串行口。可同时与外界进行串行数据通信,SMBus兼容于I2C串行扩展总线;SPI串行扩展接口;两个增强型UART串口。C8051F020具有基于JTAG接口的在系统调试功能,片内的调试电路通过JTAG接口可提供高速、方便的在系统调试。3.2 温湿度传感器的设计1)AM2301产品概述AM2301数字温湿度传感器(如图3.2)是一款含有已校准数字信号输出的温湿度复合传感器。它应用专
24、用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个AM2301传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。图3.
25、22)产品亮点超低能耗、传输距离远、全部自动化校准、采用电容式湿敏元件、完全互换、标准数字单总线输出、卓越的长期稳定性、采用高精度测温元件。3)单总线接口定义,如图3.3所示:图3.3引脚说明(VDD SDA GND):AM2301的供电电压范围为 3.5V - 5.5V,建议供电电压为 5V。数据线 SDA 引脚为三态结构,用于读/写传感器数据。详细见单总线的通信协议说明。4)单总线接口定义 DATA 用于微处理器与 DHT21之间的通讯和同步,采用单总线数据格式,一次通讯时间5ms左右 ,具体格式在下面说明,当前数据传输为40bit,高位先出。 数据格式:40bit数据=16bit湿度数据
26、+16bit温度数据+8bit校验和 例子: 接收40bit数据如下: 0000 0010 1000 1100 0000 0001 0101 11111110 1110湿度数据 温度数据 校验和湿度高8位+湿度低8位+温度高8位+温度低8位=的末8位=校验和例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110湿度=65.2RH 温度=35.1 当温度低于0时温度数据的最高位置1。 例如:-10.1表示为1000 0000 0110 0101 用户主机(MCU)发送一次开始信号后,DHT21从低功耗模式转换到高速模式,等待主机开始信号结束后,D
27、HT21发送响应信号,送出40bit的数据,并触发一次信号采集。3.3 液晶显示装置的设计图3.41602液晶(如图3.4)也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔 每行之间也有也有间隔 起到了字符间距和行间距的作用,正因为如此 所以他不能显示图形(用自定义CGRAM,显示效果也不好)1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相
28、同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm图3.5引脚功能说明(如图3.5):1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器
29、选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602液晶操作的时序图(如图3.6,3.7):图3.6图3.73.4 输入控制模块的设计图3.8如图3.8所示矩阵键盘,每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编
30、码。矩阵的行线和列线分别通过两并行接口和CPU 通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。3.5 温湿度控制模块的设计3.5.1温度控制装置温度控制装置主要分为加热装置(电热丝)以及制冷装置(半导体制冷片)半导体制冷片实物图(图3.9):图3.9与单片机连接
31、如图3.10所示:图3.10半导体制冷片概述: 半导体制冷器的用途很多,可用于制作便携冷藏/保温箱、冷热饮水机等。也用于电子器件的散热。目前制冷器所采用的半导体材料最主要为碲化铋,加入不纯物经过特殊处理而成 N 型或 P 型半导体温差元件。以市面常见的TEC1-12605为例,其 额定电压为:12v,额定电流为5A,最大温差可达60摄氏度,外型尺寸为4 X 4 X 0.Cm,重约25克。它的工作特点是一面制冷而一面发热。接通直流电源后,电子由负极(-)出发,首先经过P型半导体,在此吸收热量,到了N型半导体,又将热量放出,每经过一个NP 模组,就有热量由一边被送到另外一边,造成温差,从而形成冷热
32、端。 特性: 依据珀尔帖效应制作的温差电致冷组件重量轻,体积小并具有相对高的致冷量,它特别适用于有限空间的致冷,由于致冷组件是一种固态热泵,因而它无需维护,无噪音 ,能在任何位置工作,抗冲击和抗振动能力强。另外,改变组件工作电流极性时,它又可以致热,改变电流强度可调整致冷功率。 产品型号 TEC1-12706外形尺寸 40*40*3.8 元件对数 127引线标准 20AWG UL1569 105标准镀锡导线,PVC绝缘皮,引线长3505mm,线端部剥皮71mm 引线焊在热面一端。阻值 1.952.15(环境温度231,1kHZ Ac测试)最大温差Tmax(Qc=0) 6569工作电流Imax
33、12VDC时4.6A,15.4VDC时6.3A最大电压Vmax 15.4VDC最大致冷功率Qcmax 56W 承受装配压力 98N/cm2工作环境温度范围 -55803.5.2湿度控制装置由于室内的墙壁一般能有效的吸收空气中的水蒸气,从而达到降低湿度的效果,因此在湿度控制方面,主要考虑对空气的雾化(加湿),选用超声雾化头实物如图3.11所示:图3.11与单片机连接如图3.12所示:图3.12超声雾化头主要性能参数:工作电压: 24(V)功率:19(W)(1W)雾化量:400cc/har匹配电源 :24(V) DC (直流变压器)工作频率: 170050(KHZ)换能片直径 : 20mm有效水位
34、 :20mm75mm工作温度 :545彩灯:无灯 水位感应开关:门字型 高H12mm雾化头直径:45mm高:H35mm线材规格:黑色 3.8mmPVC线,电源线长L140020mm插头型号: 5.52.1mm母插3.6 模拟箱的设计与组建由于材料和时间关系,无法做出能完全模拟智能家居的模拟箱,暂且以纸盒子代替,另外电热丝,制冷片,传感器的安放也要考虑到冷热空气的升降等因素,还有制冷片的热面的散热问题等都要进行综合的考虑来制作模拟箱,效果如图3.13和图3.14。图3.13图3.144 系统的软件设计4.1软件简介4.1.1 Keil概述图4.1 Keil C51是美国Keil Software
35、公司出品的51系列兼容单片机C语言软件开发系统(如图4.1),与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。4.1.2 Keil开发系统整体结构 C51工具包的整体结构,uVi
36、sion与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2常用的调试方法4.2.1单步调试 利用
37、Debug工具条中的图标,可以实现代码单步运行。 Step Into:单击Debug工具条中的“Single Step”按钮,或选择“DebugStep Into”。如果下一步遇到函数调用,Step Into会执行到函数内部的起始位置停下来。如果用户选择的是C源程序模式,该命令执行一条C指令;否则,该命令执行一条汇编指令。 Step Over:单击Debug工具条中的“Step Over”按钮,或选择“DebugStep Over” 。如果遇到函数调用,Step Over会执行到函数结束,然后停止运行。除非在函数中间遇到断点,此时执行到断点位置停止运行。Step Over命令也可以用来调试非函
38、数调用的执行语句。在这种情况下,调试器每执行一条语句就停下来。用户可查看完整的C源程序文件,或同时显示汇编文件。如果用户选择的是C源程序模式,该命令执行一条C指令;否则,该命令执行一条汇编指令。 Step Out:单击Debug工具条中的“Step Out”按钮,或选择“DebugStep Out” 。如果当前正运行在子程序中,Step Out会返回到调用函数的出口位置停下来。如果用户选择的是C源程序模式,调用函数由标准运行C堆栈中的本地帧指针决定;否则,返回调用函数的指针地址被认为是栈顶的值。如果用户的汇编子程序使用栈来存放其他信息,那么Step Out命令不能正确执行。在C6000的处理器
39、上,如果符号信息不可用,则Step Out命令无效。用户可以通过Multiple Operation对话框来选择多次单步操作的类型和次数,在CCS中进行程序调试。具体的设置步骤如下。选择“DebugMultiple Operations”。显示Multiple Operations的对话框。 在Multiple Operation对话框的下拉列表中选择单步运行命令。在技术栏中,指定重复执行该单步命令的次数。单击“OK”按钮。4.2.2断点调试图4.2设置断点(如图4.2)是调试程序的必要手段。断点用于停止程序的运行,当程序停止时,用户可以检查程序的状态、检查和修改变量值、检查堆栈等。用户可以创
40、建和管理一个或多个断点,断点可以设在源代码窗口的某一行,或者设在反汇编窗口的某一条指令处。断点设置好后可以将它使能或者禁止。断点分为软件中断与硬件中断。软件中断的执行通过改变操作码,而硬件中断是硬件发起的。软件中断的设置数量上没有限制,单硬件中断的数量取决于可用的硬件资源。添加和删除断点:在源程序的编辑窗口或者反汇编窗口中,将光标放在预设值断点的代码行,单击右键在弹出的菜单中选择“Toggle Breakpoint”。此时,在该语句的左边会出现一个红色的圆点。将光标放在断点所在行,并再次单击断点开关按钮即可取消该处的断点。也可以通过选择“DebugBreakpoints”,在弹出的断点管理器中
41、添加和删除断点。断点调试:断点设置成功以后,单击工具栏“Run”按钮,或者单击“DebugRun”程序就可以运行到断点处,PC指针指到断点位置,与断点指针将重叠显示。断点设置的目的是查看此时DSP内部的各种寄存器以及存储器中的值是否正确,一次判断程序是否运行正常。 断点管理器(Breakpoint Management):新的IDE版本和以前相比,建立和配置断点的界面有了很大的改变。以往,要配置一个断点,需要打开一个单独的对话框,然后完成一系列的步骤。新的断点管理器界面将该单独窗口里的所有步骤全部留给调试过程。 4.3系统软件流程图如图4.3所示图4.34.4初始化模块初始化模块包括单片机的初
42、始化和1602液晶的初始化,以及各个端口的定义等,由于8051单片机的特殊性,因此需要关闭看门狗以及配置交叉开关。void Init_Device(void)/设置端口,关看门狗 WDTCN=0xde; WDTCN=0xad; P3MDOUT = 0xff; P2MDOUT = 0x7f;DHT=1; XBR2 = 0x40;4.5温湿度检测模块void RH() unsigned char count_us=0,Tex; P3MDOUT|=0x01; DHT=0; delay_us(200); delay_us(200); delay_us(200); DHT=1; P3MDOUT&=0xf
43、e; delay_us(45); if(!DHT) while(!DHT)/等待低电平,延时 _nop_(); _nop_(); _nop_(); _nop_(); count_us+; if(count_us=60) break; count_us=0;while(DHT) _nop_(); _nop_(); _nop_(); _nop_(); count_us+; if(count_us=60) break; RH_H=read_RH();RH_L=read_RH();Temp_H=read_RH();Temp_L=read_RH();Tex=read_RH();P3MDOUT|=0x01
44、;DHT=1;count_us=RH_H+RH_L+Temp_H+Temp_L;if(Tex=count_us) RH_dat=RH_H; RH_dat=8; RH_dat|=RH_L; Temp_dat=Temp_H; Temp_dat=8; Temp_dat|=Temp_L; 4.6液晶显示模块液晶显示模块包括两部分的显示,即当前温湿度的显示及刷新,设置界面的显示。效果上:temp:和humi:后面显示当前的温湿度,同行的最后通过max和min来显示当前温度设定的上下限。当前温湿度部分显示:void display(unsigned char x,unsigned char y,unsigned int dat) if(dat1000) if(dat100) write_char(x+0,y, ); write_char(x+1,y, ); write_char(x+2,y,dat/10%10+0); write_char(x+4,y,dat%10+0);else write_char(x+0,y, ); write_char(x+1,y,d