ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:343.60KB ,
资源ID:6614255      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6614255.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全自动洗衣机设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全自动洗衣机设计报告.docx

1、全自动洗衣机设计报告研究生课程设计报告课程名称:单片机课程设计设计题目:全自动洗衣机学院:专业:班级:学号:学生姓名:指导教师:2009年 6 月摘要一、 方案论证 21.洗衣机模块选型 42.洗衣机模块方案选择 4二、 详细硬件电路设计 61.开关电路设计 62.显示模块硬件图设计 73.功能指示灯硬件电路设计 84.驱动模块硬件部分设计 8三、 系统软件设计 91.主程序流程 92.强洗程序流程 103.弱洗程序流程 104.漂洗程序流程 115.甩干程序流程 126.暂停中断程序流程 137.工作子程序流程 148.进水子程序流程 14四、 理论分析与计算 141.MCS-51单片机的引

2、脚 152.复位电路与时钟电路 153相关计算 16五、 测试与分析 171 计数器显示测试与分析 172 .发动机转动测试与分析 173.中断测试与分析 18六、 结论 19七、 电路和程序 19八、 附录 281硬件清单 282程序清单 293.参考文献 29摘要作为一个研究生,不仅需要有过硬的理论知识,还应该有动手实践的能力,并且是将 理论结合实际, 提升到应用层面。 以后走上社会, 还是会有很多新的知识是需要我们学习的, 届时需要我们有比较强的自学能力。 此次 单片机课程设计 对理论结合实际的动手能力和 自学能力有很强的体现。本设计用来模拟工作过程的两套软件是 Proteus和Keil

3、。我们用到的是 AT89C51,属于单片机的 51 系列,有如下基本结构:1 、一个 8 位算术逻辑单元。2、 32 个 I/O ( 4 组 8 位端口),可单独寻址。3,两个 1 6位定时计数器。4、 全双工串行通信。5、 6 个中断源,两个中断优先级。6、 128字节内置RAM虫立的64K字节可寻址地址和代码区。这次课程设计以组为单位,用了一个月的时间。主要有:方案论证,详细硬件电路设 计,系统软件设计, 理论分析与计算, 测试,结论六大部分组成。 具体的时间安排是这样的。 首先是需求分析, 得出了全自动洗衣机要完成什么样的功能, 考验了同学们社会调查, 综合 分析的能力。洗衣机功能主要有

4、强洗、弱洗、漂洗、甩干。接下来是怎么样用我们的知识去 实现洗衣机的功能,设计完成功能的方案,并且考察方案的可行性,这步只是计算、分析, 体现大学生的过硬的理论知识、 总结能力。 为了方便编程序, 我们把洗衣机的全部功能分了 几个模块分别完成,主要分为处理模块、按键模块、显示模块、工作模块和时钟电路模块。 有了方案, 接下去就是具体的实施阶段了,包括了详细硬件电路设计, 系统软件设计, 理论分析与计算,测试,得出结论等步骤。硬件电路设计主要就是用 PROTEU这个绘电路图的软 件,我们组是用 C语言编写的程序,编好后,用另外个 KEIL软件进行生成代码,在进行程序的调试,直到一切都运行正常就 O

5、K 了。但是,各个部分也都是有联系的,搞需求分析的应该懂电路, 搞电路的应该知道程序, 搞程序的也不能脱离电路, 总之, 这部分是一个整体, 要求每一个人都必须做到至少了解整个的工作过程。一 方案论证需求分析:经过相互讨论,我们所做的洗衣机具备如下功能:a: 复位功能此键实现的是当洗衣机正常工作时,由于用户的需要,因而就需要将已经在运行的功能中断,再次重新运行所有的功能。它是由 RST管脚来控制的。b: 强洗 /洗功能是主要根据用户对衣服的洗衣强度的不同要求而选择所需功能来 实现用户的需要。c: 甩干 /漂洗功能d: 本洗衣机还有通过用户的需求来调整弱洗、强洗、漂洗、甩干的功能的工作时间的 长

6、短功能。e: 显示功能,即以上四个功能可以通过相应的功能指示灯来确定其工作状态。1, 洗衣机模块选型1)处理模块2)按键模块3)显示模块4)工作模块5)时钟电路模块2, 洗衣机模块方案选择(1)处理模块:处理器选择 AT89C51 系列芯片 8051。 8051 单片机是 HMOS 工艺制造,外 形为 40 条引脚,它能够运行各种程序,8051 系列的基本结构如下:1、 一个 8 位算术逻辑单元2、 32个 I/O 口 4 组 8位端口可单独寻3、 两个 6 位定时计数器4、 全双工串行通信5、 6 个中断源 两个中断优先级6、 128 字节内置 RAM7、 独立的 4K 字节可寻址数据和代码

7、区 因为受芯片引脚数量的限制,有很多引脚具有双功能。1、主电源引脚Vcc :芯片工作电源端,接+ 5V。Vss:电源接地端。2、时钟振荡电路引脚1-5。XTAL1 :内部晶体振荡电路的反相器输入端。接法如图图1-5 8051的外接石英晶体的时钟电路3、控制信号引脚RST RST为复位信号输入端。外部接复位电路。ALE ALE为地址锁存允许信号。 在不访问外部存储器时, ALE以时钟振荡频率的1/6的固定频率输出,用示波器观察ALE引脚上的脉冲信号是判断单片机芯片是否正常 工作的一种简便方法。PSEN 外部程序存储器ROM的读选通信号。到外部 ROM取指令时,PSEN自动向外发送负脉冲信号。EA

8、 为访问程序存储器的控制信号4、 中断系统基本的8051支持6个中断源,两个外部中断 ,两个定时/计数器中断, 一个串行口输入/输出中断。中断发生后, 处理器转到将五个中断入口处之一执行中断处理程序 。中断向量位于代码段的最低地址处。 串行口输入 输出中断共用一个中断向量 中断服务程序必 须在中断入口处或通过跳转,分支转移到别处 805 1/8052的中断向量表 。5、 并行I/O端口引脚卩0口( P0.0 P0.7);卩1口( P1.0 P1.7);卩2口( P2.0 P2.7); P3 口( P3.0 P3.7)。6、 复位电路单片机的RST引脚是复位信号输入端, RST引脚上保持两个机器

9、周期(24个时钟周期)以上的高电平时,可使单片机内部可靠复位。(2) 按键模块为了方便步线和简化程序,本模块米用独立式键盘,按键米用触发式按键, 该模块实现9个功能,分别为:复位,弱洗,强洗,漂洗,甩干,改时间,加 一秒,加十秒,暂停。复位主要是采用上电复位电路。(3) 显示模块该模块主要完成当前正在进行的洗衣过程操作和时间状态的显示,操作的显 示主要有:强洗,弱洗,漂洗,甩干,进水,排水,工作,暂停。其中用到了 74LS138 译码器,以节约8051的I/O 口。指示灯用发光二极管LED-YELLOW。时间状态显 示主要用1个共阴的7SEG-MPX2-CA。辅助元件:反向器(4) 工作模块该

10、模块由2个电磁开关JWD-171-25和一个电动机MOTOR组成。电磁开关的优点的是用低电位去控制高电位,这是因为 8051用的是+5V 而MOTOR用的是220V的工作电压,电动机主要完成正转与反转功能。(5)时钟电路模块时钟电路用于产生时钟信号, 时钟信号是单片机内部各种微操作的时间基准, 在此基础上,控制器按照指令的功能产生一系列在时间上有一定次序的信号,控制相关的逻辑电 路工作,实现指令的功能。电容容量范围为30PF10PF,石英晶体频率的范围为 1. 212MHZ,常用6MHZ或12MHz。详细硬件电路设计开关电路O * C a .1 L jg .=-o - O -I 卜斗-Q ”

11、QI甩干O - O开关电路是由七个单键构成,其工作原理如下:1.由于AT89C51的1 8管脚是高电平,我们以低电平输入所以单键左端接地。2.右端通过一个1K欧的保护电阻接入高电平3.当电键未按下时1 8管脚保持高电平没有输入,当按下上图任意按键时对应线路短结 于地从而产生低电平输入。4.12号管脚所接单键是直接接地的(上图未有)其工作原理是低电平有效,当按下键时输 入低电平5其中用到的元件有 10WATT1K电阻和BUTTION 各7个。显示模块硬件图2122O/ADO1/AD1 2/ADZ .3/ACG q/AD4 /AD5 JB/AC6 7/AD72 .awe N心绘1. 两位七段数码显

12、示管由 ABCDEFG数字选择部分管脚和小数点 DP管脚以及片选管脚1, 2组成。2. ABCEFG,DP管脚是低电平有效,接 AT89C51的3239管脚,片选是高电平有效所 以通过两反向器接 21, 22管脚3.32 39与显示管数字选择部分的接入中间加电阻保护元件4. 其中用到的元件有 7SEG-MEPX2-CA双位数码管一个,74LS04反向器两个功能指示灯硬件部分1. 功能指示显示工作状态,由 AT89C51的2528号端口以及74LS138译码器的11 14 号端口输出。2.以上所述端口的输出都是低电平有效,所以灯左端接电源,右端接管脚。3.灯和电源之间有电阻保护元件4. 其中用到

13、的元件有 74LS138译码器一个,LED YELLOW 灯8个驱动模块硬件部分口iM.1口 1冋02P35 J IBp 口pijijTTfFl.*F3.*H0p 1FT T1FIJIFMB iP1JF3.7JTOvUu3. 当AT89C51的10, 11号管脚有效时双刀开关 1闭合,电动机接正向电源正转 当AT89C51的16,17号管脚有效时电磁开关 2闭合,电动机接反向电源反转。4. 用到的元件有,JWD-171-25电磁继电器两个,5V的MOTOR两个。系统软件设计主程序流程图开始a检测按髓d V +调用弱洗函馥丿调用强洗函数*调用甩干函馥,阔用漂洗函馥“强洗流程图aI漂洗流程图卩憾干

14、子程序流程图暂停中断流程图工作子程序流程图进水子程产济程图4四、理论分析与计算1.8051系列的基本结构如下1一个8位算术逻辑单元232个I/O 口 4组8位端口可单独寻址3两个16位定时计数器4全双工串行通信56个中断源两个中断优先级6128字节内置RAM7独立的64K字节可寻址数据和代码区(一) MCS-51单片机的引脚8051单片机是HMOS工艺制造,外形为 40条引脚。因为受芯片引脚数量的限制,有很多 引脚具有双功能。1、 主电源引脚VCC :芯片工作电源端,接+ 5V。Vss:电源接地端。2、 时钟振荡电路引脚XTAL1 :内部晶体振荡电路的反相器输入端。XTAL2 :内部晶体振荡电

15、路的反相器输出端。3、 控制信号引脚RST -RST为复位信号输入端。外部接复位电路。ALE-ALE为地址锁存允许信号。 在不访问外部存储器时,ALE以时钟振荡频率的1 /6的固定频率输出,用示波器观察 ALE引脚上的脉冲信号是判断单片机芯片是否正常工作的一种简便方法。PSEN -外部程序存储器 ROM的读选通信号。到外部 ROM取指令时,自动向外发送负 脉冲信号。EA -为访问程序存储器的控制信号。4、并行I/O端口引脚P0 口 (P0.0 P0.7); P1 口( P1.0 P1.7); P2 口 (P2.0 P2.7) ; P3 口 (P3.0 P3.7 )。 (二)复位电路与时钟电路1

16、 复位电路(1)复位电路单片机的RST引脚是复位信号输入端, RST引脚上保持两个机器周期(24个时钟周期)以上的高电平时,可使单片机内部可靠复位。(2)复位状态复位后,单片机内部的各寄存器的内容将被初始化, 包括程序计数器 PC和特殊功能寄存器,其中(PC) =0000H。复位不影响片内 RAM和片外 RAM中的内容。2.时钟电路时钟电路用于产生时钟信号,时钟信号是单片机内部各种微操作的时间基准,在此基础上, 控制器按照指令的功能产生一系列在时间上有一定次序的信号,控制相关的逻辑电路工作, 实现指令的功能。电容容量范围为 30PF土 10PF,石英晶体频率的范围为 1 .212MHZ,常用6

17、MHZ或12MHz。3.时序单位(1) 时钟周期(是时钟信号频率 fosc的倒数)时钟周期=1 / fosc(2)机器周期:机器周期=12 X时钟周期( 3)指令周期 一条指令从被读取到被执行的整个过程所需的时间称为指令周期4 外部中断IP 寄存器可位寻址- - PT2 PS PT1 PX1 PT0 PX0- 保留- 保留PT2 定时器 2 中断优先级PS 串行通信中断优先级PT1 定时器 1 中断优先级 PX1 外部中断 1 优先级 PT0 定时器 0 中断优先级PX0 外部中断 0 优先级5 中断使能寄存器通过设置中断使能寄存器 IE 的 EA 位使能所有中断每个中断源都有单独的使能位 可

18、通过软件设置 IE 中相应的使能位在任何时候使能或禁能中断,中断使能寄存器 IE 的各 位如下所示中断使能寄存器 IE 可位寻址EA - ET2 ES ET1 EX1 ET0 EX0EA 使能标志位置位则所有中断使能复位则禁止所有中断- 保留ET2 定时器 2 中断使能ES 串行通信中断使能ET1 定时器 1 中断使能 EX1 外部中断 1 使能 ET0 定时器 0 中断使能EX0 外部中断 0 使能6 内置定时 / 计数器 定时器控制寄存器 TCON 可位寻址TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 定时器 1 溢出中断标志响应中断后由处理器清零TR1 定时器 1

19、 控制位置位时定时器 1 工作复位时定时器 1 停止工作TF0 定时器 0 溢出标志位定时器 0 溢出时置位处理器响应中断后清除该位TR0 定时器 0 控制位置位时定时器 0 工作复位时定时器 0 停止工作IE1 外部中断 1触发标志位当检测到 P3.3 有从高到低的跳变电平时置位处 理器响应中断后由硬件清除该位IT1 中断 1 触发方式控制位置位时为跳变触发复位时为低电平触发IE0 外部中断 1触发标志位当检测到 P3.3 有从高到低的跳变电平时置位处 理器响应中断后由硬件清除该位IT0 中断 0 触发方式控制位置位时为跳变触发复位时为低电平触发 2相关 计算 :1 定时时间公式:13t0=

20、(213-x0)Tm=(213-x 0) 1/f osc 12式中xo为计数初值,Tm为机器周期,fosc为晶振频率。2. 初值计算:初值xo=最大计数值-(定时时间t/机器周期Tm)五、测试与分析1计数器显示测试与分析部分原程序如下:void display(void)int i,j;i=amount/10;j=amount%10; p20=0;p21=1;P0=dis_7i;p21=1;p20=1;p20=1;p21=0;P0=dis_7j;p21=1;p20=1; 计数器的十位和个位出现闪烁不定, 根本看不清时间是怎么变化的。 经过调用延时程序来实 现计数器功能。调整后程序如下:void

21、 display(void)int i,j;i=amount/10;j=amount%10;p20=0;p21=1;P0=dis_7i;delay1ms(1);p21=1;p20=1;delay1ms(1);p20=1;p21=0;P0=dis_ 7j;delay1ms(1);p21=1;p20=1;delay1ms(1);分析: 当调用上面延时程序时, 计数器的个位和十位闪烁时间在人眼看来视差变化不大, 能看清计数器显示的时间。2发动机转动测试与分析当要知道发动机是否工作时, 控制电磁开关的 P36, P37, P30, P31 当( P36=0, P37=1|P30=0,P31=1 )时,

22、发动机就可以转动,同时工作灯亮,具体引用弱洗程序实例如下:p25=1;p36=1;p37=0;p33=0;p34=1;p35=0;p27=0;/worksum=0;time=15; time=time+15;log=2;while(sumtime-15)if(flag)sum+;flag=0;scan();amount=time-sum;display();分析:当(P36=0, P37=1|P30=0, P31=1),电磁铁把开关吸过来,再接通电源,发动机就能 工作。3中断测试与分析中断又分为外部中断和内部中断,外部中断为 INT0 和 INT1 。当发生外部中断时,同时暂停 灯亮,具体程序

23、实例如下:void stop(void)interrupt 0 using 2EA=0; if(p32=0)delay1ms(5);while(p32=0);p24=0;if(log=2|log=3)p36=1;p37=1;p31=1;p30=1;while(p32=1)d=amount/10;k=amount%10; p20=0;p21=1;P0=dis_7d;delay1ms(1);p21=1;p20=1;delay1ms(1);p20=1;p21=0;P0=dis_ 7k;delay1ms(1);p21=1;p20=1;delay1ms(1);while(p32=0); if(log=2

24、)p36=1;p37=0;p24=1;if(log=3)p31=1;p30=0;p24=1; p24=1;EA=1;分析:当发生外部中断时,由于外部中断 INT0 的优先级最高,所有程序都停下,处于暂停 状态,同时暂停灯亮。六、结论通过这次单片机课程设计,我们组合理的分工,每位组员根据自己的分工,尽心尽责, 每位组员都出色的完成了任务, 最终完成了全部预计任务: 结合了各种芯片与管脚, 实现了 自动洗衣机的基本功能。程序使用 c 语言,成功的完成了程序编写功能。总的说来,有四大 亮点和四大遗憾。四大亮点包括: 1.完整的硬件电路:我们的电路使用了各种可能的芯片,使自动洗衣机 的功能完善。 2.

25、同步的时间显示:我们各状态的时间都可以通过 8051 的控制程序在 2 位 led显示器上用倒数的显示; 3.可编程的时间模块:我们的时间模块可通过编程键改变各状态的 时间,实现了智能化。 4.可完全回复断点的暂停功能。四大遗憾: 1.没有使用矩阵键盘,由于时间的关系,键盘只使用了独立键盘,浪费过多输 出口; 2.没有实现喇叭的蜂鸣:由于程序过大,取消了由定时中断实现的蜂鸣功能; 3.更改时间时显示器没有实现闪烁:原本采用 T1 中断实现的闪烁功能,无法编程实现。 4 时间能 改变,但只能增加,无法减少:减的算法要复杂的多。总的来说,我们得到许多启迪:刚开始学一样东西,总是没有头绪,感觉找不到

26、方法,不 知道做什么好。这时要做的就是坚辞,坚辞,再坚辞。坚辞学习,多方查找资料,多思考, 在经过这样的一段时间后,就会有茅塞顿开的感觉。在设计电路的时候,要尽量一开始就把所有变数考虑到,不然会直接影响到后期的编程。 我们刚开始设计时,没有考虑到有一些灯应该同时亮的,把所有的发光二极管全连在一个 74ls138 译码器上,结果到编程阶段又重新改电路,很是麻烦。电路的设计要在对 8051cpu 很熟悉的基础上,比如, 8051 的一些用于中断的引脚要实现一些特殊功能的,必须单独设 计。另外,电路设计要尽量简化,让人觉得耳目一新。编程阶段,是我们感觉最复杂的阶段。 很多功能明明觉得设计的很好,算法

27、正确,可就是 无法实现。 结果走了很多弯路。 这一阶段,我觉得应该先多读别人的优秀程序,多想别人的 设计思路。思路还是最关键的。有了思路,再结合自己的程序,就容易实现。编程让我们对 8051 单片机有了更多的了解,也懂得了很多算法。我们在这一阶段成长了很多。最后的实验报告书写阶段,我们完成了 ppt 的制作等工作。 这次单片机设计,我们学到的不仅是 8051 的功能,电路,程序,还掌握了学习的方法, 懂得面对一个项目时,如何独立的完成。我们有了一定的研究能力,能有方向的获取信息。 懂得了与同学合作的重要性, 如何发挥每一个人的能动力, 明白了一个优秀的团队胜过任何 一个人。这次课程设计, 是我

28、们人生的宝贵财富, 将在我们今后的学习道路中,起到很重要 的作用。七、电路和程序#in cludeint coun t=1;bit flag=O;in t log=0;int help=0;char code dis_710=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;sbit p20=P2A0;sbit p21= P2A1;sbit p33=P3A3;sbit p34=P3A4;sbit p35=P3A5;sbit p36=P3A6;sbit p37=P3A7;sbit p3仁卩3人1;sbit p25=P2A5;sbit p26=P2

29、A6;sbit p27=P2A7;sbit p14=P1A4;sbit p15=P1A5;sbit p17=P1A7;sbit p10=P1A0;sbit pl 仁 P1A1;sbit p12=P1A2;sbit p32=P3A2;sbit p24=P2A4;int sum=0;int count;sbit p30=P3A0;int amount;int time=15;int h=0;int d=0;int k=0;sbit p13=P1A3;void delay(void)interrupt 1 using 1 TL0=0xAF;TH0=0x3C; count+;if(count=10)count=0; flag=1;void delay1ms(int t)int i,j;for(i=0;it;i+) for(j=0;j99)time=1;sum=0;if(p15=0&h=1)delay1ms(10);while(p15=0);time=time+10;if

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

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