有数字显示的洗衣机时控电路的设计Word格式.docx
- 文档编号:21324726
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:16
- 大小:83.52KB
有数字显示的洗衣机时控电路的设计Word格式.docx
《有数字显示的洗衣机时控电路的设计Word格式.docx》由会员分享,可在线阅读,更多相关《有数字显示的洗衣机时控电路的设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
AT89C2051isalow-costbuthigh-performed8single-chipcomputerproductionofATMELCorporation,whichcouldpreventillegalproceduresread,havegoodsafetyperformanceandallthefunctionsof80C31single-chipcomputer.Thedesign,throughusingAT89C2051single-chipcomputertorealizetimecontrolofprocesstimeofwashingmachines,increasingexternalcircuittoachievearbitrarytime-setofwashingprocedureandrealizingthetimecountdowndisplaybyLEDdigitalshowtubesatthesametime,istoachieveconnectionandcutofthedehydrationcircuitandwashingbyswitchingtubes.Resultsshowthatthecircuit,comparedwithtraditionaltimecircuitsofwashingmachines,hasfunctionslikesimplecircuit,flexiblewashingprocessandparameteradjustment,digitaltimedisplayofworkprocedureandsoundwarning.
Keyword:
single-chip-computer,timer,LEDdigitalshowtubes,buzzer
1引言
我国洗衣机业经过20多年的发展,已成为一个较成熟的产业。
随着中国经济的日益发展,对洗衣机的要求也愈来愈高,节水、节能等环保意识的提高,是消费者进行洗衣机更新换代的重要因素,成为重要的增长点。
在此期间全自动洗衣机便逐渐发展壮大起来,很多全自动洗衣机都已具有了洗、漂、甩、烘等一系列功能,然而若在洗涤、脱水时显示其时间,就更能使洗衣机可视化,从而有利于人们合理安排时间,不必为盲目的等待而苦恼。
计时器在生活非常有用,目前洗衣机电路中也利用计时器来控制洗涤、脱水时间来实现其自动功能,用单片机自制,不但电路简单,而且功能可根据需要自行设计。
由74系列、40系列小规模数字芯片设计的倒计时器非常多,但有显示不直观(无LED数码管);
调整参数不灵活;
计时精度低(采用RC振荡)等缺点。
而AT89C2051具有80C31单片机所有的功能,是一种廉价高性能8位单片机,采用20引脚封装,体积小,可防止程序的非法读出,安全性能好等优点。
在此介绍用AT89C2051单片机制作洗衣机时控电路,本篇文章主要在于制作洗衣机的倒计时显示电路,以使其电路结构较为简单,成本低廉,时间可调可显为目的。
2AT89C2051单片机简介
2.1AT89C2051主要特点
AT89C2051是低电压,高性能的8位微控制器。
有PDIP(双列直接塑封)和SOIC(表面封装塑封)两种封装形式。
其主要有以下一些特点:
与MCS-51产品完全兼容;
2.7V-6.0V工作电压范围;
2K字节可编程闪烁存储器,编程次数可达1000次,同进数据可保存10年以上;
全静态操作,工作频率为0-24MHz;
128×
8字节的SRAM;
15个可编程I/O口线;
2个16位定时器/计数器;
具有空闲和掉电工作模式;
体积小。
2.2AT89C2051单片机引脚功能
AT89C2051主要由算术逻辑运算单元(ALU)、各种寄存器单元、端口锁存器及驱动和闪烁存储器等组成,引脚如图1所示,各引脚功能为:
(1)RST:
复位端,高电平复位,复位后所有I/O口均为高电平,除SP为07外,其余寄存器均清零。
(2)XTAL1、XTAL2:
分别为片内振荡器中反相放大器的输入和输出端,接晶体振荡器和陶瓷振荡器均可以,连接方式如图2所示。
采用晶体振荡器时,两个无极性电容的值可选用30pF±
10pF,采用陶瓷振荡器时,值可选用40pF±
10pF。
当外接时钟信号时,可直接连至XTAL1端,XTAL2悬空。
(3)P1口:
8位双向I/O口,P1.1~P1.7均有内部上拉电阻,而P1.0、P1.1因具有第二功能,分别作为片内精密比较器的同相、反相输入端,内部没有上拉电阻。
P1在闪烁存储器编程、校验时,接收和输出数据用。
(4)P3口:
P3.0~P3.5和P3.7是7位双向I/O口,均有内部上拉电阻,同P1口一样,能提供20mA的驱动吸收电流。
P3.6口为内部比较器的输出端,没有硬件输出引线,其中P3.0~P3.5还具有第二功能,如表1所示。
P3口在闪烁存储器编程和校验时主要作控制信号用。
表1P3.0~P3.5的第二功能
脚名
扩展第二功能
P3.0
RXD(串行数据输入端)
P3.1
TXD(串行数据输入端)
P3.2
INTO(外部中断0)
P3.3
INTO(外部中断1)
P3.4
T0(外部定时器0输入)
P3.5
T0(外部定时器1输入)
2.3芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C2051设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.4振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3硬件电路设计
3.1功能介绍
电路如图3所示
(1)独立的倒计时。
均可独立设置启动、关闭。
(2)范围:
0~1小时,可任意设定。
关机后数据不丢失。
计时精度高:
<
0.1S
(3)独立的三路输出:
a:
第1路蜂鸣器输出:
蜂鸣器报警;
b:
第2路LED数码显示管输出:
显示剩余工作时间;
c:
第3路PNP晶体管输出:
控制D1,D2
图3电路原理图
3.2工作原理
电路说明:
LED数码管采用共阴高亮型,发光二极管D1,D2分别代表洗衣机的洗涤和脱水电路。
如图3整机由AT89C2051、两位LED数码管、K1-K3、R、T等元器件组成。
AT89C2051内部T1定时器完成定时中断功能。
为了减少硬件,由AT89C2051的P1口直接输出LED的段码,BCD转换由软件完成。
位选码由P3.0,P3.1输出。
键盘与单片机P3.7,P3.3脚相接,另一端接地。
由于89C2051的灌入电流:
20mA。
故直接驱动:
蜂鸣器、PNP晶体管、LED数码管。
接通电源后,C1,C2,CY起振,产生一个时钟周期信号(1/12us),单片机开始工作。
K1用着调整电路工作的时间,电路进入工作状态,第一次按下K2键,由P3.4脚发出一个低电平,三极管Q1导通,发光二极管D1亮(即接通洗衣机洗涤电路),此时LED数码管所显示的时间进入倒计时。
当时间显示为0时,P3.4脚发出高电平信号,Q1截止,D1熄灭,蜂鸣器报警;
当第二次按K2键时,通过K1确定工作时间过后,管脚P3.5发出一个低电平,Q2导通,D1亮(即接通洗衣机脱水电路),LED开始倒计时。
当时间显示为0时,P3.5脚发出一个高电平,Q2截止,D2熄灭,蜂鸣器报警;
K3直接使单片机复位,从新开始工作。
3.3操作说明
电路中设有K1~K3三个开关:
功能如下:
K1:
电路工作时间设置。
接上电源后:
LED显示定时时间,每按下一次时间就会增加5分钟,当增加到60分钟时,若再按一次K1时间又变成0,再次按K1时时间又会依次增加5分钟。
K2:
转换两个电路D1,D2的工作状态。
K3:
复位。
复位AT89C2051,把MCU从掉电模式拉出重新启动。
以上电路定时初值及启动状态均可时时改变。
3.4注意事项
(1)当MCU用6MHz晶振时,工作电压可在2.6-5.5V之间。
(2)外接继电器,请注意工作电压,及晶体管的保护。
4软件编制
4.1指令使用限制
(1)At89C2051内部有19个专用寄存器,比At89C51少了P0、P2两个专用寄存器。
(2)At89C2051含有2k字节闪电存储器用来存放程序,与MCS-51体系结构完全兼容,可用MCS-51指令系统对其进行程序设计。
(3)因为At89C2051内部只有2k字节程序存储器,所以,所有跳转指令之目的地址必须落在该器件2k字节的程序存储器物理空间之内。
例如:
LJMP7EOH指令有效,而LJMP900H则无效。
分支指令:
LCALL、LJMP、ACALL、SJMP等无条件分支指令,只要保证它们的目的地址一定落在000H~7FFH范围内就可执行无误;
超出物理空间的界限就会引起不可知的程序执行结果。
CJNE、DJNE、JB、JNB等无条件分支指令,也须遵从上述规则。
另外,MOVX指令:
At89C2051不可外扩数据存储器,亦不可外扩程序存储器。
故在程序中不应包括访问片外数据存储器的MOVX指令。
4.2闪电存储器的编程
AT89C2051片内存储器售后通常处于擦除状态,即每个地址单元内容均为FFH,人们可随时对其编程。
编程电压Vpp有高压12V的,也有低压5V的。
低压编程方式可以实现在用户系统内对AT89C2051进行编程;
而高压编程方式则与常规闪电存储器或EPROM编程相兼容。
在这两种编程方式下,AT89C2051代入程序阵列均是逐个字节编程的,为了对片内闪电存储器任一非空白字节进行编程,必须用芯片擦除方式将整个存储器擦掉。
4.3程序设计
软件流程图4在T1中断程序中做一个软时钟,在定时处理程序不查寻时间,并根据每路的启动状态,判别是否要加减数。
每路倒计时到"
0"
后,均要判别其它两路是否已启动。
如果没有启动,则CPU进入掉电模式,电流<
1.5uA,因此电路中无电源开关,再次启动,由K3(复位键)完成。
每路倒计数的初值、启动状态(是否开始倒计数),均可单独设定并存在89c2015的RAM中,只要不断电,数据不会改变。
5结论与展望
本系统经过多次测试,本洗衣机数显时间控制系统结构简单,时间控制精确,具有一定的实际应用价值。
电路都能正常工作,能对时间控制程序作出很快的反应,实时性较好,完全可以应用于洗衣机的时间控制电路。
同时,本系统也还有需要完善的地方,如通过不同的按键实现时间的加减,以及自动从洗涤程序和进入脱水程序的控制,以达到更加智能的目的。
全自动洗衣机是目前洗衣机当中自能化、可视化性能较好的一种高端产品。
目前只应用于高档次洗衣机中,且成本较高,使用寿命较短。
因此今后洗衣机会朝着更加自能化,普及化,延长其使用寿命,降低其成本等这种方向发展。
参考文献
[1]王卫.王冬梅,AT89C2051单片机性能、特点及应用[J]《数字化期刊》,2000,4,35—36
[2]金文,高性能单片机AT89C2051/AT89C2051的原理及应用[J]《国外电子元器件》,1997,9,27-30
[3]赵巧娥.魏文,AT89C2051单片机的LED数显接口技术[J]《电力学报》,2000,15(4):
270—273
[4]刘桂华.马建国.于春梅,定时控制电器的可编程逻辑器件的实现[J]《西南工学院学报》,2001,16(3):
7—11
[5]苏检德.陈赤.覃以威.肖前勇,基于AT89C2051控制芯片的电子计时器设计[J]《广西物理报》,2003,24
(1)7—8
[6]常春玲.薛志勇.朱玫,用EPROM设计定时控制电路[J]《大连大学学报》,2001,8,78—81
[7]王惠娟.肖洋,洗衣机时序控制器及线束检测系统[J]《大众科技》,2005,4,78—79
[8]林义周,基于51单片机的全自动洗衣机控制器[J]《科技资讯》,2005,33—34
[9]畅艺峰.杨银堂.柴常春.马涛,数字显示电路的设计与多芯片组件封装实现[J]《电路与系统学报》,2005,6,10(3):
129—131
[10]马岩,AT89C2051单片机对显示驱动芯片MC14499的IC级代换[J]《电测与仪表》,2002,50—52
[11]杜开,AT89C2051单片机编程器[J]《电子技术应用》,1997,53—54
[12]袁建虎.黄石红.尤峻,LCD液晶显示模块在工程装备计时系统中应用[J]《微计算机信息》2003,48—
附录
软件程序
#include"
reg52.h"
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
sbitP3_0=P3^0;
sbitP3_1=P3^1;
sbitP3_3=P3^3;
sbitP3_7=P3^7;
sbitP3_4=P3^4;
sbitP3_5=P3^5;
sbitP3_2=P3^2;
sbitP1_7=P1^7;
bitflag;
bitflaglow;
bitflaghigh;
ucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
ucharcodetablebit[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
ucharcodetable1[]={0xfd,0xfe};
ucharbuffer[2];
ucharsecond,minte,count;
unsignedcharcountlow;
voidcheckbell(void);
voiddelay(void)
{
uchari;
for(i=0;
i<
255;
i++);
}
voiddelay1(void)
uchari,j;
180;
i++)
for(j=0;
j<
j++);
voiddisplay(void)
if(flaglow==0)
P1=table[buffer[0]];
delay();
P3_0=0;
P3_1=1;
P1=table[buffer[1]];
P3_1=0;
P3_0=1;
if(flaglow==1)
P1=tablebit[buffer[0]];
P1=tablebit[buffer[1]];
if(flaghigh==1)
}
voidmain(void)
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET0=1;
TR0=1;
ET1=1;
TR1=1;
EA=1;
minte=1;
second=30;
while
(1)
{
display();
}
voidtimer0(void)interrupt1using0
count++;
if(count==10)
flaglow=0;
count=0;
countlow++;
if(countlow==2)
flaglow=1;
countlow=0;
if(second==0)
{
second=60;
minte--;
if(minte==0){checkbell();
second--;
if(second==-1)
second=59;
TR0=0;
if(minte==-1)
flaghigh=1;
second=0;
minte=0;
}
//buffer[0]=second%10;
//buffer[1]=second/10;
buffer[0]=minte%10;
buffer[1]=minte/10;
voidtimer1(void)interrupt3using3
if(P3_3==0)
delay1();
minte=minte+5;
if(minte>
=60){minte=0;
if(minte==64){minte=0;
if(flag==0)
if(P3_7==0)
P3_4=0;
P3_5=1;
flag=1;
}
if(flag==1)
P3_4=1;
P3_5=0;
flag=0;
voidcheckbell(void)
P1_7=0;
while
(1)
for(i=0;
150;
P3_2=~P3_2;
=50;
100;
=100;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 显示 洗衣 机时 电路 设计