单片机课程设计报告--空调温度控制

上传人:dg****3 文档编号:70607826 上传时间:2022-04-06 格式:DOC 页数:18 大小:107.50KB
收藏 版权申诉 举报 下载
单片机课程设计报告--空调温度控制_第1页
第1页 / 共18页
单片机课程设计报告--空调温度控制_第2页
第2页 / 共18页
单片机课程设计报告--空调温度控制_第3页
第3页 / 共18页
资源描述:

《单片机课程设计报告--空调温度控制》由会员分享,可在线阅读,更多相关《单片机课程设计报告--空调温度控制(18页珍藏版)》请在装配图网上搜索。

1、-燕山大学课程设计说明书课程名称单片机原理及应用技术题目空调温度控制学院系电气工程学院年级专业2011级检测技术与仪器一班* 4 学生*余焊威指导教师吴希军教师职称副教授燕山大学课程设计论文任务书院系:电气工程学院基层教学单位:仪器科学与工程系*4学生*余焊威专业班级检测11-1设计题目空调温度控制设计技术参数利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1时,就要启动加热或制冷压缩机。设计要求显示电路、键盘或开关

2、电路、A/D转换电路的硬件电路设计;编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。工作计划查阅资料进展设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机接口技术及其应用*淑清国防工业单片机原理及应用技术*淑清国防工业单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2014年 7 月 6 日目录引言3摘要4第一章设计说明51.1 设计要求51.2设计目的51.3设计过程5第二章设计总体说明6第三章各个模块介绍73.1 总

3、体模块介绍73.2 8051单片机介绍73.3 可调模拟输入电路介绍83.4 A/D转换器模块介绍93.5 8255与LED显示介绍103.6 数码管与键盘工作介绍12第四章硬件连接15第五章程序流程图16第七章程序设计19总结25参考文件26燕山大学课程设计评审意见表27引言温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。温度只能通过物体随温度变化的*些特性来间接测量,而用来量度物体温度数值的标尺叫温标。它规定了温度的读数起点零点和测量温度的根本单位。国际单位为热力学温标(K)。目前国际上用得较多的其他温标有华氏温标(F)、摄氏温标(C)和国际实用温标。从分子运动论观点

4、看,温度是物体分子运动平均动能的标志。温度是大量分子热运动的集体表现,含有统计意义。对于个别分子来说,温度是没有意义的。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也表到达了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的效劳于社会.而今,空调等家用电器随着生产技术的开展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。摘要在现代自动控制领域中,温度检测占据这至关重要的作用。温度检测系统在科研领域、平安监控以及人们的日常生活发挥着无可替代的作用。温度控制系统正从模拟式向数字式飞速开展。本论文概述了空调温度控制系统的原

5、理及特性,在此根底上描述了系统研制的理论根底,温度采集等局部的电路设计,并对测温系统的一些主要参数进展了讨论。针对测温系统温度采集、接收、处理、显示局部的总体设计方案进展了论证,进一步介绍了单片机在系统中的应用,分析了系统各局部的硬件及软件实现。本空调温度控制系统采用以MCS51单片机为核心,以控制室内温度稳定为目的。通过单片机处理经A/D转换后的模拟信号,控制制冷制热电机的运转,以到达控制室内温度稳定的目的。关键字:51单片机温度控制第一章 设计说明 1.1 设计要求利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二

6、极管模拟,也可以控制直流电机模仿压缩机的运行。要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1时,就要启动加热或制冷压缩机。而且要求显示电路、键盘或开关电路、A/D转换电路的硬件电路设计,编制相应的程序。1.2 设计目的温度是科学技术中最根本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制越来越重要,没有适宜的温度,许多电子设备就不能正常的工作。由此可见,温度影响的各方各面,而温度的控制也显得日益重要。传统的人工操作控制温度,效率低,精度小,误差大,操作受到很大的人为因素的影响。为了提高工

7、业生产效率,减小误差,基于单片机的智能化的温度控制是主流。现代的智能空调,不仅利用了数字电路技术和模拟电子技术,而且采用了单片机技术,实现了软硬件的结合,既完善了空调的功能,又简化了空调的控制与操作,不仅满足了不同用户对温度的不同要求,而且能全智能调节室内温度。单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等局部于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用于现代工业生产控制中。本次课程设计的目的是,围绕为了熟悉WAVE开发软件及在电子信息课程中的应用课程,学习WAVE软件的使用,使我们能熟练的应用WAVE软件实现对80C51单片机的编程,了解

8、程序开发过程中用到的一些根底知识,同时使我们熟悉应用程序开发过程,使我们从学校学习到参加工作之间有一个良好的过渡,为今后处理相应领域的专业问题打下坚实的程序根底。1.3 设计过程本设计采用51单片机为控制芯片,用伟福实验箱上的电位器来模仿温度传感器,将电位器输出的电压输入A/D转换芯片,再将转换后的模拟信号输入单片机,通过单片机扩展的显像管、LED灯、矩阵键盘等来实现其功能。第二章 设计总体说明本次单片机课程设计空调温度控制,采用MCS-51单片机作为控制芯片,要求利用实验仪上显示电路、键盘、或开关电路、A/D转换电路,模拟空调恒温控制,可以实现键位与数字动态显示的一种设定温度可变的空调温度控

9、制系统。本系统功能由硬件和软件两大局部协调完成,硬件局部主要完成电位器对温度的电压模拟、温度的设定、温度信息的显示等功能;而软件主要完成对模拟输出的温度信号进展数字化处理及数码显示管的显示控制等功能。电位器通过改变电压模仿温度传感器输出,经A/D转换变成0-255的数字信号从而输入单片机,单片机执行运算程序。由于要设定温度,我们需要用键盘或开关输入温度数值,初始设定温度值由程序写入,用户可通过外接键盘改变初始设定温度。单片机对键盘进展扫描,确定那个键按下。然后显像管显示实际和设定温度。实际温度大于设定温度,则红灯亮;实际温度小于设定温度,则绿灯亮。根据以上设计思想,可设计功能如下:利用伟福试验

10、箱的六位数码管,后两位显示设定温度,初定为10-30摄氏度;第三到第五位显示实际温度,初定为-40-50摄氏度。另通过设置键盘上的两个键位,实现温度+1和-1功能,用来调控设定温度,初定为NE*T、LAST键。再利用L1红灯和L2绿灯来模仿加热和制冷的电机驱动动态数码管实际温度LED82558051键盘设定温度电位器A/D图1 空调温度控制系统总系统框图第三章 各个模块介绍3.1总体模块介绍本设计共分为四个模块,分别为温度测量、按键控制、数码管温度显示、LED灯模仿制冷和制热系统。1) 温度测量模块是以电压器输出的电压模仿温度传感器通过A/D转换后进入单片机进展程序运算。2) 按键控制模块是通

11、过键盘上NE*T、LAST键来升高或降低设定温度,通过比拟与实际温度的大小来控制制冷和制热系统的运行。3) 数码管温度显示模块用来显示设定温度以及实际温度。4) LED灯模块用来模仿制冷和加热电动机的动作。 3.2 8051单片机介绍图2 8051单片机引脚图单片机就是在一块硅片上集成了微处理器、存储器和各种输入输出接口电路的微型计算机,简称单片机。单片机以其较高的性能价格比受到了人们的重视和关注。它的优点就是体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于单片机具有较高的性能比,国内MCS-51系列单片机得到了广泛的应用。单片机根据其根本操作处理

12、的位数可分为4、8、16、32位单片机,应用最为广泛的是八位单片机。根据本次设计的实际情况和要求,在本次设计中采用80C51作为系统的控制芯片。单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。电源: VCC - 芯片电源,接+5V; VSS - 接地端;时钟:*TAL1、*TAL2 - 晶体振荡电路反相输入端和输出端。控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备

13、用电源。 RSTReset功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号属控制总线。P0口输入时需要接上拉电阻才能置1;3.3 可调模拟量输入电路介绍温度是一个非电量物理量,需要将之转化为电信号才能进展后续的测量和控制。由于电位器电路用于产生可变的模拟量,为此,在此课程设

14、计中,利用了实验仪器上的电位器来模拟温度变化,将温度这个非物理量转化为电压信号输出。电位器构造图如所示。图3 电位器示意图图4 电位器与A/D转换器连接图3.4 A/D转换器模块介绍A/D转换电路是将从电位器输出的模拟电信号转换为数字电信号的电路构造。目前A/D转换器的种类很多,有计数比拟型、逐次逼近型、双积分型等等。选择A/D转换器件主要从转换速度、精度和价格上考虑。逐次逼近型A/D转换器,在精度、速度和价格上都比拟适中,是最常用的A/D转换器。双积分A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。近年来在微机应用领域中也得到了广泛的应用。本次设计采用八路模拟输入通道的逐

15、次逼近型的八位A/D转换器ADC0809。采用ADC0809作为与单片机的接口电路,它的构造比拟简单,转换速度较高。采用ADC0809作为A/D转换器具有与单片机连接简单的优点,它是八位的转换器可以与八位的单片机直接连接,这样就简化了系统的连接电路也有利于系统软件的编写。是目前国内应用最广泛的8位通用A/D芯片。ADC0809芯片的接口及其外接电路如下列图所示。图5 A/D转换内部构造图图6 ADC0809芯片图7 ADC0809A/D转换电路ADC0809芯片,内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进展A/D转换。图中多路开关可选8个模拟通

16、道,允许8路模拟量分时输入,共用一个A/D转换器进展转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成A、B、C3个地址位进展锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,下表为通道选择表。表1 通道选择表C B A 被选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN73.5 8255与LED显示介绍一、8255介绍51系列单片机没有专用的对外地址总线和数据总线,其P0口和P2口既是通用I/O口,同时P0口还是分时复用的

17、双向数据总线和低8位地址总线一般需要加一级锁存器,而P2口则是高8位地址总线。在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进展扩展。8255芯片是可编程并行I/O接口芯片,它具有三个8位并行口PA, PB和PC,一个8位的数据口D0D7 ,PC口分高4位和低4位。高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组) ,PC口可按位置位/复位。40条引脚,DIP封装。引脚图如下图图8 8255引脚图图9 LED显示电路图10 MCS-51单片机外扩8255A芯片的电路原理图二、LED显示介绍在此空调温度控制的设计中,我们用到了发光二极管LED,用红色的灯来表示加热

18、,用绿色的灯来表示制冷。实验仪上装有8只发光二极管及相应驱动电路,其发光二极管的电路原理图如下示:图11 发光二极管电路原理图3.6 数码管与键盘工作介绍一、键盘与数码管使用介绍本课设中用到的实验仪已经将LED显示电路和键盘电路集成到一个集成电路中。LED显示和键盘的等效电路如图12示。显示控制的位码由74HC374输出,经MC1413反向驱动后,做LED的位选通信号。位选通信号也可作为键盘列扫描码,键盘扫描的行数据从74HC245读回,74HC374输出的列扫描码经74HC245读入后,用来判断是否有键被按下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经74HC245读回的值为

19、高电平,如果有键按下,74HC374输出的低电平经过按键被接到74HC245的端口上,这样从74HC245读回的数据就会有低位,根据74HC374输出的列信号和74HC245读回的行信号,就可以判断哪个键被按下。LED显示的段码由另一个74HC374输出。键盘和LED显示的地址译码见图5,做键盘和LED实验时,需将KEY/LED_CS接到相应的地址译码上。位码输出的地址为0*002H,段码输出的地址为0*004H,键盘行码读回的地址为0*001H,此处*是由KEY/LED_CS决定。图12 数码管与键盘连线图二、矩阵式键盘扫描方式本设计采用的是64矩阵式键盘,键盘的行线*0*3通过电阻接+5V

20、,当键盘没有键闭合时,所有的行线和列线断开,行线*0*3均呈高电平。扫描法是在判定有键按下后逐列或行置低电平,同时读入行或列状态,如果行或列状态出现非全1状态,这时与状态行,列穿插点的键就是所按下的键。扫描法的特点是逐列或行扫描查询。这时,相应的行或列应有上拉电阻接高电平。当键盘上*一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余五根列线Y1、Y2、Y3、Y4、Y5均为高电平,然后单片机读输入口状态(即键盘行线状态),假设*0、*1、*2、*3均为高电平,则Y

21、0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进展扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。图13 键盘电路图三、动态数码管扫描方式由于8051单片机本身提供的I/O口有限,因此我们选择动

22、态扫描方式。所谓动态显示,就是单片机定时地对显示模块件扫描。在这种方法中,显示模块件分时工作,每次只能有一个器件显示。但由于人视觉的暂留现象,所以仍感觉所有的器件都在显示。如许多单片机的开发系统及仿真器上的6位显示模块即采用这类显示方法。此种显示方法的优点是使用硬件少,因而价格低。但它占用机时长,只要单片机不执行显示程序,就立刻停顿显示。由此可见,这种显示将使计算机的开销增大。扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电能,节省了I/O口。图14 八位数码管原理

23、图图15 数码显示管电路图表2 数码管显示数字-共阴极字符码对照表显示数字1234共阴极字符码06H5BH4FH66H显示数字5678共阴极字符码6DH7DH07H7FH显示数字90AB共阴极字符码6FH3FH77H7CH显示数字CDEF共阴极字符码39H5EH79H71H第四章 硬件连接一、地址译码插孔译码插孔地址*围CS008000H08FFFHCS109000H09FFFHCS20A000H0AFFFHCS30B000H0BFFFHCS40C000H0CFFFHCS50D000H0DFFFHCS60E000H0EFFFHCS70F000H0FFFFH二、硬件连线连线插孔 1插孔 21CS

24、08255-CS2CS1KET/LED-CS3CS2AD-CS4PA0L15PA1L26IN0电位器输出第五章 程序流程图一、主程序总体设计流程图当前温度和设定温度相比拟高1度低1度温度初始化当前温度和设定温度送显示缓冲显示温度采样当前温度相等制冷不变加热读键盘向下键向上键设定温度减1设定温度加1开场键盘值当前温度和设定温度相比拟低1度图16 主程序流程图二、其他各模块程序流程图图17 A/D转换程序流程图图18 键盘程序流程图图29 数码管程序流程图第六章程序设计LowTemp equ -40 ; A/D 0传感器最低值设定HighTemp equ 50 ; A/D 255传感器最高值设定H

25、eat equ 1Cool equ 2LowLimit equ 10HighLimit equ 30ORG 0000H ;程序起始地址为0000Hljmp Start ;长跳转到Start主程序段处Delay: ;延时函数 mov r7, #0ffhAA: djnz r7,AA ;DJNZ命令为存放器减一不为0则跳转 ret ;延时255TestKey: ;检测KEY有没有被按下函数 mov dptr,#09002h ;将键盘列地址9002H送入数据指针DPTR中 mov a, #0 ;A清0 mov* dptr, a ;所有列为低电平检测 mov dptr,#09001h ;将键盘行地址90

26、01h送入DPTR中, mov* a, dptr ;9001h中的内容送入A中,按下的键为低电平 cpl a ;累加器取反,按下的键为高电平 anl a, #0fh ;低四位显示高电平为按下键的行数 ret ;从子程序返回KeyTable: ;键值表 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: ;读取键值 mov dptr,#09002h ;将立即数9002H送

27、入DPTR中,键盘列地址 mov P2, dph ;将DPTR中的高8位送入P2端口 mov r0, #Low(09001h) ;送入立即数,取9001h低字节内容 mov r1, #00100000b mov r2, #6KLoop: ;检测按下键的位置 mov a, r1 ;将R1中的内容送入A中 cpl a ;累加器取反 mov* dptr, a ;检测哪列,哪列为低电平 cpl a ;累加器取反 rr a ;累加器循环右移 mov r1, a mov* a, r0 ;行地址内容返回给a cpl a ;累加器取反,高电平的为选中行 anl a, #0fh ;立即数0fH和A中的内容与 j

28、nz L1 ;累加器非0则转移,有键按下 djnz r2, KLoop ;存放器R2减1不为0则转移到KLoop程序段 mov r2, #0ffh sjmp E*it ;短跳转到 E*it程序段处L1: ;检测到*列r2 mov r1, a mov a, r2 dec a ;累加器A自减1 rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 mov r1, #4LpC: rrc a ;经过进位位的累加器循环右移 jc E*it ;如果进位位为1则转移到程序E*it inc r2 djnz r1, LpC ;存放器R1减1,不为0则转移到LpC程序段E*i

29、t: ;读取键盘表中值,键值=列值-1*4+行值 mov a, r2 mov dptr, #KeyTable movc a, a+dptr mov r2, aWaitRelease: ;等待释放 mov dptr,#09002h mov a,#0 mov* dptr, a call Delay call TestKey jnz WaitRelease ;未释放继续等待 mov a, r2 RetReadAD: ;读A/D值 mov dptr,#0A000h ;将A/D地址A000H送入DPTR中 clr a ;累加器A清0 mov* dptr, a ; 启动 A/D In0通道 mov a,

30、#0 ;A清0 djnz acc, $ ;如果A中的内容不为0则在此处一直循环 mov* a, dptr ;将DPTR中的内容送入A中,读取A/D的值 retReadTemp: mov r1, #0 ;将立即数0送入存放器R1中 mov r2, #0 ;将立即数0送入存放器R2中 mov r0, #16 ;将立即数16送入存放器r0中RLoop: call ReadAD ;调用ReadAD程序段,读取A/D输出值 add a, r2 mov r2, a ;将累加器A中的内容送入R2中 jnc L01 ;如果进位位为0则转移到L01程序段 inc r1 ;r1存放器中的内容增1L01: djnz

31、 r0, RLoop ;存放器R0内容减一不为0则转移,累加16次 mov a, r2 ;将存放器R2中的内容送入累加器A中 swap a ;累加器内上下半字节交换 anl a, #0fh ; 高四位清零,相当于/16 *ch a, r1 ;存放器与累加器内容交换 swap a ;累加器内上下半字节交换 anl a, #0f0h ;立即数0FH与到累加器A,低四位清零 orl a, r1 ; a = r1r2/16 mov b, #(HighTemp-LowTemp);将立即数(HighTemp-LowTemp)送入存放器B中 mul ab ;a和b相乘,结果低位在A中,高位在B中 mov a

32、, b ;将B中的内容送入A中,相当于右移8位即/256 add a, #LowTemp;将立即数LowTemp送入到存放器A中 mov 51h, a; A/D值转换为实际温度送入51h中, retDisplayResult: ;显示结果 mov a,51h ;A/D转换温度值的显示地址 jnb acc.7,G0 ;如果acc.7位为0,为正数 mov 60h, #40h ;第一个数码管显示“- dec a cpl a ;累加器取反,求原码运算 ajmp Goon ;跳转指令G0: mov 60h, #0Goon: mov b, #10 div ab ;累加器A中的内容除以存放器B中的内容 m

33、ov dptr, #LEDMAP movc a, a+dptr mov 61h, a ;实际温度十位 mov a, b movc a, a+dptr mov 62h, a ;实际温度个位 mov 63h, #0 mov a,50h ;键盘设定温度地址 mov b, #10 div ab ;累加器A中的内容除以存放器B中的内容 movc a, a+dptr ;设定温度十位代码字节传送到累加器 mov 64h, a mov a, b movc a, a+dptr ;设定温度个位代码字节传送到累加器 mov 65h, a ret ;子程序返回LEDMAP: db 3fh, 06h, 5bh, 4fh

34、, 66h, 6dh, 7dh, 07h;定义字节命令 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h;定义字节命令DisplayLED: ;LED 显示 mov r0,#60h ;数码管显示内容地址 mov r1, #6 mov r2, #00100000bLoop: mov dptr,#09002h ;数码管位选地址 mov a, #0 ;A清0 mov* dptr, a ;外部存放器置0,松片选信号 mov a, r0 ;将以R0中为地址60h的数据传给A mov dptr,#09004h ;段选地址 mov* dptr, a ;60h输出至段码地址以

35、显示 mov dptr,#09002h mov a, r2 mov* dptr, a ;第i管显示6ih的内容 call Delay ;调用Delay函数 mov a, r2 rr a ;累加器循环右移数码管右移显示 mov r2, a inc r0 djnz r1, Loop ; R1减1不为0则转移,循环6次 mov dptr,#09002h mov a, #0 mov* dptr, a ;释放位选 retStart: mov sp, #70h;将立即数70H送入堆栈指针 mov a,#082h;将立即数82H送入累加器A中 mov dptr,#08003h;将立即数8003H送入数据指针

36、DPTR中 mov* dptr, a;将累加器A中的内容送入数据指针DPTR中 mov 50h, #20;将立即数20H送入地址50H的存储器中MLoop: call TestKey;调用TestKey程序检测是否有键按下 jnz KeyPressed;累加器非0转移,有键按下调整设定温度 call ReadTemp;调用读取采样值程序段 call DisplayResult;调用显示结果程序 call DisplayLED;调用LED显示程序 mov a,51h;将立即数51H送人累加器A中 acc.7, LE0;如果直接寻址为为1则转移,负数 clr c ;进位C清零 mov b,50h;

37、将立即数50H送入存放器B dec b;存放器B中的数自减1 subb a, b ;累加器A中的数减去存放器B中的内容带借位 jnc L02;如果进位为0则转移LE0: mov a, #Heat;将Heat=1送入累加器A 红灯亮加热 mov dptr,#08000h;将8255PA口地址8000H送入16位数据指针DPTR mov* dptr, a;将1送入以DPTR内容为地址的外部空间 sjmp L04 ;短转移L02: mov a,51h;将51H为地址的中的内容送入累加器A中实际温度 setb c;进位位置1 mov b,50h;将以50为地址的中的内容送入B中设定温度 inc b;存

38、放器B中的数自加1 subb a, b ;累加器A中的内容减去存放器B中的内容比拟大小 jc L03;如果进位位为1则转移 mov a, #Cool;将Cool=送入累加器A中 mov dptr,#08000h;将立即数8000H送入16位数据指针中 mov* dptr, a ;将累加器A中的内容送入08000H地址中 sjmp L04 ;短跳转到L04L03: mov a, #0 mov dptr,#08000h mov* dptr, aL04: sjmp MLoop ;短跳转到MLoop程序段处KeyPressed: ;KeyPressed程序段 call GetKey ;调用GetKey

39、程序段 mov b, a ;将累加器A中的内容送入存放器B中 *rl a,#15h ;立即数15h异或到累加器A中 jnz Key0 ;累加器非0则转移到Key0程序段 mov a,50h ;将50H中的内容送入累加器A中 *rl a,#LowLimit ;最低限制温度 jz Key1 ;累加器为0则转移表示到达最低限制温度 dec 50h ;50H中的内容自减 sjmp Key1 ;短跳转到Key1程序段处Key0: mov a, b ;将存放器B中的内容送入累加器A中 *rl a,#16h ;累加器A中的内容与立即数16H异或 jnz Key1 ;累加器非0则转移,与16h不同 mov a

40、,50h ;将50H中的内容送入累加器A中 *rl a,#HighLimit ;最高限制温度 jz Key1 ;累加器为0则跳转,表示到达最高限制温度 inc 50h ;50H中的内容自加Key1: sjmp MLoop ;短转移返回主程序 End总结通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经历缺乏。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最

41、终的检测调试环节,本身就是在践行“过而能改,善莫大焉的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在教师的指导下,终于游逆而解。在今后社会的开展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进展解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的

42、理论有了具体的认识。通过本次课程设计,我掌握了keil的使用,深化了对单片机根底知识的理解,通过资料查询,也学到了许多课本上学不到的知识。回忆起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

43、此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。参考文件1.单片微型计算机接口技术及其应用*淑清国防工业2.单片机原理及应用技术*淑清国防工业3.单片机应用技术汇编4. *科技.单片机典型模块设计实例导航.人民邮电燕山大学课程设计评审意见表指导教师评语:该生学习态度认真较认真不认真该生迟到、早退现象有无该生依赖他人进展设计情况有无平时成绩:指导教师签字:2014 年 7月6日图面及其它成绩:辩论小组评语:设计巧妙,实现设计要求,并有所创新。设计合理,实现设计要求。实现了大局部设计要求。没有完成设计要求,或者只实现了一小局部的设计要求。辩论成绩:组长签字:2014 年 7月6日课程设计综合成绩:辩论小组成员签字:2014年月日. z.

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