/***********************************************

***********************************************/

#include "reg52.h"

#include "intrins.h"

#include "seg.h"

bit flag_timer ;

sbit Door=P1^0;                //门限位开关

sbit Led=P1^1;                //照明灯

sbit Beep=P2^4;                //扬声器

sbit JD=P2^5;                //继电器 加热装置控制接口

sbit key_open=P1^4;        //开启按钮

sbit key_set=P1^5;        //设置按钮

sbit key_add=P1^6;        //时间加按钮

sbit key_dec=P1^7;        //时间减按钮

void delay_10us(unsigned int nus)

{

while(nus--);

}

void delay_ms(unsigned int nms)

{

unsigned int i ,j;

for(i=nms;i>0;i--)              //nms即延时约n毫秒

{        for(j=110;j>0;j--);        }

}

/************************************************************************

* 函数: void Beep_Play(unsigned int t)

* 描述: 无源蜂鸣器驱动函数

* 参数: t :  起振频率

* 返回: none.

* 备注: t越大频率越小

************************************************************************/

void Beep_Play(unsigned int t)

{

unsigned char i;

for(i=0;i<100;i++)

{

Beep = ~Beep;

delay_10us(t);

}

Beep = 0;

}

void Timer1Init(void)        //50毫秒@11.0592MHz

{

TMOD &= 0x0F;                //设置定时器模式

TMOD |= 0x10;                //设置定时器模式

TL1 = 0x00;                        //设置定时初值

TH1 = 0x4C;                        //设置定时初值

TF1 = 0;                        //清除TF1标志

TR1 = 0;                        //定时器1停止计时

ET1 = 1;                        //中断使能

}

int cnt=0;

bit ok_flag=0;                //1  为按下按键正常工作

bit hotover_flag=0;        //1  加热完成标志

void main(void)

{

unsigned char pp=0;

smg_display(0);                //显示数值

Timer0Init();                //定时器0初始化,2毫秒@11.0592MHz

Timer1Init();                //定时器1初始化,50毫秒@11.0592MHz

while(1)

{

if(flag_timer==1)                //赋一次值

{

flag_timer = 0;                //清除标志  等待下一次400ms

smg_display(cnt);        //显示数值

}

if(hotover_flag == 1)        //加热完成

{

Beep_Play(50);

Beep_Play(50);

Beep_Play(50);

pp++;

if(pp>10)

{

pp = 0;

hotover_flag = 0;

}

}

if(ok_flag == 1)                //确认键按下了已经

{

if(Door==0&&cnt>0)        //门被关上

{

//                                TR1 = 1;                //定时器1开始计时  如果是关门自动加热则不注释

JD = 0;                        //加热

Beep = 1;                //报警关闭

Led = 1;                //照明灯灭

}

else                                //门未关

{

Beep_Play(50);

//                                Beep = 0;                //报警

TR1 = 0;                //定时器1停止计时

JD = 1;                        //停止加热

Led = 0;                //照明灯亮

}

}

if(Door==0)                                //门被关上

{

Led = 1;                        //照明灯灭

}

else                                        //门未关

{

Led = 0;                        //照明灯亮

}

if(key_add==0)                        //设置加按钮按下

{

delay_ms(200);                //消除抖动

if(key_add==0)                //设置加按钮按下

{

cnt++;

if(cnt>999)

cnt=0;

}

}

if(key_dec==0)                                //设置减按钮按下

{

delay_ms(200);                        //消除抖动

if(key_dec==0)                        //设置减按钮按下

{

cnt--;

if(cnt<0)

cnt=999;

}

}

if(key_set==0)                                //确认键按下

{

while(key_set==0);                //等待释放

if(cnt>0)                                //如果定时的值大于0

{

ok_flag = 1;

TR1 = 1;                        //定时器1开始计时

}

}

}

}

void tm0_isr() interrupt 1 using 1

{

static unsigned char num=0;

TF0 = 0;

TL0 = 0xCD;                         //设置定时初值

TH0 = 0xF8;                        //设置定时初值

display();                        //数码管显示函数

if(num++ >= 100)    //2ms*100 =200ms

{

num = 0;

flag_timer = 1;

}

}

void tm1_isr() interrupt 3 using 1                //定时50毫秒

{

static unsigned int num1=0;

TL1 = 0x00;                                //设置定时初值

TH1 = 0x4C;                                //设置定时初值

if(num1++>=20&&cnt>0)        //1s到

{

num1 = 0;

cnt--;

}

if(cnt==0)

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

java微波炉程序代码,单片机微波炉控制系统仿真与源程序相关推荐

  1. 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...

    本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...

  2. LED亮5秒灭5秒C语言程序代码,单片机【木仓示申吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第五节:蜂鸣器的驱动程序. 开场白: 上一节讲了利用累计定时中断次数实现LED灯闪烁,这个例子同时也第一次展示了我最完整的实战程序框架:用switch语句 ...

  3. 基于单片机的交通灯设计c语言程序,基于单片机AT89C51控制的十字路口交通灯系统设计...

    摘要:本文设计一个单片机AT89C51控制的十字路口交通灯,通过硬件电路设计.元器件使用.软件设计.仿真等环节,实现主干道和支干道的分时控制,保证正常的交通秩序. 关键词:单片机 系统设计 交通灯 1 ...

  4. java 用程序代码解释继承_关于初级java程序员笔试题

    关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...

  5. 简单java小程序代码_求简单的JAVA小程序的源代码

    展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...

  6. java holdslock_一种检测Java并发程序代码分支路径lock是否遗漏的方法

    开发java程序中,程序员往往会用synchronized lock 进行临界资源保护和线程同步:android平台上,提供了一些技巧来减少锁被错误使用:使用Locked后缀作为函数名字:Locked ...

  7. java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...

    展开全部 取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 --e68a843231313335323631343130323136353331333236376538------ ...

  8. 签到java小程序代码_微信小程序全栈项目:签到打卡小程序 + 后端实现

    [实例简介] 签到打卡小程序 + 后端实现 : 后端是 springmvc + mybatis + mysql实现 [实例截图] [核心代码] Calendar `-- Calendar |-- Ca ...

  9. 无线发射器c语言程序代码,单片机编码 无线模块发送与接收 程序

    单片机编码 无线模块发送与接收 程序 模块型号,可在万能的某宝搜索[超再生无线模块] 接收距离:空旷200米[这是卖家说的,有待考验] 接收端在没有收到讯号,会生成间歇性尖状脉冲,data接LED负极 ...

最新文章

  1. MySQL下mysql.sock丢失问题的解决[ubuntu, linux, mysqld.sock]
  2. 项目分析_xxoo-master
  3. 《精通Linux设备驱动程序开发》——1.7 编译内核
  4. Kafka分区分配策略(4)——分配的实施
  5. webpake-node-sass 报错
  6. python 怎么处理json_Python是怎样处理json模块的
  7. Javascript 第七天 笔记
  8. 64位weblogic11g安装
  9. Expression Blend 利用 SketchFlow 制作原型
  10. 各种投影灯泡的清零方法!
  11. windows7系统怎么内录
  12. 宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统
  13. pandas 选择数据与条件筛选iloc/loc/filt
  14. IDA6.8 爱加密脱壳简单示例
  15. 论文阅读笔记《Regularizing Dialogue Generation by Imitating Implicit Scenarios》
  16. php如何开启电脑前置摄像头像素多少,Surface Pro 4有摄像头吗?摄像头像素是多少?...
  17. 用matlab画OCC控制电路,基于单周期(OCC)控制的CCM PFC
  18. vue-router mode两种模式
  19. 算法进化历程之剪刀石头布
  20. web免登钉钉微应用

热门文章

  1. java套接字通信_JAVA套接字实现简易的双人通信系统
  2. OSG —— 笔记2 - 加载模型(附源码)
  3. 使用miniSipServer构建自己的视频电话平台
  4. 1.可选择8种节日彩灯模式; 2.可调节彩灯流动方向; 3.可调节彩灯流动速度; 4.独立按键启动/停止蜂鸣器播放音乐; 5.通过电位器控制音量;...
  5. 2019辽宁省电子税务助手
  6. 面试题——————不可变类String类
  7. 超详细 Springboot 入门教程 ---- IDEA + maven 实现英雄联盟角色创建
  8. HC-SR501人体红外感应电子模块
  9. 2017第八届蓝桥杯C/C++ B组省赛个人代码
  10. php语言可以写游戏吗,网游用什么语言开发,网游用什么语言开发的