java微波炉程序代码,单片机微波炉控制系统仿真与源程序
/***********************************************
***********************************************/
#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微波炉程序代码,单片机微波炉控制系统仿真与源程序相关推荐
- 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...
- LED亮5秒灭5秒C语言程序代码,单片机【木仓示申吧】_百度贴吧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第五节:蜂鸣器的驱动程序. 开场白: 上一节讲了利用累计定时中断次数实现LED灯闪烁,这个例子同时也第一次展示了我最完整的实战程序框架:用switch语句 ...
- 基于单片机的交通灯设计c语言程序,基于单片机AT89C51控制的十字路口交通灯系统设计...
摘要:本文设计一个单片机AT89C51控制的十字路口交通灯,通过硬件电路设计.元器件使用.软件设计.仿真等环节,实现主干道和支干道的分时控制,保证正常的交通秩序. 关键词:单片机 系统设计 交通灯 1 ...
- java 用程序代码解释继承_关于初级java程序员笔试题
关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...
- 简单java小程序代码_求简单的JAVA小程序的源代码
展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...
- java holdslock_一种检测Java并发程序代码分支路径lock是否遗漏的方法
开发java程序中,程序员往往会用synchronized lock 进行临界资源保护和线程同步:android平台上,提供了一些技巧来减少锁被错误使用:使用Locked后缀作为函数名字:Locked ...
- java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...
展开全部 取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 --e68a843231313335323631343130323136353331333236376538------ ...
- 签到java小程序代码_微信小程序全栈项目:签到打卡小程序 + 后端实现
[实例简介] 签到打卡小程序 + 后端实现 : 后端是 springmvc + mybatis + mysql实现 [实例截图] [核心代码] Calendar `-- Calendar |-- Ca ...
- 无线发射器c语言程序代码,单片机编码 无线模块发送与接收 程序
单片机编码 无线模块发送与接收 程序 模块型号,可在万能的某宝搜索[超再生无线模块] 接收距离:空旷200米[这是卖家说的,有待考验] 接收端在没有收到讯号,会生成间歇性尖状脉冲,data接LED负极 ...
最新文章
- MySQL下mysql.sock丢失问题的解决[ubuntu, linux, mysqld.sock]
- 项目分析_xxoo-master
- 《精通Linux设备驱动程序开发》——1.7 编译内核
- Kafka分区分配策略(4)——分配的实施
- webpake-node-sass 报错
- python 怎么处理json_Python是怎样处理json模块的
- Javascript 第七天 笔记
- 64位weblogic11g安装
- Expression Blend 利用 SketchFlow 制作原型
- 各种投影灯泡的清零方法!
- windows7系统怎么内录
- 宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统
- pandas 选择数据与条件筛选iloc/loc/filt
- IDA6.8 爱加密脱壳简单示例
- 论文阅读笔记《Regularizing Dialogue Generation by Imitating Implicit Scenarios》
- php如何开启电脑前置摄像头像素多少,Surface Pro 4有摄像头吗?摄像头像素是多少?...
- 用matlab画OCC控制电路,基于单周期(OCC)控制的CCM PFC
- vue-router mode两种模式
- 算法进化历程之剪刀石头布
- web免登钉钉微应用
热门文章
- java套接字通信_JAVA套接字实现简易的双人通信系统
- OSG —— 笔记2 - 加载模型(附源码)
- 使用miniSipServer构建自己的视频电话平台
- 1.可选择8种节日彩灯模式; 2.可调节彩灯流动方向; 3.可调节彩灯流动速度; 4.独立按键启动/停止蜂鸣器播放音乐; 5.通过电位器控制音量;...
- 2019辽宁省电子税务助手
- 面试题——————不可变类String类
- 超详细 Springboot 入门教程 ---- IDEA + maven 实现英雄联盟角色创建
- HC-SR501人体红外感应电子模块
- 2017第八届蓝桥杯C/C++ B组省赛个人代码
- php语言可以写游戏吗,网游用什么语言开发,网游用什么语言开发的