微机原理课程设计全自动洗衣机_第1页
微机原理课程设计全自动洗衣机_第2页
微机原理课程设计全自动洗衣机_第3页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理课程设计目录第一章 设计内容及要求 21.1 设计内容及要求 21.2 课程设计的要求 2第二章 系统的总体设计方案 32.1 8086 对全自动洗衣机进行控制的主要分析 32.2 设计思想 3第三章 硬件设计 43.1硬件设计概要43.2所用到的芯片及其个自功能介绍 43.3硬件电路设计系统原理图及其说明 103.4系统的电路图11第四章软件设计124.1程序流程124.2源程序及其说明14第五章系统调试与使用25第六章收获体会 26第一章设计内容及要求1.1设计内容及要求选用 8086 和适当的存贮器及接口芯片完成1、六挡水位显示(50、45、40、35、30、25 升):五档洗衣

2、 时间(18、15、12、9、6分钟);三档清洗(3、2、1分钟)、五 档脱水(6、5、3、2、1分钟);两位数码管显示总时间;有上 电、启动和暂停按钮。2、工作顺序:插上电源各档均在最大值,选择各档的按钮可以 依次向下调节档位,然后按下启动按钮洗衣机按设定的程序进行 工作。3、开始数码管显示为总的洗衣所用时间,在洗衣机工作时,数 码管显示的时间为洗衣所剩时间。4、为了安全起见,当洗衣机盖打开时,洗衣机停止工作,在洗 衣机盖关闭后,在继续进行工作。5、洗衣机可根据水位和工作要求自动进行开启和关闭水阀。1.2课程设计的要求设计出电路原理图,说明工作原理,编写程序及程序流程图。第二章 系统的总体设

3、计方案2.1 8086对全自动洗衣机进行控制的主要分析al示K忆水位7T人-中率位卅X愜卓艳幵:X排本i_i图1全自动洗衣机示意图输入设备主要有电源按钮、启动按钮、水位选择、水位开关、排水按钮、 及脱水按钮。输出设备主要有电源指示灯、水位选择按钮信号灯、进水电 磁阀、洗涤电动机正转接触器、排水电磁阀、脱水离合器及蜂鸣器等。2.2设计思想首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及 其结构,其次根据系统的各个功能把软件分成几个不同的模块,依次实现 各个模块的功能,最后把各个模块组合起来完成整个系统的功能。第三章 硬件设计3.1 硬件设计概要用 Intel 的 8086 作为控制

4、芯片, 配合其他接口电路以及配套的芯片组成洗 衣机的控制电路。主要用到 8255 串行通信芯片, 74LS137 38 译码器发 出片选信号, AD0809 以及 DA0832 进行模数、数模转换芯片。用一个电 位计和 AD0809 模拟水量信号, DA0832 和 LM324 运放来控制直流电机的 正反转和停止。此外还用到了 4*4 扫描键盘作为输入设备,两个共阴数码 管作为显示设备。详情见各个芯片的介绍。3.2 所用到的芯片及其个自功能介绍3.2.1 芯片列表8086,8284,74LS138,8255, AD0809,DAC0832,74LS02,LM3243.2.2 8086 的功能简

5、介8086 是 Intel 系列的 16 位微处理器,采用 HMOS 工艺,内部包含 29000 个晶体管。 内部总线 16位,外部总线 8 位。主要用于兼容当时的外围接口 芯片。 8086CPU 有两部分组成,指令执行部件 EU 和总线接口部件 BIU 。 8086 的基本性能指标如下所示:1.16 位微处理器;2. 采用高速运算性能的 HMOS 工艺制造,芯片上集成了 2.9 万只晶体管;3. 使用单一的 +5V 电源, 40 条引脚双列直插式封装 (DIP) ;4. 时钟频率为 5MHz10MHz ,基本指令执行时间为 0.3ms0.6ms5.16 根数据线和 20 根地址线,可寻址的地

6、址空间达 1MB6.8086 可以和浮点运算器、 输入 /输出处理器或其他处理器组成多处理器系 统,从而极大地提高了系统的数据吞吐能力和数据处理能力。图2 8086CPU内部结构框图在这个系统中8086作为整个系统的主控芯片,用来控制协调整个系统的工 作。3.2.3 8284的功能介绍为8086CPU提供外部的基准时钟信号,并把时钟信号进行功率放大。3.2.4 74LS138的功能介绍74LS138为3线一8线译码器,共有 54/74S138和54/74LS138两种线路结 构形式。其功能表如图所示,弓I脚分配如图所示:Input*G1CB1AYaTT訂YiY1V*XHXXXHHHHHHHHL

7、XXXXHHHHHHHHH£.r匚LLLHHKHHHHHLLLHHLHHHMHHLLHLHH1HHHHHLLHHHHHLHHHHHLHL£HHHHLHMHHLHLHHHHHHLHHHLHHJHHHHHHLHHHHHHH!HH fHHHL表一 74LS138的功能表AInsulaCkii put ¥CMD” (K pa 11图3 74LS138的引脚分配图3.2.4 8255的功能简介8255的功能介绍如下:1. Intel 8255A是一个通用的可编程的并行接口芯片,内部有 2个8 位 I/O 口( A、B),两个 4 位 I/O 口( PC74、PC30).2.

8、 通过编程可设置 3种工作方式,可适用于CPU与I/O设备之间的多种数据传送方式的要求。CPU与I/O设备之间的应答 復位。Intel系列的芯片连接使用,在3. C 口可作为数据口,可作为信号线( 信号),可作为状态口,可按位置位4. 价格低廉,使用方便,可以直接与 中小系统中有着广泛的应用。8255的内部结构如图:控制E位:內部数据总钱>担制二;A蛆 端口A鲍谕口匚 上半部F端口 C 下半部IB掘 请口 B >IOP" PAtIXCPC?- PC*IJCPCs PCoDOPB7- PBo图4 8255的内部结构图8255的引脚分配1. 弓|脚(4ODIP)(1)D0D7

9、 : 8位,双向,三态数据线,用来与系统数据总线相连;(2) 端口 A、B、C:PA0PA7( A组数据信号,用来连接外设);PB0PB7 B组数据信号,用来连接外设);PC0PC7( C组数据信号,用来连接外设或者作为控制信号)。(3)CS、RESET、WR、RD、A1、A0 (内部 4 个端口)。(4)VCC、GND。8255A的工作方式:8255A有三种工作方式,用户可以通过编程来设置。方式0简单输入/输出一一查询方式; A,B,C三个端口均可。方式1选通输入/输出中断方式;A , B,两个端口均可。方式2双向输入/输出中断方式。只有 A端口才有。 工作方式的选择可通过向控制端口写入控制

10、字来实现。3.2.5 AD0809的功能简介1.ADC0809是8位逐次逼近型 A/D转换器,它由一个八路模拟开关,一个地址译码器,一个 A/D转换器和一个三态输出所存器组成,多路开关可选 通8个模拟通道,允许 8路模拟量分时输入,共用 A/D转换器进行转换, 三态输出用于锁存 A/D转换完的数据,当 OE端为高电平时,才可以从三态输出锁存器取走转换完成的数据。2. AD0809的工作原理IN0-IN7 : 8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟 量变化太快,则需在输入端前加采样

11、保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将 A,B,C三条地址线的地址信号进行锁存,经译码后被选中 的通道模拟量通过转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条ST为转换启动信号。当 ST上跳沿时,所有内部寄存器清零;下跳沿时, 开始进行A/D转换;在跳转期间,ST应保持低电平,EOC为转换结束信 号,当EOC为高电平时,表明转换

12、结束;否则表明正在进行A/D转换,OE为输出允许信号,用于控制三条输出锁存器想单片机输出转换得到的 数据,0E=1,输出转换得到的数据 OE=0输出数据线呈高阻状态。D7-D0为数字量输出线 CLK为时钟输入信号线,因 ADC0809的内部没有时钟电 路,所需时钟信号必须由外界提供,通常频率为500KHZ。VREF(+),VREF(-)为参考电压输入。3.2.6 DAC0832芯片的功能简介DAC0832是采样频率为八位的 D/A转换芯片,集成电路内有两级输入寄 存器,使 DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便 适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。

13、所以这个 芯片的应用很广泛,DAC0832 D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放DAC0832 逻辑DAC0832 的引的反馈电阻可通过 RFB端引用片内固有电阻,也可外接。 输入满足TTL电平,可直接与 TTL电路或微机电路连接。 脚如图DuaHn-Linc andSmnlUOutlineC5 1 2Dvccwiii -219 llf- BVTfcl/BT T E:?| tGMO 3IflOh 417 XiFEfi叫一515 DQOil EISDlaOla (LSBb7141 UlfiVntr 8 13 DlT (MSR j

14、91?laull JGND 10 111Smit i图5DAC0832的引脚图3.2.7 74LS02芯片简介四2输入或非门(0C)其引脚如图 所示,功能表如图 所示InputsOutputhBYLLHLHLHLLHHLW-HlGb -处亡L帥0 L - Log s. Lw图6 74LS02的引脚图图7 74LS02的功能表3.2.8 LM324芯片功能简介LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单 电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电

15、源,因而消 除了在许多应用场合中采用外部偏置元件的必要性。它有5个引出脚,其中“ £ “”为两个信号输入端,“ V+” “V ”为正、负电源端,“ Vo为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+ ( +)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图。管脚连接图叵vcc IZ叵输出2叵输入1卫J输田3(俯视隆I )图8LM324引脚图3.3硬件电路设计系统原理图及其说明网1DR mQj IRQk图9系统总体框架在具体实践中,因硬件资源的限制有所调整,比如有些电路采用其他电路 来模拟,进

16、水部分有电位器来模拟,电机驱动用直流系统来模拟。3.4系统的电路图图10系统电路图第四章软件设计4.1程序流程软件可分为io个模块:主程序、键盘扫描子程序、参数设置子程序、 延时子程序、显示子程序、进水子程序、排水子程序、甩干子程序、停止子程 序、开机延时保护子程序。其中进水、洗衣、排水为一次洗衣的三个不同 状态、由相应的子程序来控制电机的运动和进水排水,流程图如图ii所示。4.2源程序及其说明CODE SEGMENTASSUME CS:CODEWASHTIME DW 20HWASHTYPE DW 08HONTIMEDW 00HTIMEDW 0ADPORTEQU 0010HORG 1000HI

17、OCONPTEQU 0FF2BHIOAPTEQU 0FF28HIOBPTEQU 0FF29HIOCPTEQU 0FF2AHORG10A0HMAIN PROC MOV AL,01H CALLCONVERS CALL DISPCALL KEYMOV DL,10MUL DLMOV WASHTIME,AXCALL KEYCBWADD WASHTIME,AX K1:MOV AL,02CALLCONVERSCALL DISPCMP AL,2JA K1CMP AL,1JB K1CMP AL,1JE RUOX1CMP AL,2JE QIANGXIRUOX:MOV WASHTYPE,08HJMP NEXTQIA

18、NGXI:MOV WASHTYPE,OFHNEXT:MOV AL,03CALL CONVERSCALL DISPCALL KEYMOV DL,10MUL DLMOV ONTIME,AXCALL KEYCBWADD ONTIME,AXMOV CX,ONTIMELOOP K2K2:CALL DELAYADD AX,W ASHTIMEADD AX,W ASHTIMEADD AX,W ASHTIMEMOV TIME,AXCALL STEP1 ;洗衣MOV CX,W ASHTIMELOOP WASHCALL STEP3CALL SHUAIGANCALL STEP1;漂洗MOV CX,W ASHTIMEL

19、OOP WASHCALL SETP3CALL SHUAIGANCALL STEP1;漂洗MOV CX,W ASHTIMELOOP WAHSCALL STEP3CALL SHUANGANCALL STOPJMP MAINMAIN ENDP;/WASH PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV DXQAPORTDACON1: MOV AL,0FFHOUT DX,ALMOV CX,W ASHTYPELOOP W1W1:CALL DELAYDACON2:MOV AL,80HOUT DX,ALMOV CX,8HLOOP W2W2:CALL DELAYDACON23:MOV

20、AL,00HOUT DX,ALMOV CX,W ASHTYPELOOP W3W3:CALL DELAYMOV AL,80HOUT DX,ALMOV CX,8HLOOP W4W4:CALL DELAYDEC TIMEMOV AX,TIMECALLCONVERSCALL DISPPOP DXPOP CXPOP BXPOP AXRETWASH ENDPI/SETP1 PROCPUSH AXPUSH BXPUSH CXPUSH DXADCONTROL:CALL FORMATADCON:MOV AX,00MOV DX,ADPORTMOV DX,ADPORTIN AL,DXPUSH AXCALLCONVE

21、RSCALL DISPPOP AXCMP AL,0EEHJAE LACALL JINSHUILA:MOV DX,IOCONPT; 水满,关水MOV AL,89HOUT DX,ALMOV DX,IOCPTIN AL,DXAND AL,0FEHPUSH AXMOV DX,ICONPTMOV AL,80HOUT DX,ALMOV DX,IOCPTPOP AXOUT DX,ALPOP DXPOP CX POP BX POP AX RETSTEP1 ENDPI/JINSHUI PROCPUSH AXPUSH BXPUSH CX PUSH DXMOV DX,IOCONPT MOV AL,89H OUT D

22、X,ALMOV DX,IOCPT IN AL,DX OR AL,01H PUSH AXMOV DXIOCPT MOV AL,80H OUT DX,ALMOV DX,IOCPT POP AXOUT DX,ALPOP DXPOP CXPOP BXPOP AX JMP ADCON JINSHUI ENDP;/CONVERS:PUSH AXPUSH BXPUSH CXPUSH DXMOV AH,ALAND AL,0FHMOV BX,077AHMOV DS:BX,ALPOP DXPOP CXPOP BXPOP AXRETDISP:PUSH AXPUSH BXPUSH CXPUSH DXMOV DX,07

23、7FHMOV AH,20HDISP0:MOV CX,00FFHMOV BX,DXMOV BL,DS:BXMOV BH,0HPUSH DXMOV DX,0FF22HMOV AL,CS:BX+1060HOUT DX,ALMOV DX,0FF21HMOV AL,AHOUT DX,ALDISP1:LOOP DISP1POP DXDEC DXSHR AH,01HJNZ DISP0MOV DX,0FF22HMOV AL,OFFHOUT DX,ALPOP DXPOP CXPOP BXPOP AXRETDATA1:DB0C0H,0F9H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83

24、H,0C6H,0AHDB 86H,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFHFORMAT:PUSH AXPUSH BXPUSH CXPUSH DXMOV BX,0MOV WORD PTR DS:BX+077AH,0000HADD BX,2MOV WORD PTR DS:BX+077AH,0009HADD BX,2MOV WORD PTR DS:BX+077AH,0008HPOP DXPOP CXPOP BXPOP AXRETI/STEP3 PROCPUSH AXPUSH BXPUSH CXPUSH DXADCON 仃ORL:CALL FORMATADCON1:MO

25、V AX,00MOV DX,ADPORTOUT DX,ALMOV CX,0500HDELAYSS: LOOP DELAYSSMOV DX,ADPORT IN AL,DX PUSH AXCALLCONVERSCALL DISP POP AXCMP AL,08H JBE LAA停止排水CALL PAISHUILAA:MOV DX,IOCONPT;MOV AL,89HOUT DX,IOCPT IN AL,DXAND AL,0FDH PUSH AXMOV DX,IOCONPTMOV AX,80HOUT DX,ALMOV DX,IOPT POP AXOUT DX,ALPOP DXPOP CXPOP BX

26、POP AXSETP3 ENDP ;/PAISHUI PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV DX,IOCONPTMOV AL,89HOUT DX,ALMOV DX,IOCPTIN AL,DXOR AL,02HPUSH AXMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOCPTPOP AXOUT DX,ALPOP DXPOP CXPOP BXPOP AXJMP ADCON1PAISHUI ENDP ;/ SHUAIGAN PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV DX,DAPORTMOV AL,0

27、FFHOUT DX,ALMOV CX,08HLOOP SHUAI SHUAI:CALL DELAYMOV DX,ALPOP DXPOP CXPOP BXPOP AXRETSHUAIGAN ENDPI/DELAY:POP DXPOP CXPOP BXPOP AXMOV CX,OFFFFFHDELAY1:LOOP DELAY1PUSH AXPUSH BXPUSH CXPUSH DXRET;/STOP PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV CX,0FFFFFHLOOP DEDE:CALL DELAYPOP DXPOP CXPOP BXPOP AXRETSTOP EN

28、DP;/KEY :PUSH AXPUSH BXPUSH CXPUSH DXMOV AL,0FFHMOV DX,0FF22HOUT DX,ALMOV BL,00HMOV AH,0FEHMOV CX,08HKEY1:MOV AL,AHMOV DX,0FF21HOUT DX,ALSHL AL,01HMOV AH,ALNOPNOPNOPNOPNOPMOV DX,0FF23HIN AL,DXNOT ALNOPNOPNOPAND AL,0FHJNZ KEY2INC BLLOOP KEY1JMP KEYKEY2:TEST AL,01HJE KEY3MOV AL,00HJMP KEY6KEY3:TEST AL

29、,02HJE KEY4MOV AL,08HJMP KEY6KEY4: KEY2:TEST AL,04HJE KEY5MOV AL,10HJMP KEY6KEY5: TEST AL,08HJE KEYMOV AL,18HKEY6:ADD AL,BLCMP AL,10HJNC FKEYMOV BL,ALMOV BH,0HMOV AL,NYTE PTR DS:BX+DATA2POP DXPOP CXPOP BXPOP AXFKEY :RETDATA2:DB 07H,04H,08H,05H,09H,06H,0AH,0BH DB 01H.00H,02H,0FH,03H,0EH,0CH,0DH CODE ENDSEND MAIN第五章系统调试与使用在软件编译连接后就开始对整个系统进行调试,包括软件和硬件部分,在 我们调试的过程中,遇到的最大困难是软件部分的调试,因为我们在写程 序的过程中,受到一些高级语言编程思想的影响,比如从上至下。逐步细 分的思想,在我们的程序中,系统被分成了好几个模块,每个模块都是有 各自不同的子程序来完成,所以在程序部分,我们每个都进行了现场保护,但是我们在调试过程中发现,这些程序并不是想我们写高级语言那样,可 以随意进行调用,比如我们在写程序中遇到的最大问题就是关于LOOP指令与CALL指令的混合使用,一般情况下,LOOP指令的调用格式如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论