家用电热淋浴器控制器的设计文档格式.docx

上传人:b****5 文档编号:16736609 上传时间:2022-11-25 格式:DOCX 页数:15 大小:219.35KB
下载 相关 举报
家用电热淋浴器控制器的设计文档格式.docx_第1页
第1页 / 共15页
家用电热淋浴器控制器的设计文档格式.docx_第2页
第2页 / 共15页
家用电热淋浴器控制器的设计文档格式.docx_第3页
第3页 / 共15页
家用电热淋浴器控制器的设计文档格式.docx_第4页
第4页 / 共15页
家用电热淋浴器控制器的设计文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

家用电热淋浴器控制器的设计文档格式.docx

《家用电热淋浴器控制器的设计文档格式.docx》由会员分享,可在线阅读,更多相关《家用电热淋浴器控制器的设计文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

家用电热淋浴器控制器的设计文档格式.docx

经8088处理后输出脉冲使锋鸣器报警,如图二所示。

并使数码管(当水位正常时和于显示温度)显示水位过高(H)水位过低(L)。

接第二片8255

图二锋鸣器连接图

2.

图三温度设定

接数据总线

温度设定,该控制器共有八档温度可供选择,我们选择了八个按键的键盘,当按按键时,8255相应的端口输入高电平,如图三所示。

接ADC输出

并送到8088,经8088处理后,发送信号到显示电路,点亮相应的二极管(一个二极管代表一种温度),如图四所示

图四实际温度显示

3.温度检测,用温度传感器检测温度并输出电压,经ADC转换成成数字量后送到8255,如图五所示

接8255

图五温度检测并转换成数字量

再传到8088,8088再输出信号让数码管显示实际温度,如图六所示

接3-8译码器输出

4.加热器控制。

将实际温度与设定温度比较,当设定温度比实际温度高出50度时,使大功率的加热器工作;

当设定温度比实际温度高出20度时,使中等功率的加热器工作;

当设定温度比实际温度高但没有高出20度时,使小功率的加热器工作;

当设定温度低于实际温度时,使加热器全部停止工作。

其实现在8255控制,如图七所示

图七加热器控制

5.系统的整体框图如图八所示。

五.原理图设计

硬件的连线图用Protel2004设计,设计结果如图九所示

温度检测

SN54ALS138AFK

DM74LS245WM

8255

图九硬件连接图

8088

六.接口电路的端口地址如下表

表一接口电路的端口地址表

地端

址口

芯片

A

B

C

控制端口

8255(第一片)

40

41

42

43

8255(第二片)

80

81

82

83

七.程序流程图

八.程序清单

DATASSEGMENT

LEDDB00H

TEMDB00H

SETTEMDB00H

DUANDB3FH06H5BH4FH66H6DH7DH07H7FH6FHD

TEMBIAODB100BUP(?

);

用于查表

DATASENDS

STACKSSEGMENTPARASTACK'

STACK'

STADB50(?

TOPEQULENGTHSTA

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

STACK:

MOVAX,DATAS

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

PUSHDS;

填中断

MOVAX,0000H

MOVAX,OFFSETIRQ7;

温度AD转换

ADDAX,2000H

MOVSI,003CH

MOV[SI],AX

MOVSI,003EH

MOVAX,OFFSETIRQ6;

高水位中断

MOVSI,0038H

MOVSI003AH

MOVAX,OFFSETIRQ5;

低水位中断

MOVSI,0034H

MOVSI,0036H

POPDS

MOVAL,8BH;

将8BH送到43H口(即键盘的控制端口)

MOV43H,AL;

初始化为0工作方式,A口输出,B口输入

MOVAL,80H;

将10000000送到83H口(显示8255A的控制口)

MOV83H,AL;

初始化为0工作方式,都为输出

MOVAL,13H;

将00010011送00H(8259A的ICW1)

MOV00H,AL

MOVAL,08H;

设中断类型号(ICW2)

MOV01H,AL

MOVAL,0DH;

设ICW4

A:

STI;

开中断

OUT40H,FFH

INAL,41H

CMPAL,FFH

JEB

CALLKEY;

调用键盘子程序

B:

CALLTEMDT;

调用温度检测子程序

CALLCOMP;

调用温度比较子程序

LOOPA

IRQ5:

OUT80H07H;

选中三个数码管,高水位中断

OUT81H,76H;

显示“H”字样,表示水位过高

CALLXIANG;

调用“响”子程序

STI;

IRET

IRQ6:

OUT80H,07H;

选中三个数码管,低水位中断

OUT81H,38H;

显示“L”字样,表示水位过低

CALLSINAG;

STI

KEYPROCFAR;

键盘检测子程序

MOVCX,2000;

延时,去抖

C:

LOOPC

JED;

按下键盘时跳转

OUT82H,AL;

送到二极管显示

MOVLED,AL;

送到LED存储单元

CMPAL,01H

JNEE1

MOVAL,1EH;

30度

E1:

CMPAL,02H

JNEE2

MOVAL,28H

E2:

CMPAL,04H

JNEE3

MOVAL,32H

E3:

CMPAL,08H

JNEE4

MOVAL,3CH

E4:

CMPAL,10H

JNEE5

MOVAL,46H

E5:

CMPAL,20H

JNEE6

MOVAL,50H

E6:

CMPAL,40H

JNEE7

MOVAL,5AH

E7;

MOVAL,64H

MOVSETTEM,AL

D:

RET

KEYENDP

TEMDTPROCFAR;

温度检测子程序

INAL,C0H;

驱动ADC0803IN工作

MOVCX,1000H

F1:

LOOPF1;

等待温度转换完成后输出中断

IRQ7:

MOVBX,OFFSETTEMBIAO;

温度表

INAL,42H

MOVCX,64H

F:

CMP[BX],AL

JAEG;

大于或等于时跳转

INCBX

LOOPF

G:

MOVAX,61H

SUBAL,CL

MOVTEM,AL

MOVAH,00H

DIV64H;

除以100,取出百倍数

OUT80H,04H;

选中第一个数码管

MOVBL,AL

MOVBH,00H

MOVSI,OFFSETDUAN

OUT81H,[SI+BX]显示温度的百位数

MOVCX,2000H

H:

LOOPH

MOVAL,AH

DIV10

OUT80H,02H;

选中第二个数码管

OUT81H,[SI+BX]

I:

LOOPI

MOVBL,AH

MOVBH,00

OUT80H,01H;

选中第三个数码管

OUT81H[SI+BX]

TEMDTENDP

COMPPROCFAR

MOVAL,TEM

MOVAL,SETTEM

CMPAL,BL

JBEL;

当设定温度大于或等于实际温度时,不加热

SUBAL,BL

MOVAL,08H

CMPAL,14H当设定温度比实际温度高出20°

时,开中等功率的加热管

JAJ

ADDAH,10H

JMPK

J:

CMPAL,32H当设定温度比实际温度高出50°

时,开大功率加热管

JAK

ADDAH,2DH

K:

OUT80,AH

L:

COMPPROCENDP

九.总结与体会

1.在本次设计中,我们完成了设计任务,虽然没有条件调试,算不上成功地解决问题,但在此过程中,我们体会到了微型计算机技术和汇编语言的功能。

懂得了用所学的知识解决遇到的实际问题。

2.在合作的过程中,我们合作无间,先是一起讨论如何实现设计,做出了系统的整体框图。

当一人在做硬(软)件时,另一个人帮忙上网找资料,解决其遇到的问题。

使得我们出色地完成了任务。

3.在设计的过程中,通过综合运用所学的知识,能过不断地上网查找相关资料,使我们更好地理解了微机原理,巩固所学的知识,学以至用。

4.对于这样的设计,我们都觉得很有意思,以前总是不知道所学的知识有何用处,通过这样的设计,我们找到了学习的乐趣,有了更好的动力学习,相信以后我们会更努力地学习,以解决今后生活或工作所要面对的种种问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

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

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