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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 43579|回復(fù): 46
收起左側(cè)

用STC八腳單片機(jī)STC15F104E制作紅外遙控?zé)羯?/span>

  [復(fù)制鏈接]
ID:224003 發(fā)表于 2018-6-7 10:33 | 顯示全部樓層 |閱讀模式
    餐桌頂上只有一個(gè)照明燈,天熱了,就在燈的位置再裝一個(gè)微風(fēng)電扇,這樣就不必為電扇專(zhuān)門(mén)拉電線(xiàn)了。
    往年用的是STC89C52RC芯片的最小系統(tǒng)板、紅外接收和繼電器模塊組裝的。
    實(shí)際上只用到了單片機(jī)3個(gè)IO口,而STC89C52RC有32個(gè)IO,大材小用,板子又大感覺(jué)挺浪費(fèi)的。
    從網(wǎng)上查到STC有8腳的單片機(jī)芯片,后來(lái)網(wǎng)購(gòu)時(shí)順便就買(mǎi)了幾個(gè)STC15F104E。
電路圖.JPG

    看看圖片,是不是很小巧。查了相關(guān)資料,這個(gè)芯片內(nèi)部集成高精度R/C時(shí)鐘的,連晶振都不用再接的,燒錄時(shí)可在5M~35M之間自行設(shè)置的。
而且STC網(wǎng)站上還有相應(yīng)的紅外接收例程《STC15系列只用一個(gè)定時(shí)器中斷的紅外接收程序》,這樣只要在此例程基礎(chǔ)上,稍加改動(dòng)就可用了。
    除了電源正負(fù)極引腳外其他六個(gè)都可以用作普通IO口的。電路很簡(jiǎn)單的,直接在洞洞板上焊接上8腳IC座和一個(gè)電阻、一個(gè)白色LED還有紅外接收模塊,其他就是外接引線(xiàn)了。這里我用P32接到紅外接收數(shù)據(jù)口上,P33作為閃爍燈,P34、P35外接到繼電器模塊上。P33接了個(gè)閃爍燈,STC文檔里面建議用3K以上電阻串聯(lián)LED的,這里就用的3K的。
繼電器接線(xiàn)圖.JPG

    注意,照明燈是接到繼電器的常閉觸點(diǎn)上的,這樣即使5V電源模塊或單片機(jī)出故障了,墻上的開(kāi)關(guān)還是能控制照明燈的。
總裝.JPG

    總共是三塊小板子用熱熔膠粘接到PVC電線(xiàn)槽板上的。從左到右分別是220V轉(zhuǎn)5V電源模塊、自制單片機(jī)模塊、5V繼電器模塊。
代碼中需要根據(jù)自己的需要來(lái)設(shè)定頻率,這里是12M。
#define MAIN_Fosc                12000000L        //定義主時(shí)鐘, 模擬串口和紅外接收會(huì)自動(dòng)適應(yīng)。5~36MHZ
還要制定設(shè)備用戶(hù)代碼。
#define        User_code                0xB649                //定義紅外接收用戶(hù)碼
燒錄.JPG

    如圖,燒錄時(shí)需要制定內(nèi)置時(shí)鐘頻率,必須和代碼里面一樣的。
    安裝前,先用兩個(gè)LED燈泡測(cè)試一下了。

通電默認(rèn)狀態(tài),亮燈是接到繼電器常閉觸點(diǎn)的

通電默認(rèn)狀態(tài),亮燈是接到繼電器常閉觸點(diǎn)的


兩燈全亮

兩燈全亮

只開(kāi)另一個(gè)

只開(kāi)另一個(gè)

全關(guān)

全關(guān)


   后來(lái),網(wǎng)上有文章說(shuō)內(nèi)置RC時(shí)鐘,頻率不穩(wěn)定的,受外界環(huán)境影響較大。不過(guò)想來(lái)對(duì)于紅外線(xiàn)接收這種應(yīng)用來(lái)說(shuō),即使有頻漂,影響應(yīng)該不大的。
安裝效果.JPG

   反正已經(jīng)裝上了,過(guò)了這個(gè)夏天,是否頻漂拭目以待了。后來(lái)想到,其實(shí)可以把閃爍燈換掉,改用繼電器控制一個(gè)弱光燈的,這樣根據(jù)需要調(diào)節(jié)燈光亮度了。

單片機(jī)源程序如下:
  1. /*************        功能說(shuō)明        **************

  2. 紅外接收程序。適用于市場(chǎng)上用量最大的HT6121/6122及其兼容IC的編碼。

  3. 對(duì)于用戶(hù)碼與User_code定義不同的遙控器,程序會(huì)將用戶(hù)碼一起從串口輸出。

  4. 使用模擬串口發(fā)送監(jiān)控顯示編碼,顯示內(nèi)容為ASCII碼和中文。

  5. 本接收程序基于狀態(tài)機(jī)的方式,占用CPU的時(shí)間非常少。

  6. HEX文件在本目錄的/list里面。

  7. ******************************************/


  8. /*************        用戶(hù)系統(tǒng)配置        **************/
  9. #define MAIN_Fosc                12000000L        //定義主時(shí)鐘, 模擬串口和紅外接收會(huì)自動(dòng)適應(yīng)。5~36MHZ
  10. #define D_TIMER0                125                        //選擇定時(shí)器時(shí)間, us, 紅外接收要求在60us~250us之間
  11. #define        User_code                0xB649                //定義紅外接收用戶(hù)碼

  12. /*************        以下宏定義用戶(hù)請(qǐng)勿修改        **************/
  13. #include        "reg51.H"
  14. #define        uchar        unsigned char
  15. #define uint        unsigned int   
  16. #define freq_base                        (MAIN_Fosc / 1200)
  17. #define Timer0_Reload                (65536 - (D_TIMER0 * freq_base / 10000))
  18. /*************        本地常量聲明        **************/         
  19. /*************        本地變量聲明        **************/
  20. sbit        P_TXD1 = P3^1;                //定義模擬串口發(fā)送腳,打印信息用
  21. sbit        P_IR_RX = P3^2;                //定義紅外接收輸入端口
  22. sbit        userLed3=P3^5;
  23. sbit         userLed4=P3^4;
  24. sbit         FlashLed=P3^3;                  //秒閃爍燈  
  25. bit                P_IR_RX_temp;                //Last sample
  26. bit                B_IR_Sync;                        //已收到同步標(biāo)志
  27. uchar        IR_SampleCnt;                //采樣計(jì)數(shù)
  28. uchar        IR_BitCnt;                        //編碼位數(shù)
  29. uchar        IR_UserH;                        //用戶(hù)碼(地址)高字節(jié)
  30. uchar        IR_UserL;                        //用戶(hù)碼(地址)低字節(jié)
  31. uchar        IR_data;                        //數(shù)據(jù)原碼
  32. uchar        IR_DataShit;                //數(shù)據(jù)反碼

  33. bit                B_IrUserErr;                //User code error flag
  34. bit                B_IR_Press;                        //Key press flag,include repeat key.
  35. uchar        IR_code;                        //IR code        紅外鍵碼
  36. unsigned int Count1ms=0;        //一毫秒計(jì)數(shù)器         
  37. unsigned char   T1RH=0xFC;        //定時(shí)器時(shí)長(zhǎng)        高位值
  38. unsigned char   T1RL=0x67;        //定時(shí)器時(shí)長(zhǎng)        低位值

  39. /*************        本地函數(shù)聲明        **************/
  40. void        Tx1Send(uchar dat);
  41. uchar        HEX2ASCII(uchar dat);
  42. void        InitTimer(void);
  43. void        PrintString(unsigned char code *puts);
  44. /*************  外部函數(shù)和變量聲明 *****************/
  45. /* 配置并啟動(dòng)T0,ms-T0定時(shí)時(shí)間 */
  46. void ConfigTimer1(unsigned int ms)
  47. {
  48.     unsigned long tmp;  //臨時(shí)變量                  
  49. //    tmp = 11059200 / 12;      //定時(shí)器計(jì)數(shù)頻率
  50.         tmp = MAIN_Fosc / 12;      //定時(shí)器計(jì)數(shù)頻率
  51.     tmp = (tmp * ms) / 1000;  //計(jì)算所需的計(jì)數(shù)值
  52.     tmp = 65536 - tmp;        //計(jì)算定時(shí)器重載值
  53.     tmp = tmp + 18;           //補(bǔ)償中斷響應(yīng)延時(shí)造成的誤差
  54.     T1RH = (unsigned char)(tmp>>8);  //定時(shí)器重載值拆分為高低字節(jié)
  55.     T1RL = (unsigned char)tmp;
  56.     TMOD &= 0x0F;   //清零T0的控制位
  57.     TMOD |= 0x10;   //配置T0為模式1
  58.     TH1= T1RH;     //加載T0重載值
  59.     TL1 = T1RL;
  60.     ET1 = 1;        //使能T0中斷
  61.     TR1 = 1;        //啟動(dòng)T0
  62. }
  63. /* T0中斷服務(wù)函數(shù) */
  64. void InterruptTimer1() interrupt 3
  65. {
  66.         static unsigned char ti5=0;  
  67.     TH1 = T1RH;  //重新加載重載值
  68.     TL1 = T1RL;
  69.         ti5++;          //計(jì)數(shù)標(biāo)志自加1
  70.         if(ti5==20)          //判斷是否到1s
  71.         {
  72.                 ti5=0;             //將靜態(tài)變量清0
  73.                 FlashLed=~FlashLed;       //LED位求反
  74.         }
  75. }
  76. /********************* 主函數(shù) *************************/
  77. void main(void)
  78. {
  79. //        userLed3=1;
  80. //        userLed4=1;         
  81.         EA=1;        //允許總中斷
  82.         ConfigTimer1(25);        
  83.         InitTimer();                //初始化Timer           
  84.         while(1)
  85.         {
  86.                 if(B_IR_Press)                //有IR鍵按下
  87.                 {
  88.                         switch(IR_code)
  89.                         {
  90.                                 case 0x54:
  91.                                         userLed3=~userLed3;
  92.                                         break;
  93.                                 case 0x43:
  94.                                         userLed4=~userLed4;
  95.                                         break;
  96.                         }
  97.                         B_IR_Press = 0;                //清除IR鍵按下標(biāo)志
  98.                 }
  99.         }
  100. }   


  101. //*******************************************************************
  102. //*********************** IR Remote Module **************************
  103. //*********************** IR Remote Module **************************
  104. //this programme is used for Receive IR Remote (HT6121).                        
  105. //data format: Synchro,AddressH,AddressL,data,/data, (total 32 bit).
  106. //send a frame(85ms), pause 23ms, send synchro of another frame, pause 94ms         
  107. //data rate: 108ms/Frame   
  108. //Synchro:low=9ms,high=4.5/2.25ms,low=0.5626ms
  109. //Bit0:high=0.5626ms,low=0.5626ms
  110. //Bit1:high=1.6879ms,low=0.5626ms
  111. //frame space = 23 ms or 96 ms                  
  112. /******************** 紅外采樣時(shí)間宏定義, 用戶(hù)不要隨意修改        *******************/  
  113. #if ((D_TIMER0 <= 250) && (D_TIMER0 >= 60))
  114.         #define        D_IR_sample                        D_TIMER0                //定義采樣時(shí)間,在60us~250us之間
  115. #endif        
  116. #define D_IR_SYNC_MAX                (15000/D_IR_sample)        //SYNC max time
  117. #define D_IR_SYNC_MIN                (9700 /D_IR_sample)        //SYNC min time
  118. #define D_IR_SYNC_DIVIDE        (12375/D_IR_sample)        //decide data 0 or 1
  119. #define D_IR_DATA_MAX                (3000 /D_IR_sample)        //data max time
  120. #define D_IR_DATA_MIN                (600  /D_IR_sample)        //data min time
  121. #define D_IR_DATA_DIVIDE        (1687 /D_IR_sample)        //decide data 0 or 1
  122. #define D_IR_BIT_NUMBER                32                                        //bit number

  123. //*******************************************************************************************
  124. //**************************** IR RECEIVE MODULE ********************************************
  125. void IR_RX_HT6121(void)
  126. {
  127.         uchar        SampleTime;         
  128.         IR_SampleCnt++;                                                        //Sample + 1   
  129.         F0 = P_IR_RX_temp;                                                //Save Last sample status
  130.         P_IR_RX_temp = P_IR_RX;                                        //Read current status
  131.         if(F0 && !P_IR_RX_temp)                                        //Last sample is high,and current sample is low, so is fall edge
  132.         {
  133.                 SampleTime = IR_SampleCnt;                        //get the sample time
  134.                 IR_SampleCnt = 0;                                        //Clear the sample counter
  135.                 if(SampleTime > D_IR_SYNC_MAX)                B_IR_Sync = 0;        //large the Maxim SYNC time, then error
  136.                 else if(SampleTime >= D_IR_SYNC_MIN)                                        //SYNC
  137.                 {
  138.                         if(SampleTime >= D_IR_SYNC_DIVIDE)
  139.                         {
  140.                                 B_IR_Sync = 1;                                        //has received SYNC
  141.                                 IR_BitCnt = D_IR_BIT_NUMBER;        //Load bit number
  142.                         }
  143.                 }
  144.                 else if(B_IR_Sync)                                                //has received SYNC
  145.                 {
  146.                         if(SampleTime > D_IR_DATA_MAX)        
  147.                                 B_IR_Sync=0;        //data samlpe time to large
  148.                         else
  149.                         {
  150.                                 IR_DataShit >>= 1;                                        //data shift right 1 bit
  151.                                 if(SampleTime >= D_IR_DATA_DIVIDE)        IR_DataShit |= 0x80;        //devide data 0 or 1
  152.                                 if(--IR_BitCnt == 0)                                //bit number is over?
  153.                                 {
  154.                                         B_IR_Sync = 0;                                        //Clear SYNC
  155.                                         if(~IR_DataShit == IR_data)                //判斷數(shù)據(jù)正反碼
  156.                                         {
  157.                                                 if((IR_UserH == (User_code / 256)) &&
  158.                                                         IR_UserL == (User_code % 256))
  159.                                                                 B_IrUserErr = 0;        //User code is righe
  160.                                                 else        B_IrUserErr = 1;        //user code is wrong
  161.                                                         
  162.                                                 IR_code      = IR_data;
  163.                                                 B_IR_Press   = 1;                        //數(shù)據(jù)有效
  164.                                         }
  165.                                 }
  166.                                 else if((IR_BitCnt & 7)== 0)                //one byte receive
  167.                                 {
  168.                                         IR_UserL = IR_UserH;                        //Save the User code high byte
  169.                                         IR_UserH = IR_data;                                //Save the User code low byte
  170.                                         IR_data  = IR_DataShit;                        //Save the IR data byte
  171.                                 }
  172.                         }
  173.                 }
  174.         }
  175. }


  176. /**************** Timer初始化函數(shù) ******************************/
  177. void InitTimer(void)
  178. {
  179.         TMOD = 0;                //for STC15Fxxx系列        Timer0 as 16bit reload timer.
  180. ……………………

  181. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:

紅外接收1805燈扇.zip (30.92 KB, 下載次數(shù): 506)


評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:224003 發(fā)表于 2018-9-19 15:28 | 顯示全部樓層
天涼了,前天把這個(gè)遙控電扇拆了。說(shuō)說(shuō)其中的插曲。
剛裝上的頭幾天,發(fā)現(xiàn)用遙控器打開(kāi)電扇的時(shí)候,有的時(shí)候單片機(jī)似乎就復(fù)位了,因?yàn)槟J(rèn)就是只開(kāi)燈不開(kāi)電扇的。
后來(lái)想到?jīng)]有給單片機(jī)電源端接上0.1微法的瓷片電容,就拿下來(lái)又焊上瓷片電容了。裝上再試用,接下來(lái)幾天還是有這個(gè)現(xiàn)象。
后來(lái),想來(lái)也許是繼電器模塊故障,換了,就正常了。一個(gè)夏天用著都很正常的。估計(jì),就是負(fù)責(zé)電扇開(kāi)關(guān)的那個(gè)繼電器有故障了,沒(méi)拆看看,具體原因就不得而知了。

頻漂,看來(lái)這點(diǎn)用途根本是不用擔(dān)心的了。

評(píng)分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:112693 發(fā)表于 2018-9-6 18:59 | 顯示全部樓層
謝謝分享!好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:393398 發(fā)表于 2018-9-7 09:32 | 顯示全部樓層
不錯(cuò),
回復(fù)

使用道具 舉報(bào)

ID:395350 發(fā)表于 2018-9-8 15:03 | 顯示全部樓層
呵呵,牛
回復(fù)

使用道具 舉報(bào)

ID:255559 發(fā)表于 2018-9-21 17:35 | 顯示全部樓層
定義的紅外接收用戶(hù)碼,是不是只能接收這個(gè)碼,那遙控器上怎么知道是哪個(gè)按鍵?
回復(fù)

使用道具 舉報(bào)

ID:320226 發(fā)表于 2018-11-28 17:28 | 顯示全部樓層
樓主  你好 可以改用STC8952RC嗎 如果改芯片要在那里修改程序?
回復(fù)

使用道具 舉報(bào)

ID:399179 發(fā)表于 2018-11-28 19:15 來(lái)自觸屏版 | 顯示全部樓層
以前有個(gè)類(lèi)似的,不太好用,不知道這個(gè)怎么樣
回復(fù)

使用道具 舉報(bào)

9#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:225259 發(fā)表于 2018-11-30 22:10 | 顯示全部樓層
另外104E外部中斷有問(wèn)題,觸發(fā)過(guò)多程序會(huì)死機(jī),有遇到?
回復(fù)

使用道具 舉報(bào)

ID:224003 發(fā)表于 2018-12-8 15:06 | 顯示全部樓層
hurbocn 發(fā)表于 2018-9-21 17:35
定義的紅外接收用戶(hù)碼,是不是只能接收這個(gè)碼,那遙控器上怎么知道是哪個(gè)按鍵?

提前用51實(shí)驗(yàn)板做個(gè)紅外解碼程序,顯示在數(shù)碼管或1602上
然后搞清楚了,再移植到這個(gè)八腳單片機(jī)
回復(fù)

使用道具 舉報(bào)

ID:224003 發(fā)表于 2018-12-8 15:08 | 顯示全部樓層
vbnm 發(fā)表于 2018-11-28 17:28
樓主  你好 可以改用STC8952RC嗎 如果改芯片要在那里修改程序?

當(dāng)然可以了。最早就是用的STC8952RC,后來(lái)移植到這個(gè)芯片上了。
論壇教程里面有現(xiàn)成的程序,稍加改動(dòng)就可以了。
回復(fù)

使用道具 舉報(bào)

ID:224003 發(fā)表于 2018-12-8 15:09 | 顯示全部樓層
Nemesis_126 發(fā)表于 2018-11-30 22:10
另外104E外部中斷有問(wèn)題,觸發(fā)過(guò)多程序會(huì)死機(jī),有遇到?

還沒(méi)有遇到過(guò)哦
回復(fù)

使用道具 舉報(bào)

ID:435201 發(fā)表于 2018-12-12 14:36 來(lái)自觸屏版 | 顯示全部樓層
我也剛用這個(gè)芯片做了一個(gè)學(xué)習(xí)型的紅外遙控開(kāi)關(guān),帶60分鐘定時(shí),經(jīng)試用還不錯(cuò)。
回復(fù)

使用道具 舉報(bào)

ID:445163 發(fā)表于 2018-12-13 13:03 來(lái)自觸屏版 | 顯示全部樓層
兄弟能留個(gè)聯(lián)系方式嗎,最近在學(xué),有問(wèn)題想請(qǐng)教
回復(fù)

使用道具 舉報(bào)

ID:151325 發(fā)表于 2019-1-14 17:41 | 顯示全部樓層
創(chuàng)意不錯(cuò),謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

ID:472046 發(fā)表于 2019-1-23 14:02 | 顯示全部樓層
很詳細(xì)的教程,準(zhǔn)備仿照樓主的程序做點(diǎn)自己的東西,謝謝了
回復(fù)

使用道具 舉報(bào)

ID:440451 發(fā)表于 2019-3-11 19:50 | 顯示全部樓層
非常感謝分享,謝謝,標(biāo)記了!
回復(fù)

使用道具 舉報(bào)

ID:43383 發(fā)表于 2019-3-14 19:48 | 顯示全部樓層
謝謝分享。。。。。。。。。。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:423238 發(fā)表于 2019-4-2 05:06 來(lái)自觸屏版 | 顯示全部樓層
zdr833 發(fā)表于 2018-12-12 14:36
我也剛用這個(gè)芯片做了一個(gè)學(xué)習(xí)型的紅外遙控開(kāi)關(guān),帶60分鐘定時(shí),經(jīng)試用還不錯(cuò)。

分享一下程序
回復(fù)

使用道具 舉報(bào)

ID:128463 發(fā)表于 2019-4-16 15:13 | 顯示全部樓層
謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

ID:257024 發(fā)表于 2019-6-3 03:17 來(lái)自觸屏版 | 顯示全部樓層
不錯(cuò)。謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:507712 發(fā)表于 2019-7-17 17:01 | 顯示全部樓層
樓主是位活雷鋒!
回復(fù)

使用道具 舉報(bào)

ID:284079 發(fā)表于 2019-9-15 15:44 | 顯示全部樓層
謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

25#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:381390 發(fā)表于 2019-9-17 11:37 | 顯示全部樓層
謝謝分享!好資料
回復(fù)

使用道具 舉報(bào)

ID:250717 發(fā)表于 2019-10-27 14:01 | 顯示全部樓層
謝謝分享,能用到我的小車(chē)上
回復(fù)

使用道具 舉報(bào)

ID:72088 發(fā)表于 2019-10-27 18:02 | 顯示全部樓層
hurbocn 發(fā)表于 2018-9-21 17:35
定義的紅外接收用戶(hù)碼,是不是只能接收這個(gè)碼,那遙控器上怎么知道是哪個(gè)按鍵?

這個(gè)我也發(fā)表過(guò)文章,我用的是學(xué)習(xí)按鍵,可以學(xué)習(xí)任意一個(gè)遙控器上不常用的按鍵,http://www.zg4o1577.cn/bbs/dpj-144302-1.html
回復(fù)

使用道具 舉報(bào)

29#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:479984 發(fā)表于 2019-11-24 20:35 | 顯示全部樓層
謝謝分享!好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:660892 發(fā)表于 2019-12-10 19:07 | 顯示全部樓層
hzxyy 發(fā)表于 2018-12-8 15:08
當(dāng)然可以了。最早就是用的STC8952RC,后來(lái)移植到這個(gè)芯片上了。
論壇教程里面有現(xiàn)成的程序,稍加改動(dòng)就 ...

要怎么燒錄進(jìn)去,不太懂。
回復(fù)

使用道具 舉報(bào)

ID:65286 發(fā)表于 2019-12-12 16:08 | 顯示全部樓層
支持DIY!!!!
回復(fù)

使用道具 舉報(bào)

ID:206067 發(fā)表于 2020-1-29 00:44 | 顯示全部樓層
多謝分享 使用了你的程序在15F102W上 可以用但是有個(gè)疑問(wèn)   我的遙控器用戶(hù)碼是01FE 跟你的不同 實(shí)際 用戶(hù)碼好像沒(méi)起作用 只要數(shù)據(jù)碼對(duì)就可以
回復(fù)

使用道具 舉報(bào)

34#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:697723 發(fā)表于 2020-4-4 23:01 來(lái)自觸屏版 | 顯示全部樓層
搞一個(gè)試試看效果如何
回復(fù)

使用道具 舉報(bào)

ID:385168 發(fā)表于 2020-4-5 04:37 | 顯示全部樓層
下載學(xué)習(xí)一下,非常感謝樓主。
回復(fù)

使用道具 舉報(bào)

37#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:558859 發(fā)表于 2020-5-13 18:02 | 顯示全部樓層
新手,感覺(jué)程序太難了
回復(fù)

使用道具 舉報(bào)

ID:756506 發(fā)表于 2020-5-20 13:57 | 顯示全部樓層
感謝分享!
回復(fù)

使用道具 舉報(bào)

ID:759144 發(fā)表于 2020-5-23 15:30 | 顯示全部樓層
感謝分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲福利一区 | 亚洲精品观看 | 亚洲国产精品视频 | 久久久在线视频 | 中文字幕日韩一区二区 | 日韩高清中文字幕 | 99久久夜色精品国产亚洲96 | 在线免费观看黄网 | www.五月天婷婷.com | 久久国产精品视频 | 欧美一区二区 | 国产.com | 高清国产午夜精品久久久久久 | 成人av网页 | 性色在线 | 中文字幕国产一区 | 久久久久久国产精品 | 欧美激情一区二区三区 | 欧美精品在线免费观看 | 亚洲精品久久久一区二区三区 | 亚洲最色网站 | 国产日韩久久久久69影院 | 国产2区 | 免费同性女女aaa免费网站 | 亚洲婷婷六月天 | 国产欧美精品区一区二区三区 | 成人精品一区二区 | 国产欧美在线视频 | 国产精品日产欧美久久久久 | 欧美xxxx黑人又粗又长 | 亚洲精品成人在线 | 亚洲第一视频网 | 国产在线观看一区二区三区 | 久久精品国产一区二区三区不卡 | 免费观看成人性生生活片 | 久久综合久色欧美综合狠狠 | 国产a区 | 国产丝袜一区二区三区免费视频 | 福利视频亚洲 | 天天夜天天操 | 国产在线观 |