单片机课设Word下载.docx
《单片机课设Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课设Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
先将黄豆放入豆浆的搅拌器滤网内,搅拌壶内倒入适量的水,装好搅拌机。
接上电源,蜂鸣器长鸣一声,提示已接通电源,指示灯LED亮,处于待命状态。
按下全自动启动键,开始加热,温度达到80度时,停止加热;
搅拌马达运转,将黄豆粉碎,豆浆过滤,然后马达停转,又开始加热,直到豆浆沸腾煮熟,停止加热,发出报警声,提示豆浆已做好。
若豆浆较长时间没喝而变凉,按下再加热键HEAT,加热至沸腾后,停止加热,发出报警声。
若缺水,则关闭加热器和马达,并发出急促的报警声,直到关闭电源,加好水后才能工作。
选择这种方案的原因是:
(1)加工方式是全自动。
(2)粉碎黄豆前加热可以提高工作效率;
缩短粉碎后加热至豆浆沸腾时间,防止粉碎后煮浆时间过长所易造成的糊锅现象。
二、功能分析
豆浆机的控制系统以单片机AT89C51为控制核心,结合控制传感器,加热及打浆电路,防干烧电路及防溢电路,声光报警等控制,达到只要启动豆浆机以后,所有的控制过程都实现完全自动化的目的。
硬件上豆浆机的控制系统首先需要有一个单片机芯片作为控制核心来控制它的工作过程,开始时需要把水加热到80℃,这久需要一个温度传感器,这里采用NTC热敏电阻温度传感器,因为它灵敏度高、反应快,只是因为该温度传感器采用模拟量测量过,需要A/D转换。
由于豆浆机需要使用防干烧电极防止出现干烧情况,所以这里采用一个探针来代替传感器。
给豆浆机加热完毕后,需要启动电机开始打浆,这里选用单相串励电机,因为串励电机具有机动转矩大、过载能力强、体积小、重量轻等很多优点,并且改类型电机在家用电器使用很普遍。
当打完浆后,需要对豆浆再次加热,这里就用到防溢的装置,与防干烧装置一样,沸腾溢出装置同样采用探针来替代了传感器。
对豆浆防溢延煮后,预示着豆浆加工完成了,最后发出声光报警信号,这里选用一个报警器和发光二极管。
软件上就是对单片机的编程,在编程前需要画出一个流程图,根据豆浆机控制系统的设计要求及目的,即插上电源、按下启动按钮并且选择功能后,如果选择功能一(干豆),且没有出现水位过低的情况,先延时2秒,然后启动加热装置对水加热。
(1)当水温达到了80℃左右,豆浆机停止加热。
(2)进入打浆共5次,每次15秒,间隔5秒。
(3)加热3分钟。
(4)加工结束报警。
三、硬件设计
整个电源电路如图4.1所示,控制电路采用变压器降压、晶体二极管整流等方法获得工作电源。
当电源接入220V交流电,TR1开始对220V交流电进行降压,从次级输出12V左右的低压交流电,从而适应电路的使用要求。
整流硅对次级输出的交流电进行桥式整流,再由E2、C2进行滤波,已形成较平滑的直流电,送给三端集成正输出稳压器78L05进行稳压调整。
经78L05稳压作用后输出+5V的直流电压,经E3、C3滤波后输出纹波很低的+5V电压,作为单片机的工作电源,以保证单片机工作时的稳定和可靠。
豆浆机控制系统的电源电路
市面上的单片机很多,本设计采用AT89C51。
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采ATMEL
公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元功能强大的AT89C51单片机可适用于提高许多高性价比的应用场合,可灵活应用于各种控制领域。
单片机的简介
(1)主要性能参数
兼容MCS-51产品指令系统完全兼容,4K字节可重擦写Flash闪速存储器,1000次擦写周期,全静态操作:
0Hz-24MHz,128×
8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器,6个中断源,可编程串行UART通道,低耗空闲和掉电模式
(2)引脚功能
引脚如图所示
温度检测电路的设计
当豆浆机正常工作时,需要先加热到80℃左右的温度,然后停止加热继续下一步的工作,所以这就需要一个温度传感器来检测水温,这里我选用的是NTC热敏电阻温度传感器,选择它是灵敏度高、反应迅速;
电阻值和B值精度高、一致性互换性好;
采用双层密封工艺,具有良好的绝缘密封性和抗机械碰撞、抗折弯能力、稳定性好、可靠性高。
NTC热敏电阻温度传感器简介
热敏电阻传感器是对温度敏感的电阻器的总称,是半导体测温元件。
按温度系数分为负温度系数热敏电阻(NTC)和正温度系数热敏电阻(PIC)两大类。
NIC热敏电阻以MF为其型号,PIC热敏电阻以MZ为其型号。
负温度系数热敏电阻大多是由Mn(锰)、Ni(镍)、Co(钴)、Fe(铁)、Cu(铜)等金属氧化物经过烧结而成的半导体材料制成,具有很高的灵敏度和良好的性能,被大量作为温度传感器使用。
NTC负温度系数热敏电阻传感器是温度下降时它的电阻值会升高。
在所有被动式温度传感器中,热敏电阻的灵敏度(即温度每变化1。
c日寸电阻的变化)最高,但热敏电阻的电阻腽度曲线是非线性的。
表4.2中数据是对Vishay-Dale热敏电阻系列测得的NIC热敏电阻器性能参数。
从数据可以看出:
25℃时阻值为10ΚΩ的电阻,在0C℃寸电阻为28.1ΚΩ,60℃时电阻为4.086ΚΩ。
与此类似,25℃时电阻为5ΚΩ的热敏电阻在0℃时电阻则为14.050ΚΩ。
其中电阻值以一个比率形式给出(R。
/R2),该比率表示当前温度下的阻值与25℃时的阻值之比,通常同一系列的热敏电阻器具有类似的特性和相同电阻温度曲线。
热敏电阻传感器的测温接口电路
ADC0809简介
ADC0809是一种典型的A/D转换器。
它是采用主次逼近方法的8位8通道A/D转换器。
+5V
单电源供电。
转换时间在100us左右。
ADC0809为28引脚,双列直插芯片,其引脚如图所示。
各引脚功能如下:
IN0-IN7:
8路模拟量输入端;
D7-D0:
8位数字量输出端口;
START:
A/D转换启动信号输入端;
ALE:
地址锁存允许信号,高电平有效;
EOC:
转换结束信号,高电平有效;
OE:
输出允许控制信号,高电平有效;
CLK:
时钟信号输入端;
A、B、C:
转换通道的地址;
VREF(-):
参考电源的负端;
VREF(+):
参考电源的正端;
①AD0809的逻辑结构:
ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址
锁存译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的
数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
②AD0809的工作原理:
N0-IN7:
8条模拟量输入通道。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;
输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如表4.3所示。
C
B
A
选择的通道
IN0
1
IN1
IN2
IN3
IN4
IN5
IN6
IN7
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;
下跳沿时,开始进行A/D转换;
在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;
否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;
OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
③ADC0809应用说明:
⑴ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
⑵初始化时,使ST和OE信号全为低电平。
⑶送要转换的哪一通道的地址到A,B,C端口上。
⑷在ST端给出一个至少有100ns宽的正脉冲信号。
⑸是否转换完毕,我们根据EOC信号来判断。
⑹当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
放大器LM324简介
LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
每一组运算放大器可用图4.6所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输
出端Vo的信号与该输入端的相位相反;
Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324的引脚排列见图。
①同相交流放大器同相交流放大器的特点是输入阻抗高。
其中的R1、R2组成1/2V+分压电路,
通过R3对运放进行偏置。
此电路可将输入交流信号分成三路输出,三路信号可分别用作指示、控制、分析等用途。
而对信号源的影响极小。
因运放Ai输入电阻高,运放A1-A4均把输出端直接接到负输入端,信号输入至正输入端,相当于同相放大状态时Rf=0的情况,故各放大器电压放大倍数均为1,与分立元件组成的射极跟随器作用相同。
电路的电压放大倍数Av也仅由外接电阻决定:
Av=1+Rf/R4,电路输入电阻为R3。
R4的阻值范围为几千欧姆到几十千欧姆。
图为典型的同相交流放大器线路。
②测温电路
感温探头采用一只硅三极管3DG6,把它接成二极管形式。
硅晶体管发射结电压的温度系数约为-2.5mV/℃,即温度每上升1度,发射结电压变会下降2.5mV。
运放A1连接成同相直流放大形式,温度越高,晶体管BG1压降越小,运放A1同相输入端的电压就越低,输出端的电压也越低。
这是一个线性放大过程。
在A1输出端接上测量或处理电路,便可对温度进行指示或进行其它自动控制。
图为典型的测温电路。
③比较器
当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运放的开环放大倍数也为无穷大(实际上是很大,如LM324运放开环放大倍数为100dB,既10万倍)。
此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地)。
当正输入端电压高于负输入端电压时,运放输出低电平。
图4.9为比较器接线电路。
使用两个运放组成一个电压上下限比较器,电阻R1、R1ˊ组成分压电路,为运放A1设定比较电平U1;
电阻R2、R2ˊ组成分压电路,为运放A2设定比较电平U2。
输入电压U1同时加到A1的正输入端和A2的负输入端之间,当Ui>
U1时,运放A1输出高电平;
当Ui<
U2时,运放A2输出高电平。
运放A1、A2只要有一个输出高电平,晶体管BG1就会导通,发光二极管LED就会点亮。
若选择U1>
U2,则当输入电压Ui越出[U2,U1]区间范围时,LED点亮,这便是一个电压双限指示器。
若选择U2>
U1,则当输入电压在[U2,U1]区间范围时,LED点亮,这是一个“窗口”电压指示器。
此电路与各类传感器配合使用,稍加变通,便可用于各种物理量的双限检测、短路、断路报警等。
四分频电路设计
四分频电路通过两个74LS74实现对输入脉冲的四分频,它的接线如图
引脚:
11端与3端为原时钟输入端;
5端与9端为变换后的时钟输出端;
2端与6端联接,8端与12端联接;
7端接电源负极、14端接电源正极;
分频:
1,2,3,4,5,6为一组,8,9,10,11,12,13为一组;
如果要得到四分频,原时钟需接3端并且5端接11端,9端为四分频输出端;
或者是原时钟接11端。
NTC热敏电阻与单片机AT89C51的接口设计
温度传感器与单片机AT89C51的接口设计如图4.11所示。
热敏电阻的变化电压通过ADC0809
转换后送给单片机,完成温度检测过程。
AD0809的ADDA、ADDB、ADDC口接地。
MSB口接单片机P0口,GND口、VREF(-)口接地,VCC、VREF(+)口接+5V,IN0口接放大器的输出口。
CLOCK口接四分频脉冲输出口、四分频输入口接单片机ALE口,OE口通过或非门接单片机P2.0口及RD口,ALE、START口均通过或非门接单片机P2.0口、WR口,EOC口通过非门接INT1口。
温度传感器与单片机AT89C51的连接图
加热及打浆电路的设计
加热电路的作用是通过加热管把磨成粉末的黄豆煮熟,本设计使用的加热器的功率为800W;
磨浆电路的作用是通过电机把黄豆搅拌成粉沫,电机选用的是单相串励电机,由于单相串励电动机具有起动转矩大、过载能力强、调速方便、体积小、重量轻等很多优点,在家用电器中普遍使用。
单片机输出电流经三极管放大,来驱动继电器闭合,使加热管发热把豆浆煮熟。
同理,继电器闭合使电机运转把黄豆搅碎。
加热及打浆电路的工作原理如图所示,加热及磨浆电路由继电器RL1、RL2,三极管Q1、Q2,电阻R14、R15以及二极管Dl、D2,单片机AT89C51。
当单片机工作时,赋给Pl.l一个高电平,使三极管Q2饱和导通,电流流过继电器RL2,使触点闭合,于是加热管通电开始对水加热,当温度达到80度时,NTC温度传感器将温度信号传给单片机,单片机检测到这个信号后,使P1.1脚变为低电平,三极管Q2截止,继电器触点断开,电阻停止加热。
加热结束后,单片机P1.0脚变为高电平,使三极管RL1饱和导通,从而让继电器触点闭合,于是电机通电开始打浆,在系统程序得控制下,电机进行打浆。
电机运转20秒或者15秒后,单片机P1.0脚变为低电平,使三极管Q1截止,继电器触点断开,电机停止打浆,问歇10秒后,单片机P1.0脚又恢复为高电平,从而继续驱动电机工作,如此循环6次或4
次后打浆结束。
防干烧及防溢出电路的设计
防干烧及防溢出电路的作用是以传感器作为信息采集系统的前端单元来控制自动豆浆机缺水时干烧及沸腾溢出等问题。
这单采用探针作为传感器来检测水位及沸腾溢出,然后通过比较器输出高低电平,这样就可以通过单片机检测比较器输出电平的高低来检测水位及沸腾时的溢出状态。
水位检测及沸腾溢出电路的原理如图所示,K1,K2分别是水位检测传感器和沸腾溢出传感器,为了减少成本,这单采用探针来代替这两个传感器,使用中将接控制电路的公共点“地”,探针分别通过传输。
单片机的P3.2,P1.3端连接。
正常工作时,Kl被水淹没,它和地之问的电阻较小,与R13共同对+5V分压,U+得到比U-低的电平,比较器输出低电平。
缺水时,Kl露出水面,它的电阻很大,R13共同对+5V分压,U+得到比U-高的电压,比较器输出高电平,通过非门后输出低电平产生下降沿。
用软件检测比较器的电平变化,便知是否缺水。
用同样的方法检测豆浆是否沸腾溢出。
豆浆沸腾之前,电极K2远离水而,它和地之间的电阻很大,与R9共同对+5V分压,U+得到比U-高的电压,比较器输出高电平。
豆浆沸腾时,泡沫淹没K2,电阻小,与R14共同对+5V分压,U+得到比U-低的电压,比较器输出低电平。
用软件检测比较器的输出电平,便知豆浆是否沸腾溢出。
报警电路的设计
报警电路的作州是通过蜂呜器发出声音信号,提醒豆浆已经煮好了。
声音信号电流从单片机的P1.5脚输入到蜂鸣器LSl发出声音。
报警电路如图4.12所示,报警电路由单片机AT89C51与蜂鸣器LS1、发光二极管组成。
通过事先编写的程序,在单片机的控制下,系统开始工作,当加热完成后,单片机P1.4、P1.5脚自动输出一个高低平,使蜂鸣器、发光二极管通电导通,于是蜂鸣器LS1发出报警,提醒豆浆加热完成。
复位电路的设计
一般的复位电路干扰易串入复位端,虽然在大多数情况下不会造成单片机的错误复位,但哟可能引起内部某些寄存器错误复位。
在应用系统中,为了保证复位鼎炉可靠地工作,常将RC电路在接斯密特电路后再接入单片机复位端及外围电路复位端。
如图所示
时钟电路及按键设计
该单片机控制系统采用内部方式产生。
内部时钟电路如图4.14所示。
外接晶体以及电容C1、C2构成并联谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡,一般晶振可在2~12MHz之间任选。
对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。
外接晶体时,C1和C2通常选30pF左右;
外接陶瓷谐振器时,C1、C2的典型值为47pF。
时钟电路及按键电路
按键电路是通过+5V和两个接在P1.6口、P1.7口连接形成通路,按键按下时,P1.6口(或P1.7口)产生高电平,单片机通过软件检测电平就可以知道是什么功能。
豆浆机控制系统硬件图
四、软件设计
附录豆浆机控制系统程序清单
ORG0000H
AJMPMAIN
ORG0003H
AJMPFGS
MAIN:
SETBIT0;
选择边缘触发方式
SETBEX0;
允许外部中断0
SETBEA;
CPU允许中断
功能选择程序
GNXE:
JNBP1.6,GN1;
干豆豆浆
JNBP1.7,GN2;
湿豆豆浆
豆浆工作程序
GN1:
SETBP1.1;
启动加热
MOVR1,#0FH;
设置循环15次
ACALLAA0;
调用
MOVB,3