教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

《微机原理课程设计》 简易全自动洗衣机设计(2)

来源:网络收集 时间:2026-08-30
导读: 5 (1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一

5

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

数据,OE=1,输出转换得到的数据 OE=0输出数据线呈高阻状态。D7-D0为数字量输出线CLK

为时钟输入信号线,因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常频率为500KHZ。VREF(+),VREF(-)为参考电压输入。 4.2 功能模块设计

图4 硬件功能图

图4硬件功能图中,系统总体功能模块在具体实践中,因硬件资源的限制有所调整,比如有些电路采用其他电路来模拟,进水部分有电位器来模拟,电机驱动用直流系统来模拟。

其接线图如图5所示:

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

图5 系统接线图

4.3 遇到问题及解决措施

问题1: 当把所有线路按照设计要求连接好过后,发现芯片8254没有输出时钟信号。

解决方法:芯片8254没有输出时钟信号,这表示8254没有起作用,原以为是芯片坏了,换了好几个新品牌还是一样不起作用,后来经过不断排查是由于采用了12V供电电压,实际要求是5V。

问题2:当把所有的线路按照设计要求连接好之后,发现电机不能运转。 解决方法:经检查是连接到电机驱动电路上的接线出现断路,换根接线就把问题解决了

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

五、系统软件设计

5.1 总体设计思想

程序首先要用伪指令定义一下。然后是8255、8254与8259的初始化,如: MOV DX,CADDR ;8255初始化 MOV AL,MODE OUT DX,AL

MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,36H ;计数器0,方式3 OUT DX,AL

MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1 MOV AL,1BH ;边沿触发、单片8259、需要ICW4 OUT DX,AL

MOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2 MOV AL,08H OUT DX,AL

MOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4 MOV AL,01H ;非自动结束EOI OUT DX,AL

MOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1 MOV AL,0FCH ;打开IR0和IR1的屏蔽位 OUT DX,AL

然后按照原先设计好的原理框图的步骤设计检测洗衣机开/停信号,如; CHECK: MOV DX,PORTB IN AL,DX TEST AL,80H JZ CHECK

还有接下来的点亮运行指示灯等程序。在设计中用到了子程序调用、循环、测试等程序。

在编程时按照设计好的原理框图,结合微机课程上所学的具有一定功能的程

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

序一一编出来,然后在计算机上进行调试,发现错误后再进行修改。在编程过程中要注意程序的嵌套使用,即有些程序按照前面流程图设计好了但在后面的程序中然要用,所以就要注意调用。

软件可分为10个模块:主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、自检程序、甩干子程序、暂停子程序、蜂鸣器子程序。

系统的总体流程图如图6所示:

图6 整体流程方框图

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

5.2 功能模块设计 (1)延时功能模块设计

根据机箱上给出的芯片我们选用了8254作为定时计数器,在延时程序中计时,在加水过程中计量加水的量。 由于需要多次调用延时子程序,所以把他写成一个DALLY程序,每次调用的时候配合CALL和RET就能往返于子程序和主程序之间,之前把要记的数值放在SI寄存器中,在子程序中读取该寄存器就可以知道要记的数是多少而不必每次都重新给计数器赋值,减少了程序的步骤也使得更易读。

(2)洗衣功能模块设计

洗衣子程序中是一个不停的在正传反转间循环的过程,期间每次正转或者反转都调用了延时子程序,定时3S,在完成5次循环过后,洗衣过程完成。 (3)脱水功能模块设计

脱水子程序中只需调用上面做好的延时程序,并在该延时之前打开或关闭相应的指示灯即可。然后用8086的片选信号加给0832控制电动机正转反转,根据公式 : V0= -NVREF/256计算得到要使电动机保持不转的时候要输入给80H,而正转则取最大值FFH,反转取最小值00H,由于这样得到的V0不相同,所以引起了正传反转时候的速度有些差异,最后等延时子程序执行完毕后,关闭相应指示灯即可完成。脱水、延时、加水等子程序后面都要加上RET,否则将无法跳回主程序MAIN。当时在前几次通电试验的时候每次都出现在排水的时候加水指示灯亮起,需要加水后才能熄灭,后检查发现就是少了一个RET导致的,执行完排水程序后没返回而是接下去执行了加水程序。 (4)甩干、报警功能模块设计

甩干子程序是一个不停的在正转的过程,甩干可以分为快甩和慢甩两种档位,甩干子程序还可以通过按键直接跳过洗衣进行调用。当甩干程序运行结束后,8254会产生一个时钟信号给蜂鸣器从而让蜂鸣器报警,表示洗衣过程结束。 (5)加水子程序设计

加水是这个总程序中很重要的部分,特别是如何将水位信号读取和比较,最终还要输出到8253进行计数。首先打开加水指示灯,将水位信号扫描到寄存器AL中。然后根据与设定好的数据进行比较确定水位信号是什么,假如检测到的

(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。 附上详细的程序

是高水位的话,跳转到LEVEL,否则给AL置为3,高水位的时候将控制字写给计数器0,继续执行下去直到给BL加上1,当加到与原来保存的水位信号数值相等的时候,由PC7口将信号传递给8253,告之加水计数程序完成,跳出加水程序,然后关闭加水指示灯,执行下面的程序。 5.3 遇到问题及解决措施

问题1.通过中断实现数码管计时显示与步进电机延时相互冲突,导致步进电机不能正常运转。

解决方法:经过很长时间调试,还是不能成功,由于时间有限,所以最后只好 …… 此处隐藏:3021字,全部文档内容请下载后查看。喜欢就下载吧 ……

《微机原理课程设计》 简易全自动洗衣机设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/90804.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)