单片机课程设计 豆浆机.docx

上传人:b****2 文档编号:2572889 上传时间:2023-05-04 格式:DOCX 页数:17 大小:434.87KB
下载 相关 举报
单片机课程设计 豆浆机.docx_第1页
第1页 / 共17页
单片机课程设计 豆浆机.docx_第2页
第2页 / 共17页
单片机课程设计 豆浆机.docx_第3页
第3页 / 共17页
单片机课程设计 豆浆机.docx_第4页
第4页 / 共17页
单片机课程设计 豆浆机.docx_第5页
第5页 / 共17页
单片机课程设计 豆浆机.docx_第6页
第6页 / 共17页
单片机课程设计 豆浆机.docx_第7页
第7页 / 共17页
单片机课程设计 豆浆机.docx_第8页
第8页 / 共17页
单片机课程设计 豆浆机.docx_第9页
第9页 / 共17页
单片机课程设计 豆浆机.docx_第10页
第10页 / 共17页
单片机课程设计 豆浆机.docx_第11页
第11页 / 共17页
单片机课程设计 豆浆机.docx_第12页
第12页 / 共17页
单片机课程设计 豆浆机.docx_第13页
第13页 / 共17页
单片机课程设计 豆浆机.docx_第14页
第14页 / 共17页
单片机课程设计 豆浆机.docx_第15页
第15页 / 共17页
单片机课程设计 豆浆机.docx_第16页
第16页 / 共17页
单片机课程设计 豆浆机.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计 豆浆机.docx

《单片机课程设计 豆浆机.docx》由会员分享,可在线阅读,更多相关《单片机课程设计 豆浆机.docx(17页珍藏版)》请在冰点文库上搜索。

单片机课程设计 豆浆机.docx

单片机课程设计豆浆机

电气与电子信息工程学院

《单片机》课程设计报告

  题目:

智能豆浆机

专业班级:

电气工程及其自动化2012级(3)班

学  号:

201240220326   

姓名:

李越

同组人:

陈俊亚

指导教师:

胡蔷黄磊

设计时间:

2014年12月15日—2014年12月19日

设计地点:

K2-407单片机、微机原理实验室

课程设计任务书

2014~2015学年第1学期

一、课程设计题目:

(智能豆浆机)

二、课程设计要求

1.根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。

要求概念清楚、方案合理、方法正确、步骤完整;

2.熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;

3.熟练使用单片机汇编语言或C51进行软件设计;

4.熟练使用Proteus、Keil软件进行仿真电路测试;

5.熟练使用Protel软件设计印刷电路板;

6.学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;

7.编写设计报告,参考毕业设计论文格式。

(1)根据课题要求确定系统设计方案;

(2)绘制系统框图、系统仿真原理图(印刷电路板图),列出元器件明细表;

(3)计算电路参数和选择元器件,画出软件流程图(列出程序清单);

(4)打印仿真结果,根据测试结果进行误差分析与修改调整;

(5)对设计进行全面总结。

3、课程设计内容(含技术指标)

本次设计采用单片机AT89S52来实现全智能豆浆机各个功能的控制,只要功能内容如下:

1.针对食品原料的物理特性不同,在加工处理时采用三种不同的工作模式,其主要区别在于粉碎和加热时间长短不同,用蓝色、黄色LED灯分别来表示加热、粉碎过程。

2.不同的工作模式、温度、加热与粉碎设定时间,以及其剩余时间都用数码管显示出来。

3.当液位溢出或干烧状态时,实现立即停止工作,蜂鸣器发出声音产生报警(以中断方式采用拨码开关来模拟)。

4.每个模式工作完成后自动报警。

1.总体方案

1.1引言

随着我们生活水平的提高,五谷杂粮成为了当今人们的健康理念。

豆浆越来越受到大家的喜爱,豆浆不仅营养价值高,更是许多爱美、养生人士的必备补品。

今天就来介绍由单片机AT89C52来控制的全智能豆浆机。

豆浆机的工作过程主要是加热和粉碎,通过键盘来选择三种工作模式,区别仅仅是加热、粉碎时间不同。

豆浆机出现干烧、溢出时采用外部中断INT0(P3^2)和INT1(P3^3)来实现,设为高优先级中断,豆浆机立即停止工作,产生报警。

加热与粉碎分别用不同颜色的LED灯来显示,同时工作模式、粉碎加热时间以及温度显示都用数码管一一显示。

每个工作模式完成后,蜂鸣器便会发出声音来提醒用户豆浆做好了。

1.2设计思路

本次设计的智能豆浆机主要由温度传感器、防溢防干烧电路、复位电路、按键电路、加热粉碎电路、报警电路以及六位数码管组成。

其中防溢防干烧电路以中断方式采用拨码开关来模拟,采用蜂鸣器与红色LED灯进行声光报警。

加热粉碎电路中,分别采用两个不同颜色的LED灯来显示,在工作状态时,LED灯点亮。

设定工作模式有三种,模式1:

上电后按键按下1(工作模式1),豆浆机自动检测有无溢出、干烧状况,确保无误后开始正常工作,否则产生报警。

工作过程是加热----粉碎----加热----粉碎----加热。

加热3分钟,粉碎3分钟,一共是45分钟。

在程序中用1s代替1分钟,也就是45s,每个工作模式完成后豆浆机以报警来提醒用户,三种工作模式区别仅在于加热粉碎时间长短不同。

键盘上设置了1~4按键,按键1~3是用来选择工作模式,按键4是用来显示温度。

设计中采用DS18B20是一线式数字温度传感器,通过键盘扫描,当四键按下时测量液体温度,并将温度显示五秒,显示之后为初始值。

六位LED动态显示数码管,第一位来显示工作模式,第二三位显示加热粉碎设置时间,后三位则是正计时。

1.3原理框图

本智能豆浆机控制系统设计原理如下图所示:

图1-1智能豆浆机控制系统框图

系统主要有:

显示模块、时钟模块、复位模块、定时控制模块、按键模块。

说明:

AT89C52的P0口接74LS245的A0~A7口,用来驱动数码管显示,完成数据传输;单片机P1.0~P1.2口接74LS138的A,B,C端口,P1.3口接温度传感器通过数码管来显示温度,P2.1~P2.3接键盘的1、2、3来控制豆浆机模式的选择,P2.5~P2.7接键盘的A、B、C端来控制温度显示、粉碎溢出的功能;P3.2与P3.3两个外部中断来处理溢出、干烧的状况;P3.6~P3.7接两个LED灯分别表示加热和粉碎。

2.系统硬件设计

2.1单片机AT89C52

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。

P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。

外部不扩展而单片应用时,则作一般双向I/O口用。

P0口每一个引脚可以推动8个LSTTL负载。

  

P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。

外部不扩展而单片应用时,则作一般双向I/O口用。

每一个引脚可以推动4个LSTL负载。

  

P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。

仅供用户作为输入输出用的端口。

  

P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。

功能部件及特性:

1、兼容MCS51指令系统

2、8kB可反复擦写(大于1000次)FlashROM;

3、32个双向I/O口;

4、256x8bit内部RAM;

5、3个16位可编程定时/计数器中断;

6、时钟频率0-24MHz;

7、2个串行中断,可编程UART串行通道;

8、2个外部中断源,共8个中断源;

9、2个读写中断口线,3级加密位;

10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

本次设计使用到的功能有:

1)复位信号输入端RST,本设计中我们使用的是上电自动复位,其是通过外部复位电路的电容充电来实现的,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源即可完成系统复位初始化。

2)P1口作为单功能的I/O口,P1.0~P1.2接到138译码器的输入端,输出端又接245总线收发器,通过245总线收发器连接数码管的位选端。

P1.3接到温度传感器的输入端DQ,来驱动温度显示。

3)P0口在本次设计中作为低八位数据输出,由于P0口驱动负载能力有限,所以通过连接芯片245来驱动数码管。

4)P2口作为高八位地址输出线,它与P0口输出的低八位地址一起构成16位地址,可以寻址64KB的地址空间。

在设计中用来控制键盘输入。

5)两个外部中断请求INT0和INT1,低电平有效。

位于P3口的P3.2和P3.3.INT0:

外部中断请求0,中断请求信号由INT0引脚输入,中断请求标志为IE0。

INT1:

外部中断请求1,中断请求信号由INT1引脚输入,中断请求标志为IE1。

P3.6、P3.7分别用来控制加热、粉碎电路。

2.2温度检测电路设计

图2-1温度检测电路

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚T0-92小体积封装形式,温度测量范围为-55度到+125度,可编程为9位-12位A/D转换精度,测温分辨率可达0.0625度,被测温度用符号扩展的16位数字量方式串行输出。

DS18B20的技术特性:

1、独特的单线接口方式,DS18B20在与单片机相连时仅需一条线即可实现单片机与DS18B20的双向通讯,为读写以及温度转换可以从数据线本身获取能量,所以不需要外接电源。

2、测量温度范围为-55~125摄氏度;

3、工作电源为3.0~5.5V;

4、在使用中不需要任何外围元件;

5、测量结果以9~12位数字量方式串行传送;

6、每一个DS18B20包含一个特殊的序号,多个DS18B20可以同时存在于同

条总线,可以对室温进行监测和控制,引脚DQ接单片机P1.3口。

由于独特的一线接口,只需要一条口线通信,DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。

当VDD端口接3.0V—5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。

无论是内部寄生电源还是外部供电,电路图图所示。

2.3复位电路的设计

 

图2-2复位电路

整个复位电路包括芯片内、外两部分。

外部电路产生的复位信号(RST)送斯密特触发器,再有片内复位电路在每个机器周期的S5P2时刻对斯密特触发器的输出进行采样,然后才得到内部复位操作所需的信号。

 

本设计中我们使用的是上电自动复位,其是通过外部复位电路的电容充电来实现的,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源即可完成系统复位初始化。

如图所示

2.4报警电路的设计

图2-3报警电路

在豆浆机控制系统的设计中,我们设计了当豆浆机干烧和豆浆制作完成两种情况的蜂鸣报警,声音信号电流从单片机的P3.2脚输入到蜂鸣器发出声音,通过事先编写的程序,在单片机的控制下,系统开始工作,当上述两种情况中的一种发生时,单片机P3.2脚自动输出一个高平,使蜂鸣器通电导通,于是蜂鸣器发出报警,提醒用户。

2.5按键电路

图2-4按键电路

单片机的P2.1~P2.3接键盘的3、2、1来控制豆浆机模式的选择,按下键1时选择模式一,按下键2时选择模式二,按下键3时选择模式三;P2.5~P2.7接键盘的A、B、C端来控制温度显示、粉碎溢出的功能。

如图所示

2.6芯片74LS245

图2-574LS245引脚图

在这里用来驱动数码管,它是8路同相三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当AT89C52单片机的P0口输出到数码管,那就要考虑到数码管的亮度以及P0口带负载的能力,选用74LS245提高驱动能力。

P0口的输出经过74LS245提高驱动后,输出到数码管显示电路,AB/BA端接高电平时表示数据传输从A到B,若接低电平是则表示数据传输从B到A。

2.7芯片74LS138

图2-674LS138引脚图

当一个选通端(E1)为高电平,另两个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。

A0~A对应Y0~Y7;A0,A1,A2以二进制形式输入,然后转换成十进制,对应相应Y的序号输出低电平。

2.8共阴极数码管

图2-7数码管驱动电路

采用动态扫描法显示LED数码管。

AT89C52的P1.0,P1.1,P1.2与74LS138的A,B,C连接74LS138通过74LS245与LED数码管的阴极相连来选择数码管,用P0口通过一片74LS245与数码管的阳极相连,P2口与键盘连接,传感器18B20与P1.3口相连构成温度控制。

2.9防溢、防干烧电路

使用单片机P3.2和P3.3两个外部中断来处理水位溢出、干烧状况。

(以中断方式采用拨码开关来模拟)加热和粉碎采用不同颜色的LED灯来显示工作状态。

图2-8防溢防干烧电路

3.系统软件设计

3.1系统程序流程图

图3-1系统程序流程图

4.仿真结果及其分析

4.1仿真原理图

图4-1仿真原理图

4.2仿真工作模式1

图4-2模式1的仿真

按下按键1,则表示工作在模式1状态下,数码管第一位表示工作模式,第2、3位分别表示加热、粉碎的时间,后三位是正计时。

工作1模式完成后,豆浆机将自动报警提醒用户。

图中可见,在工作第2秒时,加热状态LED灯点亮,豆浆机在加热状态,在随后的时间里会看到粉碎状态也会点亮。

4.3仿真工作模式2

图4-3模式2的仿真

按下按键2,表示工作在模式2状态下,加热4分钟,粉碎四分钟,也就是数码管前三位244.后三位是正计时。

加热LED灯与粉碎LED灯在工作状态时就会点亮。

4.4仿真工作模式3

图4-4模式3的仿真

按下按键3,表示工作在模式3状态下,加热5分钟,粉碎5分钟,也就是数码管前三位355.后三位是正计时。

加热LED灯与粉碎LED灯在工作状态时就会点亮。

4.5温度显示

图4-5温度显示仿真

按下按键4,将显示此时工作温度。

4.6报警仿真

图4-6报警仿真

任一个开关溢出或干烧合上,或是工作模式完成,则蜂鸣报警,如图可见,报警指示灯红灯点亮。

5.总结

本设计主要由单片机系统、数码管显示、键盘、报警系统组成。

系统主要实现模式选择,在规定时间内完成加热、粉碎,温度显示,在豆浆机干烧、溢出和豆浆制作完成两种情况的蜂鸣报警等功能。

由于豆浆机是在单片机的控制下运行,所以在设计中,加热、粉碎电路是用两个LED灯来模拟显示的,灯亮就表示在工作状态。

以及防止溢出、干烧电路以中断方式采用拨码开关来模拟。

与实物设计存在一定差别。

第一次完成单片机设计,发现问题重重,自己在单片机学习上有待提高,以至于在体现豆浆机的智能性上不全面,比如,在豆浆机加热时,温度到达某一值时,系统将自动停止加热,而是保温。

这样既省电又环保。

另外,中断产生后系统不能回复原来的程序,只能重新工作。

最后,关于每个工作模式完成后自动报警时,如果设置成报警蜂鸣器响3下,然后自动断电,这样在用户不能及时关掉电源时,蜂鸣器就不会一直响,噪音太大。

通过这次豆浆机的设计,受益匪浅,让我提高了对单片机的学习,keil和proteus是非常好用的工具用于单片机的编程和仿真。

对软件prteus和keil的操作更进一步的熟悉,学习单片机的种种控制原理,对芯片功能,以及单片机是如何控制有了进一步的认识。

这次的课程设计联系生活且非常有趣味,把理论知识应用到实践大大提高了动手能力,在老师和同学的帮助下,各种问题一一解决,豆浆机的设计完成比较早,做出了仿真的心情很激动。

 

单片机课程设计成绩评定表

设计题目:

智能豆浆机

答辩记录:

1、报警的声音信号从哪儿来?

答:

在豆浆机控制系统的设计中,我们设计了当豆浆机干烧和豆浆制作完成两种情况的蜂鸣报警,声音信号电流从单片机的P3.2脚输入到蜂鸣器发出声音,通过事先编写的程序,在单片机的控制下,系统开始工作,当上述两种情况中的一种发生时,单片机P3.2脚自动输出一个高平,使蜂鸣器通电导通,于是蜂鸣器发出报警,提醒用户

 

2、按键电路是如何控制数码管显示的?

答:

按下按键1,则表示工作在模式1状态下,数码管第一位表示工作模式,第2、3位分别表示加热、粉碎的时间,后三位是正计时。

按下按键2,表示工作在模式2状态下,加热4分钟,粉碎四分钟,也就是数码管前三位244.后三位是正计时。

按下按键3,表示工作在模式3状态下,加热5分钟,粉碎5分钟,也就是数码管前三位355.后三位是正计时。

按下按键4,将显示此时工作温度。

 

成绩评定

考勤(10%)

答辩(20%)

仿真或实物测试(20%)

设计报告(50%)

总分

(百分制)

成绩

评语:

 

指导教师签字:

2014年12月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2