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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機初學者請教軟件延時和定時器延時的區別?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:143584 發表于 2018-11-23 19:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對于軟件延時還是定時器延時有點疑惑,為什么說定時器延時不占用單片機時間,書上和視頻中都說軟件延時占用單片機的掃描時間,會錯過一些事件,不都是起一個延時的效果嗎,比如 led=0;delay();led=1;delay(); ........
比如第一個delay()不論是軟件延時還是定時器延時,都得把延時函數執行完才會執行下一步吧,如像書上和視頻中說的定時器延時不占用掃描時間,哪豈不是就跳過delay() 函數了,哪還有什么意義。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:432075 發表于 2018-11-23 21:36 | 只看該作者
定時器延時會使程序進入中斷,中斷進行中,主程序并不會運行,所以沒問題
回復

使用道具 舉報

板凳
ID:358930 發表于 2018-11-24 07:44 | 只看該作者
定時器有專用寄程器的,如你的主程序隨便運行,只要定時中斷一到就會叫停主程序而執行行定時中斷,這個中斷可以是點個小燈。如你主程序不停取反閃爍一個燈,定時一到就長亮。你看這不就是你主程序一直運行取反,無論定時到的那一會燈是什么狀態,他都會常亮。這樣理行能行嗎?
回復

使用道具 舉報

地板
ID:143584 發表于 2018-11-24 08:07 | 只看該作者
背球客 發表于 2018-11-23 21:36
定時器延時會使程序進入中斷,中斷進行中,主程序并不會運行,所以沒問題

你的意思是程序是在中斷中進行的,可主程序中往往有很多的狀態要掃描的,你說主程序在這個時候是不運行的,哪不是主程序的掃描停止了嗎,哪和軟件延時還有什么區別,都是停在delay不往下進行,都會錯過一些狀態的,我的疑惑就在這兒.
回復

使用道具 舉報

5#
ID:396960 發表于 2018-11-24 09:21 | 只看該作者
1軟件延時:
其他執行  --------           --------
延時執行             --------          --------
    看到軟件延時像是一般其他執行那樣,會占用時間的

2定時器延時:
其他執行 ------- - - - -   --------  - - - -  --------
延時執行         - - - - -            - - - - -
   看到,在定時器計數時,單片機是在做著其他工作,知道定時器加1一次,才回到定時器延時執行。

大概就這么個理解,要深入理解,變成自己的知識,還是多寫代碼多看書。
回復

使用道具 舉報

6#
ID:155507 發表于 2018-11-24 09:21 | 只看該作者
用軟件延時,CPU 循環執行一小段延時程序。
浪費 CPU 的精力。

用定時器定時,CPU 就可以干別的。
回復

使用道具 舉報

7#
ID:155507 發表于 2018-11-24 09:26 | 只看該作者
1、軟件循環延時:采用循環語句,如for,while等,進行長時間的空操作,或者空語句。
優點:程序理解簡易,入手快,新手必備武器!
缺點:時間精度不高,且占用單片機大量時間資源,引發其它子函數的不流暢(卡滯、遲鈍),導致系統實時反應能力下降。
2、定時延時:采用定時器定時,如T0,T1;
優點:時間精度高,提高系統程序執行的高效性,不影響子函數的正常運行。
缺點:需占用1個定時器資源(可以復用),需良好程序構架支持,入手難。
個人建議:一旦學會定時器,就不應該再使用“循環延時”函數,采用定時器才是正道。如果對延時精度要求不高,建議使用結構體組成多個延時體。
回復

使用道具 舉報

8#
ID:424073 發表于 2018-11-24 09:31 | 只看該作者
用軟件定時,CPU 循環執行一小段延時程序。 浪費 CPU 的精力。 用定時器定時,CPU 就可以干別的。
回復

使用道具 舉報

9#
ID:358930 發表于 2018-11-24 10:05 來自手機 | 只看該作者
lwhmgp 發表于 2018-11-24 08:07
你的意思是程序是在中斷中進行的,可主程序中往往有很多的狀態要掃描的,你說主程序在這個時候是不運行的, ...

那是對的,但中斷所以才分優先級別,中斷還可以被另一個中斷高級別叫停,回歸,但延時就只能等待,
回復

使用道具 舉報

10#
ID:358930 發表于 2018-11-24 10:10 來自手機 | 只看該作者
lwhmgp 發表于 2018-11-24 08:07
你的意思是程序是在中斷中進行的,可主程序中往往有很多的狀態要掃描的,你說主程序在這個時候是不運行的, ...

所以我們才會引入N多中斷優先級,防止延時或者大量不應答器件,死在那里,使得主程序停止,中斷有時等于你認為的延
回復

使用道具 舉報

11#
ID:432321 發表于 2018-11-24 13:51 | 只看該作者
軟件延時說白了就是浪費CPU時間而且還有很大的機械抖動,而定時器就不一樣他是單片機的內部定時就好像你要2MS的延時,定時器就像CPU雇傭的工人2MS
回復

使用道具 舉報

12#
ID:432353 發表于 2018-11-24 14:15 | 只看該作者
軟件延遲一般時間不精準,定時器就比較準
回復

使用道具 舉報

13#
ID:97097 發表于 2018-12-11 17:08 | 只看該作者
精度不一樣
回復

使用道具 舉報

14#
ID:444256 發表于 2018-12-11 17:22 | 只看該作者
軟件延時會占用cpu,定時器延時的話就好比你在工作的時候還有個小助手來幫你,不用經常打斷你的工作
回復

使用道具 舉報

15#
ID:367460 發表于 2018-12-11 19:00 | 只看該作者
延時函數時CPU會一直純延時,什么都不干,  而定時器不一樣,它在背后跑它自己的,到時間了會進入中斷,執行中斷函數里的程序,不占用CPU,主程序和定時器互不影響
回復

使用道具 舉報

16#
ID:441377 發表于 2018-12-12 15:06 | 只看該作者
可以這樣理解:定時器延時是讓程序跑進定時器里面運行,單片機依舊可以干別的事情,軟件延時就是讓單片機依舊不停在干活,只不過干的活是無意義純粹消磨時間的期間單片機干不了別的。
回復

使用道具 舉報

17#
ID:421426 發表于 2018-12-13 09:58 來自手機 | 只看該作者
只是暫時跳過吧    當中斷執行完以后還會繼續執行沒有完成的程序   等到下次中斷時間到了在進去中斷就這么循環下去
回復

使用道具 舉報

18#
ID:229821 發表于 2019-3-28 09:03 | 只看該作者
我可以這樣理解嗎? 延時是單片機等待,什么都做不了,主程序也不會繼續執行。定時器雖然也讓主程序不繼續執行。但是有多個定時器的話,那多個定時器都還在執行???
回復

使用道具 舉報

19#
ID:423528 發表于 2019-3-28 11:10 | 只看該作者
定時器延時是利用定時計數,視為外設,計數是一直在進行的,當計數到溢出更新值時產生中斷信號,MCU接收到這個信號后,在中斷函數中可以處理你要延時之后再執行的代碼,在未進入定時中斷時間內,MCU同時可以執行其他代碼;而普通的延時函數,函數里面的代碼是需要MCU一句一句地執行,要占用時間。
回復

使用道具 舉報

20#
ID:158375 發表于 2019-3-28 11:17 | 只看該作者
舉個例子:單片機要點亮1 Minute的LED,軟件延時的意思是,從點亮LED開始,單片機什么都不干,等待1 Minute,到時關閉LED;
定時器延時意思就是,從點亮LED開始,設置好定時器延時時間,單片機該干什么就干什么,等到延時器延時時間到了,來個中斷,單片機放下當前工作,保存現場參數,響應中斷并關閉LED,單片機回復現場參數,接著干原來的工作;
回復

使用道具 舉報

21#
ID:467275 發表于 2019-3-28 12:55 | 只看該作者
用軟件定時,CPU 循環執行一小段延時程序。 浪費 CPU 的精力。浪費資源。
回復

使用道具 舉報

22#
ID:499790 發表于 2019-3-28 15:42 | 只看該作者
定時器延時準確,依靠晶振。重點是不耽誤單片機運行。軟件延時消耗的是cpu指令時間。CPU處于暫停(只能執行延時)狀態
回復

使用道具 舉報

23#
ID:599165 發表于 2019-8-13 23:46 | 只看該作者
pingshuenhao 發表于 2019-3-28 15:42
定時器延時準確,依靠晶振。重點是不耽誤單片機運行。軟件延時消耗的是cpu指令時間。CPU處于暫停(只能執行 ...

說的好呀
回復

使用道具 舉報

24#
ID:426861 發表于 2019-8-14 10:01 | 只看該作者
軟件延時只是傻瓜式的空等,此時延時的優先級高于一切中斷,這樣做是有風險的
回復

使用道具 舉報

25#
ID:425699 發表于 2019-8-14 10:33 | 只看該作者
延時不精確,主要是相當于用單片機執行空語句, 而定時器則是精確定時,每隔幾ms或us執行一次程序
回復

使用道具 舉報

26#
ID:418329 發表于 2019-8-14 11:35 | 只看該作者
定時器延時是單機內部硬件延時,不占用軟件時間。
回復

使用道具 舉報

27#
ID:510570 發表于 2019-8-14 16:02 | 只看該作者
你這個問題,可以留著,等你多學習一點,自己就明白了!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人精品久久 | 成人精品一区 | 欧美激情精品久久久久 | 五月婷婷在线播放 | 99久久精品国产麻豆演员表 | 毛片入口| 噜久寡妇噜噜久久寡妇 | 国产精品片aa在线观看 | 亚洲精品久久久一区二区三区 | 99亚洲 | 中文字幕免费 | 97caoporn国产免费人人 | 国产精品久久精品 | 欧洲一区二区视频 | 国产欧美一区二区精品忘忧草 | 欧美一级免费 | 欧美在线a | 久久久久国产一区二区 | 亚洲免费在线观看视频 | 欧美成人精品在线 | 亚洲精品免费在线 | 九九久久久| 国产精品中文字幕在线播放 | 美女日批免费视频 | 国内精品视频一区二区三区 | 黄色网址大全在线观看 | 日韩伦理一区二区三区 | 日韩精品视频一区二区三区 | 欧美日韩第一页 | 97精品超碰一区二区三区 | 天堂一区二区三区 | 精品99久久久久久 | 视频1区 | 亚洲视频在线免费观看 | 日韩欧美三区 | 久久精品国产99国产精品 | 久久精品97| 麻豆精品久久久 | 免费午夜视频在线观看 | 久久1区| 水蜜桃亚洲一二三四在线 |