《微机原理课程设计》简易全自动洗衣机设计课程论文.doc
《《微机原理课程设计》简易全自动洗衣机设计课程论文.doc》由会员分享,可在线阅读,更多相关《《微机原理课程设计》简易全自动洗衣机设计课程论文.doc(30页珍藏版)》请在三一办公上搜索。
1、微机原理课程设计姓名: 学号: _ 班级: 专业: 电气工程及其自动化 学院: 电气与信息工程学院 目录一、课程设计内容1二、系统功能要求12.1 基本功能要求12.2 附件功能要求1三、系统方案论证1四、系统硬件设计24.1 系统硬件原理24.2 功能模块设计64.3 遇到问题及解决措施7五、系统软件设计85.1 总体设计思想85.2 功能模块设计105.3 遇到问题及解决措施11六、总结11七、附录13简易全自动洗衣机设计一、课程设计内容(1)利用8255A芯片,在数码管上实时显示洗衣机档位和洗衣时间倒计时;(2)利用8254芯片,设置精确倒计时时间或者发送信号给蜂鸣器;(3)利用8259
2、A芯片,设置按键或开关中断控制功能;(4)利用0809芯片,模拟水位传感器采集一个电压信号,控制电机旋转。二、系统功能要求2.1 基本功能要求(1)能够实现洗衣机换挡功能,比如设置“1挡键”、“2挡键”等不同挡位;(2)能够实现电机的正转功能;比如设置电机正转3圈,反转3圈,循环工作;(3)能够实现洗衣机按键控制,比如设置“启动键”、“暂停键”或“停止键”(4)能够实现按键或开关控制洗衣机的暂停,比如按下“暂停键”,正在旋转的 电机停止工作,再按一下“启动键”,洗衣机又继续工作;(5)能够实现洗涤、甩干连续自动功能,甩干后,洗衣机会通过蜂鸣器发出报 警声音;2.2 附件功能要求(1)能够实现洗
3、衣机单独甩干功能,此时电机旋转速度很快;(2)能够实现洗衣机进水、排水或者洗涤、漂洗、甩干等不同功能使用不同颜 色的指示灯;(3)能够实现洗涤、漂洗、甩干全过程自动化;(4)能够实现洗衣机甩干后,发出优美的音乐,音乐一直响直到人为关掉或者 音乐响一定时间后自动关闭。(5)自己设计的其他有特色的功能。三、系统方案论证3.1 方案一输入设备主要有启动按钮、暂停按钮、档位选择、排水按钮、及脱水按钮。输出设备主要有电源指示灯、数码管、步进电机、蜂鸣器等。首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及其结构,其次根据系统的各个功能把软件分成几个不同的模块,依次实现各个模块的功能,最后把各
4、个模块组合起来完成整个系统的功能。3.2 方案二根据任务的要求,选择了4个数码管作为信号输出,以状态输入开关作为输入信号,都连接至8255A芯片上。步进电动机由8255PC4-PC7口驱动,其中洗衣过程漂洗过程排水过程的时间都由8254提供定时信号,实现在预定时间状态的转换。在对芯片进行初始化之后,先判断输入信号的状态,根据输入状态的不同调用不同的子程序,鉴于定时程序在很多子程序里调用到,多次编写加长了程序的长度,所以每次在调用之前先将计数值读入一个寄存器中,在延时程序中读取此寄存器中的数值即可。当按照输入状态运行完之后,最后检测到已完成的时候就启动蜂鸣报警,洗衣过程完成。3.3 方案比较方案
5、一相对来说刚开始容易,但是后续工作麻烦,不容易将每个模块有机的整合起来,会出现接口冲突,而方案二在设计初就从全局出发,充分分配好各个端口的配置及用途,避免了方案一中的冲突,所以方案二更优越。四、系统硬件设计4.1 系统硬件原理(1)8255A芯片8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(A、B),两个4位I/O口(PC74、PC30).通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求。C口可作为数据口,可作为信号线( CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位。8255A的内部结构如图1所示: 图1 8255的
6、内部结构图8255的引脚分配:(1)D0D7:8位,双向,三态数据线,用来与系统数据总线相连;(2)端口A、B、C:PA0PA7( A组数据信号,用来连接外设); PB0PB7( B组数据信号,用来连接外设);PC0PC7(C组数据信号,用来连接外设或者作为控制信号)。 (3)CS、RESET、WR、RD、A1、A0(内部4个端口)。(4)VCC、GND。8255A有三种工作方式,用户可以通过编程来设置。方式0简单输入/输出查询方式;A,B,C三个端口均可。方式1选通输入/输出中断方式;A ,B,两个端口均可。方式2双向输入/输出中断方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制
7、字来实现。(2)芯片82548254是可编程计数器/定时器。它的引脚及功能示意图如图2所示。数据总线缓冲器是8254与CPU之间的数据接口,它是一个8位双向三态缓冲器。读/写控制逻辑接受CPU送来的读/写控制信号,并加以组合完成对8254内部操作的控制。8254内部包含三个独立的结构功能完全相同的16位可预置的递减计数器。控制字寄存器用来存放由CPU写入8254的方式选择控制字,以确定计数器的操作方式。 (3)8259芯片8259A,可编程中断控制器芯片。它的引脚图如图3所示。 它是可以用程序控制的中断控制芯片。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成
8、64级的向量优级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。(4)0809芯片ADC0809是8位逐次逼近型A/D转换器。它由一个八路模拟开关,一个地址译码器,一个A/D转换器和一个三态输出所存器组成,多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换,三态输出用于锁存A/D转换完的数据,当OE端为高电平时,才可以从三态输出锁存器取走转换完成的数据。IN0-IN7:8条模拟量输入
9、通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入端前加采样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量通过转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表一所示。表1 0809通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字
10、量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在跳转期间,ST应保持低电平,EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则表明正在进行A/D转换,OE为输出允许信号,用于控制三条输出锁存器想单片机输出转换得到的数据,OE=1,输出转换得到的数据OE=0输出数据线呈高阻状态。D7-D0为数字量输出线CLK为时钟输入信号线,因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常频率为500KHZ。VREF(+),VREF(-)为参考电压输入。4.2 功能模块设计图4 硬件功能图图4硬件功能图中,系统总体功能模
11、块在具体实践中,因硬件资源的限制有所调整,比如有些电路采用其他电路来模拟,进水部分有电位器来模拟,电机驱动用直流系统来模拟。其接线图如图5所示:图5 系统接线图4.3 遇到问题及解决措施问题1: 当把所有线路按照设计要求连接好过后,发现芯片8254没有输出时钟信号。解决方法:芯片8254没有输出时钟信号,这表示8254没有起作用,原以为是芯片坏了,换了好几个新品牌还是一样不起作用,后来经过不断排查是由于采用了12V供电电压,实际要求是5V。问题2:当把所有的线路按照设计要求连接好之后,发现电机不能运转。解决方法:经检查是连接到电机驱动电路上的接线出现断路,换根接线就把问题解决了五、系统软件设计
12、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
13、,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还有接下来的点亮运行指示灯等程序。在设计中用到了子程序调用、循环、测试等程序。在编程时按照设计好的原理框图,结合微机课程上所学的具有一定功能的程序一一编出来,然
14、后在计算机上进行调试,发现错误后再进行修改。在编程过程中要注意程序的嵌套使用,即有些程序按照前面流程图设计好了但在后面的程序中然要用,所以就要注意调用。软件可分为10个模块:主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、自检程序、甩干子程序、暂停子程序、蜂鸣器子程序。系统的总体流程图如图6所示:开始8255等初始化检测开关信号是否为脱水YN设洗衣标志调用洗衣子程序结束启动蜂鸣器关闭脱水标志调用脱水子程序设脱水标志关闭洗衣标志 图6 整体流程方框图5.2 功能模块设计(1)延时功能模块设计根据机箱上给出的芯片我们选用了8254作为定时计数器,在延时程序中计时,在加水过程中计量加
15、水的量。 由于需要多次调用延时子程序,所以把他写成一个DALLY程序,每次调用的时候配合CALL和RET就能往返于子程序和主程序之间,之前把要记的数值放在SI寄存器中,在子程序中读取该寄存器就可以知道要记的数是多少而不必每次都重新给计数器赋值,减少了程序的步骤也使得更易读。(2)洗衣功能模块设计洗衣子程序中是一个不停的在正传反转间循环的过程,期间每次正转或者反转都调用了延时子程序,定时3S,在完成5次循环过后,洗衣过程完成。(3)脱水功能模块设计脱水子程序中只需调用上面做好的延时程序,并在该延时之前打开或关闭相应的指示灯即可。然后用8086的片选信号加给0832控制电动机正转反转,根据公式 :
16、 V0= -NVREF/256计算得到要使电动机保持不转的时候要输入给80H,而正转则取最大值FFH,反转取最小值00H,由于这样得到的V0不相同,所以引起了正传反转时候的速度有些差异,最后等延时子程序执行完毕后,关闭相应指示灯即可完成。脱水、延时、加水等子程序后面都要加上RET,否则将无法跳回主程序MAIN。当时在前几次通电试验的时候每次都出现在排水的时候加水指示灯亮起,需要加水后才能熄灭,后检查发现就是少了一个RET导致的,执行完排水程序后没返回而是接下去执行了加水程序。(4) 甩干、报警功能模块设计甩干子程序是一个不停的在正转的过程,甩干可以分为快甩和慢甩两种档位,甩干子程序还可以通过按
17、键直接跳过洗衣进行调用。当甩干程序运行结束后,8254会产生一个时钟信号给蜂鸣器从而让蜂鸣器报警,表示洗衣过程结束。(5)加水子程序设计加水是这个总程序中很重要的部分,特别是如何将水位信号读取和比较,最终还要输出到8253进行计数。首先打开加水指示灯,将水位信号扫描到寄存器AL中。然后根据与设定好的数据进行比较确定水位信号是什么,假如检测到的是高水位的话,跳转到LEVEL,否则给AL置为3,高水位的时候将控制字写给计数器0,继续执行下去直到给BL加上1,当加到与原来保存的水位信号数值相等的时候,由PC7口将信号传递给8253,告之加水计数程序完成,跳出加水程序,然后关闭加水指示灯,执行下面的程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理课程设计 微机 原理 课程设计 简易 全自动 洗衣机 设计 课程 论文
链接地址:https://www.31ppt.com/p-4193709.html