版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河北工业大学计算机硬件技术基础(Mcs-51)综合性、开放性实验考试设计报告 河北工业大学计算机硬件技术基础综合性、开放性实验考试设计报告一、 题目全自动洗衣机(19)二、问题的提出学校的刷卡式全自动洗衣机给同学们的生活带来了很大便利,现利用MCS51单片机,通过延时、定时、中断等操作实现全自动洗衣机工作过程的模拟控制和液晶显示。三、总体设计1、分析问题的功能分析全自动洗衣机的工作过程:接通电源后,打开洗衣机盖子放入衣物和洗衣粉,盖上盖子。启动注水,利用外部中断0模拟注水达标志位,停止注水并开始洗衣。洗衣过程为:正转10秒(利用延时实现),间歇4秒,然后反转10秒,间歇4秒,再正转10秒(这里
2、认为已洗静),接下来间歇5秒,然后开始排水,排水时间为5秒,同样利用延时模拟排水达标志位,排水结束,如此循环往复3次(注水洗涤排水 过程),认为洗衣过程结束。然后开始脱水(利用定时器T0计时加软件计数定时5秒)操作,定时时间到,打开洗衣机盖子取出衣物,洗衣任务完成。试验中用各指示灯的亮灭来表示洗衣过各环节的相应状态。2、系统总体结构设计硬件设计:根据问题确定单片机、I/O接口、定时器、I/O设备、中断等; P1口,定时器T/C0,外部中断INTO,蜂鸣器BUZZ软件设计:按问题功能分模块,简述各模块功能。流程简图如下:开始注水开电源,关排水阀,开脱水结束指示灯开始 外部中断 注水达标 判R1=
3、0?排水5秒间歇5秒正转10秒间歇4秒反转10秒间歇4秒正转10秒 R10 R1=0 BUZZ响 提醒洗衣结束 下一步进行脱水 脱水5秒 定时脱水时间到 洗衣结束 四、详细设计:1、硬件详细设计:画出电路图; 进行硬件资源分配(包括I/O口地址、所用各存储单元的用途)。P1口:用来连接各指示灯,通过亮灭来表示洗衣过程中各环节的相应状态P3.2口:用导线将A2区的INT0与K1相连P3.1口:与B5蜂鸣器BUZZ连接,用于蜂鸣器的触发R1:洗衣过程中剩余洗衣次数2、软件详细设计:按各功能模块进行程序设计,并说明各功能模块的实现方法。1)子程序名INT0X 注水达标占用资源:F0,P1.1INT0
4、X:CLR F0 SETB P1.1 ;注水结束 RETI2) 程序名ZZ 正转10秒占用资源:40H,P1.3ZZ:CLR P1.3 ;开始正转 MOV 40H,#0AH ;延时十秒 Z1:LCALL DELAY DJNZ 40H,Z1 SETB P1.33) 程序名ZJ 正转间歇4秒占用资源:41H,P1.2CLR P1.2 ;间歇灯亮,表示正转间歇 MOV 41H,#04H ;间歇四秒 ZJ:LCALL DELAY DJNZ 41H,ZJ SETB P1.24) 程序名F 反转10秒占用资源:42H,P1.4CLR P1.4 ;开始反转 MOV 42H,#0AH F:LCALL DELA
5、Y DJNZ 42H,F SETB P1.45) 程序名FJ 反转间歇4秒占用资源:43H,P1.2CLR P1.2 ;间歇灯亮,表示反转间歇 MOV 43H,#04H FJ:LCALL DELAY DJNZ 43H,FJ SETB P1.26) 程序名Z2 正转10秒占用资源:44H,P1.3CLR P1.3 ;正转10秒 MOV 44H,#0AH Z2: LCALL DELAY DJNZ 44H,Z2 SETB P1.3 7)程序名SD 间歇5秒 占用资源:45H,P1.2CLR P1.2 ;间歇灯亮,间歇5秒 MOV 45H,#05H SD:LCALL DELAY DJNZ 45H,SD
6、 SETB P1.28)程序名WS 排水5秒 占用资源:46H,P1.6SETB P1.6 ;排水阀灯灭,开始排水 MOV 46H,#05H ;排水5秒 WS:LCALL DELAY DJNZ 46H,WS ;排水等待 CLR P1.6 ;排水结束,关闭排水阀9)子程序名:DELAY 延时1s占用资源:R5,R6,R7DELAY:MOV R5,#92 ;延时子程序 DELY:MOV R7,#35 DEL1:MOV R6,#141 DEL2:DJNZ R6,DEL2 NOP DJNZ R7,DEL1 NOP NOP NOP NOP DJNZ R5,DELY RET软件延时1s计算:T=1+1+(
7、1+2141+1+2)35+4+2921211.059210(-6) =0.99996s10)子程序名:蜂鸣器子程序LOOP占用资源:30H,R6,P3.1,P1.0 LOOP:MOV 30H,#50H LOOP1:MOV R6,#50 DJNZ R6,$ CPL P3.1 ;蜂鸣器 DJNZ 30H,LOOP1 SETB P1.0 AJMP TS11)子程序名:定时脱水子程序TOS0 占用资源:T/C0,R2,P1.5,P1.6,P1.0TOS0:MOV TH0,#4CH MOV TL0,#00H INC R2 CJNE R2,#100,NEXT ;脱水5秒 MOV R2,#00H CLR
8、TR0 ;停止T/C0计时 CLR P1.5 ;脱水结束 CLR P1.6 ;排水阀灯亮,排水阀关闭 CLR P1.0 ;洗衣结束,开盖3、设计中的主要困难及解决方案在这部分论述设计中遇到的主要困难及解决方案。1 利用中断0表示注水达标,运行时一直没有响应;通过检查所编程序,发现中断0操作前没有对CPU开中断。(当CPU复位时,EA为“0”,即关中断,所以必须要用指令控制开中断。)2 想加入LED八段显示洗衣过程中的倒计时,经多次试验,都没有能够成功调试出来,有待进一步的研究。最后通过相应的LED灯(亮一秒,暗一秒)来表示当前工作状态。三、程序清单列出.ASM文件清单。 ORG 8000H L
9、JMP MAIN ; 跳转到MAIN ORG 8003H LJMP INT0X ;跳转到外部中断0程序 ORG 800BH LJMP TOS0 ;跳转到定时器0中断程序 MAIN:SETB EA ;允许cpu中断 SETB EX0 ;允许外部中断0中断 SETB IT0 ;设置外部中断0为边沿触发 SETB ET0 ;允许T/C0中断 SETB PX0 ;设置外部中断0为高优先级 MOV TMOD,#01H ;设置T/C0为方式1,定时 MOV TH0,#4CH ;送定时初值 MOV TL0,#00H MOV R2,#00H MOV R1,#03H ;重复3次 CLR P1.7 ;电源指示灯亮
10、 CLR P1.6 ;排水灯亮,排水阀关闭 CLR P1.5 ;脱水灯亮,脱水关闭 MOV SP,#5FH ;设置堆栈指针 ZS:CLR P1.1 ;注水灯亮,开始注水 SETB PSW.5 ZD:JNB F0,ZZ ;等待注水达标 SJMP ZD ZZ:CLR P1.3 ;开始正转 MOV 40H,#0AH ;延时十秒 Z1:LCALL DELAY DJNZ 40H,Z1 SETB P1.3 CLR P1.2 ;间歇灯亮,表示正转间歇 MOV 41H,#04H ;间歇四秒 ZJ:LCALL DELAY DJNZ 41H,ZJ SETB P1.2 CLR P1.4 ;开始反转 MOV 42H,
11、#0AH F:LCALL DELAY DJNZ 42H,F SETB P1.4 CLR P1.2 ;间歇灯亮,表示反转间歇 MOV 43H,#04H FJ:LCALL DELAY DJNZ 43H,FJ SETB P1.2 CLR P1.3 ;正转10秒 MOV 44H,#0AH Z2: LCALL DELAY DJNZ 44H,Z2 SETB P1.3 CLR P1.2 ;间歇灯亮,间歇5秒 MOV 45H,#05H SD:LCALL DELAY DJNZ 45H,SD SETB P1.2 SETB P1.6 ;排水阀灯灭,开始排水 MOV 46H,#05H ;排水5秒 WS:LCALL D
12、ELAY DJNZ 46H,WS ;排水等待 CLR P1.6 ;排水结束,关闭排水阀 DJNZ R1,ZS ;检验是否继续洗衣 CLR P1.0 ;提醒准备脱水 MOV R7,#00 TS:JNB P1.0,LOOP SETB P3.1 SETB P1.5 ;开始脱水 SETB P1.6 ;打开排水阀 SETB TR0 ;启动T/C0计时 HERE:SJMP HERE TOS0:CLR EA ;关中断PUSH 01H ;保护现场PUSH 02HSETB EA ;开中断MOV TH0,#4CH MOV TL0,#00H INC R2 CJNE R2,#100,NEXT MOV R2,#00H
13、CLR TR0 ;停止T/C0计时 CLR P1.5 ;脱水结束 CLR P1.6 ;排水阀灯亮,排水阀关闭 CLR P1.0 ;洗衣结束,开盖CLR EA ;关中断POP 02H ;恢复现场POP 01HSETB EA ;开中断 LJMP MAIN NEXT:RETI INT0X:CLR F0 SETB P1.1 ;注水结束 RETI DELAY:MOV R5,#92 ;延时子程序 DELY:MOV R7,#35 DEL1:MOV R6,#141 DEL2:DJNZ R6,DEL2 NOP DJNZ R7,DEL1 NOP NOP NOP NOP DJNZ R5,DELY RET LOOP:
14、MOV 30H,#50H LOOP1:MOV R6,#50 DJNZ R6,$ CPL P3.1 ;蜂鸣器 DJNZ 30H,LOOP1 SETB P1.0 AJMP TS END说明:程序清单中一定要有注释。(程序清单部分的行间距设为1行)四、调试程序的方法硬件调试方法(确定硬件工作是否正常)用下列程序段测试LED灯是否会亮:ORG 8000HMOV P1,#00HEND工作正常(2)件调试方法(如何调试程序的方法)将所编写的程序进行汇编,编译所编写的程序0个错误0个警告。然后运行程序,通过按键K1模拟注水达到标志位,观察洗衣过程中相应的LED灯的状态。五、你所设计的程序最终完成的功能说明你
15、编制的程序能完成的功能; 注水灯亮开始注水,外部中断0模拟达到注水标志位,正转灯亮正转10s,间歇灯亮间歇4s,反转灯亮反转10s,间歇灯亮间歇4s,正转灯亮正转10秒,间歇灯亮间歇5秒,然后排水阀灯灭开始排水,排水5秒,再进行上述过程,如此循环往复3次(注水洗涤排水 过程),认为洗衣过程结束。然后开始脱水操作(脱水5秒), 利用定时器,定时时间到,打开洗衣机盖子取出衣物,洗衣任务结束。准备的测试数据,并记录运行结果。 开启-注水达标志位-按下KEY1,开始正转10秒,间歇4s,再反转10s,间歇4s,接着正转10s,间歇5秒,然后排水5秒,再次注水,再次按下KEY1,在进行上述操作这样进行三
16、遍,最后洗衣完成时蜂鸣提醒,接着脱水5秒,洗衣结束。六、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。 所完成的程序总体上能够完成洗衣过程的全模拟;但是创新能力不足,最终没能将LED的八段显示整合到基本实验程序中,显示洗衣过程中相应状态的倒计时显示。2、对课题提出更完善的方案。1)使用LED显示器显示时间。2)可以添加电动机,代替LED灯显示正反转,使其更加直观形象。3)添加在运转过程中可以暂时停车的功能,并能紧接前面工作进行恢复。五、收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。 通过本次课程设计,我收获了许多一般课程难以收获的东西。首先,整体思维能力有了很大程度的提高,能够更好地从问题的全局出发,从宏观上分析问题,从而形成比较清晰的解决问题的途径。其次,发现问题,解决问题的能力有了进一步的提高。通过汇编程序,找出相应的错误,然后寻求改正错误的方法。正是这些错误使得我对课本知识的理解更加深入,更加牢固。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年通辽市建国医院医护人员招聘考试参考题库附答案详解
- 2025年邯郸市纺织职工总医院医护人员招聘笔试试题及答案详解
- 2026年彬县人民医院医护人员招聘考试模拟试题及答案详解
- 2026年武汉市第八医院医护人员招聘考试模拟试题及答案详解
- 2026年路南县圭山民族医院医护人员招聘考试参考题库附答案详解
- 2025年三明市社区工作者招聘真题
- 2026年乾县妇幼保健院医护人员招聘考试参考题库附答案详解
- 2025年北京市丰台区华西医院医护人员招聘笔试题库及答案详解
- 泉州晋江市江滨中学教师招聘笔试真题2025
- 2026年监利县人民医院医护人员招聘考试参考题库附答案详解
- 化肥业务员培训课件
- 文书模板-两用物项出口管制内部合规制度运行情况说明
- 碳排放核算师职业资格考试大纲含答案
- 2025年湿地生态旅游行业分析报告及未来发展趋势预测
- 2024甘肃畜牧工程职业技术学院辅导员招聘笔试真题及答案
- 金属文物修复师理念考核试卷及答案
- 林业生产安全培训课件
- 污水提升泵基础知识培训课件
- 2025年矫直工考试题库
- 开票加几个点测算表excel公式设置自动计算
- 广东省珠海市2024-2025学年七年级下学期期末数学试卷(含答案)
评论
0/150
提交评论