找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7921|回复: 31
收起左侧

让两个LED灯一直亮灭亮灭

  [复制链接]
ID:242890 发表于 2017-12-1 21:00 | 显示全部楼层 |阅读模式
如果让两个LED灯按不同的频率亮灭,例如:while(1)
{
LED1隔一秒亮一次,LED2隔两秒亮一次;

}  
这样应该怎样解决,求C语言示例代码
回复

使用道具 举报

ID:74784 发表于 2017-12-1 21:57 | 显示全部楼层
这个不难吧?
回复

使用道具 举报

ID:244326 发表于 2017-12-1 22:32 | 显示全部楼层
先给一个高电平,第二条取反
回复

使用道具 举报

ID:42943 发表于 2017-12-1 23:31 | 显示全部楼层
选择P1口其中两个个管脚作为输出控制
写一个1秒延时函数

根据设计电路 两个管脚输出相应电平 点亮对应发光二极管

以下为循环体内容

{
调用延时
管脚1 取反 改变灯状态
调用延时
管脚1取反 改变灯状态
管脚2取反 改变灯状态
}
回复

使用道具 举报

ID:249808 发表于 2017-12-2 10:05 | 显示全部楼层
while(1)
{
LED1=1;
delay1S;
LED1=0;
LED2=1;
delay2S;
LED2=0;

}  

去试一下看!
回复

使用道具 举报

ID:255508 发表于 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;                 //重新赋值
            }

评分

参与人数 1黑币 +12 收起 理由
lebronda + 12 很给力!

查看全部评分

回复

使用道具 举报

ID:255915 发表于 2017-12-2 11:57 来自手机 | 显示全部楼层
你可以调用一个延时函数
回复

使用道具 举报

ID:60379 发表于 2017-12-2 12:00 | 显示全部楼层

12-用定时中断长延时实现P0口多个LED亮灭.rar (13.68 KB, 下载次数: 7)

评分

参与人数 1黑币 +12 收起 理由
lebronda + 12 很给力!

查看全部评分

回复

使用道具 举报

ID:256413 发表于 2017-12-2 12:15 | 显示全部楼层
你可以调用一个延时函数
回复

使用道具 举报

ID:256394 发表于 2017-12-2 12:33 | 显示全部楼层
比如说循环1秒内让它占空比20% 不亮占空比为80%
回复

使用道具 举报

ID:255476 发表于 2017-12-2 15:10 | 显示全部楼层
LED=0;delayms(1000);
回复

使用道具 举报

ID:255476 发表于 2017-12-2 15:12 | 显示全部楼层
LED1=0;delayms(1000);LED2=0;delayms(2000);就是用延时函数具体括号内的数字需要你自己调试。
回复

使用道具 举报

ID:168857 发表于 2017-12-2 16:47 | 显示全部楼层
用一个中断最好,比较准确
回复

使用道具 举报

ID:209379 发表于 2017-12-2 23:08 | 显示全部楼层
led1=~led1;
回复

使用道具 举报

ID:217829 发表于 2017-12-3 04:55 | 显示全部楼层
一个简单的延时函数就搞定啦,
回复

使用道具 举报

ID:242890 发表于 2017-12-3 10:54 | 显示全部楼层
szb0321 发表于 2017-12-2 11:25
int i=0;
whiie(1)

如果用两个定时器去完成,应该怎样写
回复

使用道具 举报

ID:255231 发表于 2017-12-3 12:20 | 显示全部楼层
i=200; while(i--) {if(i=100) LED1=1; if (i=1) LED2=1;}
回复

使用道具 举报

ID:242890 发表于 2017-12-3 13:24 | 显示全部楼层
hebaobao 发表于 2017-12-2 16:47
用一个中断最好,比较准确

中断应该怎样写
回复

使用道具 举报

ID:256774 发表于 2017-12-3 14:19 | 显示全部楼层
可以用延时,也可以用中断,中断比较精准
回复

使用道具 举报

ID:256817 发表于 2017-12-3 15:47 | 显示全部楼层
加一个delay()函数
回复

使用道具 举报

ID:254549 发表于 2017-12-3 21:58 | 显示全部楼层
这个延时函数不能处理吗?我想着应该2个不同的延时时间就可以处理的吧
回复

使用道具 举报

ID:257002 发表于 2017-12-3 23:50 | 显示全部楼层
选择P1口其中两个个管脚作为输出控制 写一个1秒延时函数  根据设计电路 两个管脚输出相应电平 点亮对应发光二极管  以下为循环体内容  { 调用延时 管脚1 取反 改变灯状态 调用延时 管脚1取反 改变灯状态 管脚2取反 改变灯状态 }
回复

使用道具 举报

ID:231046 发表于 2017-12-4 10:45 | 显示全部楼层
用一个1秒延时函数也可以实现,要2S就调用2 次就行了
回复

使用道具 举报

ID:257047 发表于 2017-12-4 11:21 来自手机 | 显示全部楼层
可以用中断或查询
回复

使用道具 举报

ID:257111 发表于 2017-12-4 11:33 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:257131 发表于 2017-12-4 12:38 | 显示全部楼层
marked
回复

使用道具 举报

ID:257137 发表于 2017-12-4 12:59 | 显示全部楼层
编写两个循环语句控制电流信号
回复

使用道具 举报

ID:257192 发表于 2017-12-4 14:45 | 显示全部楼层

led1=~led1;
回复

使用道具 举报

ID:243193 发表于 2017-12-4 15:06 | 显示全部楼层
这个可以使用定时器来做,这是在裸机的情况下。最容易实现的就是在操作系统上调用
回复

使用道具 举报

ID:186936 发表于 2017-12-4 16:06 | 显示全部楼层
调用定时器中断,if判断执行不同的功能
回复

使用道具 举报

ID:257364 发表于 2017-12-4 20:10 | 显示全部楼层

while(1)
{
LED1高;
延时1S;
LED1低;
LED2高;
延时(1S);
LED2低;
}
回复

使用道具 举报

ID:257395 发表于 2017-12-4 20:42 | 显示全部楼层
用定时器定时1s和2s
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表