基于单片机的微波炉控制器(8)

2018-11-21 22:07

if(digit==c2) {buzzer=0; c2=c2-2;}

while(digit<=0) //加热结束关闭系统 {TR0=0; TR1=0;

P0=0xe0; P1=0; P2=0; P3=0;} } }

void scanner(void) //扫描函数 { char col,row; //声明行和列

char scan,keyin,kcode; //声明扫描信号,列按键值,扫描码 scan=0xef;

for(col=0;col<4;col++)

{ P1=scan; //P1按键扫描

keyin=rowkey(); //读入第col行的列按键值

_nop_(); //三个_nop_();作用为让 P1 口的状态稳定 _nop_(); _nop_();

if(keyin!=0) //若有按键按下 { for(row=0;row<3;row++) { if(keyin==(0x01<

{ kcode=row+3*col; //计算出按键码

digit=digit*10+kcode; //扫描码写入七段数码管数组

digit=digit00; //取输入的后三位,输入不够三位高位为零 break; //离开第row列扫描 } }

while(rowkey()!=0) //等按键放开 debouncer(); //防抖动函数 }

if(qidong==0) //判断启动按键是否按下 { qid=1;

while(qidong==0); }

if(chs==0) //重新输入数值 { digit=0;

while(chs==0); }

32

huoli(); //火力大小的判断

scan=(scan<<1)|0x01; //产生左一位扫描信号 } }

char m=0,n=0;

void T1_1ms(void)interrupt 3 //T1中断子程序开始,显示四位数码管 { TH1=TH1_M1;TL1=TL1_M1; dig[0]=digit;

dig[1]=(digit0)/10; dig[2]=(digit00)/100; dig[3]=digit/1000;

P2=TAB[dig[m]] & disp[m]; m=(m<3)? m+1:0;

if(qid==1) //启动步进电机 if(--count==0) {OUTPUT=OUTPUT&0xf0; //P0口高四位不变 OUTPUT=excite[n]|OUTPUT; n=(n<4)? n+1:0; count=times;} }

int m0=50;

void t0_1s(void)interrupt 1 //定时中断TR0 { TH0=TH0_M0;TL0=TH0_M0; m0--;

if(m0==0) {digit--; m0=50;} }

void huoli(void) //火力大小函数

{ if(da==0) //判断大火力是否按下 { a1=1;a2=0;a3=0;

while(da==0); //等待按键放开 }

if(zhong==0) //判断中火力是否按下 { a1=0;a2=1;a3=0; while(zhong==0); }

if(xiao==0) { a1=0;a2=0;a3=1; while(xiao==0); }

33

}

void debouncer(void) { int i;

for(i=0;i<1200;i++); }

//延时防抖程序 //约10ms延时

34

5电路制作与系统调试

在电路的制作过程中,要充分认识各个元器件的功能,同时也要确切认准元件的各个引脚序号,在充分了解之后进行电路的连接,连接之后做反复检查。

在制作PCB板的过程中,首要任务就是封装尺寸一定要准确,其次元件排放不能随意,既要好看,也要考虑到前后左右其他原件间的间距。

在焊接电路时,要学会握住好电烙铁,插上原件时小心元件引脚放反。

在焊接完成之后,进行系统调试,在调试的过程中,我遇到了几个棘手的问题,幸好最终找到了解决的方法。

1. 按键的时候总是出现两个数码管显示一样的数字。 2.上拉电阻很重要,漏接上拉电阻导致电机不运转。 3.蜂鸣器发声时间长短设置要适当。

35

6总结与展望

一、对毕业设计的总结

本毕业设计的内容是基于AT89S52的微波炉控制器的设计与实现,涉及软件和硬件两个部分。如今,微波炉已经走进每个普通的家庭,成为一种烹调加热食物的好工具。因此,制作本毕业设计有着实质的现实意义。本人学习单片机的时候是通过汇编语言入门的,后来由于对C语言产生了一定的兴趣,C语言在单片机的运用也逐渐熟练起来,所以本设计的软件部分使用C语言来编写。为了完成本设计,我查阅了不少的相关的资料,对单片机的基本功能得到了充分的认识。编写程序方面,我用到了编译软件Keil C51和仿真软件Proteus。通过运行这两个软件,可以验证程序的语法和程序的功能实现是否真确,找出程序出现的问题,然后不断的修改和尝试,最终调试出烧录到单片机上的程序。

二、对毕业设计的展望

由于时间与工作的关系,毕业设计只是用七段数码管显示时间,用单片机输出引脚控制步进电机转速等功能。其实,除此以外还有值得加强和改进的地方: 1.电路板的布局有待完善 2.数字显示可改用液晶显示 3.火力输出可改为继电器输出 4.可增加显示加热温度功能

36


基于单片机的微波炉控制器(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一级圆柱齿轮减速器(机械基础)课程设计说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: