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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2106|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

PT2262 STC89C516單片機軟件解碼失敗怎么回事?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:141497 發(fā)表于 2018-4-29 00:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
12M晶振,反碼方式解碼,數(shù)據(jù)輸入P3^2口,外部中斷0。請各位幫忙看看是那里出了問題,我現(xiàn)在沒有查到原因,本人先謝謝各位了!!!
我寫的代碼如下:
/*-----------------------------------------------------------------------------------------
說明:
1  反碼方式解碼4.7M 6.8K 1t147us 4t588us 12t1764us 124t18228us
2  編程思路:定時器測量脈沖寬度,長脈沖標(biāo)記1,短脈沖標(biāo)記0,共記24個脈沖保存于數(shù)組中與地址碼對比.
-------------------------------------------------------------------------------------------*/
  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit din=P3^2;
  5. sbit d1=P1^0;
  6. sbit d2=P1^1;
  7. sbit d3=P1^2;
  8. sbit d4=P1^3;//4個解碼成功指示燈
  9. uchar b,c;
  10. uint a;
  11. bit datend=0;
  12. uchar dateok[24];
  13. void init();
  14. void delayus(uchar c);
  15. void delay160ms();
  16. void timer();
  17. void outcode();//輸出
  18. void main()
  19. {
  20.         init();
  21.         while(1)
  22.                 {
  23.                         outcode();
  24.                 }
  25. }
  26. void delayus(uchar c)//c=1 200us
  27. {
  28.     uchar a,b;
  29.     for(b=c;b>0;b--)
  30.         for(a=98;a>0;a--);
  31. }
  32. void delay160ms()
  33. {
  34.     uchar a,b,c;
  35.     for(c=193;c>0;c--)
  36.         for(b=118;b>0;b--)
  37.             for(a=2;a>0;a--);
  38. }

  39. void init()
  40. {
  41.         P1=0x00;
  42.         IT0=1;
  43.         EX0=1;
  44.         EA=1;
  45.         TMOD=0x09;
  46.         TH0=0;
  47.         TL0=0;
  48. }
  49. void int0() interrupt 0
  50. {
  51.         EX0=0;
  52.         timer();
  53.         if((a>17000)&&(a<19000))//同步碼確認(rèn)
  54.                 {
  55.                         TH0=0;
  56.                         TL0=0;
  57.                         for(b=0;b<24;b++)
  58.                                 {
  59.                                         timer();
  60.                                         if((a>550)&&(a<620))
  61.                                                 {
  62.                                                         c=0x00;//窄脈沖標(biāo)記0
  63.                                                         TH0=0;
  64.                                                         TL0=0;
  65.                                                         delayus(8);
  66.                                                 }
  67.                                         else if((a>1600)&&(a<1900))
  68.                                                 {
  69.                                                         c=0x01;//寬脈沖標(biāo)記1
  70.                                                         TH0=0;
  71.                                                         TL0=0;
  72.                                                         delayus(2);
  73.                                                 }
  74.                                         dateok[b]=c;
  75.                                 }
  76.                                 datend=1;//解碼成功標(biāo)志位
  77.                                 delay160ms();//150528us 等待第3第4組結(jié)束
  78.                                 EX0=1;        
  79.         }
  80.         else
  81.                 {
  82.                         TH0=0;
  83.                         TL0=0;
  84.                         EX0=1;
  85.                 }
  86. }
  87. void timer()//中斷字函數(shù)
  88. {
  89.         while(din);
  90.         TR0=1;
  91.         while(!din);
  92.         TR0=0;
  93.         a=TH0*256+TL0;
  94. }
  95. void outcode()//輸出
  96. {
  97.         if(datend==1)
  98.                                 {
  99.                                         datend=0;
  100.                                         if((dateok[0]==0)&&(dateok[1]==0)&&(dateok[2]==1)&&(dateok[3]==1)&&
  101.                                         (dateok[4]==1)&&(dateok[5]==0)&&(dateok[6]==0)&&(dateok[7]==0)&&
  102.                                         (dateok[8]==0)&&(dateok[9]==0)&&(dateok[10]==1)&&(dateok[11]==1)&&
  103.                                         (dateok[12]==1)&&(dateok[13]==1)&&(dateok[14]==0)&&(dateok[15]==0))//地址碼確認(rèn)10f11001
  104.                                                 {//解碼后數(shù)據(jù)
  105.                                                         if((dateok[16]==0)&&(dateok[17]==0)&&(dateok[18]==1)&&(dateok[19]==1)&&
  106.                                                         (dateok[20]==1)&&(dateok[21]==1)&&(dateok[22]==1)&&(dateok[23]==1))//d0
  107.                                                                 {
  108.                                                                         d1=~d1;
  109.                                                                 }
  110.                                                         if((dateok[16]==1)&&(dateok[17]==1)&&(dateok[18]==0)&&(dateok[19]==0)&&
  111.                                                         (dateok[20]==1)&&(dateok[21]==1)&&(dateok[22]==1)&&(dateok[23]==1))//d1
  112.                                                                 {
  113.                                                                         d2=~d2;
  114.                                                                 }
  115.                                                         if((dateok[16]==1)&&(dateok[17]==1)&&(dateok[18]==1)&&(dateok[19]==1)&&
  116.                                                         (dateok[20]==0)&&(dateok[21]==0)&&(dateok[22]==1)&&(dateok[23]==1))//d2
  117.                                                                 {
  118.                                                                         d3=~d3;
  119.                                                                 }
  120.                                                         if((dateok[16]==1)&&(dateok[17]==1)&&(dateok[18]==1)&&(dateok[19]==1)&&
  121.                                                         (dateok[20]==1)&&(dateok[21]==1)&&(dateok[22]==0)&&(dateok[23]==0))//d3
  122.                                                                 {
  123.                                                                         d4=~d4;
  124.                                                                 }
  125.                                                         delayus(20);
  126.                                                 }
  127.                                 }
  128. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧洲中文 | 欧美精品一区二区三区在线 | 日日夜夜av | 久亚州在线播放 | 国产精品伦一区二区三级视频 | 久久69精品久久久久久久电影好 | 国外激情av | 国产免费一区二区 | 99国产精品久久久 | 无码一区二区三区视频 | 羞羞视频网站在线观看 | 日韩一区二区三区在线 | 日韩在线免费 | 成人激情免费视频 | 日韩av在线一区 | 精品乱码一区二区 | 久久久久久久久久久久久久国产 | 免费观看黄a一级视频 | 91麻豆久久久 | 亚洲人在线观看视频 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲自拍偷拍欧美 | 日韩精品一区二区三区中文在线 | 羞羞在线观看视频 | 国产精品久久久久久久久久免费看 | 久久久久久国模大尺度人体 | av电影手机在线看 | 免费在线观看h片 | 国产精品99久久免费观看 | 亚洲精品在线视频 | 一区二区三区亚洲 | 久久久一二三 | 日本三级电影免费观看 | 国产小u女发育末成年 | 欧美精品乱码久久久久久按摩 | 一区二区三区国产精品 | 午夜av免费 | 日韩欧美在线观看视频 | 综合久久久 | 国内久久精品 | 国产精品视频一二三 |