标题:
让两个LED灯一直亮灭亮灭
[打印本页]
作者:
lebronda
时间:
2017-12-1 21:00
标题:
让两个LED灯一直亮灭亮灭
如果让两个LED灯按不同的频率亮灭,例如:while(1)
{
LED1隔一秒亮一次,LED2隔两秒亮一次;
}
这样应该怎样解决,求C语言示例代码
作者:
lxa0
时间:
2017-12-1 21:57
这个不难吧?
作者:
xueliang
时间:
2017-12-1 22:32
先给一个高电平,第二条取反
作者:
guoshu
时间:
2017-12-1 23:31
选择P1口其中两个个管脚作为输出控制
写一个1秒延时函数
根据设计电路 两个管脚输出相应电平 点亮对应发光二极管
以下为循环体内容
{
调用延时
管脚1 取反 改变灯状态
调用延时
管脚1取反 改变灯状态
管脚2取反 改变灯状态
}
作者:
LGH850
时间:
2017-12-2 10:05
while(1)
{
LED1=1;
delay1S;
LED1=0;
LED2=1;
delay2S;
LED2=0;
}
去试一下看!
作者:
szb0321
时间:
2017-12-2 11:25
int i=0;
whiie(1)
{
i++;
delay_ms(500);//延时500ms
if(i==1) //到1s
{
led0=~led0; //状态取反
}
if(i==3) //到2s
{
led1=~led1;
i=0; //重新赋值
}
}
作者:
会心一笑
时间:
2017-12-2 11:57
你可以调用一个延时函数
作者:
无量寿经
时间:
2017-12-2 12:00
12-用定时中断长延时实现P0口多个LED亮灭.rar
(13.68 KB, 下载次数: 7)
2017-12-2 11:58 上传
点击文件名下载附件
/****************《51单片机轻松入门-基于STC15W4K系列》配套例程 *************
★★★★★★★★★★★★★★★★★★★★★★★★
《51单片机轻松入门-基于STC15W4K系列》 配套例程
// 用定时中断长延时实现P0口多个LED亮灭.rar
★★★★★★★★★★★★★★★★★★★★★★★★*/
#include "STC15W4K.H" // 包含 "STC15W4K.H"寄存器定义头文件
sbit LED0=P0^0;
sbit LED1=P0^1;
void main()
{
TMOD=0x01; // 定时器0_16位计数
TH0=0x70; // 经计算定时20ms初值是0x7000
TL0=0x00;
TR0=1; // 定时器开始运行
ET0=1; // 开定时器0中断开关
EA=1; // 开总中断开关
while(1);
}
void Timer0() interrupt 1
{
static Count1=0; // 静态变量计数器,静态变量只在首次运行时赋值1次*/
static Count2=0; // 静态变量计数器
Count1++; // 每次中断计数器加1
Count2++; // 每次中断计数器加1
if(Count1>=25) // 如果计数器超过25
{
LED0=!LED0; // 取返P0.0
Count1=0; // 计数器清零
}
if(Count2>=50) // 如果计数器超过50
{
LED1=!LED1; // 取返P0.1
Count2=0; // 计数器清零
}
TH0=0x70; // 重装定时初值
TL0=0x00;
}
作者:
wty714
时间:
2017-12-2 12:15
你可以调用一个延时函数
作者:
飞翔~哆啦
时间:
2017-12-2 12:33
比如说循环1秒内让它占空比20% 不亮占空比为80%
作者:
雨林木木风
时间:
2017-12-2 15:10
LED=0;delayms(1000);
作者:
雨林木木风
时间:
2017-12-2 15:12
LED1=0;delayms(1000);LED2=0;delayms(2000);就是用延时函数具体括号内的数字需要你自己调试。
作者:
hebaobao
时间:
2017-12-2 16:47
用一个中断最好,比较准确
作者:
821221862
时间:
2017-12-2 23:08
led1=~led1;
作者:
qq295027191
时间:
2017-12-3 04:55
一个简单的延时函数就搞定啦,
作者:
lebronda
时间:
2017-12-3 10:54
szb0321 发表于 2017-12-2 11:25
int i=0;
whiie(1)
{
如果用两个定时器去完成,应该怎样写
作者:
moshaomeng88
时间:
2017-12-3 12:20
i=200; while(i--) {if(i=100) LED1=1; if (i=1) LED2=1;}
作者:
lebronda
时间:
2017-12-3 13:24
hebaobao 发表于 2017-12-2 16:47
用一个中断最好,比较准确
中断应该怎样写
作者:
edwinc
时间:
2017-12-3 14:19
可以用延时,也可以用中断,中断比较精准
作者:
Bright_Zhang
时间:
2017-12-3 15:47
加一个delay()函数
作者:
达人知命
时间:
2017-12-3 21:58
这个延时函数不能处理吗?我想着应该2个不同的延时时间就可以处理的吧
作者:
jim19
时间:
2017-12-3 23:50
选择P1口其中两个个管脚作为输出控制 写一个1秒延时函数 根据设计电路 两个管脚输出相应电平 点亮对应发光二极管 以下为循环体内容 { 调用延时 管脚1 取反 改变灯状态 调用延时 管脚1取反 改变灯状态 管脚2取反 改变灯状态 }
作者:
david888
时间:
2017-12-4 10:45
用一个1秒延时函数也可以实现,要2S就调用2 次就行了
作者:
634549059
时间:
2017-12-4 11:21
可以用中断或查询
作者:
cgxz
时间:
2017-12-4 11:33
学习一下
作者:
happy55
时间:
2017-12-4 12:38
marked
作者:
吾王美如画
时间:
2017-12-4 12:59
编写两个循环语句控制电流信号
作者:
jekeytang
时间:
2017-12-4 14:45
led1=~led1;
作者:
宮梓萱
时间:
2017-12-4 15:06
这个可以使用定时器来做,这是在裸机的情况下。最容易实现的就是在操作系统上调用
作者:
wxc19960311
时间:
2017-12-4 16:06
调用定时器中断,if判断执行不同的功能
作者:
499679277
时间:
2017-12-4 20:10
while(1)
{
LED1高;
延时1S;
LED1低;
LED2高;
延时(1S);
LED2低;
}
作者:
我要学51d
时间:
2017-12-4 20:42
用定时器定时1s和2s
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1