《空调控制器课程设计.pdf》由会员分享,可在线阅读,更多相关《空调控制器课程设计.pdf(28页珍藏版)》请在三一文库上搜索。
1、I / 28 沈 阳 工 程 学 院 课 程 设 计 设计题目: 空调控制器设计 1. 设计主要内容及要求; 设计一个空调控制器。 要求: 1)硬件电路设计,包括原理图和PCB 板图。 2)控制器软件设计。 3)要求能够设定温度、测量温度、显示温度、制冷控制以及风机 控制。 2. 对设计论文撰写内容、格式、字数的要求; 通过 74LS138 译码产生的。从PA0PA3 查询 扫描行的输入状态,从PA4PA7 查询功能键的输入状态,判断是否有数字键或功能键 按下。lzq7IGf02E 4.48255芯片简介 8255 是 Intel 公司生产的可编程并行I/O 接口芯片,有3 个 8 位并行 I
2、/O 口。具 有 3 个通道 3 种工作方式的可编程并行接口芯片通过 74LS138 译码产生的。键盘输 入用到了 8255,PB 和 PC口是 8255两个八位带锁存的输入口,可实现输出数据锁存。 PB 口的端口地址为8001H,PC 口的端口地址为8002H。用 PB 口作六个数码管的位 选。用 ULN2003 作显示器的位选驱动。 PC 口作字型码锁存。 8255 控制字的端口地址 是 8003H。74LS244 作数码管字型显示驱动。数码管选择为共阴极。采集到的温度值和 设定的温度值都会通过数码管显示出来,而且采集的值时随时更新的。 AVktR43bpw 5.2.6 制冷和加热 COM
3、PARE: mov a,6CH。ad clr c cjne a,6BH,lop8。shuru ajmp stop lop8:jc warm cool:clr p3.5 clr p0.1 ajmp work warm:setb p3.5 13 / 28 setb p0.1 ajmp work stop:clr p3.5 setb p0.1 work:nop ret 空调就是能给人适宜的温度,当室内的温度很高时,我们会感觉很闷,所以我们就 要设定一个自己想要的温度,如果室内的温度比我们自己设定的温度要高,那么空调控 制器就会启动制冷装置,使室内的温度达到我们需要的温度。在本次设计中,在启动制 冷装
4、置时,我就点亮一个LED 灯。在冬天时,偶尔室内的温度会很低,人们会感觉很 不舒适,那么在这时,空调控制器就会启动加热装置,使室内的温度可以让我们感觉温 暖。在启动加热装置时,我用的的是启动直流电动机。ORjBnOwcEd 6 程序的调试 我们编写的每一个程序都需要进行调试,我在设计中遇到了很多困难。首先是在温 度采集的值和我们输入的值之间进行比较这一块出现了问题,由于A/D 转换器采集进 来的数是放在两个存储单元中的,而且是十六进制的数字量,一开始我想把从A/D 转 换器采集进来的数转换成十进制的数,然后也把从键盘输入的数字量也转换成使劲数进 行比较,可是在调试的过程中我发现这种做法很麻烦,
5、所以后来我就把从A/D 转换器 采集进来的数放在一个存储单元中,然后和键盘输入的数进行比较。把A/D 转换器采 集进来的数合并在一个存储单元中的程序如下: 2MiJTy0dTT ADC0: mov a,adc0l mov 33H,adc0l swap a anl a,#0FH mov 30H,a mov a,adc0h mov 34H,adc0h swap a anl a,#0F0H orl a,30H mov 31H,a 其次,在设计中发现,应该限制一个温度范围,也就是说,一旦温度超过设定的温 度范围就会产生报警。温度范围设在2025之间,这段程序如下:gIiSpiue7A cjne a,#
6、20h,lop9 ljmp lop10 lop9: jc lop14 ljmp lop11 lop10: setb p0.0 14 / 28 ljmp lop12 lop11: cjne a,#25h,lop13 ljmp lop10 lop13:jc lop10 lop14: clr p0.0 lop12: swap a mov 6dH,a anl a,#0fH mov dptr,#tabc movc a,a+dptr mov 75H,a mov a,6CH ret 7 工作过程分析 在主函数之前先设置A/D 转换器的中断入口,然后再编写主程序,在主函数最起 初先禁止看门狗程序,然后使能交叉
7、开关。然后依次调用I/O 口初始化程序,要显示的 数的断码初始化程序,以及8255 初始化程序。然后是设置各端口为漏极开路,即低电 平有效。接下来是A/D 转换器的初始化,选择时钟周期为1MHz ,系统时钟是 12MHz,增益大小选择为1,所以 ADC0CF 设为 58H,启动方式为写BUSY=1,数据 位右对齐,所以ADC0CN 设为 C0H。由于 A/D 转换器是采集外界温度的,采集结束之 后还要用数码管显示出来,所以在执行完A/D 中断结束之后,返回来要接着条用显示 的程序。因为A/D 转换器采集外界的温度是随时更新的,因此,在这里是循环调用的 uEh0U1Yfmh I/O 口是单片机的
8、重要组成部分,所以在编写程序时要对它进行初始化。让EMIF 工作在地址 /数据复用方式,只用外部存储器,ALE 高/低脉冲占 1 个 SYSCLK 周期,所 以 EMI0CF 设为 2CH;P7 为漏极开路方式,P4、P5、P6 为推拉方式,所以设置 P74OUT为 3FH。IAg9qLsgBX 把温度转换成易于单片机处理的数字信号,是通过A/D 转换器来实现的。 C8051F020 有两个 A/D 转换器,分别是ADC0 和 ADC1,ADC0 是 12 位的 A/D 转换 器,而ADC1 是 8 位的 A/D 转换器。在此次设计中我用的是12 位的 A/D 转换器 ADC0,由于 ADC0
9、 是 12 位的 A/D 转换器,所以被采集进来的数是被分在两个存储单 元存储的。存储的时候把低8 位 adc0l放在 33H 单元中,把高四位放在adc0h放在 34H 单元中。由于采集进来的数要和输入的数进行比较,所以还要把33H 和 34H 中的数合 并在一个单元中,以便后来进行比较。最后我把这两个分开的数合并之后存放在了31H 单元中。WwghWvVhPE 8255 的片选地址是由高八位地址 (A8A15通过 74LS138 译码产生的。键盘输 15 / 28 入用到了 8255,PB 和 PC口是 8255两个八位带锁存的输入口,可实现输出数据锁存。 PB 口的端口地址为8001H,
10、PC 口的端口地址为8002H。用 PB 口作六个数码管的位 选。用 ULN2003 作显示器的位选驱动。 PC 口作字型码锁存。 8255 控制字的端口地址 是 8003H。74LS244 作数码管字型显示驱动。数码管选择为共阴极。采集到的温度值和 设定的温度值都会通过数码管显示出来,而且采集的值时随时更新的。8255 的控制字 设为 80H,即设置 PC 和 PB 口为输出, PA 口为输入。 8003H 为 8255 的控制寄存器地 址。asfpsfpi4k 空调就是能给人适宜的温度,当室内的温度很高时,我们会感觉很闷,所以我们就 要设定一个自己想要的温度,如果室内的温度比我们自己设定的
11、温度要高,那么空调控 制器就会启动制冷装置,使室内的温度达到我们需要的温度。在本次设计中,在启动制 冷装置时,我就点亮一个LED 灯。在冬天时,偶尔室内的温度会很低,人们会感觉很 不舒适,那么在这时,空调控制器就会启动加热装置,使室内的温度可以让我们感觉温 暖。在启动加热装置时,我用的的是启动直流电动机。 ooeyYZTjj1 8 主要元器件介绍 8.1热电偶 热电偶的工作原理是,当两种不同的导体或半导体A 或 B 组成一个回路,其两端 相互连接时,只要两端 org 00H ajmp main org 007BH ljmp ADC0 org 100H main:mov wdtcn,#0deH
12、mov wdtcn,#0adH mov xbr2,#40H lcall port lcall digtal lcall int8255 17 / 28 MOV EIE2,#10H MOV P3IF,#00H MOV AMX0CF,#00H MOV AMX0SL,#00H MOV REF0CN,#03H MOV ADC0CF,#58H MOV ADC0CN,#0C0H SETB EA orl adc0cn,#10H lop:lcall lcd ajmp lop wait:mov DPTR,#8001H mov a,#00H movx DPTR,a mov DPTR,#8000H movx a,D
13、PTR mov R2,a cjne R2,#0ffH,lop4 ajmp lop5 lop4:lcall Key lop5:nop ret port:mov emi0cf,#2cH mov p74out,#3fH ret int8255: mov DPTR,#8003H mov a,#90H movx DPTR,a ret Key :cpl a anl a,#0fH mov 70H,a scan:mov DPTR,#8001H mov a,67H movx DPTR,a mov DPTR,#8000H movx a,DPTR anl a,#0fH cjne a,#0fH,pp mov a,67
14、H rl a mov 67H,a ajmp scan pp:mov a,67H 18 / 28 mov 67H,#0feH anl a,#0fH cpl a anl a,#0fH mov 69H,a lcall translate mov a,68H mov R0,a inc R0 cjne R0,#73H,lop6 mov R0,#71H lop6:nop ret digtal: mov R3,#01H mov R1,#71H mov R0,#71H mov 67H,#0feH mov 69H,#00H mov 70H,#00H mov 71H,#3fH mov 72H,#06H mov 7
15、3H,#00H mov 74H,#00H mov 75H,#5bH mov 76H,#4fH mov R6,#00H ret translate:lcall Delay2 lcall Delay2 mov DPTR,#TABA mov a,69H movc a,a+DPTR mov 69H,a mov DPTR,#TABB mov a,70H movc a,a+DPTR clr c add a,69H clr c mov 68H,a mov 6AH,a leave:mov DPTR,#TABC mov a,68H movc a,a+DPTR 19 / 28 mov 68H,a mov DPTR
16、,#TABD mov a,6AH movc a,a+DPTR mov 6AH,a inc R6 mov a,R6 cjne a,#02H,lll mov R6,#00H anl 6BH,#0F0H mov a,6BH orl a,6AH mov 6BH,a ajmp mmm lll:mov a,6AH swap a anl 6BH,#0fH orl a,6BH mov 6BH,a mmm:nop ret lcd:lcall wait mov DPTR,#8001H mov a,R3 movx DPTR,a mov DPTR,#8002H mov a,R1 movx DPTR,a lcall D
17、elay1 mov a,R3 rl a mov R3,a cjne R3,#40H,lop1 mov R3,#01H lop1:inc R1 cjne R1,#77H,lcd mov R1,#71H MOV EIE2,#12H ret SC:mov a,31H mov r4,#00H mov r5,#01H next:clr c mov 7FH,r4 20 / 28 cjne a,7FH,loplop ajmp lop3 loplop:jc lop3 mov 31H,a mov a,r4 add a,#10H mov r4,a mov a,31H inc r5 cjne r5,#12H,lop
18、2 ajmp lop3 lop2:ajmp next lop3:mov dptr,#TABE mov a,r5 movc a,a+DPTR mov 6CH,a cjne a,#20h,lop9 ljmp lop10 lop9: jc lop14 ljmp lop11 lop10: setb p0.0 ljmp lop12 lop11: cjne a,#25h,lop13 ljmp lop10 lop13:jc lop10 lop14: clr p0.0 lop12: swap a mov 6DH,a anl a,#0FH mov DPTR,#TABC movc a,a+dptr mov 75H
19、,a mov a,6CH anl a,#0FH mov dptr,#TABC movc a,a+dptr mov 76H,a ret COMPARE:mov a,6CH 。ad clr c cjne a,6BH,lop8 。shuru ajmp stop lop8:jc warm cool:clr p3.5 21 / 28 clr p0.1 ajmp work warm:setb p3.5 setb p0.1 ajmp work stop:clr p3.5 setb p0.1 work:nop ret ADC0:mov a,adc0l mov 33H,adc0l swap a anl a,#0
20、FH mov 30H,a mov a,adc0h mov 34H,adc0h swap a anl a,#0F0H orl a,30H mov 31H,a lcall SC lcall COMPARE lcall lcd ANL ADC0CN,#0DFH ORL ADC0CN,#10H MOV EIE2,#10H reti Delay1:mov 6FH,#20 Dly0:mov 6EH,#20 Dly1:djnz 6EH,Dly1 djnz 6FH,Dly0 ret Delay2:mov 3FH,#250 Dly01:mov 3EH,#250 Dly11:djnz 3EH,Dly11 djnz
21、 3FH,Dly01 ret TABA: DB 00H,01H,02H,00H,03H,00H,00H,00H,04H TABB: DB 00H,0ffH,03H,00H,07H,00H,00H,00H,0bH TABC: DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H J0bm4qMpJ9 TABD: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH XVauA9grYP TABE: DB 16H,17H,18H,19H,2
22、0H,21H,22H,23H,24H,25H,26H,27H,28H,29H,30H,31h bR9C6TJscw DB 32h,33h End 22 / 28 附录 A2 空调控制器原理图 C2 104 Vin 1 G N D 2 Vout 3 LM7805 T M S 1 T C K 2 T D I 3 T D O 4 R S T 5 C P 1 - 6 C P 1 + 7 C P 0 - 8 C P 0 + 9 A G N D 1 0 A V + 1 1 V R E F 1 2 A G N D 1 3 A V + 1 4 V R E F D 1 5 V R E F 0 1 6 V R E
23、 F 1 1 7 A IN 0 .0 1 8 A IN 0 .1 1 9 A IN 0 .2 2 0 A IN 0 .3 2 1 A IN 0 .4 2 2 A IN 0 .5 2 3 A IN 0 .6 2 4 A IN 0 .7 2 5 XTAL1 26 XTAL2 27 MONEN 28 AIN1.7/A15/P1.7 29 AIN1.6/A14/P1.6 30 AIN1.5/A13/P1.5 31 AIN1.4/A12/P1.4 32 AIN1.3/A11/P1.3 33 AIN1.2/A10/P1.2 34 AIN1.1/A9/P1.1 35 AIN1.0/A8/P1.0 36 VD
24、D 37 DGND 38 A15m/A7/P2.7 39 A14m/A6/P2.6 40 A13m/A5/P2.5 41 A12m/A4/P2.4 42 A11m/A3/P2.3 43 A10m/A2/P2.2 44 A9m/A1/P2.1 45 A8m/A0/P2.0 46 AD7/D7/P3.7 47 AD6/D6/P3.6 48 AD5/D5/P3.5 49 AD4/D4/P3.4 50 A D 3 /D 3 /P 3 .3 5 1 A D 2 /D 2 /P 3 .2 5 2 A D 1 /D 1 3 .1 5 3 A D 0 /D 0 /P 3 .0 5 4 W R 0 7 5 5
25、R D /P 0 . 6 5 6 A L E /P 0 .5 5 7 4 5 8 0 3 5 9 P 0 .2 6 0 P 0 .1 6 1 P 0 .0 6 2 D G N D 6 3 V D D 6 4 A D 7 /D 7 /P 7 .7 6 5 A D 6 /D 6 /P 7 .6 6 6 A D 5 /D 5 /P 7 .5 6 7 A D 4 /D 4 /P 7 .4 6 8 A D 3 /D 3 /P 7 .3 6 9 A D 2 /D 2 /P 7 .2 7 0 A D 1 /D 1 /P 7 .1 7 1 A D 0 /D 0 /P 7 .0 7 2 A 1 5 m /A 7
26、 /P 6 .7 7 3 A 1 4 m /A 6 /P 6 .6 7 4 A 1 3 m /A 5 /P 6 .5 7 5 A12m/A4/P6.4 76 A11m/A3/P6.3 77 A10m/A2/P6.2 78 A9m/A1/P6.1 79 A8m/A0/P6.0 80 A15/P5.7 81 A14/P5.6 82 A13/P5.5 83 A12/P5.4 84 A11/P5.3 85 A10/P5.2 86 A9/P5.1 87 A8/P5.0 88 DGND 89 VDD 90 WR/P4.7 91 RD/P4.6 92 ALE/P4.5 93 P4. 4 94 P4. 3 9
27、5 P4. 2 96 P4. 1 97 P4. 0 98 DAC1 99 DAC0 100 C 8 0 5 1 F 0 2 0 /2 U3 C8051F020/2 Y1 12MHz C1 22P C2 22P R11 1M XTAL2 XTAL1 C1 104 1G 1 1A1 2 2Y4 3 1A2 4 2Y3 5 1A3 6 2Y2 7 1A4 8 2Y1 9 GND 10 2A1 11 1Y4 12 2A2 13 1Y3 14 2A3 15 1Y2 16 2A4 17 1Y1 18 2G 19 VCC 20 U5 74LS244 a b c d ef g d p LED5 LED PC0
28、 PC1 PC2 PC3 PC4 PC5 PC6 PC7 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 RP1 RESPACK4 a b c de f g d p LED1 LED a bcd ef g d p LED2 LED a b cde f g d p LED3 LED a b c d e f g d p LED4 LED a b cde f g d p LED6 LED D 0 3 4 D 1 3 3 D 2 3 2 D 3 3 1 D 4 3 0 D 5 2 9 D 6 2 8 D 7 2 7 P A 0 4 P A 1 3 P A 2 2 P A
29、3 1 P A 4 4 0 P A 5 3 9 P A 6 3 8 P A 7 3 7 P B 0 1 8 P B 1 1 9 P B 2 2 0 P B 3 2 1 P B 4 2 2 P B 5 2 3 P B 6 2 4 P B 7 2 5 P C 0 1 4 P C 1 1 5 P C 2 1 6 P C 3 1 7 P C 4 1 3 P C 5 1 2 P C 6 1 1 P C 7 1 0 R D 5 W R 3 6 A 0 9 A 1 8 R E S E T 3 5 C S 6 V C C 2 6 G N D 7 U4 8255 A 1 5 D 0 D 1 D 2 D 3 D
30、4 D 5 D 6 D 7 W R A 0 A 1 P B 0 P B 1 P B 2 P B 3 P B 4 P B 5 P C 0 P C 1 P C 2 P C 3 P C 4 P C 5 P C 6 P C 7 R S T 1R 1 2R 2 3R 3 4R 4 5R 5 6R 6 7R 7 GND 8 VCC 9 Q7 10 Q6 11 Q5 12 Q4 13 Q3 14 Q2 15 Q1 16 ULN2003 U7 ULN2003 R2 200 Q1 8550 R D R0 200 R3 10K C11 22uF C12 ELECTRO1 S0 R4 2K R1 480 D1 1
31、2 J2 CON2 3 4 1 2 1 0 5 U4A LM308A D8 LM335 D7 LM329B RP2 5.1K R10 10K R9 698K R7 102K R6 294K R5 10K C13 100P 3.3V WR RD D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 0 A D C 0 A D C 1 A0 A1 A15 XTAL2 XTAL1 R S T P B 6 P B 7 P A 0 P A 1 P A 2 P A 3 P A 4 P A 5 P A 6 P A 7 PB0 PB1 PB2 PB3 PB4 PB5 RST 116 R12A RESPACK1 3.3V VCC VCC VCC VCC VCC VCC VCC OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 U6 74HC573 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 ALE R0 4.7K RP1 10K R10 422 R11 10K ADC0 K型 热 电 偶 1 2 3 4220v7.5v R0 1k +5V 23 / 28 申明: 所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
链接地址:https://www.31doc.com/p-4515926.html