久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4041|回復: 18
打印 上一主題 下一主題
收起左側

不用延時實現LED燈閃爍的單片機程序問題

  [復制鏈接]
跳轉到指定樓層
樓主
ID:706567 發表于 2020-11-4 08:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
高手們 總說  不用延時函數 或少用延時函數,想了半天,能不能這樣搞,掉去while循環,放在主程 序里跟著一遍一遍跑,是不是就可以實現,加外還有沒有別的思路?void main()
                {
                        
                        while(1)
                                {
                                          vv++;        
                                          if(vv<20000)   
                                                        {
                                                                P0=0xff;   //供陽極LED,P0口高電壓全滅
                                                        }
                                        if(vv>20001)
                                                        {
                                                                P0=0x00;   //P0口低電壓全亮
                                                        
                                                                if(vv==40000)
                                                                        {
                                                                                vv=0;
                                                                        }
                                
                                }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:654028 發表于 2020-11-4 09:07 | 只看該作者
去掉while(1)好像程序只跑一次吧。你可以開個看門狗,然后不喂狗,自動重啟。
回復

使用道具 舉報

板凳
ID:609192 發表于 2020-11-4 09:15 | 只看該作者
你貼出來的程序和延時函數無關啊
回復

使用道具 舉報

地板
ID:267932 發表于 2020-11-4 09:33 | 只看該作者
放定時器里呀
回復

使用道具 舉報

5#
ID:426861 發表于 2020-11-4 09:54 | 只看該作者
放定時器中
回復

使用道具 舉報

6#
ID:88256 發表于 2020-11-4 10:01 | 只看該作者
不用延時就用計數啊,程序跑一趟記一次數,判斷是否到達設定值
回復

使用道具 舉報

7#
ID:213173 發表于 2020-11-4 10:07 | 只看該作者
樓主的想法是正確的,已經實現了入門道路上的跨越。如下寫法邏輯更嚴密。
void main()
{
        unsigned int vv;
        while(1)
        {
                if(vv<20000)   
                        P0=0xff;    //供陽極LED,P0口高電壓全滅
                else P0=0x00;   //P0口低電壓全亮
                vv++;        
                if(vv>=40000)
                        vv=0;                       
        }
}
回復

使用道具 舉報

8#
ID:706567 發表于 2020-11-4 12:33 | 只看該作者

定時器  被別的任務占用了!。
回復

使用道具 舉報

9#
ID:706567 發表于 2020-11-4 12:34 | 只看該作者
wulin 發表于 2020-11-4 10:07
樓主的想法是正確的,已經實現了入門道路上的跨越。如下寫法邏輯更嚴密。
void main()
{

謝啦!
回復

使用道具 舉報

10#
ID:425577 發表于 2020-11-4 16:28 | 只看該作者
每個程序都要一個定時器用來跑系統的,把時間分成很多點,這個想要多長的時候都行
回復

使用道具 舉報

11#
ID:137736 發表于 2020-11-4 17:24 | 只看該作者
看高級一些的書,里面有,主循環加標志變量,利用變量延時。利用定時器延時。
回復

使用道具 舉報

12#
ID:706567 發表于 2020-11-4 19:42 | 只看該作者
zmc419 發表于 2020-11-4 17:24
看高級一些的書,里面有,主循環加標志變量,利用變量延時。利用定時器延時。

有啊,沒看過,自己瞎琢磨。
回復

使用道具 舉報

13#
ID:451718 發表于 2020-11-4 20:53 | 只看該作者
這個vv變量的累加和歸零,放到定時器中執行,這樣控制精度更高,可移植性更大。 不會隨主程序的單次循環周期變化而發生閃爍頻率的變化。  不過說回來, 如果只是一個端口的的變化,放到定時器中,不會對定時器中斷有太大的影響。  如果是液晶屏幕刷新控制,可以通過這樣方法,在定時器中刷新標志位。在主程序中判斷標志位來控制是否要運行的函數。
回復

使用道具 舉報

14#
ID:738987 發表于 2020-11-4 21:16 | 只看該作者
不懂你在干什么,延時函數本來就是通過變量循環自增自減來占用cpu實現的,不用延時就用定時器
回復

使用道具 舉報

15#
ID:706567 發表于 2020-11-5 15:26 | 只看該作者
robinsonlin 發表于 2020-11-4 20:53
這個vv變量的累加和歸零,放到定時器中執行,這樣控制精度更高,可移植性更大。 不會隨主程序的單次循環周 ...

學習了,
回復

使用道具 舉報

16#
ID:712493 發表于 2020-11-5 16:14 | 只看該作者
robinsonlin 發表于 2020-11-4 20:53
這個vv變量的累加和歸零,放到定時器中執行,這樣控制精度更高,可移植性更大。 不會隨主程序的單次循環周 ...

問下  在中斷設置標志  主程序運行  這樣精度能保證?
回復

使用道具 舉報

17#
ID:493010 發表于 2020-11-5 16:37 | 只看該作者
這個代碼寫的可讀性不強,延時單獨寫一個函數。另外不用循環就得用定時器。
回復

使用道具 舉報

18#
ID:451718 發表于 2020-11-6 15:52 | 只看該作者
fj51hei 發表于 2020-11-5 16:14
問下  在中斷設置標志  主程序運行  這樣精度能保證?

呵呵。 這個要自己理解咯。  單次誤差和累積誤差的區別。
回復

使用道具 舉報

19#
ID:851329 發表于 2020-12-17 21:26 | 只看該作者
如果不用延時函數的話那就只能用定時器控制
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美日韩在线观看 | 婷婷综合色| 日韩国产在线播放 | 99视频在线观看免费 | 精品1区2区 | 玖玖视频 | 日韩欧美中文字幕在线观看 | 国产精品网站在线观看 | 日韩欧美黄色片 | 久久精品三级 | 久久久一本 | 久久精品福利视频 | 久久久久a | 婷婷免费视频 | 日韩在线网址 | 欧美日韩亚洲一区二区三区 | 免费a在线 | 久久久久国产精品夜夜夜夜夜 | 毛片视频网站 | 天天躁日日躁狠狠躁av麻豆男男 | 日韩精品在线免费观看 | 久久久久久亚洲精品 | 69av在线| av免费在线观看网站 | 久久99深爱久久99精品 | 日韩中文字幕在线视频 | 色婷婷一区 | 天天干天天色天天射 | 亚洲啊v | 成人福利在线观看 | 日本精品国产 | 亚洲777| 国产美女一区 | 国产一区二区日韩 | 欧美97 | 国产精品五区 | 国产蜜臀av | 看黄网站在线观看 | 欧美日韩在线看 | 日韩欧美亚洲 | 毛片毛片毛片毛片毛片 |