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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

空调温度控制器设计文档格式.docx

1、输出时钟脉冲 关闭所有显示位取出数据一位输出位选通信号位移8位数据输出6位全显示完?初始化温度参数当前温度和设定温度送 显示缓冲显示温度采样当前温度当前温度与设定温度比较制冷不变加热读键盘键盘值是?向下键向上键设定温度减1设定温度加1低2度+/-2度内高2度温度控制主程序 四系统模块详细设计与调试系统模块的设计1.A/D转换子程序BEING: MOV DPTR , #8000H ; AD转换子程序 MOV DPTR , #8000H;启动A/D转换 MOVX DPTR , A MOV R6 , #14HDELAY2: NOP NOP DJNZ R6,DELAY2 MOVX A,DPTR MOV

2、 47H,A ; 温度AD转换结果暂存47H单元 ACALL CHANGE ; 十六进制转十进制子程序 LCALL DISPLAYLED RETCHANGE: MOV R1 , #00H MOV R2,#00H CLR CCHAN: SUBB A,#64H JC CHAN1 INC R1 AJMP CHANCHAN1: ADD A,#64HCHAN2: SUBB A,#0AH JC CHAN3 INC R2 AJMP CHAN2CHAN3: ADD A, #0BH MOV 64H,A ;转换结果个位暂存2AH单元 MOV 63H,R2 ;十位存2BH单元 MOV 62H,R1 ;百位存2CH单

3、元2.LED转换子程序 DISPLAYLED :MOV R0,#BUF ;r0指向显示缓冲首地址 MOV R1,#5 ;要循环2次,有2个LED MOV R2,#00100000B ;从第一位开始LOOP: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A ;关所有的位的显示 MOV A,R0 MOV DPTR,#LEDMAP ;查表 MOVC A,A+DPTR MOV DPTR,#OUTSET输出r0指向的单元的数 MOV DPTR,#OUTBIT MOV A,R2开显示,将这个数显示出来(r2决定在哪一位显示) MOV R6,#01 ; CALL DELAY ;

4、RR A MOV R2,A ;准备显示下一位数 INC R0 ;r0指向下个单元 DJNZ R1,LOOP ;循环六次 MOV A,#0 RET3按键子程序 ANJIAN: CALL TESTKEY ;检测键盘是否有按键按下 JZ ANJIAN MOV R6,#10 ;延时去抖动 CALL DELAY再次检测键盘是否有按键按下 MOVX DPTR,A MOV R1,#00100000B MOV R2,#6KLOOP: MOV DPTR,#OUTBIT ;扫描,得到按键的行和列 MOV A,R1 CPL A ;(取反)用零去扫描各列 CPL A RR A ;下一列 MOV R1,A ;R1暂存列

5、值 MOV DPTR,#IN MOVX A,DPTR ;读行状态 ANL A,#0FH JNZ GOON1 DJNZ R2,KLOOP ;下一列扫描(一轮6次) MOV R2,#06H SJMP KLOOP ;下一轮扫描GOON1: ;按照行列计算键值行号放在R1内 MOV A,R2 ;R2中放的是列号 DEC A ; RL A ;R2=(列号-1)*4 MOV R1,#4LOOPC: RRC A JC EXIT INC R2 DJNZ R1,LOOPC ;行值(0100)右移,并统计移的位数,移的位数就是行值EXIT:查表得到键值 MOV DPTR,#KEYTABLE MOVC A,A+DP

6、TR MOV R2,AWAITRELEASE:等待按键释放,将键值存在A寄存器中 CLR A测试按键是否放开 JNZ WAITRELEASE ;是的调试(1)调试的过程A在实验系统中输入程序,并对其进行编译修正,直到没有错误。B打开试验箱,对照自己程序,对其进行接线。C与计算机连接并进行执行,观察试验箱上各个器件显示的结果,发现错误并对其修改直到实验结果与实验要求一致(2)调试中遇到的问题实验中遇到最大的问题还是键盘输入的问题,加一减一看似简单但在实验过程中总会出现乱码,最后我把加一减一写了2个子程序,对子程序进行调用,解决了上面出现的问题。=将缓冲区的数加1的子程序=JIAYI: MOV A

7、,#10 MOV B,BUF MUL AB ADD A,BUF+1 MOV R7,A INC A MOV B,#10 DIV AB MOV BUF,A MOV BUF+1,B;=将缓冲区的数减1的子程序=JIANYI: DEC A五设计总结这次课程设计是一次综合性质的实验,对我以前学的A/D转换、键盘输出等等的一综合运用,所以这次实验不但是巩固了我们以前所学的知识,也给我们带来的新的感悟。程序虽然做出来了。但程序肯定不只一种,方法可以改变,我想我这次课程设计还没结束,我应该学学别人的程序,学会用8255完成,学会用点阵来代替二极管来显示冷和热。有人总是问,我们在大学学了什么,我想我们学的就是我

8、们身边的点点滴滴。六参考文献微型计算机原理与接口技术(第三版)冯博琴 吴宁主编 清华大学出版社,2011年单片机原理及应用实验指导书,屈波等编,2008年单片机原理及应用,赵德安等编,机械工业出版社,2004年单片机基础,李广弟等,北京航空航天大学出版社,2004年七附件材料1.硬件接线图接线连接孔1连接孔21AD-CSCS02IN0电位器输出3P1.0L04P1.1L15KEY/LED-CSCS13.实物图4.程序清单 T20MS EQU 65536-10000C20MS EQU 30HIN EQU 09001H ;键盘读入口OUTBIT EQU 09002H ;位控制口OUTSET EQU

9、 09004H ;段控制口BUF EQU 60H ;显示缓冲区 ORG 0000H LJMP START=键码的定义=KEYTABLE: DB 17H,16H,15H,14H DB 13H,12H,11H,10H DB 0DH,0CH,0BH,0AH DB 0EH,03H,06H,09H DB 0FH,02H,05H,08H DB 00H,01H,04H,07H=八段管显示码=LEDMAP: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H=A/D转换子程序= DJNZ R6,DELAY2 M

10、OV R2,#00H CLR C JC CHAN1 INC R1 SUBB A,#0AH JC CHAN3 INC R2=延时子程序=Delay1: 延时子程序 MOV R7, #0FFHAA: DJNZ R7,AA ret INC A DIV AB DEC A=延时子程序=DELAY: MOV R7,#0DELAYLOOP: DJNZ R7,DelayLoop DJNZ R6,DelayLoop=检测按键是否按下的子程序=TESTKEY: MOVX A,DPTR=按键子程序=ANJIAN: MOV DPTR,#in=LED显示子程序=DISPLAYLED: MOV A,R0 MOV DPTR

11、,#OUTSET=main=START:测试按键 JZ START CALL ANJIAN ;取键值 CJNE A,#0AH,START SETB P1.0 ;键值=A,开指示灯 MOV BUF,#0 ; MOV BUF+1,#0 ;显示缓冲区清零 MOV BUF+2,#0 MOV BUF+3,#0 MOV BUF+4,#0NEXT1: CALL DISPLAYLED ;显示 JZ NEXT1 CJNE A,#0AH,NEXT11 LJMP START ;开关NEXT11: MOV BUF,A ;十位数存于60H单元NEXT2: JZ NEXT2 CJNE A,#0AH,NEXT12NEXT1

12、2: MOV BUF+1,A ;十位数存于61H单元NEXT9: CALL DISPLAYLED CALL TESTKEY JZ NEXT9 CALL ANJIAN CALL JIAYI CALL JIANYI CJNE A,#0AH,NEXT10NEXT10: CJNE A,#0BH,NEXT3 CALL JIAYI NEXT3: CJNE A,#0CH,NEXT5NEXT5: MOV P1 , #00H ACALL BEING ;调用转换显示子程序 MOV A , 47H SUBB A,R7 JZ NEXT6 LJMP SSNEXT6:EXIT1: JMP NEXT5SS: JC HIGH

13、1降温子程序 CALL DELAY1 JMP EXIT1HIGH1: SETB P1.1 ; 升温子程序 JMP NEXT9 NEXT4: LJMP NEXT91.2. 3. 4. 5. 6.7.8. 9. 10.11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76.77. 78.79. 80. 81.82. 83. 84. 85. 86. 87. 88. 89. 90. 91.92. 93. 94.95. 96. 97. 98. 99. 100. 101. 102.103. 104.105. 106. 107. 108. 109.110. 111. 112. 113.

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

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