51单片机如何用C语言编让P1引脚全部灯亮一秒后灭再亮如此循环?(key2和key3控制)

如题所述

key2,key3怎么控制没有说,我就先给你写1秒亮1秒灭,定时器控制

#include<reg52.h>

void main(void)
{
TMOD=0X01;
TH0=0XD8;
TL0=0XF0;
ET0=1;
TR0=1;
EA=1;
while(1);
}

void T0() interrupt 1
{
static unsigned char i=0
TH0=0XD8;
TL0=0XF0;
i++;
if(i==100)
{
P1=0;
}
if(i==200)
{
i=0;
P1=0xff;
}
}追问

不行呢

追答

给图吧,我就可以很准备的给你码出来,还有你key2,key3想怎么实现,都补一下,这种问题很简单的

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-31
#include <reg52.h>
void delay(unsigned char x)
{
unsigned int a,b;
for(a=877;a>0;a--)
for(b=x;b>0;b--);
}
void main()
{
P1=0x00;
delay(350);
P1=0xff;
delay(350);
while(0);
}追问

这个不行呢

下面51单片机C语言程序怎么改成按钮按一下才执行,再按一下就停止,如此...
IO直接作为循环条件即可,如下:如果用户按下键不放会有问题,最好改为用户按下键再弹起为一次输入。

51单片机LED按键延时3秒一次点亮,取反按键依次熄灭程序是怎么写的_百...
现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相当于三档,第三档是停止。第一档和第二档定时5S,5S终了,停止运行,如果此时再按1次则回到第一档。如果5S之内按下,则切换到下一档,实现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相...

怎么用C语言给小灯泡设置多个亮度,并用按键控制
P1.3接按键 K1,每按一次按键,方波占空比改变一次,依次为:1\/10→2\/10→……→9\/10→1\/10,如此循环**\/ include"reg52.h"\/\/包含52系列头文件 define uchar unsigned char\/\/定义 无符号字符型 define uint unsigned int\/\/定义 无符号整型 define TRUE1\/\/定义 逻辑真 define FALSE0\/\/定义 逻辑...

单片机一键按下LED1亮5秒 松开后LED2再亮3秒。51程序怎么写??求大师出 ...
默认为低电平LED亮。 程序仅供参考。 如有疑问请继续提问。#include<reg51.h>unsigned char i;void delay1s();sbit k0=P0^0;sbit out1=P1^0;sbit out2=P1^1;void main(){while(1){if(k0==0){out1=0,delay1s(5),while(k0==0);}else if(k0==1){out2=0,delay1s(3),wh...

求51单片机流水灯延时函数,控制时间那种,比如:1灯1秒亮,2灯就要0.9秒...
1){ t--; \/\/ 延时时间减小 速度变快 if(t==5) t=100; \/\/ 到一定速度 恢复 最慢 for(i=0;i<8;i++) \/\/ 8 个发光二极管 循环亮 { P1=tabled[i]; \/\/ P1 口 发光二极管 delay(t); \/\/ 调用延时程序 } } } ...

描述stc单片机 按键控制灯亮灭和闪烁 上电灯不亮,按一下按键灯亮,再...
include<reg51.h> unsigned char times;sbit key=P1^0;sbit led=P1^4;void delay(unsigned char a){ unsigned char i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ led=1;while(1){ if(key==0){ while(key==0);times++;times%=3;} switch(times){ case 0:led=1...

请大神帮忙看一下程序
JZ LOOP ;无键按下,循环检测 CALL DL20MS ;延时 MOV A, P1 ;再读一次 CJNE A, B, LOOP;消抖 ;--- ;已经确认有键按下:MOV C, ACC.7 ;P1.7的键 CPL C RL A MOV ACC.7, C ;送到P2.7去 CLR ACC.0 ;关闭错误指示灯 MOV P2, A...

求助,这个程序哪里错了,该怎么改!~~~ 急急急。。。 单片机C语言...
我猜想 if(key1==0)(delay(50);if(key1==0)(temp=1);)你的意思是 if(key1==0){ delay(50);if(key1==0)(temp=1);} if 后面用大括号,不是小括号。if (表达式){ 语句。。。}

需要一个用按键控制一个LED灯亮度的C语言程序
加1 if(DutyNume==DutyDeno) DutyNume=1;\/\/若 占空比分子=分母,则返回 1 KeyReadyFlag=FALSE;\/\/按键处理完毕,清 按键准备标志 } } void main()\/\/主函数 { TimerInit();\/\/调用 定时器初始化 函数 while(1)\/\/循环系统 { KeyResp();\/\/调用 按键响应 函数 } } 方波输出接口接灯;...

相似回答