基于STCC的厨房定时器设计报告精要.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STCC的厨房定时器设计报告精要

单片机原理课程设计报告 题目:基于STC89C52的厨房计时器 专业: 班级: 学号: 姓名: 指导教师: 一.设计报告概述 本设计报告中的厨房定时器,是YL-39开发板(含按键开关和蜂鸣器等),单片机(STC89C52),LCD1602组成的综合设计系统电路。 1、基本要求 采用单片机实现实现厨房定时器功能。设计指标: 按键设定功能:通过MIN,SEC按键进行计时时间的设定,最大值为99分59秒。通过START/STOP按键,开启与暂停倒计时功能。 LCD显示功能:显示设定时间、倒计时时间。格式为“XX:XX” 。分钟在前,秒在后。 时间设定: 在计时开启前,需对“分、秒”进行设定。 按“MIN”键一下,设定分钟的数值加 1。可在 0~99 间循环。 按“SEC”键一下,设定秒数的数值加 1。可在 0~59 循环。 当设定的计时时间大于 0 时,按“START/STOP”键,倒计时开始。 倒计时过程中,按“START/STOP”键,倒计时暂停,再次按下,继续倒计时。 报警功能: 倒计时时间到,蜂鸣器响10秒报警。 报警过程中按“START/STOP”键,报警停止,系统停止进入低功耗待机状态。 扩展要求 低功耗功能:通过按键中断或1秒计时中断唤醒。连续10秒无操作时,自动进入低功耗状态。 时钟 震荡 电路 YL-39开发板(STC89C52) 显示 电路 (四位 七段 数码管) 二.硬件设计 复位 电路 报警 电路 (蜂鸣器) 按键 开关 图1 系统结构图 所用到模块:MCU主控模块;按键;液晶显示模块 本系统组成如图1 系统设计结构图所示,主要由五个部分组成。 .时钟振荡电路 晶振部分产生时钟信号 XTAL1(19脚):单芯片系统时钟的反向放大器输入端。 XTAL2(18脚):系统时钟的反向放大器输出端;一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入30PF的小电容,可以使系统更稳定,避免噪音干扰而死机。 图2 晶振电路 2).复位电路 如图所示,只要按K1键就能完成单片机的重置(复位复位电路,即上电复位和按键复位)。 图3 复位电路 3)显示电路 如图所示,LCD1602显示电路 RS RW E分别接在P0^7,P0^6,P0^5 图4 LCD1602显示电路 4)按键电路 图示5 按键电路 5)报警电路 图6 报警电路 软件设计 设计流程图: 图7 设计流程图 2.程序设计: # include reg52.h # include intrins.h typedef unsigned char uchar; typedef unsigned int uint; typedef bit BOOL; sbit rs=P0^7;// sbit rw=P0^6;// sbit ep=P0^5;// sbit START=P3^5; sbit MIN=P3^4;//分加1 ; sbit SEC=P3^3;//秒加1; sbit beep=P0^4;//蜂鸣器 uint second=0; uchar beepset=10; uint num=0; void delay(uint z)//延时1ms函数 { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } BOOL lcd_bz() { BOOL result; rs=0; // 读忙信号 rw=1; ep=1; _nop_(); _nop_(); _nop_(); _nop_(); result = (BOOL)(P20x80); ep=0; return result ; } void lcd_wcmd (uchar cmd) { while (lcd_bz()); rs=0; rw=0; ep=0; _nop_(); _nop_(); P2=cmd ; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(); _nop_(); _nop_(); ep=0; } void lcd_pos (uchar pos) { lcd_wcmd (pos|0x80); } void lcd_wdat (uchar dat) { while (lcd_bz()); rs=1; rw=0; ep=0; _nop_(); _

文档评论(0)

麻将 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档