找回密码
 注册
关于网站域名变更的通知
查看: 588|回复: 5
打印 上一主题 下一主题

不用延时 实现 LED等 闪烁

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-11-4 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
高手们 总说  不用延时函数 或少用延时函数,想了半天,能不能这样搞,掉去while循环,放在主程 序里跟着一遍一遍跑,是不是就可以实现,加外还有没有别的思路?void main()
! _& I7 w% g$ m  [0 z+ U! K                {9 Q  C* y; e, y1 ]" a. O. u3 k
                       " U8 \- q3 y! e8 O8 z
                        while(1)
; G8 }$ L  {; a. p, ?2 p                                {& N3 h% r5 X: W& b- E
                                          vv++;      
: }- X4 o% T$ o# a0 A, I. B                                          if(vv<20000)   
4 L4 d" ^/ z$ C3 ]8 |                                                        {+ P* d, R0 Z0 p2 J* C" o
                                                                P0=0xff;   //供阳极LED,P0口高电压全灭
( M7 y6 C% g7 J6 Y, X0 Z2 E                                                        }7 q/ @) W9 b# k7 c
                                        if(vv>20001); V, M; Z1 X$ x6 {
                                                        {
" `0 @- N! _9 s2 [                                                                P0=0x00;   //P0口低电压全亮
& \! _9 ~) G6 j( w3 m/ ^1 |1 s0 ~4 u) Y                                                       6 u9 N7 ?/ G! U  T- t" I
                                                                if(vv==40000)- B; l  F# C0 B% F7 g
                                                                        {. N  r, K% p- \: f; {! z  @0 ]
                                                                                vv=0;$ y5 i+ B) v* N7 ?
                                                                        }
4 _' P9 [2 r1 P* @                              
; ?& F+ a* ~- D2 l. V" B, {% w                                }
5 V" e# N  {$ \) P( P3 z

该用户从未签到

2#
发表于 2020-11-4 14:26 | 只看该作者
不用延时就用计数啊,程序跑一趟记一次数,判断是否到达设定值
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-11-4 15:22 | 只看该作者
    你贴出来的程序和延时函数无关啊

    该用户从未签到

    4#
    发表于 2020-11-4 16:41 | 只看该作者
    去掉while(1)好像程序只跑一次吧。你可以开个看门狗,然后不喂狗,自动重启。
  • TA的每日心情
    无聊
    2024-1-31 15:19
  • 签到天数: 141 天

    [LV.7]常住居民III

    5#
    发表于 2020-11-5 11:21 | 只看该作者
    本帖最后由 gyb0912 于 2020-11-5 11:22 编辑
    ) n$ M1 ~" c/ I3 N4 N
    : N) C! n7 Y8 c7 W& n$ E( Y% v1 q定时器中断多方便。或者使用RTOS,建个LED任务随便延时去

    该用户从未签到

    6#
    发表于 2021-1-13 21:07 | 只看该作者
    感谢分享66666
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-23 02:30 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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