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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機讀取航模接收機pwm,程序有注釋(原創)

[復制鏈接]
跳轉到指定樓層
樓主
原創)航模接收機pwm輸出 高位2ms 中位1.5ms 低位1ms(大部分是)我采用的是 STC15F104E單片機 8腳封裝







源代碼如下:
  1. /*
  2. By:Xsxin
  3. Time:2020.4.5
  4. STC15F104E
  5. IRC頻率12M.
  6. */
  7. #include<reg51.h>
  8. sfr AUXR = 0x8E;
  9. unsigned int a=0;
  10. sbit led=P3^4;
  11. sbit p=P3^2;            //pwm輸入腳

  12. void Timer0Init(void)   //12.000MHz
  13. {
  14.         AUXR &= 0x7F;                //定時器時鐘12T模式
  15.         TMOD &= 0xF0;                //設置定時器模式
  16.         TL0 = 0x00;                    //設置定時初值
  17.         TH0 = 0x00;                    //設置定時初值
  18.         TF0 = 0;                    //清除TF0標志
  19.         TR0 = 0;                    //定時器0停止計時
  20. }

  21. void main()
  22. {
  23.   Timer0Init();                         //初始化
  24.   while(1)                                 
  25.   {  
  26.     if(p==1)TR0 = 1;         //滿足條件,開始計時
  27.         while(p==1);                 //不滿足條件,跳出循環
  28.         TR0 = 0;                         //停止計時
  29.         a = TH0;                        
  30.         a = a*256+TL0;                 
  31.         TL0 = 0x00;                         //清零
  32.     TH0 = 0x00;                          //清零
  33.         if(a>900&&a<1100)led=0;  else led=1;        //判斷,執行程序
  34.         a = 0;                                 //計數清零
  35.   }
  36. }
復制代碼
注意:燒寫程序時請選擇IRC頻率12M.

所有資料51hei提供下載:
讀取航模pwm.zip (16.76 KB, 下載次數: 33)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:722991 發表于 2020-4-6 16:39 | 只看該作者
修改版
  1. /*
  2. By:Xsxin
  3. Time:2020.4.5
  4. STC15F104E
  5. IRC頻率12M.
  6. */
  7. #include<reg51.h>
  8. sfr AUXR = 0x8E;
  9. unsigned int a=0;
  10. sbit led=P3^4;
  11. sbit p=P3^2;            //pwm輸入腳

  12. void Timer0Init(void)   //12.000MHz
  13. {
  14.         AUXR &= 0x7F;                //定時器時鐘12T模式
  15.         TMOD &= 0xF0;                //設置定時器模式
  16.         TL0 = 0x00;                    //設置定時初值
  17.         TH0 = 0x00;                    //設置定時初值
  18.         TF0 = 0;                    //清除TF0標志
  19.         TR0 = 0;                    //定時器0停止計時
  20. }

  21. void Delay100ms()
  22. {                //@11.0592MHz
  23.         unsigned char i, j, k;
  24.         i = 5;
  25.         j = 52;
  26.         k = 195;
  27.         do
  28.         {
  29.                 do
  30.                 {
  31.                         while (--k);
  32.                 } while (--j);
  33.         } while (--i);
  34. }

  35. void main()
  36. {
  37.   Timer0Init();                         //初始化
  38.   while(1)                                 
  39.   {  
  40.     if(p==1)TR0 = 1;         //滿足條件,開始計時
  41.         if(p==0)
  42.         {       
  43.         TR0 = 0;                         //停止計時
  44.         a = TH0;                         
  45.         a = a*256+TL0;                 
  46.         TL0 = 0x00;                         //清零
  47.     TH0 = 0x00;                          //清零
  48.         if(a>900&&a<1100)
  49.         {
  50.             led=1;
  51.             Delay100ms();
  52.         }
  53.     if(a>1400&&a<1500)
  54.         {
  55.             led=1;
  56.             Delay100ms();
  57.                 Delay100ms();
  58.                 Delay100ms();
  59.                 Delay100ms();
  60.         }
  61.         else led=0;       
  62.         }
  63.   }
  64. }
復制代碼
回復

使用道具 舉報

板凳
ID:722991 發表于 2020-4-6 16:43 | 只看該作者
修改:把while改if,下面的放進去
  1. if(p==0)
  2.         {       
  3.         TR0 = 0;                         //停止計時
  4.         a = TH0;                         
  5.         a = a*256+TL0;                 
  6.         TL0 = 0x00;                         //清零
  7.     TH0 = 0x00;                          //清零
  8.         if(a>900&&a<1100)
  9.         {
  10.             led=1;
  11.             Delay100ms();
  12.         }
  13.     if(a>1400&&a<1500)
  14.         {
  15.             led=1;
  16.             Delay100ms();
  17.                 Delay100ms();
  18.                 Delay100ms();
  19.         }
  20.         else led=0;       
  21.         }
復制代碼
回復

使用道具 舉報

地板
ID:308570 發表于 2020-9-27 09:33 來自手機 | 只看該作者
是否可以增加通道
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 全免一级毛片 | 久久一日本道色综合久久 | 一区二区三区四区av | 91精品成人久久 | 国产97色| 国产毛片毛片 | 日韩在线一区二区三区 | 四色永久| 毛片国产 | 日本一二区视频 | 天天艹逼网 | 亚洲 中文 欧美 日韩 在线观看 | 久久中文免费视频 | 99re6在线视频 | 日本a∨精品中文字幕在线 亚洲91视频 | 久久久亚洲精品视频 | 中文字幕在线三区 | 日本免费在线观看视频 | 免费观看一级毛片 | 精品视频一区二区三区在线观看 | 亚洲韩国精品 | 日韩av一区二区在线观看 | 视频在线一区二区 | 中文字幕国产精品视频 | 欧美一区二区在线 | av在线视 | 精品欧美乱码久久久久久 | 精品国产免费人成在线观看 | 羞羞的视频免费看 | 视频一区二区在线 | 欧美日韩久久精品 | 欧美激情欧美激情在线五月 | 久草久 | 羞羞视频免费在线观看 | 欧美精品一区二区在线观看 | 久久久精品在线 | 精品国产乱码久久久久久牛牛 | av网址在线 | 精品一区二区三区四区 | 香蕉视频91 | 国产日韩欧美 |