问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一个99秒倒计时单片机程序和仿真,基于51单片机。

发布网友 发布时间:2022-04-23 01:34

我来回答

4个回答

热心网友 时间:2023-09-26 22:48

#include "reg51.h"
sbit start=P3^2; //外部中断0引脚 开始
sbit rst=P3^3; //外部中断1引脚 复位
sbit breakk=P3^4; //暂停倒计时
sbit led=P3^5; //Led灯
sbit beep=P3^7; //蜂鸣器控制引脚

sbit P30=P3^0; //数码管位选
sbit P31=P3^1;

void didi(void);
unsigned char code anma[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff
};

char time=99; //倒计时缓存
char flag_t=0; // 1秒辅助计时
char now=0; // 0停止 1 计时 2报警 3复位

unsigned char g=0,s=3,i=0;

void delay(unsigned int n)
{
while(--n);
}

void t0_srv() interrupt 1 using 1
{
TH0=0X3C;
TL0=0XB0;
flag_t++;
if(flag_t>=20){ //20*50ms=1s
flag_t=0;
time--;
if(time<=0){
// beep=0;
didi();
didi();
didi();
led=0;
TR0=0;
now=2;
time=0;
}
}
}
void button_start() interrupt 0 using 1 //外部中断0
{
delay(1500);
if(start==0) {
now=1;
TR0=1;
}
else return;
while(start==0);
delay(1500);

}
void button_rst() interrupt 2 using 1
{
delay(1500);
if(rst==0) {
TR0=0;
time=99;// 3;
i=0;
led=1;
now=0;
}
else return;
while(rst==0);
delay(1500);

}

void disp()
{

g=time%10;
s=time/10;
g=anma[g];
s=anma[s];

P0=~g;
P31=0;
delay(250);
P31=1;

P0=~s;
P30=0;
delay(250);
P30=1;

}
void key()
{
if(breakk==0)delay(1500);
else return;
if(breakk==0) {
if(now==1){
i++;
if(i%2)TR0=0;
if(!(i%2))TR0=1;
}
}
else return;
while(breakk==0);
delay(1500);
}
/* 延时250us*k */
void delay250(unsigned int k)
{
unsigned int j,i;
for (i=0;i<k;i++)
{
for(j=0;j<25;j++);
}
}
void didi(void)
{
unsigned int j;
for (j=0;j<400;j++) //loop 400,响0.2s
{
beep=0;
delay250(2);
beep=1;
delay250(2);
}
delay250(800); //stop 0.2s

}

main()
{
TMOD=0X01;//定时器0工作在方式1,
EA=1;
IT0=1;
ET0=1;
TH0=0X3C;//在12M 晶振下,定时时间为50ms
TL0=0XB0;

EX0=1;
EX1=1;

//TR0=1;
while(1){
disp();
key();
}

}

热心网友 时间:2023-09-26 22:48

10分?

热心网友 时间:2023-09-26 22:49

我可以帮助你不管你是不是作*

热心网友 时间:2023-09-26 22:50

兄弟 想做定时*吧!不好
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 如何申请电子邮件帐户? 单片机99秒倒计时 怎么申请电子邮件账号? 用单片机AT89S51做的99秒倒计时怎样加上“滴滴”声。 单片机99秒倒计时用c语言的。 江西女生99秒被扇30多耳光 校园暴力何时休 99秒数码管显示 初中女生99秒被扇30多记耳光 校园暴力何时休 电子邮箱怎么在电脑上申请?哪里能申请电子邮箱? iphone的保修期是多长?哪些是在保修范围内的? 最新的抖音如何玩游戏? 在抖音里没有找不到抖音小游戏,抖音小游戏在哪? 母乳很难吸出来怎么办 母乳可以一直用吸奶器吸出来吗 如何打开抖音上的小游戏? 母乳太稠吸不出来怎么办 怎么打开苹果的抖音短视频小游戏? 母乳可以吸出来用奶瓶喂吗 苹果手机如何玩抖音小游戏? 刚出生的宝宝吸不出来母乳怎么办 一天有多少秒? 怎么申请电子邮件账户? 谁有【99秒完全概括哈利波特】的钢琴谱啊? 写程序,99秒倒计时,按下按键停止,流水灯开始点亮,再次按下后流水灯停止,倒计时继续? 急求翻译视频里的话(99秒完全概括哈利波特) 如何用单片机做一个简单的倒计时器 有趣的数学题 一个细胞一秒钟分裂一次,装满一杯要100秒,装满杯子的一半要多少秒? 进度条为何总爱卡在99%,这到底是怎么回事呢? 单片机AT89C51芯片完成简易秒表的设计(两个8字数码管从00~99秒) 中国百米最快多少秒?是谁? 西单女孩如何成名? 99秒概括哈利波特那个视频的歌名 谁能给我个2年以上的 我的满一年 这种高价卖出去 报多少价格合理 怎么查看自己的用了多久 微信公众号中的长度限制是多少,有没有限制最少几个字符 你好,2年前不用的可以找回吗? 我的微信有差不多2年没上过了,微信绑定的手机号码也没用了,现在要怎样才能解封这个码? 2年多没登啦还能用吗