找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4279|回复: 2
收起左侧

51单片机:微波炉定时程序(原创,自已写的)

[复制链接]
ID:103513 发表于 2016-1-17 01:14 | 显示全部楼层 |阅读模式
//51单片机:微波炉定时程序(原创,自已写的)
//免责声明:这是微波炉的定时功能  纯为技术交流、学习之用。转载、使用者切莫用于不正当的用途一切后果由转截/使用者自行负责
//按下独立键盘RD按键,每按一次增加60秒,按下INT1启动,按下INT0停止
//我们知道微波炉是不会自动运行的,得手动启动
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned uchar
sbit duan=P2^5;
sbit wei=P2^6;
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF};                //数码管数组
uint bai=0,gg=16,shi=0,ge=0,x;
uint time=60,tt=0; //uint tt,time;
void init()
{
TMOD=0x01;                        
TH0=(65536-50000)/256;  
TL0=(65536-50000)%256;
EA=1;   
ET0=1;   
TR0=0;      
}

void scan()
{
if(RD==0)
  {
  while(!RD);
time=time+60;   
}
if(INT0==0)TR0=0;
if(INT1==0)TR0=1;
}
void fuzhi()
{
  bai=time/60;
  shi=time%60/10;
  ge=time%10;
}
uint jishi()
{
if(tt==20)
  {
tt=0;  
time--;if(time==0)TR0=0;              //这个位置不能动,time--必须在if(tt==20)里
}
}
//-------------------函数声明--------------------------
void disp(uint bai,uint gg,uint shi,uint ge);
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
init();
while(1)
{
jishi();
scan();
fuzhi();
disp(bai,gg,shi,ge);
if(INT1==0)TR0=1;
  }
}
//------------------------------------------------
void disp(uint bai,uint gg,uint shi,uint ge)
{
duan=1;P0=table[bai];duan=0;
wei=1;P0=0x02;wei=0;
delay(5);
duan=1;P0=table[gg];duan=0;
wei=1;P0=0x04;wei=0;
delay(2);
duan=1;P0=table[shi];duan=0;
wei=1;P0=0x08;wei=0;
delay(5);
duan=1;P0=table[ge];duan=0;
wei=1;P0=0x10;wei=0;
delay(5);
}
void tming0() interrupt 1
{
TH0=(65536-50000)/256;  
TL0=(65536-50000)%256;
tt++;      
}




//---------------------------------------------------------------------------------------------------------------------
//51单片机:微波炉定时程序(原创,自已写的)
//每按一次RD增加60秒,每按一次WR减少60秒,每按一次T1增加30秒,每按一次T0减少30秒
//按下INT1启动,按下INT0停止
//我们知道微波炉是不会自动运行的,得手动启动,所以设定好定时时长后按下INT0启动。结束后蜂鸣器响3声

已完善的程序见另一章日志

//免责声明:这是模拟微波炉的定时
纯为技术交流、学习之用。转载、使用者切莫用于不正当的用途一切后果由转截/使用者自行负责



回复

使用道具 举报

ID:678280 发表于 2020-10-20 10:44 | 显示全部楼层
好,复制下来先在我的学习板上试试。谢谢楼主。
回复

使用道具 举报

ID:337139 发表于 2020-10-20 17:38 | 显示全部楼层
运行时的反应不是很快的,按时有卡顿现象。只是为了学习是完全可以的。楼主好样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表