为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

厨房定时器

2019-04-18 16页 doc 72KB 13阅读

用户头像

is_906246

暂无简介

举报
厨房定时器 成都职业技术学院 项目名称 : 厨房定时器 学生姓名 : 余天麟 专业班级 :  应电113-2班 学生学号 :  11302040230 系  别  :  电 子 系  指导教师 :  林永宏  、 杨晓顺 2012 年 11 月 14 日 厨房定时器 摘要:本设计制作了厨房定时器,主要是以单片机(STC89C52),四位七段数码管和按键开关的控制电路。其特点四位数码管显示分、秒;设置定时时间(以分钟为单位),然后倒计时,直到倒计时完成后蜂鸣器响声音提示。 关键词:计时;显示;声音提示; 一、项目概述 在厨房...
厨房定时器
成都职业技术学院 项目名称 : 厨房定时器 学生姓名 : 余天麟 专业班级 :  应电113-2班 学生学号 :  11302040230 系  别  :  电 子 系  指导教师 :  林永宏  、 杨晓顺 2012 年 11 月 14 日 厨房定时器 摘要:本设计制作了厨房定时器,主要是以单片机(STC89C52),四位七段数码管和按键开关的控制电路。其特点四位数码管显示分、秒;设置定时时间(以分钟为单位),然后倒计时,直到倒计时完成后蜂鸣器响声音提示。 关键词:计时;显示;声音提示; 一、项目概述 在厨房应用中,市场上已经有各式各样定时器,功能各不相同。该项目制作以分钟为一个计时单位(起初默认是三分钟),两按键分别调整分钟的加减,一个按键控制开始计时,最多计时1小时。在倒计时完成时,蜂鸣器发出“嘟嘟”的响声,发光二极管“闪亮”,直到用户关闭定时器。 二、设计总体框图 图1 系统结构图 本系统组成如图一所示,主要由五部分组成: 1).晶振部分产生时钟信号 XTAL1(19脚):单芯片系统时钟的反向放大器输入端。 XTAL2(18脚):系统时钟的反向放大器输出端;一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入30PF的小电容,可以使系统更稳定,避免噪音干扰而死机。 图2 晶振电路 2).复位电路 如图所示,只要按此开关就能完成LED和开关的重置(复位复位电路,即上电复位和按键复位)。 图3 复位电路 3)显示电路 如图所示,显示电路为四位动态数码管显示;因为数码管显示电路分为静显示和数码显示;在后边硬件电路设计中有讨论各自的优缺点。以及为什么动态显示为最佳显示电路; 图4 动态数码管显示电路 4)按键电路 图示5 按键电路 5)报警电路 使用LED代替蜂鸣器可以直观的观察现象,而实际电路与仿真电路不同; 图6 报警电路 三、硬件电路设计 因为单片机的复位电路与晶振电路几乎都是一样,这点我们不说明这两部分电路了;而在于下边的显示电路(数码管显示),报警电路会有不同的选择; 1.显示电路部分的选择:数码管显示分为静态显示与动态显示,各有各自的优缺点。静态显示:它的原理简单,显示器中的各位相互独立,而且各位的显示字符一经确定,相应I/O口的输出将维持不变,直到显示另一个字符为止,占用CPU时间少,也正因为如此,无闪烁,静态显示器的亮度较高。但是占用的I/O口过多,所以限制了单片机连接数码管的个数。动态显示:动态显示是按位轮流点亮各位数码管的显示方式。在多位显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口实现控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选能,在任一时段,只有一位数码管显示,其它的数码管都处于熄灭状态。 : 1). 静态显示LED接口 (1)连接方法 各数码管的公共极固定接有效电平,各数码管的字形控制端分别由各自的控制信号控制。 (2)优点 LED显示亮度稳定,容易调节,编程容易,工作时占用CPU时间短。 (3)缺点 若直接用单片机输出各位数码管的字形信号时,占用单片机的I/O口线较多。一般仅适用于 显示位数较少的应用场合。 2) 动态显示LED接口 (1)连接方法 各位数码管的字形控制端对应地并在一起,由一组I/O端口进行控制,各位的公共极相互独 立,分别由不同的I/O控制信号控制。 (2)优点 节省I/O端口线 (3)缺点 显示亮度不够稳定,影响因素较多;编程较复杂,占用CPU时间较多。 因此本项目需要四个七段数码管,如果使用静态的数码管显示,则单片机的4个P口将会全部被占用,而不能再继续其他电路的扩展,所以静态显示的电路不可取。最佳电路为动态显示。动态显示的电路如图4 。 图7 总电路图 四、软件图设计: 程序设计: #include sbit led=P1^1; sbit start=P3^1; sbit sub=P3^2; sbit add=P3^3; unsigned char second=0,i=0,t=0,c=1,x;      //定义秒 unsigned char minute=5;      //定义分 unsigned char code duanma[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};    //显示断码 void delay(int c)        //去抖动延时 {                                      unsigned int i; for(i=c;i>0;i--);      } void main() { TMOD=0x11;        //工作方式选择 TH0=(65536-5000)/256;    //初值 TL0=(65536-5000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; TR0=1;              //启动定时器 //TR1=1; IE=0x8a;    //开中断 while(1) { if(led==0) { c=0; if(sub==0||start==0||add==0) { led=1; delay(30000); } } if(led==1) c=1;        if(c==1)//按键扫描 { if(start==0) { TR1=1; delay(30000); } if (add==0) { minute++; delay(30000); } if(sub==0) { minute--; delay(30000); } } } } xianshi()interrupt 1    //显示 { TH0=(65536-5000)/256;    //初值重装 TL0=(65536-5000)%256; P2=0; x++; if(x==100) x=0; if (x==99&&led==0) delay(30000); switch(i) { case 0:    P2=duanma[minute/10];P3=0xef;break;  //送断码 和选位码信号 case 1:    P2=duanma[minute%10];P3=0xdf;break; case 2:    P2=duanma[second/10];P3=0xbf;break; case 3:    P2=duanma[second%10];P3=0x7f;break; } i++;    if(i==4) i=0; if(minute==0xff) minute=99; if(minute>99) minute=0;    } dingshi()interrupt 3  //定时 { TH1=(65536-50000)/256; //初值重装 TL1=(65536-50000)%256; t++; if(t==20) { t=0; second--; } if(second==0&&minute==0) { TR1=0; led=0; } if(second==0xff) { second=59; minute--; } } 五、制作和调试 (一)制作 数码管SR420561K 资料:4位一体数码管,其内部段已连接好,引脚如图所示(正面朝自己,小数点在下方)。a、b、c、d、e、f、g、dP为段引脚,1、2、3、4分别示四个数码管的位。 1  a  f  2  3  b 。 。 。 。 。 。 。 。 。 。 。 。 e  d dp  c  g  4 S8050三极管参数: 耗散功率0.625W(贴片:0.3W) 集电极电流0.5A 集电极--基极电压40V 集电极--发射极击穿电压25V 集电极-发射极饱和电压 0.6V 特征频率fT 最小150MHZ 典型值产家的目录没给出 引脚排列为EBC或ECB 按三极管后缀号分为 B C D档 贴片为 L H档 放大倍数B85-160 C120-200 D160-300 L100-200 H200-350 六、 本核算 序号 材料名称 单价 设计数量 实际用量 金额 1 30pf电容 0.1元 5个 2个 0.5元 2 四位七段数码管 3元 1个 1个 3元 3 12MHZ晶振 0.5元 2个 1个 1元 4 杜邦线 6元 2捆 2捆 12元 5 按键开关 0.2元 5个 3个 1元 6 10K电阻 0.1元 10个 4个 1元 7 100欧姆 0.1元 10个 4个 1元 8 单排排针 1元 2排 2排 2元 9 PNP三极管 0.1元 5个 4个 0.5元 总价 22元               注:单片机最小系统不做扩展电路的同学可以直接用灰排线焊接,不用杜邦线和排针搭建,这样可以大大节约成本,本文主要考虑到实验的便捷性,故引次之用。 七、小结 在这次的实验中,我们要编写更多的程序,更难,但是这也让我们更好的学习了怎么去编程,更加的了解!通过这次的实验,我们可以更加明白怎么样去实现厨房计时器的程序!也明白了一些我们上课是不太懂的。 注意事项: 硬件问题? 检查电源与接地(31引脚是否接正) 数码管内部与芯片是否连接正确 晶振是否起振 是否正确连接三极管 软件问题? 程序的细节 中断 延时的结束 参考文献: [1]《单片机C语言实践教程》
/
本文档为【厨房定时器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索