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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC12C5A60S2單片機15路繼電器工控板源碼等資料 支持NPN及PNP輸入帶RS485

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:280979 發(fā)表于 2018-2-24 13:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1515出繼電器工控板
簡要說明:
一、 尺寸:長181mmX寬152mmX高25mm
二、 主要芯片:STC12C5A60S2(支持51單片機)
三、 工作電壓:直流12伏(另有24V繼電器)
四、串口下載程序
五、輸出供電采用延時接通電路
       功能:當(dāng)輸出接有被控制設(shè)備,避免單片機初次上電(或下載程序)時,輸出設(shè)備誤動作。此功能在實際應(yīng)用中起到很大作用
六、 特點:
             1、具有電源指示。
             2、15路輸入光電隔離引入信號。
             3、15路輸出光電隔離輸出控制繼電器。
             4、標(biāo)準(zhǔn)的11.0592M晶振。(便于設(shè)置串口波特率)
             5、具有上電復(fù)位和手動復(fù)位。
             6、支持AT89SXX系列單片機。
             7、帶有掉電存儲功能,該單片機內(nèi)部集成。
             8、輸入15路具有LED指示。
             9、輸出15路具有LED指示。
             10、15路12V繼電器控制,控制設(shè)備。
             11、可控制交流220V/10A一下設(shè)備。
             12、具有雙通信功能(可以上位機控制)。
             13、單片機無加密,可插拔更換,帶有程序下載口,可隨意更改程序。
使用說明:
【標(biāo)注說明】
接線圖
應(yīng)用舉例
可以作為輸入設(shè)備的產(chǎn)品

可作為輸出控制的設(shè)備
原理圖
由于原理圖比較大,購買后提供PDF格式的。
PCB
上位機控制界面


測試程序
  1. /********************************************************************


  2. 實現(xiàn)功能:STC12C5A60S2單片機之測試程序
  3. 使用芯片:STC12C5A60S2
  4. 晶振:11.0592MHZ
  5. 波特率:115200
  6. 編譯環(huán)境:Keil
  7. 作者:zhangxinchun
  8. 淘寶店:匯誠科技
  9. 【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!


  10. *********************************************************************/
  11. #include "STC12C5A60S2.H"
  12. #include "INTRINS.H"

  13. #define uchar unsigned char//宏定義無符號字符型
  14. #define uint unsigned int  //宏定義無符號整型

  15. bit write=0; //寫的標(biāo)志;
  16. uchar dat=0xee; //用于存儲單片機接收發(fā)送緩沖寄存器SBUF里面的內(nèi)容
  17. uchar sj1; //存儲數(shù)據(jù)值
  18. uchar sj2; //存儲數(shù)據(jù)值
  19. uchar sj3; //存儲數(shù)據(jù)值
  20. /*
  21. sfr IAP_DATA    = 0xC2;
  22. sfr IAP_ADDRH   = 0xC3;
  23. sfr IAP_ADDRL   = 0xC4;
  24. sfr IAP_CMD     = 0xC5;
  25. sfr IAP_TRIG    = 0xC6;
  26. sfr IAP_CONTR   = 0xC7;
  27. sfr P4   = 0xC0;
  28. */
  29. //定義Flash 操作等待時間及允許IAP/ISP/EEPROM 操作的常數(shù)
  30. //#define ENABLE_ISP 0x80 //系統(tǒng)工作時鐘<30MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  31. //#define ENABLE_ISP 0x81 //系統(tǒng)工作時鐘<24MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  32. #define ENABLE_ISP 0x82 //系統(tǒng)工作時鐘<20MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  33. //#define ENABLE_ISP 0x83 //系統(tǒng)工作時鐘<12MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  34. //#define ENABLE_ISP 0x84 //系統(tǒng)工作時鐘<6MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  35. //#define ENABLE_ISP 0x85 //系統(tǒng)工作時鐘<3MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  36. //#define ENABLE_ISP 0x86 //系統(tǒng)工作時鐘<2MHz 時,對IAP_CONTR 寄存器設(shè)置此值
  37. //#define ENABLE_ISP 0x87 //系統(tǒng)工作時鐘<1MHz 時,對IAP_CONTR 寄存器設(shè)置此值

  38. /********************************************************************
  39.                             初始定義
  40. *********************************************************************/

  41. /*定義輸入口*/
  42. sbit IN1=P1^0;
  43. sbit IN2=P1^1;
  44. sbit IN3=P1^4;            
  45. sbit IN4=P1^5;
  46. sbit IN5=P1^6;
  47. sbit IN6=P1^7;
  48. sbit IN7=P3^2;
  49. sbit IN8=P3^3;
  50. sbit IN9=P3^4;
  51. sbit IN10=P3^5;
  52. sbit IN11=P3^6;
  53. sbit IN12=P3^7;
  54. sbit IN13=P2^2;
  55. sbit IN14=P2^1;
  56. sbit IN15=P2^0;
  57. /*定義輸出口*/
  58. sbit OUT1=P2^3;
  59. sbit OUT2=P2^4;
  60. sbit OUT3=P2^5;
  61. sbit OUT4=P2^6;
  62. sbit OUT5=P2^7;
  63. sbit OUT6=P4^4;
  64. sbit OUT7=P4^5;
  65. sbit OUT8=P0^7;
  66. sbit OUT9=P0^6;
  67. sbit OUT10=P0^5;
  68. sbit OUT11=P0^4;
  69. sbit OUT12=P0^3;
  70. sbit OUT13=P0^2;
  71. sbit OUT14=P0^1;
  72. sbit OUT15=P0^0;
  73. /********************************************************************
  74.                             函數(shù)聲明
  75. *********************************************************************/
  76. union union_temp16
  77. {
  78. uint un_temp16;
  79. uchar  un_temp8[2];
  80. }
  81. my_unTemp16;

  82. uchar Byte_Read(uint add);              //讀一字節(jié),調(diào)用前需打開IAP 功能
  83. void Byte_Program(uint add, uchar ch);  //字節(jié)編程,調(diào)用前需打開IAP 功能
  84. void Sector_Erase(uint add);            //擦除扇區(qū)
  85. void IAP_Disable();                       //關(guān)閉IAP 功能
  86. void Delay();

  87. /********************************************************************
  88.                             延時函數(shù)
  89. *********************************************************************/
  90. void delay(uchar t)
  91. {
  92.   uchar i,j;
  93.    for(i=0;i<t;i++)
  94.    {
  95.                  for(j=13;j>0;j--);
  96.               { ;
  97.               }
  98.    }
  99. }
  100. /********************************************************************
  101.               功能:串口初始化,波特率9600,方式1
  102. *********************************************************************/
  103. void Init_Com(void)
  104. {
  105. TMOD = 0x20;
  106. PCON = 0x00;
  107. SCON = 0x50;
  108. TH1 = 0xFd;
  109. TL1 = 0xFd;
  110. TR1 = 1;
  111. }
  112. /********************************************************************
  113.                            全開函數(shù)
  114. *********************************************************************/
  115. void quankai()
  116. {
  117. uchar k;
  118. k=10;
  119. OUT1=0;delay(k);
  120. OUT2=0;delay(k);
  121. OUT3=0;delay(k);
  122. OUT4=0;delay(k);
  123. OUT5=0;delay(k);
  124. OUT6=0;delay(k);
  125. OUT7=0;delay(k);
  126. OUT8=0;delay(k);
  127. OUT9=0;delay(k);
  128. OUT10=0;delay(k);
  129. OUT11=0;delay(k);
  130. OUT12=0;delay(k);
  131. OUT13=0;delay(k);
  132. OUT14=0;delay(k);
  133. OUT15=0;delay(k);
  134. }

  135. /********************************************************************
  136.                            全關(guān)函數(shù)
  137. *********************************************************************/
  138. void quanguan()
  139. {
  140. uchar k;
  141. k=10;
  142. OUT1=1;delay(k);
  143. OUT2=1;delay(k);
  144. OUT3=1;delay(k);
  145. OUT4=1;delay(k);
  146. OUT5=1;delay(k);
  147. OUT6=1;delay(k);
  148. OUT7=1;delay(k);
  149. OUT8=1;delay(k);
  150. OUT9=1;delay(k);
  151. OUT10=1;delay(k);
  152. OUT11=1;delay(k);
  153. OUT12=1;delay(k);
  154. OUT13=1;delay(k);
  155. OUT14=1;delay(k);
  156. OUT15=1;delay(k);
  157. }


  158. /********************************************************************
  159.                             接收數(shù)據(jù)判斷函數(shù)
  160. *********************************************************************/
  161. chuankou()
  162. {
  163. switch(dat) //接收數(shù)據(jù)判斷
  164. {
  165. uchar k;
  166. k=10;
  167. case 'I': quankai();SBUF = dat;dat=0xee;write=1;break; //  全開
  168. case 'i': quanguan();SBUF = dat;dat=0xee;write=1;break; //  全關(guān)

  169. case 'A': OUT1=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第一路開
  170. case 'B': OUT2=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第二路開
  171. case 'C': OUT3=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第三路開
  172. case 'D': OUT4=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第四路開
  173. case 'E': OUT5=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第五路開
  174. case 'F': OUT6=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第六路開
  175. case 'G': OUT7=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第七路開
  176. case 'H': OUT8=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第八路開
  177. case 'J': OUT9=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第九路開
  178. case 'K': OUT10=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十路開
  179. case 'L': OUT11=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十一路開
  180. case 'M': OUT12=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十二路開
  181. case 'N': OUT13=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十三路開
  182. case 'O': OUT14=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十四路開
  183. case 'P': OUT15=0;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第十五路開

  184.                                          
  185. case 'a': OUT1=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第一路關(guān)
  186. case 'b': OUT2=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第二路關(guān)
  187. case 'c': OUT3=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第三路關(guān)
  188. case 'd': OUT4=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第四路關(guān)
  189. case 'e': OUT5=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第五路關(guān)
  190. case 'f': OUT6=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第六路關(guān)
  191. case 'g': OUT7=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第七路關(guān)
  192. case 'h': OUT8=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  第八路關(guān)
  193. case 'j': OUT9=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  194. case 'k': OUT10=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  195. case 'l': OUT11=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  196. case 'm': OUT12=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  197. case 'n': OUT13=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  198. case 'o': OUT14=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...
  199. case 'p': OUT15=1;delay(k);SBUF = dat;dat=0xee;write=1;break;                 //  ...

  200. default:break;                                                                         //  跳出
  201. }
  202. }
  203. /********************************************************************
  204.                             按鍵函數(shù)
  205. *********************************************************************/
  206. KEY()
  207. {
  208. uchar k;
  209. k=200;

  210. if(IN1==0){delay(k);if(IN1==0){delay(k);OUT1=!OUT1;while(!IN1);delay(k);write=1;}}
  211. if(IN2==0){delay(k);if(IN2==0){delay(k);OUT2=!OUT2;while(!IN2);delay(k);write=1;}}
  212. if(IN3==0){delay(k);if(IN3==0){delay(k);OUT3=!OUT3;while(!IN3);delay(k);write=1;}}
  213. if(IN4==0){delay(k);if(IN4==0){delay(k);OUT4=!OUT4;while(!IN4);delay(k);write=1;}}
  214. if(IN5==0){delay(k);if(IN5==0){delay(k);OUT5=!OUT5;while(!IN5);delay(k);write=1;}}
  215. if(IN6==0){delay(k);if(IN6==0){delay(k);OUT6=!OUT6;while(!IN6);delay(k);write=1;}}
  216. if(IN7==0){delay(k);if(IN7==0){delay(k);OUT7=!OUT7;while(!IN7);delay(k);write=1;}}
  217. if(IN8==0){delay(k);if(IN8==0){delay(k);OUT8=!OUT8;while(!IN8);delay(k);write=1;}}
  218. if(IN9==0){delay(k);if(IN9==0){delay(k);OUT9=!OUT9;while(!IN9);delay(k);write=1;}}

  219. if(IN10==0){delay(k);if(IN10==0){delay(k);OUT10=!OUT10;while(!IN10);delay(k);write=1;}}
  220. if(IN11==0){delay(k);if(IN11==0){delay(k);OUT11=!OUT11;while(!IN11);delay(k);write=1;}}
  221. if(IN12==0){delay(k);if(IN12==0){delay(k);OUT12=!OUT12;while(!IN12);delay(k);write=1;}}
  222. if(IN13==0){delay(k);if(IN13==0){delay(k);OUT13=!OUT13;while(!IN13);delay(k);write=1;}}
  223. if(IN14==0){delay(k);if(IN14==0){delay(k);OUT14=!OUT14;while(!IN14);delay(k);write=1;}}
  224. if(IN15==0){delay(k);if(IN15==0){delay(k);OUT15=!OUT15;while(!IN15);delay(k);write=1;}}
  225. }
  226. /********************************************************************
  227.                             主函數(shù)
  228. *********************************************************************/
  229. void main (void)
  230. {
  231.    uint eeprom_address;
  232.    P4SW|=0x20;                               //配置P4.5為IO口
  233.    P4M0|=0x10;                               //配置P4.4為IO口
  234.    P4M1|=0x10;
  235.               Init_Com();//串口初始化


  236.     eeprom_address = 0x01;  //將測試起始地址送eeprom_address
  237.     sj1 = Byte_Read(1);    //讀EEPROM的值,存到read_eeprom
  238.               sj2 = Byte_Read(2);    //讀EEPROM的值,存到read_eeprom
  239.               sj3 = Byte_Read(3);    //讀EEPROM的值,存到read_eeprom
  240.               P0=sj1;
  241.               P2=sj2;
  242.               P4=sj3;
  243. while(1)
  244. {
  245. chuankou();              // 接收數(shù)據(jù)判斷函數(shù)

  246. if ( RI ) //掃描判斷是否接收到數(shù)據(jù),
  247. {
  248. dat = SBUF; //接收數(shù)據(jù)SBUF賦與dat
  249. RI=0; //RI 清零。
  250. }
  251. KEY(); //調(diào)用按鍵函數(shù)
  252. if(write==1) //判斷計時器是否計時一秒
  253. {
  254. write=0; //清零
  255.                                sj1=P0;
  256.                             sj2=P2;
  257.                             sj3=P4;
  258.                   Sector_Erase(1);           //擦除整個扇區(qū)
  259.         Byte_Program(1, sj1);//將 數(shù)據(jù) 寫入 EEPROM
  260.                             //Sector_Erase(2);           //擦除整個扇區(qū)
  261.         Byte_Program(2, sj2);//將 數(shù)據(jù) 寫入 EEPROM
  262.                   //Sector_Erase(3);           //擦除整個扇區(qū)
  263.         Byte_Program(3, sj3);//將 數(shù)據(jù) 寫入 EEPROM

  264. }               

  265. }
  266. }
  267. /********************************************************************
  268.                             結(jié)束主函數(shù)
  269. *********************************************************************/
  270. //讀一字節(jié),調(diào)用前需打開IAP 功能,入口:DPTR = 字節(jié)地址,返回:A = 讀出字節(jié)
  271. uchar Byte_Read(uint add)
  272. {
  273.     IAP_DATA = 0x00;
  274.     IAP_CONTR = ENABLE_ISP;         //打開IAP 功能, 設(shè)置Flash 操作等待時間
  275.     IAP_CMD = 0x01;                 //IAP/ISP/EEPROM 字節(jié)讀命令

  276.     my_unTemp16.un_temp16 = add;
  277.     IAP_ADDRH = my_unTemp16.un_temp8[0];    //設(shè)置目標(biāo)單元地址的高8 位地址
  278.     IAP_ADDRL = my_unTemp16.un_temp8[1];    //設(shè)置目標(biāo)單元地址的低8 位地址

  279.     //EA = 0;
  280.     IAP_TRIG = 0x5A;   //先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
  281.     IAP_TRIG = 0xA5;   //送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動
  282.     _nop_();
  283.     //EA = 1;
  284.     IAP_Disable();  //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
  285.                     //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
  286.     return (IAP_DATA);
  287. }

  288. //字節(jié)編程,調(diào)用前需打開IAP 功能,入口:DPTR = 字節(jié)地址, A= 須編程字節(jié)的數(shù)據(jù)
  289. void Byte_Program(uint add, uchar ch)
  290. {
  291.     IAP_CONTR = ENABLE_ISP;         //打開 IAP 功能, 設(shè)置Flash 操作等待時間
  292.     IAP_CMD = 0x02;                 //IAP/ISP/EEPROM 字節(jié)編程命令

  293.     my_unTemp16.un_temp16 = add;
  294.     IAP_ADDRH = my_unTemp16.un_temp8[0];    //設(shè)置目標(biāo)單元地址的高8 位地址
  295.     IAP_ADDRL = my_unTemp16.un_temp8[1];    //設(shè)置目標(biāo)單元地址的低8 位地址

  296.     IAP_DATA = ch;                  //要編程的數(shù)據(jù)先送進(jìn)IAP_DATA 寄存器
  297.     //EA = 0;
  298.     IAP_TRIG = 0x5A;   //先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
  299.     IAP_TRIG = 0xA5;   //送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動
  300.     _nop_();
  301.     //EA = 1;
  302.     IAP_Disable();  //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
  303.                     //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
  304. }

  305. //擦除扇區(qū), 入口:DPTR = 扇區(qū)地址
  306. void Sector_Erase(uint add)
  307. {
  308.     IAP_CONTR = ENABLE_ISP;         //打開IAP 功能, 設(shè)置Flash 操作等待時間
  309.     IAP_CMD = 0x03;                 //IAP/ISP/EEPROM 扇區(qū)擦除命令

  310.     my_unTemp16.un_temp16 = add;
  311.     IAP_ADDRH = my_unTemp16.un_temp8[0];    //設(shè)置目標(biāo)單元地址的高8 位地址
  312.     IAP_ADDRL = my_unTemp16.un_temp8[1];    //設(shè)置目標(biāo)單元地址的低8 位地址

  313.     //EA = 0;
  314.     IAP_TRIG = 0x5A;   //先送 5Ah,再送A5h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
  315.     IAP_TRIG = 0xA5;   //送完A5h 后,ISP/IAP 命令立即被觸發(fā)起動
  316.     _nop_();
  317.     //EA = 1;
  318.     IAP_Disable();  //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
  319.                     //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
  320. }

  321. void IAP_Disable()
  322. {
  323.     //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
  324.     //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
  325.     IAP_CONTR = 0;      //關(guān)閉IAP 功能
  326.     IAP_CMD   = 0;      //清命令寄存器,使命令寄存器無命令,此句可不用
  327.     IAP_TRIG  = 0;      //清命令觸發(fā)寄存器,使命令觸發(fā)寄存器無觸發(fā),此句可不用
  328.     IAP_ADDRH = 0;
  329.     IAP_ADDRL = 0;
  330. }
復(fù)制代碼

【圖片預(yù)覽】

【下載說明】
第一步:準(zhǔn)備工控板、電源、串口通訊線、電腦
第二步:串口線連接工控板和電腦。
第三步:打開下載軟件。(STC_ISP_V479
步:下載設(shè)置。(查看串口號)
步:選擇單片機型號,并選擇對應(yīng)的串口號。
注意:下載前一定要先安裝串口線驅(qū)動程序。
第六步:調(diào)入要下載的文件(擴(kuò)展名為:HEX的文件)
第七步:點擊Download/下載 等待軟件提示給工控板供電。
第八步:給工控板供電并等待下載完成。
第九步:下載進(jìn)行中。。。。。。等待下載完成!
第十步:下載完成即可進(jìn)行測試。



全部資料51hei下載地址:
GYJ-0067_繼電器15入15出(有源輸入)發(fā)貨資料.rar (8.64 MB, 下載次數(shù): 178)
上位機(完整).7z (679.3 KB, 下載次數(shù): 126)
GYJ-0067_繼電器15路輸入15路輸出工業(yè)控制板產(chǎn)品使用手冊.doc (10.39 MB, 下載次數(shù): 119)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:66287 發(fā)表于 2018-3-2 10:23 | 只看該作者
不知上位機是用什么語言寫的?
回復(fù)

使用道具 舉報

板凳
ID:286944 發(fā)表于 2018-3-2 14:46 | 只看該作者
上位機應(yīng)該是VB c#
回復(fù)

使用道具 舉報

地板
ID:243748 發(fā)表于 2018-3-7 11:11 來自手機 | 只看該作者
謝謝分享,資料好強大
回復(fù)

使用道具 舉報

5#
ID:265485 發(fā)表于 2018-9-12 18:48 | 只看該作者
不能下載呢
回復(fù)

使用道具 舉報

6#
ID:270740 發(fā)表于 2020-1-5 10:24 | 只看該作者
學(xué)習(xí)一下,很好的。
回復(fù)

使用道具 舉報

7#
ID:465279 發(fā)表于 2020-1-13 10:54 | 只看該作者
學(xué)習(xí)了,感謝分享
回復(fù)

使用道具 舉報

8#
ID:428400 發(fā)表于 2020-1-14 19:16 | 只看該作者
要是可以支持標(biāo)準(zhǔn)的MODBUS RTU就可以連接觸摸屏來使用了,這樣用處就大了!
回復(fù)

使用道具 舉報

9#
ID:302794 發(fā)表于 2020-2-5 11:07 | 只看該作者
謝謝分享,我找了好久,就學(xué)習(xí)這個東西
回復(fù)

使用道具 舉報

10#
ID:302794 發(fā)表于 2020-2-5 11:39 | 只看該作者
求原理圖嗎?
回復(fù)

使用道具 舉報

11#
ID:64931 發(fā)表于 2020-4-9 22:03 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

12#
ID:60122 發(fā)表于 2024-8-11 20:23 來自手機 | 只看該作者
這個我有
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕在线一区 | 二区在线视频 | 日韩中文一区二区三区 | 欧美亚洲国产日韩 | 色综合久久天天综合网 | 精品成人在线视频 | 都市激情亚洲 | 黑人精品欧美一区二区蜜桃 | 久久久av| 丝袜一区二区三区 | 高清欧美性猛交 | 亚洲毛片在线观看 | 五月激情婷婷在线 | 国产成人精品一区二区三 | 久草综合在线视频 | 日韩高清一区二区 | 久久精品一区二区三区四区 | 成人在线激情 | 亚洲a人| 97久久久 | 国产精品福利在线观看 | 成人影院一区二区三区 | 国产伦一区二区三区四区 | 在线播放国产一区二区三区 | 欧美日韩成人在线 | 久在线精品视频 | 日韩欧美一区二区在线播放 | 欧美日韩电影免费观看 | 日韩中文字幕视频 | 久久看精品 | 精品国产乱码久久久久久牛牛 | 一级毛片视频免费观看 | 国产一区二区日韩 | 视频在线一区 | 永久av| 亚洲h视频 | 91视频三区 | 日韩一区二区三区视频在线观看 | 欧美狠狠操 | 巨大荫蒂视频欧美另类大 | 国产午夜精品视频 |