汇编语言或C语言编写一个控制灯闪烁的程序

如下图是 基于单片机控制航标灯的protues图,求一个按K1,LED闪烁150Hz,并且红灯亮;按K2,LED闪烁100Hz,并且黄灯亮;按K3,LED闪烁50Hz,并且绿灯亮 的程序。谢谢大家了

我写的这个程序应该可以,按一下灯亮,再按一下灯灭
#include "REG52.H"
sbit LED1_01 = P1^1; //LED灯
sbit KEY0_01 = P1^2; //按键
void Delay_1ms(unsigned int Time)
{
unsigned int x, y;
for(x = Time; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
LED1_01 = 1; //打开LED灯点亮
while(1)
{
if(KEY0_01 == 0) //检测按键是否按下
{
Delay_1ms(10); //延时去抖动
if(KEY0_01 == 0) //确定按键按下
{
LED1_01 = ~ LED1_01; //取反LED灯 [ 亮 . 灭 ] }
while(KEY0_01 == 0); //检测松手
}
}
}
你的图里有A/D转换器

AD转换函数ADC_DIS.C

#include <REGX51.H>

#include"def.h"

#include"lib.h"

sbit adc_cs=P1^0;

sbit adc_rd=P1^1;

sbit adc_wr=P1^2;

/***ADC0804启动转换函数***/

INT8U start_ad()

{

INT8U
temp;

adc_cs=0;

adc_wr=1;

delay(1);

adc_wr=0;

delay(1);

adc_wr=1;

delay(1); //启动AD

adc_rd=1;

delay(1);

adc_rd=0;

delay(1);

temp=P2;

delay(1);

adc_rd=1;

delay(1);
//读取数据

return
temp;

}
用这个程序。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-17

用两个定时器指令编写一个闪烁电路的程序

相似回答