资源简介
这是一个关于微波炉的课程设计,里面包含了程序,原理图,仿真图。
代码片段和文件信息
#include
#define uint unsigned int
#define uchar unsigned char
uint dis[]={0x000x000x000x00};
uint pv=1pv_j=6pv_l=24; //定义 档位、加热时间、冷却时间(每个周期)
uint count_s=0; //记录定时时间
uint cyc0=20cyc1=20; // 为了计时一秒,定时器一次中断为50ms,20*50ms=1s
uchar codevalue[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0xff}; //七段数码管显示码显示0~9和全亮
uchar codecho[]={0xfe0xfd0xfb0xf7}; //位选码
sbit P10=P1^0; //引脚定义
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
sbit P15=P1^5;
sbit P16=P1^6;
sbit P17=P1^7;
sbit duan=P2^0;
sbit wei=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
/*--------------------
延时函数,大致延时一毫秒
-------------------*/
void delay_ms(uint t)
{uchar i;
while(t--)
{
i=250;
while(--i);
}
}
/*------------------------
定时器初始化
--------------------------*/
void t_clr()
{
EA=1; //CPU开中断
ET0=1;
ET1=1; //定时器 中断允许
TMOD=0X11; //定时器T1、T0 定时 方式一
TH0=0X3c;
TL0=0Xaf;
//12M 晶振,65536-15536=50000,50000us*20=1000000us=1s
TH1=0X3c;
TL1=0X0af;
}
/*------------------------
键盘扫描函数
--------------------------*/
void key_scan()
{
if(!P10)
{
delay_ms(70);
if(!P10)
count_s+=30; //时间 +30秒
if (count_s>6000)
count_s=0;
}
if(!P11)
{
delay_ms(70);
if(!P11)
count_s+=60; //时间 +1 分
if (count_s>6000)
count_s=0;
}
if(!P12)
{
delay_ms(70);
if(!P12)
count_s+=300; //时间+5分
if (count_s>6000)
count_s=0;
}
if(!P13)
{
delay_ms(70);
if(!P13)
count_s=0; //时间清零
}
if(!P14)
{
delay_ms(70);
if(!P14)
{if (pv<3)
pv++; //档位+1
pv_j=pv*6+6; //加热时间
pv_l=30-pv_j; //冷却时间
}
}
if(!P15)
{
delay_ms(70);
if(!P15)
{if (pv>0)
pv--; //档位-1
pv_j=pv*6+6;
pv_l=30-pv_j;
}
}
if(!P16)
{
delay_ms(70);
if(!P16)
{
P22=1;
if(count_s==0) //如果没有设定时间,不加热,定时器不工作
{TR0=0;
TR1=0;}
else //如果已经设定时间,则开始计时,开始加热
{
pv_j=6*pv+6;
pv_l=30-pv_j;
t_clr();
TR0=1;
TR1=1;
P22=0;}
}
}
if(!P17) //停止加热,终止定时器
{
delay_ms(70);
if(!P17)
{P22=1;
P23=0;
TR0=0;
TR1=0;
}
}
}
/*------------------------
时间变换为每个显示位
--------------------------*/
void time_converter()
{
dis[0]=count_s/600; //取分的十位
dis[1]=(count_s/60)%10; //取分的个位
dis[2]=(count_s%60)/10; //取秒的十位
dis[3]=(count_s%60)%10; //取秒的个位
}
/*------------------------
显示函数
--------------------------*/
void display()
{
uchar t;
uchar k;
for(k=0;k<4;k++) //LED显示
{
wei=1;
P0=codecho[k];
wei=0;
P0=0xff
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-21 11:47 仿真电路图\
文件 178976 2017-01-26 21:14 仿真电路图\1.DSN
文件 768 2017-01-27 22:04 仿真电路图\1.PWI
文件 178962 2017-01-03 15:49 仿真电路图\Last Loaded 1.DBK
目录 0 2017-02-21 11:47 原理图\
目录 0 2017-02-21 11:47 原理图\History\
文件 24622 2017-01-04 21:46 原理图\History\WANG.~(1).SCHDOC.Zip
文件 207872 2017-01-04 21:46 原理图\WANG.SCHDOC
目录 0 2017-02-21 11:47 程序\
文件 9404 2017-01-03 16:33 程序\1
文件 5113 2017-01-03 16:33 程序\1.c
文件 3308 2017-01-03 16:33 程序\1.hex
文件 34 2017-01-03 16:33 程序\1.lnp
文件 11341 2017-01-03 16:33 程序\1.LST
文件 14050 2017-01-03 16:33 程序\1.M51
文件 11197 2017-01-03 16:33 程序\1.OBJ
文件 168 2017-02-08 20:52 程序\1.plg
文件 55201 2017-02-08 20:52 程序\1.uvopt
文件 13217 2017-01-01 12:59 程序\1.uvproj
文件 55201 2017-02-08 13:09 程序\1_uvopt.bak
文件 0 2017-01-01 12:06 程序\1_uvproj.bak
- 上一篇:飞机订票系统软件工程
- 下一篇:帝国竞争算法论文
相关资源
- 自动停车场的PLC程序图
- CW2015 51单片机程序
- 狮子鱼社区团购小程序系统独立版V
- QT旅游攻略软件程序源代码
- WINDOWS7设备驱动程序开发_12867221_美里
- 拼车+源码+小程序.zip
- RTD2660资料大全,了本站多个RTD2660的资
- 2019西门子挑战杯初赛获奖程序+方案书
- mp4测试视频,可以用它测试处理MP4文
- 计算机程序的构造和解释-中文版SIC
- 3D图形程序设计酷跑游戏
- 智能家居照明控制系统设计proteus仿真
- 35个行业-微信小程序源码.zip
- 挑战程序设计竞赛1 与 2
- LCD12864驱动程序 带字库版本ST7920内含
- 麦克纳姆轮程序.rar
- 软考程序员2000年到2018年真题试卷有答
- 软件设计师教程第5版.褚华(带详细书
- 前后台完整版微信蓝果小镇商城小程
- DAC7811资料以及驱动程序
- 磁法勘探球体异常体正演程序源码
- 画跟踪精确度图的程序.zip
- 小程序开发源码酒店
- 台达PLC44个程序
- AD7745/1D7746 c程序
- ADC0808 数字电压表仿真+C程序
- 视频提取脉搏波程序.zip
- 风扇控制程序,蓝天模具专用,雷神
- 10负荷点配电网蒙特卡洛法可靠性计算
- 六子冲棋博弈程序设计教程原创源代
评论
共有 条评论