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

標題: 單片機定時器的軟件調試,定時時間為1ms,但是調試窗口中顯示時間已經達到1.4ms左右 [打印本頁]

作者: whuwuh666    時間: 2020-7-12 07:48
標題: 單片機定時器的軟件調試,定時時間為1ms,但是調試窗口中顯示時間已經達到1.4ms左右
使用定時器1,在編寫定時器程序時,根據公式
定時時間=(65535-X)*(12/晶振頻率)

得到初值,編寫如下程序實驗
  1. #include <reg52.h>
  2. /*工作方式1_1ms延時函數*/
  3. void delay_ms(uint xms)
  4. {
  5.         while(xms!=0)
  6.         {
  7.                 TMOD=0x01;
  8.                 TR0=1;
  9.                 TH0=0xfc;TL0=0x66;
  10.                 while(TF0!=1);
  11.                 TF0=0;
  12.                 xms--;
  13.         }
  14.         TR0=0;
  15. }
  16. /*主程序*/
  17. void main()
  18. {
  19. delay_ms(1);
  20. }
復制代碼
定時時間為1ms,但是調試窗口中顯示時間已經達到1.4ms左右,晶振頻率為11.0592MHz設置無誤,不知道是什么原因,懇請高人解答。




作者: xianfajushi    時間: 2020-7-12 10:01
定時器設置一次即可,為何要循環?
作者: wufeng391    時間: 2020-7-12 21:41
你為什么不用定時中斷?那樣精度會更好一點!
作者: whuwuh666    時間: 2020-7-24 17:02
xianfajushi 發表于 2020-7-12 10:01
定時器設置一次即可,為何要循環?

感謝回答
我定義一個delay_ms函數,意在延遲一定的時間,
        while(xms!=0)
        {
                TMOD=0x01;
                TR0=1;
                TH0=0xfc;TL0=0x66;
                while(TF0!=1);
                TF0=0;
                xms--;
        }
是將延遲1ms的動作執行xms次,每一次賦初值后,是等待定時器溢出才重新賦初值。我感覺這樣沒有問題,教材上也是如此。不知道是不是有其他問題。
作者: whuwuh666    時間: 2020-7-24 17:05
wufeng391 發表于 2020-7-12 21:41
你為什么不用定時中斷?那樣精度會更好一點!

感謝回答
我想試驗一下這種方式,遇到這個問題。不知道是操作問題還是誤差問題




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费黄色大片 | 国产高清在线 | av一区二区三区在线观看 | 精品日韩欧美一区二区 | 精品视频一区二区 | 国产一区二区三区四区 | 久久国产精彩视频 | 国家一级黄色片 | 国产精品7777777 | ww亚洲ww亚在线观看 | 久久久久久久久精 | 青青草免费在线视频 | jav成人av免费播放 | 亚洲综合色丁香婷婷六月图片 | 国产精品免费播放 | 国产原创在线观看 | 国产成人免费在线 | 亚洲国产午夜 | 久久久成人网 | 日韩国产中文字幕 | 免费看国产a | 综合久久久 | 国产91精品在线 | 蜜臀久久 | 久久久久久久久久一区 | 欧美福利在线 | 精品不卡| 国产成人一区二区三区 | 亚洲视频在线看 | 欧洲视频一区 | 日本色高清 | 久久伊人精品 | 男女啪啪高潮无遮挡免费动态 | 操操操av| 国产夜恋视频在线观看 | 国产精品免费一区二区三区四区 | 羞羞视频网页 | 天堂成人国产精品一区 | 日韩欧美在线观看 | 国产精品日韩欧美一区二区三区 | 精品一级 |