版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 黑龙江科技大学IEC计算机14级单片机系统概论期末设计报告 设计题目微波炉控制器的设计院 系国际教育学院班 级赴加计算机14-2姓 名学 号2017年 6月 日一、设计任务和主要技术1.设计任务(要完成哪些具体功能)(1)根据用户需要设置时间并通过数码管译码器显示。(2)定时器时钟。(3)发光二极管。(5)按键调整时间,并可以倒计时,(5)可以随时暂停计时,继续计时,(6)倒计时结束后,蜂鸣器滴滴响。2.主要技术(要完成上面任务所使用的主要技术手段)(1)矩阵键盘主要由P1口来实现,当有按键按下由程序来确定键值。(2)时钟利用单片机的定时器一产生秒信号,从而显示时分秒。(3)发光二极管主要通
2、过程序中对P2.1 P2.2 P2.3口的控制来实现。(4)数码管译码器通过单片机的P0口实现数码管的段选,P2.4 P2.5 P2.6 P2.7口实现位选。(5)蜂鸣器通过单片机的P2.0 口进行控制。二、答辩1. 成绩:2. 成绩:3. 成绩:4 成绩:5. 成绩:三、成绩【期末设计总成绩40分=设计报告成绩15分+设计演示成绩10分+答辩成绩10分】1.成绩分配(1)设计报告成绩( );(2)设计作品成绩( );(3)答辩成绩( )注意:若实验板无法正常工作或没有设计作品演示,则期末设计总成绩为0分。2.期末设计总成绩【 分】 指导教师签字: 年 月 日目 录1 系统方案设计21.1 系
3、统整体设计工作框图21.2 系统设计元器件清单22 硬件电路设计22.1 系统总电路原理图22.2 矩阵键盘的设计22.3 数码管显示电路的设计22.4 蜂鸣器驱动电路的设计23 程序流程图23.1 程序主流程图设计23.2 LCD显示子程序流程图设计24 C语言源程序清单25 参考文献21 系统方案设计1.1 系统整体设计工作框图矩阵键盘电路数码管译码器微控制器模块STC12C5 A 60SA图1-1 系统整体设计工作框图1.2 系统设计元器件清单表1-1 系统设计元器件清单序号元件名称元件型号元件值单位数量1按键个162温度传感器DS18B20个13温湿度传感器DHT11个14晶振11.0
4、592MHZ个15电阻10k个261k个87蜂鸣器ULN2003个18电解电容10uf个19发光二极管红色5mm个110绿色5mm个111黄色5mm个112数码管译码器个12 硬件电路设计2.1 系统总电路原理图图2-1 系统总电路原理图2.2 按键的设计1.引脚连接:实验板接单片机P1口。2.键盘电路如图2-2所示。图2-2 矩阵键盘电路2.3 数码管译码器电路的设计1.引脚连接:单片机P0口,P2.4,P2.5,P2.6 P2.7。2.功能:显示微波炉计时的剩余时间。其电路如图2-3所示。图2-3 数码管译码器显示电路2.4 蜂鸣器驱动电路的设计1. 引脚连接:P2.0。 2.功能:该蜂鸣
5、器用于按键按下提示音,一小时报时。蜂鸣器的驱动采用NPN型三极管8050来驱动,低电平有效。其电路如图2-4所示。图2-4 蜂鸣器电路图2.5 发光二极管电路的设计 1.引脚连接:P2.1 P2.2 P2.3口。 2.功能:通过单片机可实现发光二极管功能,低电平有效。其中1K电阻起过流保护作用。其电路如图2-5所示。图2-5 发光二极管电路图3 程序流程图3.1 程序主流程图设计图3-1 程序主流程图3.2 定时器子程序流程图设计 图3-2 定时器子程序流程图3.3 按键扫描子程序流程图设计图3-3 按键扫描子程序流程图3.4 数码管显示子程序流程图设计图3-4 数码管显示子程序流程图4 ma
6、in函数#include "reg52.h"#define uchar unsigned char#define uint unsigned intsbit ISR=P32;sbit P24=P27;sbit P25=P26;sbit P26=P25;sbit P27=P24;sbit Speaker=P20;sbit POW1=P21;sbit POW2=P22;sbit POW3=P23;sbit Row1=P14;sbit Row2=P15;sbit Row3=P16;sbit Row4=P17;uchar STATE=2;uchar SpeakerNUM=0;uch
7、ar SpeakerNUM1=0;char MSx50=20;char MINx10=0;char MIN=0;char SECx10=0;char SEC=0;uchar is_pick_up;uchar code BCD_711=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /0123456789uchar code BCD_7END4=0x86,0xc8,0xc0; /END/int main(void)/P24=0;/P25=0;/P26=0;/P27=0;/P0=BCD_71;/void Delay_10ms(void)ucha
8、r i;uint j;for(i=0;i<20;i+)for(j=0;j<123;j+);void Delay_1ms(void)uint i;for(i=0;i<124;i+);uchar Read_key(void) /读按键(反转法),无按键返回0xffuchar i,m,n,k; P1=0xf0; /行输入全为0,列给1作为输入口 n=P1&0xf0; /读列信息if(n=0xf0)return 0xff; else P1=0x0f; /列输入全为0, 行给1作为输入口m=P1&0x0f; /读行信息for(i=0;i<4;i+) /按键编码,确
9、定行号 if(m&(1<<i)=0) k=4*i; break; for(i=0;i<4;i+) /按键编码,确定列号 if(n&(0x10<<i)=0)return k+i; P1=0xf0;void Print(void)P0=BCD_7MINx10;P24=0;Delay_1ms();P24=1;P0=BCD_7MIN;P25=0;Delay_1ms();P25=1;P0=BCD_7SECx10;P26=0;Delay_1ms();P26=1;P0=BCD_7SEC;P27=0;Delay_1ms();P27=1;void PrintEND(
10、void)P24=1;P0=BCD_7END0;P25=0;Delay_1ms();P25=1;P0=BCD_7END1;P26=0;Delay_1ms();P26=1;P0=BCD_7END2;P27=0;Delay_1ms();P27=1;void T0_ISR(void) interrupt 1 /定时器T0中断 TH0=(65536-50000)/256;TL0=(65536-50000)%256;MSx50-;if(MSx50<=0) SEC-;MSx50=20;if(SEC<=-1)SECx10-;SEC=9;if(SECx10<=-1)MIN-;SECx10=5
11、;if(MIN<=-1)MINx10-;MIN=9;if(MINx10<=-1)STATE=0;void INT0_ISR(void) /interrupt 0Delay_10ms();if(Row1=0 | Row2=0 | Row3=0 | Row4=0) /ISR=0uchar KEY;KEY=Read_key();switch(KEY)case 0:if(STATE=2)MINx10=0;MIN=0;SECx10=0;SEC=0;STATE=2;if(STATE=0)MINx10=0;MIN=0;SECx10=0;SEC=0;STATE=2;if(STATE=1)STATE
12、=2;break;case 4:if(MINx10+MIN+SECx10+SEC!=0)STATE=1;break;case 8:MINx10+;if(MINx10>=6)MINx10=0;break;case 12:MINx10-;if(MINx10<=-1)MINx10=5;break;case 1:MIN+;if(MIN>=10)MIN=0;break;case 5:MIN-;if(MIN<=-1)MIN=9;break;case 9:SECx10+;if(SECx10>=6)SECx10=0;break;case 13:SECx10-;if(SECx10&
13、lt;=-1)SECx10=5;break;case 2:SEC+;if(SEC>=10)SEC=0;break;case 6:SEC-;if(SEC<=-1)SEC=9;break;case 10:if(POW2=1)POW2=0;elsePOW3=0;break;case 14:if(POW3=0)POW3=1;elsePOW2=1;break;P1=0xf0; int main(void)TMOD=0x01;P1=0xf0; EA=1;ET0=1;TR0=1;EX0=1;IT0=1;POW1=0;POW2=1;POW3=1;while(1)switch(STATE)case
14、0: /停止状态TR0=0;PrintEND();Delay_1ms();SpeakerNUM+;if(SpeakerNUM>=100)SpeakerNUM=0;SpeakerNUM1+;if(SpeakerNUM1>=30)Speaker=!Speaker;break; case 1:/开始状态SpeakerNUM=100;SpeakerNUM1=30;TR0=1;Speaker=1;Print();break;case 2: /等待状态TR0=0;Speaker=1;Print();break;default:STATE=2;if(Row1=0 | Row2=0 | Row3=0 | Row4=0)if(is_pick_up=0)INT0_ISR();is_pick_up = 1;els
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论