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

標題: 中斷部分求解釋如何進如主函數的? [打印本頁]

作者: liuyy    時間: 2015-1-12 16:28
標題: 中斷部分求解釋如何進如主函數的?
  1. /*********** 2015.7 JQ--V0.1 宏晶公司STC單片機開發板 ************

  2. $ 程序作用:手動可調變速的流水燈的效果

  3. $ 程序作者: Jh

  4. $ 程序版本: JQ--V0.1

  5. $ 編制日期: 2011-07-01

  6. $ 編譯器:Keil C uVision2

  7. $ 所用芯片:STC89C52,11.0592M晶振

  8. $ 程序開發板:JQ--V0.1版本

  9. $ 程序通俗易懂  注釋詳細  結構化模塊是51單片機初學愛好者的理想選擇

  10. ******************** JQ--V0.1 宏晶公司STC單片機開發板 **********************/

  11. #include<reg52.h>      //52單片機頭文件定義

  12. #define uchar unsigned char    //數據類型uchar的宏定義
  13. #define uint  unsigned int   //數據類型uint的宏定義

  14. #define led P0          //P0口宏定義
  15. void init();
  16. uchar count,speed,num;  //全局變量定義

  17. sbit key =P3^2;

  18. void delay(uint k);

  19. uchar code huayang[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};//0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0x55,0x55,0x00};   //花樣跑馬燈數組定義  隨便改變數組里面的值就可以改變花樣(該數組有27個數值)
  20. void main(void)   //主函數
  21. {
  22. uchar i;
  23. init();
  24. while(1)         //while死循環
  25. {
  26.   for(i=0;i<8;i++)     //0-26共27次循環依次取出數組中的數(i小于多少由數組中的數決定)
  27.   {
  28.    led=huayang[i];   //把取出的數以總線的方式賦給led即P0口
  29.   }
  30. }
  31. }



  32. void init()   //初始化
  33. {
  34. speed=0;
  35. TMOD=0x01;   //定時器T0的應用   后面會詳細講
  36. TH0=(65536-speed)/256;
  37. TL0=(65536-speed)%256;
  38. EA=1;
  39. ET0=1;
  40. TR0=1;
  41. }


  42. void timer0() interrupt 1   //定時器T0中斷   后面會詳細講
  43. {
  44.   TH0=(65536-speed)/256;
  45.   TL0=(65536-speed)%256;
  46.   count++;
  47.   if(count==5000)
  48.   {
  49.    count=0;

  50.    if(key==0)      //按鍵消抖
  51.    { delay(5);
  52.     if(key==0)
  53.      num++;
  54.      while(!key);   //松手檢測  只要當key==1時才會退出這個while循環!

  55.      if(num==1)
  56.      {
  57.       speed=50;  //速度調節(也就是改變定時器的初值!)
  58.      }

  59.      if(num==2)
  60.      {
  61.       speed=100;
  62.      }

  63.      if(num==3)
  64.      {
  65.       speed=150;
  66.      }
  67.      

  68.      if(num==4)
  69.      {
  70.       speed=200;
  71.      }
  72.    }
  73.   }
  74. if(num==5)  num=0;
  75.   
  76. }


  77. void delay(uint k)   //延時子函數
  78. {
  79.    while(--k);
  80. }


  81. //這過程序用到了定時器  后面會跟大家詳細講解的! 謝謝大家!!!
  82. //對于調速函數可以進行修改,使其變得更加的簡潔,speed=num*50;if(num==6)  num=0;//防止程序出錯,所以進行了限制!
復制代碼








歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩不卡一区二区 | 欧美中文字幕在线观看 | av在线小说| 欧美日韩黄色片 | 久久99精品久久久久久琪琪 | 欧美黄色一级 | 欧美又大粗又爽又黄大片视频 | 免费av播放 | 免费国产视频 | 久久精品国产亚洲 | 亚洲免费精品 | 午夜影院在线观看视频 | 日本天堂网| 欧美久久久久久久 | 国产一级黄色录像 | 一区二区精品视频 | 欧美激情成人 | 在线成人 | 黄色三级视频在线观看 | 国产精品666 | www.亚洲视频| 婷婷综合五月天 | 一级香蕉视频 | 国产一级在线 | 一区二区三区国产视频 | 毛片网站视频 | 黄色片在线免费观看 | 欧美大白屁股 | 日韩av在线看 | 女教师合集乱500篇小说 | 亚洲国产第一页 | 日日夜夜天天操 | 成人激情视频 | 久久av网站| 夜间福利视频 | 久久精品小视频 | 国产精品三级在线 | 国产午夜免费视频 | 夜夜骑夜夜| 国产一级免费 | 日本中文字幕一区 |