需要一个C语言程序。51单片机控制:按键按一下,延迟1分钟后开灯,灯亮半个小时就熄灭的程序?急需!

如题所述

如果对时间要求不精确,用软延时即可。
#include<reg52.h>
#define uchar unsigned char

#define uint unsigned int
sbit s=P1^0;

sbit led=P1^1;
void delayms(uint i) //1ms延时程序

{
uchar j;
for(;i>0;i--)
{
for(j=0;j<125;j++)//如果延时时间误差较大,可按比例改变125这个数
//取值范围0-255,数值越大,延时越长
{;}
}
}
void delay1s(uint i) //1s延时程序

{
for(;i>0;i--){delay1ms(1000);}
}

void main()
{
led=0;

while(1)
{
if (s==0)
{
delayms(20);
if (s==0);{delay1s(60);led=1; }
}
if(led==1){delay1s(1800);led=0; }
}
}
如果对时间要求精确,则要用到定时器,还要确保电路外接有晶振,并已知晶振频率
温馨提示:内容为网友见解,仅供参考
无其他回答

需要一个C语言程序。51单片机控制:按键按一下,延迟1分钟后开灯,灯亮半...
如果对时间要求不精确,用软延时即可。include<reg52.h> define uchar unsigned char define uint unsigned int sbit s=P1^0;sbit led=P1^1;void delayms(uint i) \/\/1ms延时程序 { uchar j;for(;i>0;i--){ for(j=0;j<125;j++)\/\/如果延时时间误差较大,可按比例改变125这个数 \/\/取值...

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决?
当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循环,LED取反得到LED = 0,灯亮。*\/ delay(500); \/*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*\/ } }}v...

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...
while(P02){flash=flash}\/\/按住按键的动作 flash=~flash;\/\/按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;\/\/点亮 delay(100);\/\/延时100MS led=0;\/\/熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参的演示程序} 这个程序是现写的。。

51单片机编写延时1分钟、1小时的子程序
EA=1;while(1);}

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)
= 0,灯亮。*\/ delay(500); \/*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*\/ } } } void delay(uint z) \/\/延时函数 { uint x, y;for(x=85; x>0; x--)for(y=z; y>0; y--);} 可下载到单片机验证。

求51单片机按键点灯汇编程序,按一下按键灯亮(一直亮),再按一下灭
;以下为一个按键控制一个灯的程序!!!ORG 0000H SETB P1.0 START:JB P1.0,NEXT ;设按键为低电平有效。JNB P1.0,CPL P3.0 NEXT:SJMP START END

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

51单片机c语言编程:编写一段程序,P1.0控制LED,P1.1控制LED的亮和灭...
P1.0、P1.1,都是控制 LED 的?试试下面的程序:include <reg51.h> sbit led = P1^0;sbit key = P1^7;void main(){ while(1) led = key;} P1.1,不知道怎么用。

51单片机,用一个开光控制一个小灯泡,小灯泡在亮之后30S熄灭。求个程序...
KEY EQU P1.0 LED EQU P1.1 ORG 0000H LJMP MAIN ORG 0030H MAIN:JB KEY,JNB KEY,CLR LED LCALL DELAY SETB LED SJMP MAIN DELAY:MOV R2,#30 DELAY1S:MOV R3,#20 DELAYMS:MOV R4,#100 DELAY1:MOV R5,#250 DJNZ R5,DJNZ R4,DELAY1 DJNZ R3,DELAYMS DJNZ R2,DELAY1S RET END ...

求一个51单片机定时闹钟程序。要C语言。能够调时间
我来发一个C语言51单片机时钟程序,希望能帮到你 \/* 程序功能:带定时闹铃时钟 *\/ \/*---*\/ include <AT89X51.H> \/*包含器件配置文件*\/ define uchar unsigned char define uint unsigned int char DATA_7SEG[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};\/*...

相似回答