ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:107.48KB ,
资源ID:9224088      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9224088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(空调温度控制实验 2.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

空调温度控制实验 2.docx

1、空调温度控制实验 2空调温度控制实验报告开课实验室:电子楼503 20011 年 12月 学院物电学院年级、专业、班光信092班姓名 成绩课程名 称 微机原理与接口实验实验项目名称空调温度控制指导老师签名一、实验目的1了解闭环控制的基本原理。 2进一步熟悉A/D变换原理和编程方法。 3进一步了键盘扫描和LED显示原理和编程方法。二、实验原理这是一个综合硬件实验,其中各部分实验已单独做过.现联合起来形成一个控制系统。利用实验仪上显示电路,键盘电路,A/D变换电路,完成类似空调恒温控制实验,可以利用实验仪上的电位器模仿温度变化,加热和致冷电机可以用发光管代替。要求可以用键盘设定恒温温度,当外界温度

2、超过设定温度+/-2时,就要启动加热或致冷电机。实验电路:三、使用仪器、材料1.伟福实验系统实验箱2.装有伟福软件的计算机四、实验步骤、实验过程原始记录及结果 步骤:1. 在实验箱断电的情况下连好线。2. 输入程序并检查,保存程序。3. “编译”程序。4. “全速执行”程序。5. 记录实验结果及分析。框图: 温控控制主程序框图源程序:;T8.ASM; 空调恒温控制实验mode equ 082h ;8255工作方式0, PA/PC输出,PB输入1000,0010PORTA equ 08000hCTL equ 08003hOUTBIT equ 09002h ; 位控制地址OUTSEG equ 09

3、004h ; 段控制口IN equ 09001hLEDBuf equ 60h ;显示缓冲区 ORG 0000H ljmp StartLEDMAP: db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: mov r7, #0 ;延时DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retDisplayLED: ;显示 mov r0, #LEDBuf mov r1, #6 mov r2, #00100000bLoop: mov

4、 dptr, #OUTBIT mov a, #0 movx dptr, a mov a, r0 mov dptr, #OUTSEG movx dptr, a mov dptr, #OUTBIT mov a, r2 movx dptr, a mov r6, #1 call Delay mov a, r2 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a retTestKey: ;检测按键 mov dptr, #OUTBIT mov a, #0 movx dptr, a mov dptr, #I

5、N movx a, dptr cpl a anl a, #0fh retKeyTable: 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, #OUTBIT ;求键码 mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 cpl a movx dptr,

6、 a cpl a rr a mov r1, a movx a, r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop mov r2, #0ffh sjmp ExitGoon1: mov r1, a mov a, r2 dec a rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 mov r1, #4LoopC: rrc a jc Exit inc r2 djnz r1, LoopCExit: mov a, r2 mov dptr, #KeyTable movc a, a+dptr mov r2, aWaitRele

7、ase: mov dptr, #OUTBIT clr a movx dptr, a mov r6, #10 call Delay call TestKey jnz WaitRelease mov a, r2 ret; =UP equ 16h ; Next键的键码值DOWN equ 15h ; Last键的键码值LowLimit equ 10 ;温度上限HighLimit equ 30 ; 温度下限LowTemp equ -40 ; A/D= 0HighTemp equ 50 ; A/D= 255ADPort equ 0a000h ; A/D片选信号接CS2Heat equ 1 ;加热口线PA0

8、=1Cool equ 2 ;制冷口线PA1=1SetTemp equ 50h ;设定温度CurTemp equ 51h ;当前温度DisplayResult: ;当前温度和设定温度送显示缓冲 mov a, CurTemp jnb acc.7, GE0 ; 如果当前温度低于零度,符号位显示缓冲区置- mov LEDBuf, #40h ;g=1,其他笔画=0, - dec a ;求负温的绝对值 cpl a jmp GoonGE0: mov LEDBuf, #0 ; 如果当前温度不低于零度,符号位显示缓冲区置 Goon: mov b, #10 ; 当前温度十位数送显示缓冲区 div ab mov d

9、ptr, #LEDMAP movc a, a+dptr mov LEDBuf+1, a mov a, b ; 当前温度个位数送显示缓冲区 movc a, a+dptr mov LEDBuf+2, a mov LEDBuf+3, #0 ; 当前温度与设定温度之间置 mov a, SetTemp ;设定温度送显示缓冲区 mov b, #10 div ab movc a, a+dptr mov LEDBuf+4, a mov a, b movc a, a+dptr mov LEDBuf+5, a retReadAD: mov dptr, #ADPort ;读A/D结果送a clr a movx dp

10、tr, a ; start A/D mov a, #0 djnz acc, $ ; delay movx a, dptr retReadTemp: ;读当前温度CurTemp;CurTemp = 16次ADC采样之平均数 * (HighTemp-LowTemp) / 256 + LowTemp; mov r1, #0 mov r2, #0 mov r0, #16 ;采样计数器RLoop: call ReadAD ;16次ADC采样之和高位送r1,低位送r2 add a, r2 mov r2, a jnc GN1 inc r1GN1: djnz r0, RLoop mov a, r2 ; a =

11、 r1r2/16 swap a anl a, #0fh xch a, r1 swap a anl a, #0f0h orl a, r1 mov b, #(HighTemp-LowTemp); 16次ADC采样之平均数 * (HighTemp-LowTemp) mul ab mov a, b ; 保留积的高8位,丢弃低8位,相当于/256 add a, #LowTemp mov CurTemp, a retStart: mov sp, #70h mov a, #mode ; 设置8255工作方式,PA,PC输出,PB输入 mov dptr, #CTL movx dptr, a mov SetTe

12、mp, #20 ;置设定温度初值MLoop: call TestKey ;检测按键 jnz KeyPressed ;有按键转KeyPressed, 修改设定温度 call DisplayResult ; 当前温度和设定温度送显示缓冲 call DisplayLED ; 显示当前温度和设定温度 call ReadTemp ; 读入当前温度 mov a, CurTemp jb acc.7, LE0 ; 当前温度0时转LE0 clr c mov b, SetTemp ; 如果当前温度设定温度+2, 则开动致冷电机 setb c mov b, SetTemp inc b inc b subb a, b

13、 jc GN3 mov a, #Cool ; 开动致冷电机 mov dptr, #PORTA movx dptr, a sjmp GN4GN3: mov a, #0 ; 在设定温度+/- 2度内, 无需开动电机 mov dptr, #PORTA movx dptr, aGN4: sjmp MLoopKeyPressed: ;修改设定温度 call GetKey ; 求键码 mov b, a xrl a, #DOWN;按键为LAST键,且设定温度LowLimit时, 设定温度-1 jnz Key0 mov a, SetTemp xrl a, #LowLimit jz Key1 dec SetTemp sjmp Key1Key0: mov a, b;按键为next键,且设定温度HighLimit时, 设定温度+1 xrl a, #UP jnz Key1 mov a, SetTemp xrl a, #HighLimit jz Key1 inc SetTempKey1: sjmp MLoop end五、 结果分析:用LAST和NEXT键设定恒定温度,用温度采样器可改变外界温度,空调进行加热或制冷可由LED灯显示。六、参考资料1、微机原理实验指导书2、单片机技术及工程实践

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1