单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 169|回复: 18
收起左侧

单片机LED灯闪亮问题

  [复制链接]
molo 发表于 2019-9-21 10:41 | 显示全部楼层 |阅读模式
大家好!请教各位大侠一下:
在STC单片机上,原来控制LED打开用以下语句:
case 0x01: OUT1=0;break;
想把这个修改成亮1秒灭1秒,怎么修改呢?加延时还是加定时器?
给个参考示例,谢谢!

回复

使用道具 举报

来51学习的 发表于 2019-9-21 12:33 | 显示全部楼层
如果没有别的控制,加延时的方式最方便
回复

使用道具 举报

166864646883 发表于 2019-9-21 12:57 | 显示全部楼层
延时定时器都可以,延时的话只能大概,不是很准确,定时器的话比较准确
回复

使用道具 举报

166864646883 发表于 2019-9-21 12:58 | 显示全部楼层
比如延时的:
OUT1=0;
for(i=0;i<30000;i++);
OUT1=1;
for(i=0;i<30000;i++);

评分

参与人数 1黑币 +10 收起 理由
molo + 10

查看全部评分

回复

使用道具 举报

devcang 发表于 2019-9-21 13:30 | 显示全部楼层
定时器、延时,都可以做到的。
~~~~~~~~
回复

使用道具 举报

angmall 发表于 2019-9-21 13:52 | 显示全部楼层
你这个程序不完整
问题描述太少,不好贸然回答
回复

使用道具 举报

 楼主| molo 发表于 2019-9-21 16:01 | 显示全部楼层
我是想让LED一直闪着,用延时好像一段时间就会停下来。
回复

使用道具 举报

 楼主| molo 发表于 2019-9-21 16:11 | 显示全部楼层
不好意思,没说清楚,是想修改成亮1秒灭1秒,一直循环。
回复

使用道具 举报

海里蛐蛐 发表于 2019-9-21 16:26 | 显示全部楼层
估计楼主是想通过 switch判断变量 来控制led。这个开个定时中断每隔1s改变判断变量就可以了。
回复

使用道具 举报

qq603599910 发表于 2019-9-21 16:39 | 显示全部楼层
没有相关任务,软件延时最直接也最简单易懂.

void Delay1000ms()                //@11.0592MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 43;
        j = 6;
        k = 203;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

评分

参与人数 1黑币 +10 收起 理由
molo + 10

查看全部评分

回复

使用道具 举报

文凤轩 发表于 2019-9-21 17:09 来自手机 | 显示全部楼层
加延时就行了
回复

使用道具 举报

 楼主| molo 发表于 2019-9-21 17:25 | 显示全部楼层
谢谢各位,我再琢磨琢磨!
回复

使用道具 举报

qq603599910 发表于 2019-9-21 21:22 | 显示全部楼层
定义LED变量,然后默认LED=1,main函数里加while循环,启动延时后加一行 LED=!LED ,每次取反,这样就能循环亮灭闪动了.从基本的教程开始学习一下,最初步的教程就是LED的亮和闪亮开始.
回复

使用道具 举报

hantu 发表于 2019-9-21 21:58 | 显示全部楼层
用中断吧,一开中断就让它亮灭不停,关中断它才停下。
回复

使用道具 举报

weijoyer 发表于 2019-9-22 00:23 | 显示全部楼层
简单的直接加软件延时,如果有控制用定时器提高效率
回复

使用道具 举报

你是我爸爸 发表于 2019-9-22 19:50 | 显示全部楼层
定时器吧,用定时器限时一秒,再在主函数判定循环取反就OK啦
回复

使用道具 举报

 楼主| molo 发表于 2019-9-22 21:15 | 显示全部楼层
谢谢各位答复,看来用定时器比较好。
回复

使用道具 举报

spendell 发表于 2019-9-22 22:23 | 显示全部楼层
延时不准,定时器准一些。
回复

使用道具 举报

1539905269 发表于 2019-9-23 11:38 | 显示全部楼层
加延迟会造成程序堵塞 建议开启定时器  每次取反输出
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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