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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3774|回復: 5
收起左側

delay(0)對單片機定時中斷有影響嗎

[復制鏈接]
ID:246959 發表于 2017-11-7 16:06 | 顯示全部樓層 |閱讀模式
當我把delay(5000)改成delay(10000)后,數字管上數字滾動延時時間變很長也不規律

單片機源程序:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar temp,aa,num;
  6. sbit duan=P2^2;
  7. sbit wei=P2^3;
  8. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. void delay(uint t);
  10. void InitTimer();
  11. void main()
  12. {
  13.         num=0;
  14.         InitTimer();
  15.         temp=0xfe;
  16.         P1=temp;
  17.         duan=1;
  18.         P0=table[0];
  19.         duan=0;
  20.         wei=1;
  21.         P0=0x00;
  22.         wei=0;
  23.         while(1)
  24.         {
  25.                 delay(5000);
  26.                 temp=_crol_(temp,1);
  27.                 P1=temp;
  28.                 if(aa==40)
  29.                 {
  30.                         aa=0;
  31.                         num++;
  32.                         if(num==16)
  33.                                 num=0;
  34.                         duan=1;
  35.                         P0=table[num];
  36.                         duan=0;
  37.                         
  38.                 }
  39.                
  40.         }
  41. }
  42. void delay(uint t)
  43. {
  44.         while(t--);
  45. }
  46. void InitTimer()
  47. {
  48.     TMOD = 0x01;
  49.     TH0 = (65536-50000)/256;
  50.     TL0 = (65536-50000)%256;
  51.     EA = 1;
  52.     ET0 = 1;
  53.     TR0 = 1;
  54. }
  55. void Timer() interrupt 1
  56. {
  57.    TH0=(65536-50000)/256;
  58.    TL0=(65536-50000)%256;
  59.    aa++;
  60. }
復制代碼


回復

使用道具 舉報

ID:244971 發表于 2017-11-7 20:04 | 顯示全部樓層
1.)一般來說說既然已用中斷來計時,為何還要另外調用延遲程序???除非延遲程序時間太短!!
2.)假設中斷設初始定成2mSec.而且中斷程序中運算后利用標號來表示各時間段到達(timeout);
eg.
2*25=50mS//給按鍵去抖用標號
2*250=500mS//給秒點用標號
...
3.)主程序中只要判斷所須標號,是否為真再清除即可.

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:186510 發表于 2017-11-7 21:30 | 顯示全部樓層
調用延時函數的話是根據單片機內部處理指令的時間來計算的,本來就不會很準確,只是一個大致的時間,即處理一條指令說用的時間
延時函數采用循環語句,單片機處理一條指令的時間乘以循環的次數就是你要求的時間,而單片機處理一條指令的時間不是一個準確的時間,不精確,只是一個大致的時間,不知道您能明白嗎?如果還有問題請私聊我,

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:247000 發表于 2017-11-7 17:14 | 顯示全部樓層
肯定有啊
回復

使用道具 舉報

ID:247065 發表于 2017-11-7 20:17 | 顯示全部樓層
是有影響的吧
回復

使用道具 舉報

ID:247065 發表于 2017-11-7 20:17 | 顯示全部樓層
應該有的吧,存在即合理
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜资源 | 精品1区 | 无码日韩精品一区二区免费 | 91精品国产综合久久精品 | 中文字幕三区 | 婷婷亚洲综合 | 亚洲精品一区国语对白 | 一级黄色片日本 | 日韩精品视频在线播放 | 不卡视频一区 | 日韩精品一区二区三区中文在线 | 91精品国产一区二区三区 | 91视频精选| 国产成人精品一区二区三区网站观看 | 久久亚洲欧美日韩精品专区 | 国产免费麻豆视频 | 久热伊人 | 中文字幕人成乱码在线观看 | 国产一区二区在线视频 | 99re在线| 日韩精品在线看 | 99视频| 精品久久影院 | 国产不卡一区在线观看 | 伊人久久麻豆 | 中文字幕亚洲国产 | 国产亚洲一区二区三区在线观看 | 日韩不卡在线 | 最近日韩中文字幕 | 中文字幕在线播放不卡 | 久久婷婷国产麻豆91 | 日韩精品在线看 | 女人夜夜春 | 日本不卡一区二区三区在线观看 | 欧美激情久久久 | 天天操网 | 欧美四虎| 成人免费在线视频 | 亚洲免费一区二区 | 人人天天操 | 97伊人 |