基于8051单片机的器件设计.docx
- 文档编号:8654657
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:224.85KB
基于8051单片机的器件设计.docx
《基于8051单片机的器件设计.docx》由会员分享,可在线阅读,更多相关《基于8051单片机的器件设计.docx(13页珍藏版)》请在冰豆网上搜索。
基于8051单片机的器件设计
HarbinInstituteofTechnology
基于8051单片机简易洗衣机的设计
院系:
航天学院
班级:
0921102班
学号:
1092110207
姓名:
李一铭
哈尔滨工业大学
2012年
一、任务描述:
将单片机用于家电中的洗衣机控制具有精度高、功能强、经济性好的特点,无论在提高产品质量和数量、节约能源,还是改善劳动条件等方面都显示出无比的优越性。
通过对数字显示洗衣机控制系统学习、原理设计、单片机编程及PCB设计洗衣控制系统模型的设计,巩固学习单片机的键盘、显示器、定时器、并口等部分的综合应用。
二,设计原理
1.面板设计:
洗衣机的控制面板如图1,由4个按键,7只指示灯和2只LED显示器组成。
按键选择洗衣机工作方式,指示灯配合按键工作,LED显示器显示洗衣机洗涤和脱水时间。
2.工作流程设计:
1.打开洗衣机的电源开关后,强洗指示灯被点亮,表明洗衣机当前处于强洗模式,电动机只1个方向运转。
按下“增”按键,则选择弱洗工作模式,电动机正反2个方向交替运转,每隔1min变换方向1次。
2.设置好强洗、弱洗工作模式后,按下“编程选择”按键,则“洗涤次数”指示灯被点亮,此时按下按键“增”或“减”,就可设置洗涤次数。
3.洗涤次数设置好后,按下“编程选择”按键,指示灯“洗衣定时”被点亮,此时按下按键“增”或“减”,就可设置洗衣时间。
4.洗衣时间设置好后,按下“编程选择”按键,指示灯“脱水定时”被点亮,此时按下按键“增”或“减”,就可设置脱水时间。
5.设置好洗衣机的工作模式后,按下“启动”按键,洗衣机开始工作。
在洗衣的过程中,指示灯“洗衣机剩余时间”被点亮,此时LED显示器显示的数字即为洗衣机的剩余时间。
6.当用户设置的洗衣时间结束后,洗衣机将洗衣机水桶里面的水放掉,然后启动电动机,脱水过程开始。
此时指示灯“脱水定时”被点亮,LED显示器显示的数字即为脱水剩余的时间。
7.脱水完成后,洗衣机的蜂鸣器发出5次“嘟嘟”声,提示用户洗衣过程已经结束。
3.硬件电路设计:
(1)洗衣机的整体电路模块
洗衣机的电路模块如图2。
组成部件:
8051单片机、74138译码器、与门、水位检测机构、指示灯、电动机、蜂鸣器、电控水龙头、LED显示器及4只按键。
原理介绍:
水位检测机构由玻璃管、浮子、金属滑杆等组成,玻璃管与洗衣桶相连,玻璃管中的水位就是洗衣桶内的水位,在放水或进水的过程中,浮子带动金属管上下移动,当水位处于最高点或最低点时,金属滑杆都与金属地相连,致使引脚INT1处于低电平,向CPU申请中断,否则INT1被上拉电阻上拉为高电平。
74138的输入端C、B、A分别接单片机的P1.3、P1.4、P1.5,输出端Y0控制“洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣定时”指示灯,Y6控制“脱水定时”指示灯。
电动机有2个控制端,一端控制电动机正向运转,该端与P1.0相连,另一端控制电动机反向运转,该端与P1.1相连。
电控水龙头共2只,一只为进水龙头,受P3.0控制,另一只为出水龙头,受P3.1控制,当电控水龙头的控制端为“1”时,水龙头打开,当电控水龙头的控制端为“0”时,水龙头关闭。
LED显示器共2只,P0控制高位显示器,P2控制低位显示器,按键4只,分别为“编程选择”、“增”、“减”,和“启动键”,这4只键组成的2×2键的矩阵式键盘,该键盘使用引脚INT0向CPU申请中断,P3.5和P3.4为该键盘的行输出,P3.6和P3.7为该键盘的列输入,蜂鸣器由P1.2控制,当P1.2输出为“1”时,蜂鸣器发声。
本系统采用6M的晶体振荡器,定时器0和定时器1的初始值设置为每隔100毫秒产生1次中断。
图2洗衣机电路模块
(2)键盘矩阵电路
键盘由4只按键组成2×2矩阵键盘,4只按键用于洗衣机的工作方式选择,指示灯配合按键工作。
该键盘使用引脚INT0向CPU申请中断,P3.5和P3.4为该键盘的行输出,P3.6和P3.7为该键盘的列输入,电气原理见图2。
(3)指示灯电路图
图2中,74138的输入端C、B、A分别接单片机的P1.3、P1.4、P1.5,输出端Y0、Y1、Y2、Y3、Y4、Y5、Y6分别与7个发光二极管的阴极相连,发光二极管的阳极接电源。
74138的输出端Y0控制“洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣时间”指示灯,Y6控制“脱水时间”指示灯。
(4)电动机控制电路
电动机控制电气原理如图3。
电动机有2个控制端,一端控制电动机正向运转,该端与P1.0相连,另一端控制电动机反向运转,该端与P1.1相连。
系统供电时,交流220V电压经过双向可控硅加在电动机的2个控制端,可控硅的控制端由单片机的P1.0、P1.1控制,当洗衣机接到“强洗”指令时,P1.0输出高电平,经过功率管8050放大后,触发双向可控硅,使双向可控硅TR1导通,电机正向旋转。
当洗衣机接到“弱洗”指令时,P1.1输出高电平,经过功率管8050放大后,触发双向可控硅,使双向可控硅TR2导通,电机反向旋转。
在整个洗衣过程中,程序会不断判断洗衣机的强弱洗模式,从而不断调整电机转动方向。
(5)电源部分
系统电源电气原理图如图4。
市电220V经过变压器T变压为12V交流电压,通过4只二极管1N4004全桥整流后,再经过电容C滤波后得到光滑的直流电压,经过三端稳压器7805稳压后得到稳定的+5V电压给各器件供电。
图4系统电源部分电气原理图
三、设计方案
算法和程序框图:
洗衣控制程序:
定时中断服务程序、外中断服务程序、主程序。
主程序框图如图5。
主程序编程:
ORG00H
LJMPMAIN
ORG03H
LJMPSINTO
ORG0BH
LJMPST0
ORG13H
LJMPSINT1
ORG1BH
LJMPST1
DISLAB:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
MIAN:
CLRF
MOV70H,#0
MOV71H,#3
MOV72H,#30
MOV73H,#5
MOV76H,#1
MOV79H,#0
MOV7AH,#0
CLRP1.0
CLRP1.1
CLRP1.2
CLRP3.4
CLRP3.5
MOVP0,#0
MOVP2,#0
CLRP3.0
CLRP3.1
MOVTMOD,#11H
MOVTH0,#3CH
MOVTH1,#0B0H
MOVTL0,#3CH
MOVTL0,#0B0H
SETBIT0
SETBIT1
SETBIT0
SETBEA
SETBEX0
JNBF,$
MOVA,72H
MOVB,71H
DIVAB
MOV74H,A
MOVR2,71H
LAB:
SETBP3.0
CLRF
SETBEX1
JNBF,$
CLRP3.0
SETBP1.0
SETBTR0
JBTR0,$
SETBP3.1
CLRF
JNBF,$
CLRP3.1
DJNZR2,LAB2
CLRP1.1
SETBP1.0
SETBTR1
JBTR1,$
CLRP1.0
MOVR2,#5
ALARM:
SETBP1.2
MOVR3,#0
DELAY1:
NOP
DJNZR3,DELAY1
CLRP1.2
DELAY2:
NOP
DJNZR3,DELAY2
DJNZR1,ALARM
CLRF
LJMPMLAB1
;外中断1服务程序;
SINT1:
SETBF
RETI
;定时器0服务中断程序;
ST0:
MOVTH0,#3CH
MOVTL0,#0B0H
INCTIMERS
CJNETIMERS,#10H,TOLAB1
MOVTIMERS,#0
INCTIMERM
CJNETIMERM,#60,TOLAB
MOVTIMERM,#0
MOVA,#99H
ADDA,72H
DAA
MOVR1,#72H
LCALLDISPLAY
CJNE70H,#1,TOLAB2
JNBP1.0,TOLAB21
CLRP1.0
SETBP1.1
LJMPTOLAB22
TOLAB21:
SETBP1.0
CLRP1.1
TOLAB22:
INC75H
MOVA,74H
CJNEA,75H,TOLAB1
CLRTR0
TOLAB:
RETI
;定时器1中断服务程序;
ST1:
MOVTH1,#3CH
MOVTL1,#0B0H
INCTIMERS
CJNETIMERS,#10H,TOLAB1
MOVTIMERS,#0
INCTIMERM
CJNETIMERM,#60,TOLAB1
MOVTIMERM,#0
MOVA,#99H
ADDA,73H
DAA
MOVR1,#73H
LCALLDISPLAY
MOVA,73H
JNZT1LAB1
CLRTR1
T1LAB1:
RETI
DISPLAY:
MOVA,R1
SWAPA
ANLA,#0FH
MOVDPTR,#DISLAB
MOVCA,@A+DPTR
MOVP0,A
MOVA,R1
ANLA,#0FH
MOVCA,@A+DPTR
MOVP2,A
RET
END
外中断0中断服务子程序:
SINT0:
SETBP3.5
CLRP3.4
MOVA,P3
ANLA,#0C0H
CJNEA,#0C0H,INTLAB1
CLRP3.5
SETBP3.4
MOVA,P3
ANLA,#0C0H
ORLA,#20H
INTLAB1:
CJNEA,#0A0H,INTLAB3
INC76H
MOVR0,76H
CJNE@R0,#5,INTLAB2
MOV76H,#1
INTLAB2:
CJNE76H,#1,INTLAB21
CLRP1.3
SETBP1.4
CLRP1.5
RETI
INTLAB21:
CJNE76H,#2,INTLAB22
SETBP1.3
CLRP1.4
CLRP1.5
MOVR1,71H
LCALLDISPLAY
RETI
INTLAB22:
CJNE76H,#3,INTLAB23
SETBP1.3
CLRP1.4
SETBP1.5
MOVR1,72H
LCALLDISPLAY
RETI
INTLAB23:
SETBP1.3
SETBP1.4
CLRP1.5
MOVR1,73H
LCALLDISPLAY
RETI
INTLAB3:
CJNEA,#6,INTLAB4
CJNE76H,#1,INTLAB31
XRL70H,#0FFH
CPLP1.5
RETI
INTLAB31:
CJNE76H,#2,INTLAB32
MOVA,#1
ADDA,71H
DAA
MOVR1,71H
LCALLDISPLAY
RETI
INTLAB32:
CJNE76H,#3,INTLAB33
MOVA,#1
ADDA,72H
DAA
MOVR1,72H
LCALLDISPLAY
RETI
INTLAB33:
MOVA,#1
ADDA,73H
DAA
MOVR1,73H
LCALLDISPLAY
RETI
INTLAB4:
CJNEA,#8,INTLAB5
CJNE76H,#1,INTLAB41
XRL70H,#0FFH
CPLP1.5
RETI
INTLAB41:
CJNE76H,#2,INTLAB42
MOVA,#99H
ADDA,71H
DAA
MOVR1,71H
LCALLDISPLAY
RETI
INTLAB42:
CJNE76H,#3,INTLAB43
MOVA,#99H
ADDA,72H
DAA
MOVR1,72H
LCALLDISPLAY
RETI
INTLAB43:
MOVA,#99H
ADDA,73H
DAA
MOVR1,73H
LCALLDISPLAY
RETI
INTLAB5:
STEBF
RETI
四、总结
应用单片机控制洗衣机系统成本低廉,结构简单,控制精度高,工作稳定,使用器件少,结构紧凑的特点,通过此次课程设计我对单片机的键盘、显示器、定时器、并口等部分的综合应用有了更加深刻的了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 8051 单片机 器件 设计