XX学院
毕
业
文
题目:基51单片机全动洗衣机控制系统设计
专业:电气工程动化
姓名:
班级:电气班
学 号:
指 导 老 师 :
摘
该系统基单片机全动洗衣机控制系统设计系统采AT89C51单片机作核心控制芯片辅必外围器件电路通IO口输出控制电动机运行停止通AT89C51单片机部定时器中断记录洗衣时间进水时间通键进行洗衣参数设置通AT89C51单片机驱动数码显示洗衣机工作时间LED指示灯作洗衣机工作状态显示两电控水龙头进行加水放水通蜂鸣器提示洗衣结束通外部中断控制进水放水文重点阐述单片机控制系统模块设计
关键词:单片机全动洗衣机数码蜂鸣器中断定时器
Summary
The system is <
keywords MCU Automatic washing machine LE
Buzzer Interrupt Timer
目录
绪 2
第章 系统整体设计 5
11设计功求 5
12系统设计方案 5
13芯片选择 6
131什单片机 6
132单片机应领域 6
133单片机确定 7
14单片机结构 8
141 STC89C516RD+单片机引脚功 8
142电源 9
143时钟 9
144控制信号引脚线 9
145输入输出引脚(IO口线) 10
15 继电器选择 11
第二章 系统硬件设计 12
21 电源电路设计 12
22 保护电路设计 12
23 显示电路设计 13
24 键控制设计 14
25 状态指示电路设计 14
26 硬件总体电路设计 15
第三章 系统软件设计 17
31 软件整体结构设计 17
32程序结构设计分析 17
33子程序结构设计分析 26
331 定时器中断1子程序 27
332 外部中断0子程序 28
333 定时器中断0子程序 30
334 外部中断1子程序 31
335 数码显示子程序 31
总结 33
致谢 34
参考文献 35
绪
1全动洗衣机发展程
洗衣机出现生活带诸方便现代必备日常生活家电发明应洗衣工作变省时省力缓解家务劳动方面压力洗涤脱水系统进水排水系统传动系统程序控制器等部分组成种测量浑浊度温度水位位置泡沫量等系列传感器洗衣机中应家洗衣机发明现已历世纪历发展阶段:
世界第台洗衣机实1874年美国尔布莱克斯通(Bill Blackstone)研制成功1910年前第台卧轴滚筒式电动洗衣机问世标志着类家务劳动动化开始20世纪20年代第台立轴搅拌式洗衣机美国试制成功洗衣机开始立轴卧轴分50年代中叶日三洋公司推出单桶波轮式洗衣机开始确定滚筒式搅拌式波轮式三种工作方式60年代日推出带甩干桶半动洗衣机量应塑料洗衣机发展进入新阶段70年代日推出波轮式套桶全动洗衣机开始全动洗衣机概念70年代期日推出微电脑控制全动洗衣机完成机械—电动程序控制电脑控制渡开始电脑控制时代时洗衣机发达国家已进入饱期亚太区发展中国家开始进入普期80年代期模糊控制洗衣机开始出现实现家电器控制方式高度动化出现白色家电概念90年代着变频技术发展日先推出电动机直接驱动洗衣机实现洗衣机驱动方式革命洗衣机高性完善功节水省电降噪省时规格品种样化发展方
2洗衣机发展前景解决问题
①国外先进技术开发前景:
世界技术知识爆炸年代需生产出某种产品满足需洗衣机发展正样生活中发现某便会实际中断改进完善新型洗衣机正种情况诞生
(1)超声波洗衣机超声振动产生空穴现象洗涤中通气泡生产消失运动产生强水压加入量洗衣剂振动纤维超声乳化污水中气泡升产生洗涤桶中央外侧翻动水流衣服间相互摩擦洗涤剂充分接触产生效洗涤作种洗衣机洗涤桶桶运动部件机械电气障修理方便缠绕伤布料洗衣效果省水省电
(2)电磁洗衣机种洗衣机洗涤桶4洗涤头面夹子衣物伸展夹住洗涤头电磁线圈接通电源发生2500次秒微击振动衣物洗涤液中洗涤电机驱动噪声省水50省电75
(3)高温泡沫洗衣机日阪研制种水高温泡沫洗净衣物洗衣机洗涤剂罐洗衣机低部放衣物拨动开关开始鼓风空气送入罐中产生泡沫加热70C高温泡沫洗净衣物然进入洗衣桶旁边消泡装置般洗5~10分钟次21L1kg干衣
(4)真空洗衣机原苏联研制洗衣粉洗涤剂洗衣机真空泵洗衣桶吸成真空状态桶中水运动产生气泡爆破污洗净度高损衣噪声造价高实际采冷沸腾洗涤原理秒钟洗涤桶部空气抽空出稀薄空气水沸腾壮衣物泡沫旋涡钟搅动15~2分钟洗净衣物般洗衣服7~10分钟完成全程
(5)喷射式洗衣机意利扎努西公司研制种洗涤剂断喷衣物洗衣机似水省水20省洗涤剂30省35省时间10种洗衣机完全前装式滚筒洗衣机安装喷淋系统喷射装置持续断水洗涤剂喷淋衣物进行洗涤锈钢桶搅动衣物衣物液体中停搅动桶根没水样然水渗透衣物流入位滚筒底部储水槽中槽中水新加热次循环喷射衣物洗涤桶做周期性脱水排水污物漂洗3次脱水洗完
②洗衣机解决问题
国洗衣机厂起步晚加技术方面问题避免现机型中出现弊端弊端:噪声耗水耗电进水畅进水止排水畅工作周期稳振动损伤洗涤物洗涤效果佳脱水桶动性佳脱水良重量容量合理具体说洗衣机问题存结构质量原材料模具理方面
(1)结构类型方面国洗衣机属波轮式波轮式然型式适应国外市场需求适生产新型式滚筒式搅拌式洗衣机进生产具波轮式搅拌式两种洗衣机优点新机型波轮式洗衣机洗涤更合理应努力全动洗衣机提高电脑型水双桶洗衣机提高漂洗条件重点生产全动型喷淋式洗衣机宜时注意避免新水流洗衣机味提高波轮式转数极转动时间增高波轮筋高倾免损伤衣率缠绕率回升增高降低新水流洗衣机优越性
(2)质量方面国洗衣机质量问题具体反映功外观性三方面国外存较差距国外洗衣机相较:功电源插头面板装饰旋钮结合塑料件光整度(光洁毛刺变形)外箱螺丝钉成形防锈皮带耐磨噪音进排水阀水位开关质量电脑控制种功力电脑抗电压波动抗干扰防静电力传感器灵敏度等方面容易出整体质量坏加装配工艺较落致国洗衣机质量稳定性差出口定困难目前国洗衣机障运行水约250~500时国外类产品达1500~2000时十年需修理提高洗衣机质量提高零部件质量入手关键电器件传动件应组织专业分工制定标准组织攻关进行认证改进功方面外观质量性三方面进行全面整理提高水
综合分析介绍全动洗衣机具衣物磨损洗涤量节约水电等特点越越广家庭青睐全动洗衣机价格低廉基础提出功齐全操作简单缠绕伤布料洗衣效果性工作效率高便维修等更高求满足种需求特设计出种微控制器控制全动洗衣机控制系统
第章 系统整体设计
进行系统设计前首先应根系统功求应环境等确定合理具体功技术指标应系统性通性先进性维护性成等进行综合考虑量合理符合相应标准然根市场种单片机货源情况单片机性开发工具等素选择合适机型接根系统中遇重器件进行选择符合系统精度速度性等方面求确定硬件软件功划分系统设计中某功硬件软件实现设计中应综合考虑研制周期成等素具体划分软硬件功
11设计功求
(1)通遥控键控制洗衣机
(2)12864显示相应持续时间前时间处什工作方式中
(3)洗衣机具强洗弱洗定义功进行单项操作
(4)增加水位传感器控制进水时间(设计中红外传感器)
(5)洗衣结束时蜂鸣器唱歌
(6)洗衣时交正反转洗衣脱水时电机转速
12系统设计方案
通设计求分析控制系统运STC89C516RD单片机控制象包括:继电器1(进水阀)继电器2(出水阀)型直流电机12864显示LED状态指示灯蜂鸣器等控象需根洗衣程序设定工作状态工作时间继电器1(进水阀)继电器2(出水阀)控制进水出水时需LED指示灯12864显示工作状态剩余时间遥控输入
控制程序运行设置洗衣模式蜂鸣器提示洗衣完成提示述系统方案系统整体构架图11:
图11系统整体构架
13芯片选择
131什单片机
单片机单片微型计算机(SingleChip Microcomputer ) 集CPU RAM ROM 定时器计数器种接口体微控制器样组成芯片级芯片级微型计算机称单片微型计算机(SingleChip Microcomputer )简称位单片微机单片机体积成低功强广泛应智产品工业动化单片机硬件结构指令系统工业控制求设计常工业检测控制装置中称微控制器嵌入式控制器单片机途分通型专型两类部数通道宽度分4位8位16位32位51 单片机单片机中典型代表性种
132单片机应领域
单片机广泛应仪器仪表家电器医设备航空航天专设备智化理程控制等领域致分范畴:
()智仪器仪表应
单片机具体积功耗低控制功强扩展灵活微型化方便等优点广泛应仪器仪表中结合类型传感器实现诸电压功率频率湿度温度流量速度厚度角度长度硬度元素压力等物理量测量采单片机控制仪器仪表数字化智化微型化功起采电子数字电路更加强例精密测量设备(功率计示波器种分析仪)
(二) 家电器中应
样说现家电器基采单片机控制电饭煲洗衣机电冰箱空调机彩电音响视频器材电子秤量设备五花八门
(三)工业控制中应
单片机构成形式样控制系统数采集系统例工厂流水线智化理电梯智化控制种报警系统计算机联网构成二级控制系统等
(四)计算机网络通信领域中应
现代单片机普遍具备通信接口方便计算机进行数通信计算机网络通信设备间应提供极物质条件现通信设备基实现单片机智控制手机电话机型程控交换机楼宇动通信呼系统列车线通信日常工作中处见移动电话集群移动通信线电讲机等
(五)单片机医设备领域中应
单片机医设备中途相广泛例医呼吸机种分析仪监护仪超声诊断设备病床呼系统等等
外单片机工商金融科研教育国防航空等领域着十分广泛途
133单片机确定
通设计方案整体分析根单片机性技术性济性控制系统设计求性系统选择STC89C516RD单片机作核心控制象中STC89C516RD单片机具基特性:STC89C516RD种带128K字节闪烁编程擦读存储器低电压高性CMOS8位微处理器外围电路简单硬件设计方便IO口操作简单资源丰富满足般功 价格便宜容易购买
通介绍分析STC89C516RD完全满足设计求性系统选择STC89C516RD单片机作核心控制象
14单片机结构
STC89C516RD芯片部集成 CPURAMROM定时计数器IO口等功部件部总线部件连接起
STC89C516RD单片机部包含功部件:
(1) 8位CPU
(2) 片振荡器时钟电路
(3) 4KB ROM
(4) 128x8字节部RAM
(5) 寻址64KB外ROM外RAM控制电路
(6) 两16位定时计数器
(7) 21特殊功寄存器
(8) 48位行IO口32条编程IO端线
(9) 编程全双工串行口
(10) 5中断源
141 STC89C516RD单片机引脚功
STC89C516RD单片机般采双列直插DIP封装40引脚图12单片机引脚排列图40引脚致分4类:电源时钟控制IO引脚
图12 单片机引脚排列图
142电源
(1)VCC(40脚)——芯片电源接+5V
(2)VSS(GND20脚)——接端
143时钟
XTAL1(19脚)XTAL2(18脚)——晶体振荡电路反相输入端输出端部振荡电路时外接石英晶体图13
图13晶体振荡电路
144控制信号引脚线
控制线4根中3根复线谓复线指具两种功正常时种功某种条件种功
(1)ALEPROG(30脚)址锁存允许片EPROM编程脉
①ALE功:锁存P0口送出低8位址
STC89C516RD行扩展外存储器(包括行扩展IO口)时P0口分时传送低8位址数信号均二进制数区分低8位址8位数信号呢?ALE高电时P0口传送低8位址信号ALE低电时P0口传送8位数信号ALE信号降锁定P0口传送容低8位址信号
需指出CPU执行访问外RAM指令(MOVX)时ALE时钟振荡频率1 6固定频率输出ALE信号作外部芯片CLK时钟需CPU执行MOVX指令时ALE跳ALE脉ALE端驱动8LSTTL门电路
②PROG功:片EPROM芯片EPROM编程期间引脚输入编程脉
(2) PSEN(29脚)——外ROM读选通信号
80C51读外ROM时没机器周期PSEN两次效输出PSEN作外ROM芯片输出允许OE选通信号读ROM读外RAM时PSEN效PSEN驱动8LSTTL门电路
(3) RSTVpd(9脚)——复位备电源
①正常工作时RST(Reset)端复位信号输入端该引脚连续保持两机器周期高电80C51芯片实现复位操作复位切头开始CPU0000H开始执行指令8051复位方式动复位手动复位见图1—4电动复位电路 图1—5手动复位电路
图14电动复位电路 图15 手动复位电路
②Vpd功:Vcc掉电情况该引脚接备电源Vpd片供电保持片RAM中数丢失
(4) EAVPP(31脚) ——外ROM选择片EPROM编程电源
①EA功:正常工作时EA外ROM选择端AT89C51单片机ROM寻址范围64KB中4KB片60KB片外EA保持高电时先访问部ROMPC(程序计数器)值超4KB(0FFFH)时动转执行外ROM中程序EA保持低电时CPU访问外ROMEA高电时CPU先部ROM访问然动延外部超4KBROM
②Vpp功:片EPROM芯片EPROM编程期间引脚施加编程电源Vpp
145输入输出引脚(IO口线)
(1)P0口(32—39脚)——8位双IO口行扩展外存储器(包括行扩展IO口)时 P0口作双IO口行扩展外存储器(包括行扩展IO口)时 P0口分时传送低8位址(址总线)8位数信号(数总线)P0口驱动8LSTTL门 (2)P1口(1——8脚)——8位准双IO口(准双指该口部固定拉电阻) P1口驱动4LSTTL门
(3) P2口(21——28脚)——8位准双IO口行扩展外存储器(包括行扩展IO口)时 P2口作双IO口行扩展外存储器(包括行扩展IO口)时 P2口传送高8位址(属址总线) P2口驱动4LSTTL门引脚拉电阻P1口结构P2口P1口输出控制部分
(4) P3口(10——17脚)——8位准双IO口作般IO口时P3口引脚具第二功特殊信号输入输出控制信号(属控制总线)P3口驱动力4LSTTL门
P3口第二功
P30——RXD串行口输入端
P31——TXD串行口输出端
P32——INT0外部中断0请求输入端
P33——INT1外部中断1请求输入端
P34——T0定时计数器0外部信号输入端
P35——T1定时计数器1外部信号输入端
P36——WR外RAM写选通信号输出端
P37——RD外RAM读选通信号输出端
述4IO口途 行扩展外存储器(包括行扩展IO口)时 4IO口作双IO口行扩展外存储器(包括行扩展IO口)时 P0口专分时传送低8位址信号8位数信号P2口专传送高8位址信号P3口根需常第二功真正提供户IO口P1口部分未作第二功P3口端
15 继电器选择
继电器种电子控制器件具控制系统(称输入回路)控制系统(称输出回路)通常应动控制电路中接通断开控制电器实际较电流控制较电流种动开关电路中起着动调节安全保护转换电路等作根控制电路电源电压提供电流控电路需触点形式根单片机控制特点AT89C51单片机带负载力强般三极控制继电器系统采:松乐T73 SRD5VDCSLC继电器
第二章 系统硬件设计
21 电源电路设计
电源单片机提供+5V电压供电原理图图21示交流220V电源变压器降压整流滤波产生直流电压输入集成稳压器7805输入端7805输出稳定+5V电压单片机供电
图21电源电路
22进排水电路设计
22保护电路
23 显示电路设计
显示部分通两位数码显示系统工作时间信息该数码10脚中A——G 7脚数码段选12数码位选DP数点显示中数码段选单片机P00——P06口相连接数码位选12分单片机P20P21相连接具体电路图2—3示
图23 显示电路
电机驱动电路设计:
红外检测电路设计
报警电路设计:
24 键控制设计
该系统通四独立键控制系统启动停止工作状态设置四键分:程序增加减少启动中四键分单片机P10—P13口相连接:具体连接图2—4示
图24 键连接
25 状态指示电路设计
状态指示通8LDE显示系统工作状态LED74LS138输出端相连接中74LS138三端分单片机P14—P16相连接通单片机输出高低电控制74LS138相应引脚LED点亮指示出工作状态具体连接图25示
图2—5指示灯电路
26 硬件总体电路设计
通面分析硬件电路(图26)部分组成:
1单片机系统:(1)复位电路 (2)时钟电路
(3)AT89C51
2键控制部分 3LED数码显示部分 4 74LS138译码器
5报警部分(蜂鸣器) 6继电器控制部分 7电动机部分
中键部分四独立键单片机P10—P13口相连接分程序增加减少启动设置洗衣机工作状态D0—D7洗衣机工作状态指示灯中D0—D538译码器Y0—Y5相连接分表示:进水时间设定脱水剩余时间脱水定时洗衣剩余时间洗衣定时洗涤次数D6D7分单片机P26P27相连接表示:弱洗强洗数码显示洗衣机工作时间中P0口控制数码段选P20P21控制数码位选报警部分(蜂鸣器)洗衣完毕报警通三极驱动单片机P17相连接继电器控制部分电动机正反转控制通三极驱动单片机P22—P25相连接单片机P30P32分连接两电控水龙头洗衣机进水脱水
26 电路原理图
第三章 系统软件设计
31 软件整体结构设计
该系统程序图框图31示系统程序分:程序定时器中断1程序定时器中断0程序外部中断0外部中断1程序延时程序数码显示程序等部分组成定时中断1外部中断0控制电控水龙头进水利定时器中断0记录洗衣时间通外部中断1判断水否放完进行脱水定时中断1记录脱水时间面分部分程序流程图进行分析程序
32程序结构设计分析
首先开机先进行选择强洗弱洗(弱洗电动机进行正反转10s交运行)相应指示灯亮连续程序键进行相应功选择进水时间洗衣时间脱水时间洗涤次数脱水时间强洗弱洗设置完成启动键系统开始工作进水龙头开进水时间水加满开始进行洗衣洗衣时间开始进行脱水脱水时间洗涤次数继续次洗涤否结束工作蜂鸣器报警5秒工作结束应程序:
开始
启动键否
否
洗衣参数设定状态
洗衣加水
加水时间否满否
启动键否
否
洗衣状态
脱水状态
洗衣时间否
否
脱水时间否
否
洗涤次数否
否
结束
图31 程序图框
main()
{
int a
P10xff
TMOD0x11定时器0定时器1时工作模式0
ET01 开部中断0
ET11 开部中断1
led70
while(d)
{
shao_maio()
if(b1200)b20刚1秒
{
b0
mm1
if(m<0)
{
m0
}
if(t<0)
{
t0
}
shao_maio() 扫描数码
}
*************进水控制****************************
shao_maio()
if(b11200)
{
b10
jins_timejins_time1
}
if(jins_time0)
{
sw11关闭水龙头
jins_time1
EX01 开外部中断0
EA1开总中断
TMOD0x11
jins_time1
TH0(6553650000)256 定时50毫秒
TL0(6553650000)256
ET01 开部中断0
TR01
if(x4)
{
sn104 点亮洗衣剩余时间指示灯
sn212
sn311
ET01 开部中断0
TR01
}
if(x3)洗衣剩余时间
else
{
sn10 4
sn21 2
sn311
x3
ET01 开部中断0
TR01
}
if(led60&&led71) 弱洗
{
if(b>0&&b<200||(b>600&&b<800))10m
{q21q31
q10q40
}
if(b>400&&b<600||(b>800&&b<1000))
{q11q41
q20q30
}
}
if(led61&&led70) 强洗
{
q10
q40
q21
q31
}
}
*****************开始脱水************************
if(m0)
{
sw11关水龙头1
sw20开水龙头2
EX00关外部中断0
ET00关定时器中断0
TR00
EA1开总中断
TMOD0x11
TH1(6553650000)256 定时50毫秒
TL1(6553650000)256
ET11 开部中断0
TR11
EX11 外部中断1开放水准备
sn10 4 脱水剩余时间指示灯亮
sn20 2
sn311
x5显示脱水剩余时间
}
if(tuo_s1200)
{
tuo_s0
tt1
}
if(t<0)
{
jins_timejins_time1
mm1
tt
dd1
x0
xi_di1判断否跳转
}
if(d<0)
{
EA0关总中断
sw21关水龙头2
sm1sm20数码熄灭
sn1sn2sn31LED熄灭
q1q2q3q41电动机停止
feng_m_qi0蜂鸣器响
delay(2)延时5秒
feng_m_qi1蜂鸣器停止
}
else
goto start
************强洗弱洗选择***********************
if(sb20&&x0)弱洗
{
for(a0a<140a++) 键抖
{
shao_maio() 扫描数码
}
if(sb20&&x0)
{
led60
led71
}
}
if(sb30&&x0)强洗
{
for(a0a<140a++) 键抖
{
shao_maio() 扫描数码
}
if(sb30&&x0)
{
led61
led70
}
}
****************功选择*************************
if(sb10)
{
EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb10)
{
xx+1
if(x1)洗涤次数设置
{
sn11 4
sn20 2
sn311
}
if(x2) 洗衣定时
{
sn11 4
sn20 2
sn301
}
if(x3)洗衣剩余时间
{
sn10 4
sn21 2
sn311
}
if(x4)脱水定时时间
{
sn10 4
sn21 2
sn301
}
if(x5)脱水剩余时间
{
sn10 4
sn20 2
sn311
}
if(x6)进水时间
{
sn10 4
sn20 2
sn301
}
if(x7)强洗
{
x0
led61
led70
}
}
}
****************增加设置*****************
if(sb20&&x1) 洗涤次数增加
{ EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb20&&x1)
{
dd+1
if(d>99)
{
d0
}
}
}
*****************************************
if(sb20&&x2) 洗衣定时增加
{
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb20&&x2)
{
mm+1
m1m
if(m>99)
{
m0
}
}
}
************************************************
if(sb20&&x4)脱水定时增加
{
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb20&&x4)
{
tt+1
t1t
if(t>99)
{
t0
}
}
}
************************************************
if(sb20&&x6)进水水定时增加
{
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb20&&x6)
{
jins_timejins_time+1
jins_time1jins_time
if(jins_time>99)
{
jins_time0
}
}
}
***************减少设置***********************
if(sb30&x1)洗涤次数减少
{ EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb30&x1)
{
dd1
if(d<0)
{
d0
}
}
}
***************************************************
if(sb30&x2)洗衣定时减少
{ EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb30&x2)
{
mm1
m1m
if(m<0)
{
mm1
}
}
}
**************************************************
if(sb30&&x4) 脱水定时减少
{
EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb30&&x4)
{
tt1
t1t
shao_maio()
if(t<0)
{
t0
}
}
}
**************************************************
if(sb30&&x6) 进水定时减少
{ EA0
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb30&&x6)
{
jins_timejins_time1
jins_time1jins_time
shao_maio()
if(jins_time<0)
{
jins_time0
}
}
}
*****************启动******************************
if(sb40&&x>0)
{
start
xi_di0果洗涤次数重新赋值
for(a0a<130a++) 键抖
{
shao_maio() 扫描数码
}
if(sb40&&x>0)
{
EA1开总中断
EX01 开外部中断0
sw10开水龙头1
sw21
TMOD0x11
TH1(6553650000)256 定时50毫秒
TL1(6553650000)256
ET11 开部中断0
TR11
x6
sn10 4
sn20 2
sn301
}
}
}
}
33子程序结构设计分析
331 定时器中断1子程序
图32定时器中断1程序框架启动键系统开定时器中断150ms中断次作进水时间记录进水时间定时器中断1关闭停止计时者水加满利外部中断0停止加水程序:
洗衣参数设定状态
启动键否
否
开始50ms中断次
进水时间否
否
开始进入洗衣状态
关闭定时器中断1
开定时器中断0
图32定时器中断1
void ds1zhong_duan() interrupt 3 定时器1中断
进水水脱水时间
{
shaomaio() 扫描数码
TH1(6553650000)256高8位
TL1(6553650000)256低8位
if(EX01)
{
b1b1+1
} 记录中断次数次中断50ms
else
{
tuo_stuo_s+1
}
}
332 外部中断0子程序
外部中断0程序框架(图33示)功:设置加水时间长水会溢出防止水溢出水加定高度时会进入该中断子程序关闭进水阀开始执行步务程序:
图33 外部中断0
void wai0_zhong_duan() interrupt 0外部中断0
{
sw11关闭水龙头
jins_time1
if(led60&&led71) 弱洗
{
void dian_zf()
}
if(led61&&led70) 强洗
{
led61
led70
}
sw10关闭水龙头1
EA1开总中断
TMOD0x11
jins_time1
TH0(6553650000)256 定时50毫秒
TL0(6553650000)256
ET01 开部中断0
TR01
if(x4)
{
sn10 4 点亮脱水剩余时间指示灯
sn21 2
sn311
ET01 开部中断0
TR01
}
else
{sn10 4
sn21 2
sn311
x3
ET01 开部中断0
TR01
}
if(led60&&led71) 弱洗
{
if(b>0&&b<200||(b>600&&b<800))10m
{q21q31
q10q40
}
if(b>400&&b<600||(b>800&&b<1000))
{q11q41
q20q30
}
}
if(led61&&led70) 强洗
{
q10
q40
q21
q31
}
}
333 定时器中断0子程序
图34定时器中断0程序框架系统进入洗衣状态时定时器中断1开始50ms中断次记录洗衣时间洗衣时间时关闭定时器中断0进入步工作应程序:
图34 定时器中断0
void ds0zhong_duan() interrupt 1 定时器0中断 洗衣时间
{
TH0(6553650000)256高8位
TL0(6553650000)256低8位
bb+1 记录中断次数次中断50ms
}
334 外部中断1子程序
图35外部中断1程序框架洗衣时间时开出水阀开始放水水放完时通电触发进入外部中断1启动电动机进入脱水状态应程序:
图35外部中断1
void wai1_zhong_duan() interrupt 2外部中断1
{
q10电动机正转脱水
q40
q21
q31
}
335 数码显示子程序
该程序功通两位数码显示时间信息
加水时间洗衣定时时间脱水时间洗衣剩余时间洗衣次数等显示根工作指示灯进行判断显示出相应时间信息
程序:
int shao_maio()
{
int ai
{
if(x1)
{
chun_shu[1]d10 洗涤次数显示数码十位
chun_shu[0]d10洗涤次数显示数码位
}
if(x5||x4)
{
chun_shu[1]t10 脱水定时显示数码十位
chun_shu[0]t10脱水定时显示数码位
}
if(x6)
{
chun_shu[1]jins_time10 进水时间
chun_shu[0]jins_time10进水时间
}
if(x3||x2)
{
chun_shu[1]m10 显示数码十位
chun_shu[0]m10显示数码位
}
for(i0i<1i++)
{
sm10
sm21
P0table[chun_shu[i]]
}
for(a0a<100a++)
for(i1i<2i++)
{
sm20
sm11
P0table[chun_shu[i]]
}
for(a0a<100a++)
}
}
总结
着科学技术发展现代社会专业求越越高尤作机电体化专业员仅坚实理知识更应该具备丰富实践验较强动手力
毕业设计仅前面学知识种综合检验力种提高通次毕业设计学理知识现场实际工作验次机融合起熟练掌握工程设计方法步骤进步提高软件应(proteusKEILc++Protel99se等)工程设计力理计算力实验研究力济分析力外文阅读力计算机应力文献查阅文字表达力次单片机控制系统应中存问题控制电动机正反转设计中采单片机进行控制存着缺点例选单片机太合理调试程较麻烦控制数码显示时数码正常显示通查找质料根眼暂留效应结果正常显示
设计程中通网络查阅量关资料学交流验学老师请教等方式学少知识历少艰辛收获巨
总进行毕业设计程中深刻体会基础功扎实知识面较局限例文字表达力英语水等毕业设计懂日常生活中便浪费宝贵时间充分利时间学更知识充实
外出结:知识必须通应实现价值
致谢
学X年生活里毕业时刻感谢学校老师教育培养老师细心教导学知识首先感谢指导老师李仁老师够百忙中指导耐心解答疑难问题
文成稿期间选题资料应李老师予耐心细致教导文研究撰写程中李老师提出许宝贵意见学许课外知识综合力提升老师严谨治学态度丝苟敬业精神诲倦高尚师德树立做做事楷模生旅产生深远影响
学三年方面予帮助教师学表示衷心感谢文中材料取相关书籍互联网相关资料作者表示衷心感谢力限疏漏足难免请位老师批评指正感谢位老师
参考文献
1韩全立赵德申 编微机控制技术应 机械工业出版社 2003
2付植桐 编电子技术 第3版 高等教育出版社 2008
3刘金琨 编著智控制 电子工业出版社 2008
4马忠梅 张凯 马岩 编单片机c语言程序设计第4版
北京航空航天学出版社 2007
5谭浩强 编 c语言程序设计 第4版 清华学出版社
2010
6张文涛 编Proteus 仿真软件应华中科技学出版社 2010
7林立 编单片机原理应——基ProteusKeil C 电子工业出版 社 2009
8彭伟 编单片机c语言程序设计实训100例——基
8051+Proteus仿真电子工业出版社 2009
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档