资源简介
这是一个关于微波炉的课程设计,里面包含了程序,原理图,仿真图。

代码片段和文件信息
#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
- 上一篇:飞机订票系统软件工程
- 下一篇:帝国竞争算法论文
相关资源
- 2018西门子杯中国智能制造挑战赛逻辑
- 自已写的 自习室预约小程序微信125
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- E4A无障碍跨程序操作类库(带源码、
- labview魔方程序
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- SVR算法程序可运行
- labview编程软件滤波器以及编写程序设
- 电力系统潮流计算程序集合
- 仿知乎界面小程序源代码
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 根据硬件ID和程序ID生成注册码
- 用python编写的移动彩信的发送程序
- TCL-S1916 ,1924交换机管理程序
- 51单片机PWM程序,占空比、周期可调整
- 嵌入式图形界面MiniGUI的示例程序9例
- 数字频率合成dds正弦波基于FPGA的DDS产
- 28335CAN调试程序
- 导线测量平差程序 很实用
- USB转串口驱动,FT232R驱动程序,最新
- 改进的BP神经网络算法
- 通风网络解算程序 fortran90
- 编写简单的RMI程序 多线程web 服务器
- 图论软件包(图论里的程序)
- A星算法_原理讲解_例子
- MFC程序-碰撞的小球
评论
共有 条评论