单片机课程设计厨房提醒器_第1页
单片机课程设计厨房提醒器_第2页
单片机课程设计厨房提醒器_第3页
单片机课程设计厨房提醒器_第4页
单片机课程设计厨房提醒器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息与电气工程学院课程设计说明书(2015/2016 学年第 二学期) 课程名称 : 单片机应用技术课程设计 题 目 : 厨房时间提醒器 专业班级 : 电气工程及其自动化1303班 学生姓名 : * 学 号: * 指导教师 : * 设计周数 : 两周 设计成绩 : 2016年 6月 24日1. 课程设计目的厨房提醒器是一个在日常生活中很常见的器件,市面上的厨房提醒器千奇百怪,但其原理基本上是统一的,我们可以利用这个原理来自己动手设计一个厨房提醒器。原始数据及主要任务:采用AT90c52作为控制单元,实现厨房提醒器的设计设计键盘输入电路;设计显示电路;合理分配地址,编写系统程序;利用protel

2、设计硬件电路原理图,使用proteus和keil4软硬件联机调试。2. 课程设计正文2.1主要技术要求:设置提醒器的“开始”键、“清除”键、“分加1”键、“分减1”键和“秒加1”键、“秒减1”键。刚通电时和按下“清除”键时,均可使显示器显示0:00。按下开始键,则按照设定的时间减1定时。当显示器再次显示为00:00时则蜂鸣器提醒定时到。3个数码管分别用于显示分位、秒十位和秒个位。2.2 软件设计 用protel99se画原理图和pcb图,用keil4编辑程序,用proteus仿真。 2.2.1系统设计Protel99se原理图设计(2)系统keil4编码程序#include <reg51

3、.h>#define uchar unsigned char uchar ds_code=0,second2=0,second1=0;char minute = 0;char second = 0;uchar time_temp = 0;sbit DS0 = P10;/位选sbit DS1 = P11;sbit DS2 = P12;sbit SPEAKER = P14;/蜂鸣器void delay(uchar x) /延时函数 unsigned int a,b; for(a=x;a>0;a-) for(b=110;b>0;b-);void second_div(void)/读

4、秒函数second2 = second/10;/取秒十位second1 = second%10;/取秒个位void Key(void)/按键函数P2 = 0xff;if(P2!=0xff)delay(200);if(P2!=0xff)if(P2=0xfe) /开始计时按键按下TR1 = 1;if(P2=0xfd)/清除按键按下TR1 = 0;minute = 0;second = 0;time_temp = 0;SPEAKER = 1;if(P2=0xfb)/分个位加一按键按下minute+;if(minute>9) minute = 0;if(P2=0xf7)/分个位减一按键按下min

5、ute-;if(minute<0) minute = 9;if(P2=0xef)/秒个位加一按键按下second+;if(second>59) second = 0;second_div();if(P2=0xdf)/分个位减一按键按下second-;if(second<0) second = 59;second_div();while(P2!=0xff);void main(void)/主函数SPEAKER = 1;TMOD = 0x11;/定时器方式0,1TH0 = (65536-5000)/256;/装载计时时间TL0 = (65536-5000)%256;TH1 = (

6、65536-50000)/256;TL1 = (65536-50000)%256;EA = 1;/开总中断ET0 = 1;/开定时器0中断TF0 = 0;/定时器0中断溢出位置0TR0 = 1;/开定时器0ET1 = 1;/开定时器1中断TF1 = 0;/定时器1中断溢出位置0while(1)Key();void Timer_0(void) interrupt 1ET0 = 0;/关定时器0中断switch(ds_code)/位选控制case 0:P1 = (P1&0xf0)|0x0e;P0 = minute;break;case 1:P1 = (P1&0xf0)|0x0d;

7、P0 = second2;break;case 2:P1 = (P1&0xf0)|0x0b; P0 = second1;break;default:break;ds_code+;/定时器1计数次数if(ds_code>2)ds_code = 0;TH0 = (65536-5000)/256;TL0 = (65536-5000)%256;ET0 = 1;/开中断void Timer_1(void) interrupt 3ET1 = 0;关中断time_temp+;if(time_temp>=20)/计时一秒time_temp = 0;second-;if(second<

8、0)if(minute>0)minute-;second = 59;elseminute = 0;second = 0;SPEAKER = 0;/蜂鸣器响second_div();TH1 = (65536-50000)/256;/重新装载TL1 = (65536-50000)%256;ET1 = 1;(3)proteus7.8仿真图2.3 硬件设计 2.3.1 方案设计 厨房提醒器设计,主要的部分是AT89S51,编写程序,实现软硬结合,实现提醒功能。采用中断的方式,先清除按钮,然后设置分十位,分个位,秒十位,然后按开始按钮开始倒计时,当时间变为00:00时蜂鸣器提醒则目的实现 2.3.

9、2 硬件电路材料电阻:10K (11个) 470(8个)按键开关:6个CD4511:1个三极管:9012 PNP(1个)共阴极数码管:3个 蜂鸣器:1个 单片机最小系统:1个 2.3.3 设计材料说明 (1)AT90C52单片机 AT90C52外形及引脚图AT90c52的引说明和功能说明如下:VCC:AT90c52电源正极输入,接+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚,内部是反相放大器输入端,构成了片内振荡器,采用外部振荡器时,引脚接地。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信

10、号的输入。RST:AT90c52的复位信号输入引脚,高电位工作。将此引脚电位提升到高电位,并持续两个机器周期以上的时间,A系统复位。P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO口用。P1口(P1.0P1.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。P2口(P2.0P2.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般

11、双向IO口用。P3口(P3.0P3.7)是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。(2)CD4511译码器 CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流,可直接驱动LED显示器。BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。  LT:3脚是测试输入端,当BI=

12、1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如七段均发亮,显示“8”。它主要用来检测数码管是否损坏。   LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码输出被保持在LE=0时的数值。 DA、DB、DC、DD、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。(3) 七段共阴极数码管 数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f

13、、g及 dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。本次选取共阴极数码管,数码管见图 2.3.4单元电路设计1. 时钟电路采用6MHZ的晶振,产生的机器周期为2S,接在芯片的18、19引脚上。2. 显示设计 显示线路设计中数码管的7个段码分别由P0口控制,P0口设置上拉电阻,电阻阻值为10K,数码管由译码器CD-4511驱动,当单片机P0的相应口为高电平时,会点亮数码管的相应的段码。3. 报警装置 报警线路与P1.4口连接,选取470电阻和PNP管构成控制线路,蜂鸣器接在P1.4口上,当触发时P1.4产生

14、高电平使其导通,蜂鸣器响,报警。3. 位选电路由三个电阻组成,电阻的主要作用是保护单片机的并行口,当P2口中相应的并行口为高电平时,会选中相应的数码管。4. 复位电路 复位键直接加在单片机的复位端,当按键S被按下时,系统复位。4. 开关设计开关接在P1口上,P1.0P1.4,按键按下后相应的按键由高电平变为低电平,产生检测信号。2.4 系统软硬件调试2.4.1 硬件调试 硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测,包括:第一步:目测。检查外部的各种元件

15、或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块

16、加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。2.4.2 软件调试软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。3、 课程设计总结或结论 程课程设计进行了两周时间,设计过程中出现的问题很多。课程设计第一步画电气原理图,采用ad软件,由于没有系统学习,临时制图都是现学现画,在改动几次之后老师检查正确才绘制成功。有了电气原理图,仿真图的绘制很简单,主要是程序编写。我们参考了网上的程序,编写出能实现实验要求的功能的程序。在初次仿真中也出现许多问题,慢慢改动之后,各个功能都能够实现,便可以进行实物板的制作。电路板的制作需要细心,焊制过程天气很热,实验室人多,更是热的可以,但是不能掉以轻心,因为小小的错误可能导致电路板无法实现功能。电路板焊制成功之后,并没能实现功能,在进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论