




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学电工电子实验中心实 验 报 告课程名称: 数字逻辑电路设计实践 第6次实验实验名称:可编程数字系统设计全自动洗衣机控制器 院 (系): 吴健雄学院 专 业: 电类 姓 名: 王维亮 学 号: 61009319 实 验 室: 103 实验组别: / 同组人员: / 实验时间:2011年1月1日 评定成绩: 审阅教师: 1、 申请题目:全自动洗衣机控制器n 题目内容:一、 基础部分设计一个全自动洗衣机控制器,它具有三个阀门,分别是冷水阀门、热水阀门和排水阀门(实验中用3个LED代替),当控制输入为逻辑 1 时阀门打开。一个马达用于洗涤和脱水(实验中用3个LED代替),控制编码为2位二进制数,具体如下表所示。系统有6个数码管,高3位分别显示衣物量、洗衣水温和洗衣模式,低三位显示时间。1. 使用者按“F”按钮启动控制器。 2. 使用者选择待洗衣物的数量。通过按键输入1、2或 3 ,加上 E 选择“少”、“中”或“多”的衣物量,选择结果在最高位数码管显示。控制器将根据这个输入值,控制注入洗衣机内的水量,其中“少”为30秒水量,“中”为40秒水量,“多”为50秒水量。 3. 使用者选择洗衣水温。通过按键输入1、2或 3 ,加上 E 选择“冷”、“温”或“热”的洗衣温度,选择结果在次高位数码管显示。控制器将根据这个输入值通过控制冷水和热水阀,加入合适的冷水和热水,使水温达到所选的温度。其中“冷”为全部加冷水,“温”为一半时间加冷水,一半时间加热水;“热”为全部加热水。 4. 使用者选择洗衣模式,通过按键输入1、2或 3 ,加上 E 选择“轻柔”、“普通”或“重垢”,选择结果在第三高位显示。其中“轻柔”模式马达慢速旋转,洗衣时间为30秒,“普通”模式马达中速旋转,洗衣时间为40秒,“重垢”模式马达高速旋转,洗衣时间为50秒,所有模式中每隔5秒转换旋转方向。 5. 数据输入过程中如果输错,可以按“C”清除,系统回到AA等待状态 6. 所有数据输入完毕后,使用者按下 “F”键开始。此时低三位数码管显示完成整个洗衣过程所需的总时间,并开始倒计时,控制器将根据预置的模式在特定的时间将相应控制信号送到洗衣机的相应单元。其中洗衣结束后放水阀门打开,等待20秒后开始甩干,甩干用时20秒,当衣物完全洗好后,控制器控制LED闪烁3下进行提示。 二、提高部分(30%) 1. 用5个LED模拟显示水位,加水时每10秒点亮一个,放水的时候每4秒熄灭一个;(10%) 2. 用5个LED模拟马达,马达转动的时候4灭一亮,顺时针时从左到右循环,逆时针是从右向左循环,循环速度和转速相关;(10%) 3. 提供预设模式功能,可存储10种洗涤模式(衣物量、洗衣水温、洗衣模式预先设定好),设定过程如下:(10%) a) 在基本功能2中,按下“A”键,选择“自定义”模式,显示“0”,直接按下“E”键,表示选择“0”号预置洗涤模式,此时显示该模式的衣物量、洗衣水温和洗衣模式。也可用键盘输入“0”到“9”中的任何数字选择相应预置洗涤模式,按“E”确认。选择完成后按“F”按钮开始训练。 b) 在基本功能2中,按下“B”键,选择“自定义”模式,显示“0”,用键盘输入“0”到“9”中的任何数字选择要设置的预置洗涤模式,按下“E”键,显示该模式原来预置的衣物量、洗衣水温和洗衣模式,参考基本功能2,重设预置衣物量,按“E”确认,参考基本功能3,重设洗衣水温,按下“E”键确认,参考基本功能4,重设洗衣模式,再按下“B”键存储预设值,回到基本功能初始状态。2、状态机设计思路: n 功能、指标、规模1) 功能“两步走”首先,在仔细分析题目要求之后发现,从宏观上看整个过程可分为设置参数(包括洗衣服数量、洗衣水温、洗衣模式)和计数即洗衣过程。因此,这两个部分可分别设置一个状态机进行控制。而为了使两个大的过程之间过渡顺利,需要在设置参数的过程完成之后产生一个信号,控制计数过程的开始。2) 指标大的思路有了之后,再细细划分。首先,设置参数的状态可分为:等待;启动键盘;设置洗衣数量;确认(如果设置错了可返回前一个状态);设置洗衣温度;确认(设置错了可返回前一个状态);设置洗衣模式;确认;结束参数设置并进入计时过程。共8个状态,用4位二进制码表示为0000,0001,0010,0011,0100,0101,0110,0111,1000.注:在设置参数过程中如果出错,按C键表示重新设置当前参数,按D键表示回到等待状态,需要启动键盘后再重新从头设置。而题目中要求的是直接回到等待状态从头设置。但考虑到实际情况中,特别是需要设置的参数很多的时候,我们不可能中间输错后再从头设置,因此这算是自己的一个小小的改进,更加符合现实应用。进入计时过程后,可分为等待状态、注水(waterin)、洗衣(wash)、排水(waterout)、甩干(dry)5个状态,用二进制码表示为000,001,010,011,100。3) 规模ROM+161+138在设置参数时,由于下个状态与键盘按哪个键以及当前所处的状态都有关系,涉及到的情况比较冗杂。因此,设置参数过程的状态转换可以通过编写一块ROM来实现。由键盘8个输入加上上个状态的4位二进制码输出下个状态及对应键盘按下的键的BCD码(为了数码管的显示),即12输入8输出的ROM。而计数过程的状态比较简单,因为其状态的转换时固定死的,用一块161加一块138就可实现。n 面板(显示)、操作、规则1) 面板(显示)数码管:利用3个数码管显示所设置的洗衣数量、洗衣温度、洗衣模式,再利用2个数码管显示洗衣数量对应的注水时间倒计时;2个数码管显示洗衣模式对应的洗衣时间倒计时;2个数码管显示20秒排水时间倒计时;2个数码管显示甩干时间倒计时。这样共用11个数码管。LED灯:5个LED灯显示水量(注水时每加10秒亮一个灯,排水时每4秒灭一个);2个LED灯显示注入的是冷水还是热水;5个LED灯显示洗衣和甩干时马达的正传反转;1个LED灯显示洗衣结束时的闪烁。注:题目要求用6个数码管,是想要用2个数码管同时显示4个状态的倒计时。其实很容易实现,只要用计数状态作控制端的数据选择器就可以实现,之所以坚持没改,是因为考虑到实际生活中,倒计时应该分别显示,不同的位置显示不同状态的倒计时,这样看起来更清晰,更人性化,而且成本也增加不了多少。2) 操作及规则按F启动键盘,此时输入1,2,3中的一个数字选择洗衣数量,按E键确认,按C键重设,按D键则回到等待装态(如果按非E,C,D键,则没有反应,停留在当前状态);之后按照上述操作分别设置洗衣温度、洗衣模式;之后按F键开始自动倒计时。首先注水倒计时,每注10秒水位灯亮一个;注水完成后为洗衣,此时马达开始工作,此时指示灯每5秒改变流动方向,表示每5秒马达改变转动方向;之后是排水,每4秒水位灯灭一个;最后为甩干,此时马达按上述规则运转;最后3秒指示灯闪烁3下表示洗衣完成。n 输入、输出接口1) 设置参数阶段的状态机输入输出:由前面的分析知道,每个状态都是由键盘的输入和上个状态来决定的。因此,其输入为键盘的8位及上个状态的4位,共12位;输出为下个状态的4位及键盘输入的数字的BCD码4位,共8位。2) 计时阶段的状态机的输入输出: 此状态机的功能相对单调,即上一个状态结束后便进入下一个状态。因此输入为上个状态完成的信号,包括注水、洗衣、排水、甩干这4种计时完成时产生的信号;输出为下个状态开始的信号,为138的4个输出端(这4个输出控制是哪一个阶段的计时)。3、实现方案:n 核心问题1) 状态转换当然是首先要考虑的核心问题。而由上述分析,整个过程分为了设置参数和计时两个大的阶段。每个阶段内的状态转换在前面都做了详细的阐述。两个大阶段之间怎样衔接是一个值得考虑的核心问题。2) 另外,设置参数时选通不同存储器(161)进行存储也是一个值得考虑的问题。3) 倒计时的实现方法。n 解决方案1) 对于核心问题1),仔细观察发现,参数设置阶段的最后一个状态恰为1000,即恰好在最高位产生了一个1信号,我们完全可以通过这个1信号启动计时阶段的开始。(将其接到计时阶段状态机的161的clear端,当1信号到来时解除清零状态,开始倒计时)2) 对于核心问题2),可以这样设置:进入清零状态(0001)时,通过load端选通衣服数量存储器,同时对温度、模式存储器异步清零;进入数量确认状态(0011)时,通过load端选通温度存储器,同时对模式存储器异步清零;进入水温确认状态(0101)时,通过load端选通模式存储器。这样便实现了不同状态下选通不同存储器进行存储的问题。3) 对于核心问题3),在小型数字系统设计(交通灯控制器)中,我是通过烧制ROM将正计时对应到倒计时,后来一想,只要把161的输出端分别加一个非门就由正计时转到倒计时了。本实验就是采用后者实现,这样就避免了烧制ROM的麻烦。4、系统结构:n 系统框图n 模块功能描述1) Keyboard(键盘):对键盘进行行扫描,当有按键按下时,将按下的键存储,送入control。2) Control(控制):包含两个状态机,实现状态转换。设置参数时,在当前状态下按下某键时进入下一状态;计数时,根据一个阶段计时完成的反馈信号,控制进入下一计时阶段。3) Set(设置参数):是keyboard和control两部分的集成。能够由键盘输入完成参数的设定,并包含计时阶段的状态机。4) Waterin(注水):参数设定完成后开始倒计时(时间由设定的洗衣数量决定),计时完成后反馈给control状态机。另外,此模块还控制着表示水量的5个led灯亮灭(10秒钟亮一个)和表示加冷水热水的2个led灯。5) Wash(洗衣):根据洗衣模式的设定决定倒计时的时间,计时完成后反馈给control状态机。另外,此模块还控制着表示马达转向和转速的5个led灯。6) Waterout(排水):20秒的倒计时,并控制表示水量的5个led灯,4秒钟灭一个。7) dry(甩干):20秒的倒计时,并控制着表示马达转向和转速的5个led灯。8) ShowAmmount(水量显示):由于表示水量的5个led灯由waterin和waterout两个模块控制,因此单独拎出一个模块来控制水量显示的5个led灯。此模块受waterin和waterout两个模块控制。9) Work(计时):注水(waterin)、洗衣(wash)、排水(waterout)、甩干(dry)四个模块的集成。它受control控制,每完成一个阶段的倒计时,都产生一个信号反馈给control,并由control控制进入下一个阶段的倒计时。10) Integration(总电路):set和work两个模块的集成,是总模块。n 模块接口标注(参数、协议)电路图接口释义芯片接口面包箱接口CLK11HzTTL方波脉冲PIN_73P1CLK100100HzTTL方波脉冲PIN_72P2CLK10001000HzTTL方波脉冲PIN_71P3outcol0加到键盘上的扫描信号PIN_70P4outcol1PIN_69P5outcol2PIN_68P6outcol3PIN_67P7col0键盘4列的4个输入PIN_62P8col1PIN_61P9col2PIN_60P10col3PIN_59P11row0键盘4行的4个输入PIN_58P12row1PIN_57P13row2PIN_56P14row3PIN_55P15AmmountLED0洗衣量(接到数码管)PIN_54P16AmmountLED1PIN_53P17AmmountLED2PIN_52P18AmmountLED3PIN_51P19TempretureLED0温度(接到数码管)PIN_50P20TempretureLED1PIN_49P21TempretureLED2PIN_48P22TempretureLED3PIN_47P23ModelLED0洗衣模式(接到数码管)PIN_42P24ModelLED1PIN_41P25ModelLED2PIN_40P26ModelLED3PIN_39P27waterin_count0注水倒计时PIN_38P28waterin_count1PIN_37P29waterin_count2PIN_36P30waterin_count3PIN_35P31waterin_count4PIN_34P32waterin_count5PIN_33P33wash_count0洗衣倒计时PIN_32P34wash_count1PIN_31P35wash_count2PIN_5P36wash_count3PIN_4P37wash_count4PIN_3P38wash_count5PIN_2P39waterout_count0排水倒计时PIN_144P40waterout_count1PIN_143P41waterout_count2PIN_142P42waterout_count3PIN_141P43waterout_count4PIN_140P44waterout_count5PIN_139P45dry_count0甩干倒计时PIN_134P46dry_count1PIN_133P47dry_count2PIN_132P48dry_count3PIN_131P49dry_count4PIN_130P50dry_count5PIN_129P51hotwaterin冷热水指示灯PIN_126P54coldwaterinPIN_125P55showAmmount1水量指示灯PIN_124P56showAmmount2PIN_123P57showAmmount3PIN_122P58showAmmount4PIN_121P59showAmmount5PIN_120P60motordir1马达转向转速指示灯PIN_119P61motordir2PIN_114P62motordir3PIN_113P63motordir4PIN_76IO/GSR2motordir5PIN_127P53doneLED洗衣完成时的闪烁PIN_128P525、状态流程图:n 系统工作状态流程 清00001设置模式 0110设置水温 0100数量确认0011 设置数量 0010F键13键非F键C键初态0000F键非13键E键非E,C键非13键13键E键C键非E,C键E键C键13键洗衣计时 1000模式确认 0111非F键水温确认 0101非13键等待000注水001高位出现的1信号使得计时状态由000进入001,此时计时状态机开始起作用。洗衣010排水011甩干100甩干倒计时完成后产生的信号使所有计时清零,回到初始状态在参数设置状态机起作用时,其中任意一个状态下按D键都会回到初态(0000)6、各主要模块图与仿真波形n 各模块的仿真波形,详细注释输入输出功能端口,波形意义1) 键盘部分keyboard最上层为时钟,接下来的5组波形分别为扫描信号、输入col、输入row、输出col、输出row。红色线圈里面是人为设置的按下一个键的输入信号(col为1011,row为1101),可见,输出了蓝色线圈所示的按键信号(colout为1011,rowout为1101). 与预想功能相符。2) Control部分的波形仿真a) 参数设定状态机模拟在特定状态下按下特定键时,状态的转换如上图所示,前两行为1Hz和1000Hz的时钟信号。可见,在0000状态下当模拟按下F键时,状态过渡到0001状态,表示键盘启动;紧接着模拟按下2键,状态过渡到0010,BCD码(接到数码管)输出0010,表示设定了洗衣数量为2,此时会在洗衣数量对应的数码管显示2.红色线圈为状态转换的瞬间。与预想功能相符。b) 计数状态机模拟一个计数完成后进入下一个计时阶段。4321如图当参数设定状态机进入1000状态时,意味着开始计时,waterin变为1,即开始注水,如红方框1所示;当注水完成,waterinOK产生一个脉冲,使得状态转入洗衣阶段,即wash变为1,如红方框2所示;当洗衣完成,washOK产生一个脉冲,使得状态转入排水阶段,即waterout变为1,如红方框3所示;当排水完成,wateroutOK产生一个脉冲,使得状态转入甩干阶段,即dry变为1,如红方框4所示;当注水完成,dryOK产生一个脉冲,使得状态转入初始状态,洗衣结束。与预想功能相符。3) Wash模块模拟洗衣倒计时及此时马达转向。第一行为时钟,第二行为wash,它为1时马达转动,进入洗衣阶段,为0时马达停止转动。High和low分别表示倒计时的十位和个位数。Motordir为表示马达转向和转速的5个led灯,从图中看出,每5秒钟,马达就会变换方向。当倒计时到0时,washOK产生一个单脉冲,反馈给控制端,转入下一个状态排水的倒计时。与预想功能相符。对于waterin(注水)、waterout(排水)、dry(甩干)这三个模块与wash模块大同小异,经过模拟,都与预想功能相符。这里就没有必要每一个都进行分析了,详见工程中的波形文件。4) ShowAmmount模块模拟水量led灯的亮灭第一行为注水时每10秒产生的信号,第二行为排水时每4秒产生的信号。下面5行分别代表5个led灯的亮灭(1表示亮,0表示灭),可见,注水时,每过10秒,会顺次有一个led亮;直到5个led都亮;而排水时,每过4秒,都会顺次有一个led灯灭,直到5个led灯都灭。与预想功能相符。5) Integration模块整体电路模拟由于整个过程是一个漫长的过程,无法整体显示,下面截取的波形的几个重要部分(按照洗衣数量为2,温度为2,模式为3进行模拟):a) 开始注水,如红线圈所示,waterin_high和waterin_low表示注水倒计时的高位和低位。b) 由于设定温度为2,即一半冷水一半热水,所以在前20秒注冷水,后20秒注热水,其转换瞬间如下图所示,hotwater表示注热水,coldwater表示注冷水:c) 注水结束开始洗衣以及洗衣结束开始排水的瞬间,wash_high和wash_low分别表示洗衣倒计时的高位和低位;waterout_high和waterout_low分别表示排水倒计时的高位和低位;dry_high和dry_low分别表示甩干倒计时的高位和低位。d) 洗衣结束后led灯闪烁三下,doneLED即表示该led灯,如红线圈所示:7、设计总结n 预期的目标与当前实现功能的差异提高部分3的预设功能没有实现。n 调试过程中出现的问题分析及其解决措施问题:注水倒计时完成后无法转入洗衣倒计时。解决措施:仔细分析,最终找到了原因:计数初态为000,本来使用设置参数状态的高位以及倒计时部分注水完成、洗衣完成、排水完成、甩干完成产生的信号的或作为计时状态机的触发信号。而设置参数完成后,高位产生的1信号触发计时状态机,进入001状态,即开始注水。而此时设置状态机的高位一直保持为1,因此注水完成后产生的单脉冲便不起作用了(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林芝市中石化2025秋招笔试模拟题含答案炼化装置操作岗
- 2025年法院辅警招聘真题及答案
- 中国联通哈密市2025秋招市场与服务类专业追问清单及参考回答
- 西安市中石油2025秋招面试半结构化模拟题及答案市场营销与国际贸易岗
- 东莞市中石油2025秋招面试半结构化模拟题及答案油品分析质检岗
- 中国移动岳阳市2025秋招笔试行测题库及答案供应链采购类
- 丹东市中石化2025秋招面试半结构化模拟题及答案新材料与新能源岗
- 白城市中石化2025秋招笔试模拟题含答案油田工程技术岗
- 漯河市中石油2025秋招网申填写模板含开放题范文
- 2025年船厂挂钩考试题及答案
- 建设工程各方安全管理制度清单及法规依据
- 医疗设备备品备件保障方案
- 小红书种草营销师(初级)认证考试真题试题库(含答案)
- 人教版数学四年级上册-第五单元《平行四边形和梯形》练习题(含答案)
- 零工市场(驿站)运营管理 投标方案(技术方案)
- 新《全面质量管理(习题集)》考试题库(含答案)
- 农村建房的邻居协议书模板
- 水杨酸软膏剂的制备
- 《铁皮石斛的介绍》课件
- JCT478.2-2013 建筑石灰试验方法 第2部分 化学分析方法
- 大数据、智慧城市与智慧交通(上)
评论
0/150
提交评论