基于89c51单片机温度控制器的毕业设计说明书

上传人:1666****666 文档编号:36831111 上传时间:2021-11-01 格式:DOC 页数:43 大小:891KB
收藏 版权申诉 举报 下载
基于89c51单片机温度控制器的毕业设计说明书_第1页
第1页 / 共43页
基于89c51单片机温度控制器的毕业设计说明书_第2页
第2页 / 共43页
基于89c51单片机温度控制器的毕业设计说明书_第3页
第3页 / 共43页
资源描述:

《基于89c51单片机温度控制器的毕业设计说明书》由会员分享,可在线阅读,更多相关《基于89c51单片机温度控制器的毕业设计说明书(43页珍藏版)》请在装配图网上搜索。

1、阳泉职业技术学院毕业设计说明书阳泉职业技术学院毕业设计任务书毕业生姓名专业指导教师姓名类别学号班级职称 外聘、本校一、毕业设计题目基于单片机的温度自动控制系统设计二、毕业设计提供的原始数据资料自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。通过对单片机和控制系统方面课程的综合应用,可以设计采用单片机来对温度进行控制的系统,具有控制方便、组态简单和灵活性大等优点,并且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。三、毕业设计应完成主要内容:1、说明书:完成毕业设计说明书,具体要求如下:根据工艺要求确定控制方案;说明控制系

2、统主机的机型,硬件设备及元器件选择;画出相应的硬件设计电路图;画出相应的软件设计流程图;编写程序;结构及语言条理清晰,表达准确;符合相关格式规范。2、图纸:绘制电气设计图1张;绘制软件设计流程图1张;符合相关制图规范。四、毕业生应提交的毕业设计资料要求1、说明书:格式规范,符合相关的要求;说明书结构完整,条理清晰; 语言表达准确清晰;根据工艺要求确定控制方案;说明控制系统主机的机型,硬件设备及元器件选择;画出相应的硬件设计电路图;画出相应的软件设计流程图;编写程序。2、图纸:绘制电气设计图1张;绘制软件设计流程图1张;符合相关制图规范。五、设计进度安排(从第一周起)序号时间周次设计任务完成的内

3、容及质量要求1第周2第周3第周4第周5第周6第周7第周8第周9第周10第周111213六、主要参考文献资料1、工具书:1 刘和平.刘跃.单片机原理及应用.重庆.重庆大学出版社,20042 杨西明.朱骐.单片机编程与入门.北京.机械工业出版社,20043 陈明荧.89C51单片机课程设计实训教材.北京.清华大学出版社,20044 刘瑞新.单片机原理及应用教程.北京.机械工业出版社,20035 李朝青.单片机原理及接口技术.北京.北京航空航天大学出版社,20022、参考资料:七、签字栏签 字 栏毕业生姓名专业班级要求设计工作起止日期教师审核指导教师(签字)日期200 年 月 日教研室主任审查(签字

4、)日期200 年 月 日系主任批准(签字)日期200 年 月 日阳泉职业技术学院毕业设计说明书毕业生姓名:李俊峰专业:电气自动化技术学号:070722065指导教师:苏争正所属系(部):信 息 系二一年五月1阳泉职业技术学院毕业设计评阅书题目: 基于单片机的温度自动控制系统设计 信 息系 电气自动化技术 专业 姓名李俊峰设计时间:2010 年3月15日2010 年5月16日 评阅意见:成绩: 指导教师:(签字) 职务:201年月日II阳泉职业技术学院毕业设计答辩记录卡信 息 系 电气自动化技术 专业 姓名李俊峰答 辩 内 容问 题 摘 要评 议 情 况 记录员: (签名)成 绩 评 定指导教师

5、评定成绩答辩组评定成绩综合成绩注:评定成绩为100分制,指导教师为30%,答辩组为70%。 专业答辩组组长:(签名)201年月日iii摘 要温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于AT89C51的温度检测及报警系统。该系统将温度传感器AD590通过模拟放大电路接在模数转化器ADC0809的输入端,然后将ADC0809的输出端接在控制器的一个端口上,对传感器温度进行采集,将采集到的温度值与设定值进行比较,当低于设定的上限温度时,通过打开加热电路来使温度自然冷

6、却。文中给出了系统实现的硬件原理图及软件流程图。经实验测试表明,该系统测量精度高、抗干扰能力强、报警及时准确,具有一定的参考价值。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。关键词:AD590;ADC0809;AT89C51;CD4511。AbstractTemperature detection and control of industrial production processes typical of one of the applications, with sensors i

7、n production and living in the more widely used, Li Yong of new single-bus digital temperature sensor to achieve on the test and control the temperature more rapidly development, the paper design based on AT89C51 temperature detection and alarm system. The system will AD590 temperature sensor connec

8、ted via analog amplifier module input converter ADC0809, ADC0809 and then the output termination of a port on the controller, temperature sensor acquisition, will be collected and set the temperature value constant comparison, when the temperature exceeds the upper limit set by closing the heating c

9、ircuit to make the temperature of natural cooling. This paper presents the hardware implementation of the system schematic diagram and software flow chart. The experimental test shows that the system with high precision, strong anti-interference capability, alarm timely and accurate, with some refer

10、ence value. The system design and layout is simple, compact structure, small size, light weight, anti-interference ability, cost-effective, easy expansion, in large warehouses, factories, construction and other areas of intelligent multi-point temperature measurement in a wide application prospect.K

11、ey words: AD590;ADC0809;AT89C51;CD4511.目 录摘 要iiAbstractiii目 录iv1 温度控制器绪论11.1课题背景11.2温度检测系统的国内外状况22 整体系统方案32.1系统整体方案和结构32.2系统硬件接线图43 系统硬件电路设计53.1主机控制电路53.2温度采集电路73.3模数转换电路93.4数码显示电路133.5 键盘输入电路与加热控制电路154 程序设计184.1 主程序设计184.2温度检测模块204.3数值转化模块224.4 BCD显示模块244.5比较加热模块264.6键盘中断程序27总 结32参考资料33致谢34阳泉职业技术学院

12、-毕业设计说明书1 温度控制器绪论1.1课题背景测量控制的作用是从生产现场中获取各种参数,运用科学计算的方法,综合各种先进技术,使每个生产环节都能够得到有效的控制,不但保证了生产的规范化、提高产品质量、降低成本,还确保了生产安全。所以,测量控制技术已经被广泛应用于炼油、化工、冶金、电力、电子、轻工和纺织等行业。随着单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。单片机已经无处不在、与我们生活息息相关,并且渗透到生活的方方面面。单片机的特点是体积较小,也就是其集成特性,其内部结构是普通计算机系统的简化,增加一些外围电路,就能够组成一个完整的小系统,单

13、片机具有很强的可扩展性。它具有和普通计算机类似的、强大的数据处理功能,通过使用一些科学的算法,可以获得很强的数据处理能力。所以单片机在工业中应用中,可以极大地提高工业设备的智能化、数据处理能力和处理效率,而且单片机无需占用很大的空间。随着温度检测理论和技术的不断更新, 温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和半导体集成传感器等,每种传感器根据其自身特性,都有它自己的应用领域。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场

14、所,或科研实验室使用,该设计控制器使用单片机AT89C51。1.2温度检测系统的国内外状况温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行

15、,从而提高企业的生产效率。温度采集控制系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉

16、中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。同时温度也是生活中最常见的一个物理量,也是人们很关心的一个物理量,它与我们的生活息息相关,有着十分重要的意义,在工业生产中,温度过高或过低会直接影响到产品的质量、对机械设备和控制系统中的各种元器件造成一定的损坏,严重的会影响到生产安全。在日常生活中,温度过高或过低同样会造成一些不良影响。2 整体系统方案2.1 系统整体方案和结构本温度控制系统,是基于单片机

17、的控制系统,单片机采用AT89C51为内核,其有低功耗,高性能CMOS 8位单片机,4KB的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术,芯片内集成了通用8位中央处理器和ISP Flash存储单元,是功能强大的微型计算机的,可为许多嵌入式控制系统提供高性价比的解决方案。系统的工作过程为:通过键盘输入温度数,,然后将设定的温度存入内存单元并显示在共阴极数码显示管上。然后用AD590 作为温度传感器,将其采集到的温度量转换为模拟电流量,然后经过模拟放大电路,使其变为ADC0809可以接受的电压量,然后再输入到模数转换器ADC0809中,经过模数转

18、换后的数字量再输入到89C51中,经过89C51数据处理后,判断与键盘输入的温度是否相同,高于设置温度的话关闭加热器,如果低于设置温度的话,开加热器对水进行加热。整个系统的模块图,如图1:模数转化电路数码显示电路温度采集电路AT89C51加热控制电路键盘输入电路图1 系统结构图2.2系统硬件接线图图2 硬件接线图3 系统硬件电路设计3.1主机控制电路本系统采用AT89C51单片机作为主控电路,管脚及其封装如图3:图3 89c51封装图AT89C51具有如下特点:40个引脚,4kBytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/

19、O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。此外AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。本控制系统的连接引脚的方案如下:(1)单片机最基本的电路就是能够使单片机正常的启动和工作的电路,包括电源VCC端接+5V电压,VSS接地。EA端由于该引脚低电平时是访问片外存储器,

20、本系统不需要扩展片外存储器,所以要保持高电平,接电源电压+5V。(2)时钟电路对于单片机系统而言是必须的由于单片机内部是由各种各样的数字逻辑器件构成,而这些器件又必须按时间顺序完成。所以在管脚的XTAL1和XTAL2引脚外接石英晶体和俩个谐振电容,电容采用2个20pF电容,采用12M的石英晶体。这样就可以构成89C51的基本时钟电路,时钟频率为12M。(3)复位电路是对单片机进行初始化操作,使单片机处于一个确定的初始状态。而要89c51复位得在RESETY引脚上加5ms的高电平信号就可以了。当石英晶体频率为12M Hz,复位电路参数为10f的电解电容和10k的电阻。如图4为单片机的起振电路和复

21、位电路的连接图时钟电路 复位电路图4(4)本系统中需要单片机输入输出的模块有4个模块分别是:模数转换模块,键盘输入模块,数码显示模块,输出控制模块。但是89C51的输入输出口就4个。其中P3口用来做第二功能,P3第二功能中需要用到外部中断和片外读写端。所以键盘输入电路和输出控制电路需共用一个I/O口,由于P1口内部用上拉电阻代替了场效应管T1,做输出时口时无需外接上拉电阻,做输入口是与P0一样,所以本系统用P1口作为共用口。数模转换用P0口,数码显示用P2口。ALE当不访问外部存储器时,该端以时钟频率的1/6输出固定的正脉冲信号,所以用其做数模转换模块的ADC0809 的时钟频率输入端,89C

22、51的ALEAD0809的CLOCK。P3口用于第二功能,由于本系统采用中断键盘扫秒方式,其中P3.3(INT0)用于跟键盘并联。P3.2(INT1)用于ADC0809转换完成后通过EOC向单片机发送控制信号。P3. 6(WR)进过非门接入到ADC0809的Start和ALE引脚上,P3.7(RD)经过非门接入到ADC0809的OE端。3.2温度采集电路 AD590是美国ANALOG DEV ICES 公司的单片集成两端感温电流源。如图5为AD590,温度传感器的引脚,封装和逻辑图形。引脚图 封装图 符号图形图5其主要特性如下: (1) 流过器件的电流(A) 等于器件所处环境的热力学温度(开尔

23、文) 度数。Ir/T=1式中,Ir流过器件(AD590) 的电流,单位为A;T热力学温度,单位为K。 (2) AD590的测温范围为- 55+150。 (3) AD590的电源电压范围为430 V,可以承受44 V正向电压和20 V反向电压,因而器件即使反接也不会被损坏。 (4)输出电阻为710M。(5)精度高,AD590在- 55+150范围内,非线性误差仅为0.3。本系统控制的水温为0-100度之间,所以选用AD590便可以,所需要的驱动电压范围大在4-30V之间,这里我们选择12V电压,用于驱动AD590,AD590的输出为电流且大小为A,而ADC0809的转换模拟量为电压型,所以得连接

24、电阻变为电压型。经计算:0.0002A*10K=2v 所以应连接一个10k的电阻。由于ADC0809的量程范围是0-5V,所以得经过放大电路放大,然后使其输出范围为0到5V电压,使输出电压为ADC0809可以接受的电压范围。AD590的+引脚接+12v电压 ,-引脚接经10k电阻接地,放大电路的输出端接到模数转换模块ADC0809的输入端INT1引脚上。 连接方法如图6:图6 加热电路3.3模数转换电路ADC0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。如图7为ADC0

25、809的封装图和内部结构图图7 ADC0809封装和结构图ADC0809特性:(1)8路输入通道,8位AD转换器,即分辨率为8位。 (2)具有转换起停控制端。(3)转换时间为100s。(4)单个5V电源供电。(5)模拟输入电压范围05V,不需零点和满刻度校准。 (6)工作温度范围为-4085摄氏度。(7)低功耗,约15mW。从ADC0809的各个参数分辨率为8位跟单片机的一组I/O口正好相符合。转换时间为100s,量程为0到5V上可以分析,本系统采用该模数转换器,量化误差也足以满足系统要求,综合各种参数跟本系统十分符合,故选择ADC0809作为本系统的模数转化模块。驱动ADC0809最基本连接

26、是在VCC接+5V电压为ADC0809的工作电压,GND接地,REF+和REF-为参考电压,功能是与输入的模拟信号进行比较,作为逐次逼近的基准,其典型值为REF+=+5v,REF-=0v,本系统电源电压正好也为+5v,所以采用电源电压。如表1为模数转化的输入输出对照表:表1 输入输出对照表温度值/AD590电流/A经10千欧/V经放大电路输出ADC0809的输出0273.22.73200010283.22.8320.491920293.22.9320.983230303.23.0321.474B40313.23.1321.966450323.23.2322.457D60333.23.3322.

27、949670343.23.4323.43AF80353.23.5323.92C890363.23.6324.41E1100373.23.7324.90FAINT0-INT7为8个模拟量输入通道,本系统中只用一个模拟量输入就是AD590的输出端,故只选择INT0作为作为模拟量的输入ADDA,ADDB,ADDC,是8路模拟通道地址输入选择断,从表2中可以看出把三个管脚全接地,变为选择INT0作为模拟量的输入通道。表2 模拟通道地址输入选择表ADDCADDBADDA选择通道000Int0001Int1010Int2011Int3100Int4101Int5110Int6111Int7D7-D0为数据

28、输出线,也是我们将要得到的数字量,所以应该将他接入到89C51的P0口上。 CLK为时钟脉冲输入端因为ADC0809内部没有时钟电路,需要外接时钟信号,要求时钟频率不高于640KHZ,而89C51的ALE,当不访问外部存储器时,该端以时钟频率的1/6输出固定的正脉冲信号,所以将ADC0809的CLK通过分频器接到89C51的ALE端。由于89c51的ALE输出1/6的时钟频率,计算:12M/6=2M 2M/4=500KHz在ADC0809可以接受的频率范围之内。 ALE为地址锁存信号。在上升沿将通道地址所存到锁存器。Stare 为启动控制信号,在上升沿,所有内部寄存器清零,下降的时候开始AD转

29、换这俩个管脚一起控制ADC0809的启动过程,而单片机的WR端输出为低电平输出控制,所以将这俩个管脚通过非门电路并联到单片机的P3.6(WR)管脚,当单片机执行写出操作时,通过WR管脚启动ADC0809的模数转换。OE端为数据输出端控制端,当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出转换后的数字量,而单片机的RD端输出也为低电平输出控制,所以将它通过非门接到单片机的RD端,当单片机执行读入操作时,打开ADC0809的数据输出控制。EOC端 AD转换结束信号输出端,当AD转换结束时,此端输出一个高电平,此引脚接到89C51的P3.3,用于判断温度转换是否结束,结束的话就取转换数

30、据,没有的话就继续等待转换。连接方法如图8: 图8 模数转换电路3.4数码显示电路显示电路采用7段BCD码所存译码显示驱动器CD4511,来驱动阴极LED数码管,这样可以省去繁琐的拆字程序和查表程序,节省很大一部分CPU资源是时间。图9 CD4511封装和逻辑图CD4511的特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。其管脚功能和连接原理如下:BI:4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,数码 管均处于熄灭(消隐)状态,不显示数字。所以这里接电源电压高电位使其能够显示当前要显示的数值。LT:3脚是测试输入

31、端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。这里也接电源电压使其能够正常工作。LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值,这里保持一直温度显示,不需要锁定控制功能,所以也接电源电压。A1、A2、A3、A4、为8421BCD码输入端,本系统中我们用p2口作为单片机的输出接入到cd4511的数据输入,由于显示的温度为2位数,需要用到俩个CD4511,p2.1-p2.3接低位数据显示,p2.4-p2.7接高数据显示,单片机p2口直接输出压缩型B

32、CD码片能实现数据显示。如表3为CD4511的真值表,对应的可以看到各引脚输入的电平与输出的关系a、b、c、d、e、f、g,为译码输出端,输出为高电平1有效,因为CD4511的CMOS电路提供的电流较大,所以需要外接限流电阻,接上200限流电阻就可。表3 CD4511真值表输 入 输 出 LEBILIDCBAaBcdefg显示 XX0XXXX11111118X01XXXX0000000消隐 0110000111111000110001011000010110010110110120110011111100130110100011001140110101101101150110110001111

33、16011011111100007011100011111118011100111100119CD4511与数码显示管的连接方法如图10:图10 显示电路3.5 键盘输入电路与加热控制电路本系统的键盘控制需要完成以下功能,能够控制温度的升高和降低且在设置温度的时候显示电路能够显示当前设置的温度,还能够按下一个键时为查看当前的温度。本系统中水的温度,基本在0度-100度之间,温度之间的相差不是很大,综合考虑使用独立键盘,使用六个键来控制温度的升高和降低,再用另一个键来用于用户控制显示当前设置的温度。控制键分俩组一组增加温度,一组降低温度,3个键分别为,增加1,增加5,增加10。另一组与其对应减少

34、。用P1口的1-6这6个引脚来用于控制温度,第P1.0管脚用于用户按下时查看当前设置的温度,其中这些按键都并联在外部中断口INT0上。如图11为键盘电路的接线图图11 键盘电路温度加热电路将加热控制信号经驱动器,来驱动固体继电器(SSR)工作,从而接通或断开加热丝两端电源,实现对水的加热控制。固体继电器特点:(1)驱动电流小,仅仅几毫安与TTL,CMOS等数字电路兼容(2)无触点,无火花干扰寿命长,耐腐蚀(3)能承受的浪涌电流大,一般为额定值的6-12倍所以单片机的P1口,通过电路放大就可以控制SSR来接通加热丝,加热水温度连接接方法如图12:图12 加热电路4 程序设计4.1 主程序设计本系

35、统软件同样将对各个模块编写程序,主程序调用各个模块来运行整个系统。主程序首先对89C51的端口和所用内存初始化。然后系统不停的重复调用各个模块,用于更快捷的做出控制反应。调用顺序分别为温度检测模块,数值转化模块,显示模块,和比较加热模块。键盘模块采用中断扫描方式,这样可以节省很多CPU资源。主程序流程图如图13:外部中断初始化内存单元清零结束关闭加热丝,端口初始化开始调用温度检测模块调用数值转换模块调用BCD显示模块调用比较控制模块无条件跳转图13 主程序流程图根据流程图编写程序,程序如下:ORG 0000HAJMP MAINORG 0003HAJMP JIANPANORG 0030HMAIN

36、: MOV SP,#60H ;堆追指令赋值MOV P1 ,#7FH ;关闭加热丝,键盘初始化CLR IT0 ;IT0低电平有效SETB EA ;CPU中断开放SETB EX0 ;允许外部中断0控制SETB PX0 ;外部中断0高优级先控制MOV 50H ,#00H ;ADC0809检测值缓冲区清零MOV 60H ,#00H ;数值转换存储单元清零 MOV 70H , #00H ;显示内存单元清零MOV 80H , #00H ;键盘输入单元清零XUNHUAN: ACALL WENDU ;调用温度检测模块ACALL ZHUANHUA ;调用数值转换模块ACALL BCD ;调用BCD显示模块ACA

37、LL JIARE ;调用比较加热模块AJMP XUNHUAN ;跳转到主程序重新开始执行END4.2温度检测模块A/D转换后的数字量通常采用查询方式和中断方式传送到单片机进行数据处理。本控制系统采用单片机通过查询方式测试EOC的状态,可以判断转换是否完成。为了实现温度的准确检测,采用了平均值滤波法抗干扰。即连续2次启动ADC0809进行A/D转换,求取转换结果的平均值,存入指定单元,以得到检测温度值。最后将计算的结果存入温度检测缓冲区50H。温度检测流程图如下图14:开始转换单元初始化启动ADC0809累加转换结果求平均值转换是否结束2次转换是否结束存结果YNNY返回图14 温度检测流程图根据

38、流程图编写程序如下:WENDU: MOV 50H,#00H ;检测单元清零 MOV R3 ,#02H ;转换次数 MOV DPTR,#7FF8H ;送ADC0809的地址 WEN01: MOVX DPTR , A ;启动ADC0809 JB P3.3,$ ;等待ADC0809转换结束 MOVX A ,DPTR ;读取模数转换的值 ADDC A ,50H ;上次转换相加MOV 50H ,A ;存入存储单元 DJNZ R3 , WEN01 ;俩次是否转换完成 RRC A ;带进位循环右移1位,相当于除2 CLR C ;将CY位清零 MOV 50H,A ;平均数存入检测存储单元 RET4.3数值转化

39、模块由于ADC0809是将AD590转化的模拟电压值转换为数字量,所以得到的还不是当前温度度数的数值,所以还要对采集到的电压值进行数值转化,转化为温度值。经过分析,由于AD590通过放大电路放大整理当温度是100的时候,输出电压为5V,对应的ADC0809输出数字量为FF(十进制的255),所以1对应数值2.5,但由于直接计算浮点数,非常复杂,经分析除以2.5,等于处于5/2,也就等于乘以2/5,相当于除以5在乘以2.,所以将单片机采集到的数值经上面的转化后,就是当前的温度值。程序流程图如图15:开始累加器清零 保存结果计算当前的温度值待转换值存入累加器返回图15 数值转化流程图根据流程图编写

40、程序如下:ZHUANHUA: MOV A ,#00H ;清零A MOV B ,#00H ;清零B MOV A , 50H ;采集到的数值给a MOV B , #5H ;除数5赋值给B DIV AB ;采集到的数值除以5 MOV B , #2 ;乘数2赋值给B MUL AB ;就算当前温度值 MOV 60H,A ;保存当前16进制温度值 RET4.4 BCD显示模块数值转化后得到的温度值是16进制的温度,所以无法直接送出显示,所以还应该对该数值,进行显示转化,转化为压缩型BCD码,这样通过CD4511就可以显示了。由于被转换的16进制在0到100的范围内,所以将16进制温度除以0AH,得到的的就

41、是商位十位,余数为个位。由于大陆地区气压没有海平面高。所以温度无法达到100,所以俩位数码显示管就可以显示。根据算法画出的流程图如图16:开始返回累加器清零将温度值除以A,拆分十位和个位将累加器A中的商向左一位是则减1并将数值覆盖原数据温度值99?判断是否向左移够4次将低4位的与高4位相加YNNY将压缩BCD码储存并送出显示图16 BCD显示流程图根据流程图编写程序如下: BCD: MOV A , #00H ;累加器清零 MOV B ,#00H ;寄存器清零 BCD01:MOV A ,60H ;待转换数值存入累加器 SUBB A, #63H ;判断是否大于99 JC BCD02 :若小于99则

42、跳转 MOV A , 60H ;重新将数值存入A DEC A ;否则减1 MOV 60H , A ;将修改后数值覆盖原数据 JMP BCD01 ;跳转到开始重新比较 BCD02: MOV B ,#0AH ;除数存入寄存器 DIV AB ;相除 MOV R2 ,#04H ;赋循环次数 BCDYIWEI: RL A ;将十位数移到高位 DEC R2 ;次数减去1 JNZ BCDYIWEI ;不到4次,则继续移位 ADD A,B ;个位和十位相加 MOV 70H,A ;存入显示内存单元 MOV P2 ,A ;输出显示 RET4.5比较加热模块此模块用于比较键盘设置的温度和当前检测的温度,如果设置温度

43、低于检测温度,就打开加热丝,如果高于检测温度就关闭加热丝。程序流程图如图17: 开始检测值设置值 ?关闭加热丝打开加热丝返回NY图17 加热流程图JIARE: MOV A , 60H ;采集到的温度值 MOV B , 80H ;键盘设置的温度 SUBB A ,B ;实际值-设置值 JNC GUAN ;比设置高则跳转关闭 SETB P1.7 ;否则开加热丝 AJUMP JIESHU ;跳转到结束GUAN: CLR P1.7 ;关闭加热丝JIESHU: RET ;返回调用4.6键盘中断程序按键是一种机械开关,其机械触电在闭合和断开瞬间,会出现电压抖动的现象,如图18所示:图18 按键电压抖动为了保

44、证按键识别的准确性,调用延时10ms,待信号稳定再判别键盘的状态,若仍有按键闭合,则确定有键按下,否则认为是按键抖动。延时计算:延时时间与指令执行的时间有很大关系,当始终频率为12mhz时,机器周期为1s,“MOV Rn ,#data”指令的时间为1s,“DJNZ Rn,rel”指令的执行时间为2s。则程序中内循环的实际执行时间为:1+(2250)1s=501s延时时间为:1+(501+2)191s=10ms程序流程图如图19:外部中断开始调用延时模块再次判确定是否有键按下判断哪个键按下若键1按下执行显示设置温度若键2按下设定温度增加1若键3按下设定温度减少1若键4按下设定温度增加3若键5按下

45、设定温度减少3若键6按下设定温度增加5若键7按下设定温度减少5显示当前设定温度返回YN图19 键盘中断流程图程序如下:JIANPAN: ACALL DELAY ;调用延时程序 MOV A , P1 ;重新读入P1口数据 CJNE A , #7FH ;再次判断是否真有键盘按下 SJMP RETU ;没有则返回NEXT: JNB ACC.0 , KEYO ;若按下显示当前设定值,跳转显示模块 JNB ACC.1 , KEY1 ;若按下增加1,跳转增加1模块 JNB ACC,2 , KEY2 ;若按下减少1,跳转减少1模块 JNB ACC.3 , KEY3 ;若按下增加5,跳转增加5模块 JNB A

46、CC.4 , KEY4 ;若按下减少5,跳转减少5模块 JNB ACC.5 , KEY5 ;若按下增加10,跳转增加10模块 JNB ACC.6 , KEY6 ;若按下减少10,跳转减少10模KEY0: AJMP JIANBCDKEY1: ADD A ,#03HAJMP STP01KEY2: SUBB A , #03HAJMP STP01KEY3: ADD A ,#05HAJMP STP01KEY4: SUBB A ,#05HAJMP STP01KEY5: ADD A , #0AHAJMP STP01KEY6: SUBB A , #0AHAJMP STP01STP01: MOV 80H, A

47、;键盘设置值存入内存JIANBCD: MOV A , #00H ;累加器A清零MOV B ,#00H ;寄存器B清零JIANBCD01: MOV A , 80H ;待转换数值存入累加器SUBB A, #63H ;判断是否大于99JC JIANBCD02 ;若小于99则跳转MOV A , 80H ;重新将数值存入ADEC A ;否则减1MOV 80H , A ;将修改后数值存入JMP JIANBCD01 ;跳转比较JIANBCD02:MOV B ,#0AH ;除数存入寄存器DIV AB ;相除MOV R1 ,#04H ;赋循环次数JIANYIWEI: RL A ;将十位数移到高位DEC R1 ;

48、次数减去1JNZ JIANYIWEI ;不到4次,则继续移位ADD A,B ;个位和十位相加MOV P0 ,A ;输出显示RETIDELAY: MOV R1 ,#19 ;外部循环赋值DL1: MOV R7 ,#250 ;内部循环赋值DL : DJNZ R7 ,$DJNZ R1 , DL1RET总 结毕业设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

49、回顾起此次单片机毕业设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近十星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次毕业设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次毕业设计之后,一定把以前所学过的知识重新温故。参考资料1 刘和平.刘跃.单片机原理及应用.重庆.重庆大学出版社,20042 杨西明.朱骐.单片机编程与入门.北

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!