欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 如何在單片機外部中斷0函數中使用定時器,求修改所給程序。 [打印本頁]

作者: wubaqian    時間: 2018-10-20 21:37
標題: 如何在單片機外部中斷0函數中使用定時器,求修改所給程序。
//目前程序的問題,第一個延時可以成功,但是外部中斷0中就無法使用延時程序(精確延時)了。

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. //uchar led1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. uchar x[]={0xff,0xfd};
  6. uchar y[]={0xaa,0x55};
  7. uchar z[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  8. uint tt,m,a,temp;
  9. delay(uint z)
  10. {
  11.         tt=0;      
  12.         TH0=(65536-18432)/256;
  13.         TL0=(65536-18432)%256;
  14.         EA=1;
  15.         ET0=1;
  16.         TMOD=0X01;//選擇定時器0中斷方式
  17.         TR0=1;//啟動定時器0;
  18.         while(1)//進入循環,同時開始定時,50ms后,tt=20
  19.         {
  20.         if(tt==z)//1s后進入if語句
  21.                 {
  22.                 return 0;
  23.                 }   
  24.         }
  25. }
  26. void main()
  27. {
  28.         EA=1;
  29.         EX0=1;
  30.         EX1=1;
  31.         IT0=0;//水平
  32.         IT1=1;//跳沿
  33.         PX0=0;
  34.         PX1=1;//設置優先級
  35.         while(1)
  36.         {
  37.                 for(m=0;m<10;m++)
  38.                 {
  39.                 P1=x[m%2];
  40.                  delay(50);
  41.                 a=1;
  42.                 delay(100);
  43.                 a=2;
  44.                 }      
  45.         }      
  46. }
  47. void xyz() interrupt 1
  48. {
  49.         TH0=(65536-18432)/256;
  50.         TL0=(65536-18432)%256;
  51.         tt++;
  52. }
  53. void zero() interrupt 2
  54. {
  55.                 for(m=1;m<10;m++)
  56.                 {
  57.                 temp=P1;
  58.                 P1=y[m%2];
  59.                  delay(50);
  60.                 a=1;
  61.                 P1=temp;
  62.                 }      
  63. }
復制代碼




作者: wubaqian    時間: 2018-10-21 17:02
沒人回答嗎?

作者: wubaqian    時間: 2018-10-21 17:03
尷尬了
作者: mengzhixinheng    時間: 2018-10-22 09:24
如果是延時不準的話,將延時用的定時器優先級設置為最高,其他中斷都比他低就可以了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1