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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

RS485工控六入六出模塊電路圖與上位機及單片機源碼全套資料下載 帶常閉

[復制鏈接]
跳轉到指定樓層
樓主
【簡要說明】
一、 尺寸:長122mmX寬87mmX高20mm
二、
主要芯片:
單片機STC12C5A60S2 繼電器 光耦
三、
工作電壓:
有直流12V及24V可選。

資料包含以下源碼:
上位機通過485、232接口控制測試程序完整版本
上位機通過485、232接口控制測試程序完整版本 - 多機控制
完整版modbus6路完善版本(看門狗)232+485
調試程序
輸入發送程序_循環發送
通過串口1或2與上位機通訊可查詢輸入輸出狀態


四、特點:
電路結構簡單,穩定可靠,采用最新款STC單片機,運行速度快,單片機預留擴展接口
1、具有6路輸入信號指示燈,6繼電器吸合指示燈,電源指示燈。
2、板子功耗小于6W
3、額定切換電流10A以內,切換電壓250V以內
4、單路最大切換功率500W 額定功率300W
5、繼電器壽命1000000次以上。
6、電器絕緣電阻100M
7、觸電耐壓1000V
8、繼電器最大吸合時間15mS 毫秒
9、繼電器最大釋放時間5mS  毫秒
10、工作溫度-40度至 +70度
11、工作濕度 40%  ~ 80%RH
12、6路光電隔離輸入,6路光電隔離輸出
13、6輸入高電平有效(即:PNP輸入)
14、6路輸出開關量輸出(即:干接點輸出)
15、具有MAX232通訊和RS485通訊兩種模式可選。
16、單片機有IO口都引出,客戶可以自己編程擴展功能
17、可以選擇使用內部EEPROM 作為存儲單元
18、電路具有,防反接保護、過流保護、續流保護等
19、單片機可以自行更換,可以選擇替換型的STC系列單片機
20、我們提供電路相關的,原理圖、例程、開發環境、下載軟件等相關資料
適用場合:工業控制、產品開發、項目設計,自動化改造等

GYJ-0040_工控六入六出(485)帶常閉的電路原理圖如下:


PCB圖:


元件清單:


實物圖與接線圖等:


GYJ-0040_工控六入六出(485)帶常閉測試單片機源程序如下:
  1. /********************************************************************
  2.                             匯誠科技
  3. 實現功能:上、下位機485、232接口控制測試程序
  4. 上位機編譯環境:Vs2008(VB.net)
  5. 使用芯片:STC12C5A60S2
  6. 晶振:11.0592MHZ
  7. 編譯環境:Keil
  8. 硬件環境:六路輸入輸出帶485和232接口  
  9. *********************************************************************/
  10. /********************************************************************
  11. 單片機與PC機采用9針串口,MAX232通訊,波特率默認為9600.
  12. 單片機接收PC機發送的十六進制碼表如下:
  13. 01、全開:PC發送'I';
  14. 02、全關:PC發送'i';

  15. 03、第一路開:PC發送'A';
  16. 04、第二路開:PC發送'B';
  17. 05、第三路開:PC發送'C';
  18. 06、第四路開:PC發送'D';
  19. 07、第三路開:PC發送'E';
  20. 08、第四路開:PC發送'F';

  21. 11、第一路關:PC發送'a';
  22. 12、第二路關:PC發送'b';
  23. 13、第三路關:PC發送'c';
  24. 14、第四路關:PC發送'd';
  25. 15、第三路關:PC發送'e';
  26. 16、第四路關:PC發送'f';
  27. ************************************************************
  28. *********************************************************************/
  29. #include<STC12C5A60S2.H>                 //庫文件
  30. #include <intrins.h>
  31. #define uchar unsigned char//宏定義無符號字符型
  32. #define uint unsigned int  //宏定義無符號整型
  33. /********************************************************************
  34.                             初始定義
  35. *********************************************************************/

  36. unsigned char dat; //用于存儲單片機接收發送緩沖寄存器SBUF里面的內容
  37. /*定義八位數字量輸入為單片機P0口*/
  38. sbit X00=P1^0;
  39. sbit X01=P1^1;
  40. sbit X02=P1^4;
  41. sbit X03=P1^5;
  42. sbit X04=P1^6;
  43. sbit X05=P1^7;
  44. /*定義八位數字量輸出IO口*/
  45. sbit Y00=P2^0;  
  46. sbit Y01=P2^1;
  47. sbit Y02=P2^2;
  48. sbit Y03=P2^3;
  49. sbit Y04=P2^4;
  50. sbit Y05=P2^5;
  51. /********************************************************************
  52.                             延時函數
  53. *********************************************************************/
  54. void delay(uchar t)
  55. {
  56.   uchar i,j;
  57.    for(i=0;i<t;i++)
  58.    {
  59.             for(j=250;j>0;j--);
  60.          { ;
  61.          }
  62.    }
  63. }
  64. /********************************************************************
  65.                            輸出處理函數
  66. *********************************************************************/
  67. void open_X3(uchar turm)
  68. {
  69.         char i;
  70.         for(i=7;i>=0;i--)
  71.         {
  72.                 turm=_crol_(turm,1);
  73.                 switch(i)
  74.                 {
  75.                   case 0:Y00=turm&0x01;break;
  76.                   case 1:Y01=turm&0x01;break;
  77.                   case 2:Y02=turm&0x01;break;
  78.                   case 3:Y03=turm&0x01;break;
  79.                   case 4:Y04=turm&0x01;break;
  80.                   case 5:Y05=turm&0x01;break;
  81.                   default:break;
  82.                 }
  83.          }
  84. }
  85. /********************************************************************
  86.               功能:串口初始化,波特率9600,方式1
  87. *********************************************************************/
  88. void Init_Com(void)
  89. {
  90.     //串口初始化
  91.     TMOD = 0x20;
  92.     SCON = 0x50;
  93.     TH1 = 0xFd;
  94.     TL1 = 0xFd;
  95.     TR1 = 1;
  96.         ES=1;                //開串口1中斷         
  97.    //485接口初始化        
  98.     S2CON=0x50;        //方式1,八位數據,可變波特率                              
  99.         AUXR1=0x00;        //1T工作方式                                 
  100.          BRT=0XFD;         //設置波特率9600                                 
  101.          AUXR=0x10;        //啟動波特率發生器                                 
  102.          EA=1;                 //開總中斷                                                  
  103.         IE2=0x01;        //開串口2中斷                                 
  104. }
  105. /********************************************************************
  106.                             配置P4口
  107. *********************************************************************/
  108. void P4_init(void)
  109. {
  110.     P4SW=0x70;   //配置P4口
  111.     P4M0&=0x80;         
  112.     P4M1&=0x80;
  113. }
  114. /********************************************************************
  115.                             配置P4口
  116. *********************************************************************/
  117. void B485_send(uchar c)
  118. {

  119.   SBUF=S2BUF=c;
  120. }
  121. /********************************************************************
  122.                             主函數
  123. *********************************************************************/
  124. void main()
  125. {
  126.    Init_Com();//串口初始化
  127.    P4_init();
  128.    while(1)
  129.    {              
  130.        if(X00==0) {delay(20);Y00=0;while(!X00);Y00=1;B485_send(0XA1);}
  131.            if(X01==0) {delay(20);Y01=0;while(!X01);Y01=1;B485_send(0XA2);}
  132.            if(X02==0) {delay(20);Y02=0;while(!X02);Y02=1;B485_send(0XA3);}
  133.            if(X03==0) {delay(20);Y03=0;while(!X03);Y03=1;B485_send(0XA4);}
  134.            if(X04==0) {delay(20);Y04=0;while(!X04);Y04=1;B485_send(0XA5);}
  135.            if(X05==0) {delay(20);Y05=0;while(!X05);Y05=1;B485_send(0XA6);}
  136.         switch(dat) //接收數據判斷
  137.         {
  138.                 uchar k;
  139.                 k=10;
  140.                 case 'I': open_X3(0x00);delay(k);break; //  全開
  141.                 case 'i': open_X3(0xff);delay(k);break; //  全關
  142.                
  143.                 case 'A': Y00=0;delay(k);break;           //  第一路開
  144.                 case 'B': Y01=0;delay(k);break;           //  第二路開
  145.                 case 'C': Y02=0;delay(k);break;           //  第三路開
  146.                 case 'D': Y03=0;delay(k);break;           //  第四路開
  147.                 case 'E': Y04=0;delay(k);break;           //  第五路開
  148.                 case 'F': Y05=0;delay(k);break;           //  第六路開
  149.                
  150.                 case 'a': Y00=1;delay(k);break;           //  第一路關
  151.                 case 'b': Y01=1;delay(k);break;           //  第二路關
  152.                 case 'c': Y02=1;delay(k);break;           //  第三路關
  153.                 case 'd': Y03=1;delay(k);break;           //  第四路關
  154.                 case 'e': Y04=1;delay(k);break;           //  第五路關
  155.                 case 'f': Y05=1;delay(k);break;           //  第六路關

  156.                 default:break;                                           //  跳出
  157.     }
  158.   }
  159. }
  160. /********************************************************************
  161.                           串口中斷函數
  162. *********************************************************************/
  163. void commIntProc() interrupt 4
  164. {
  165.         if(TI)
  166.                 TI = 0;
  167.         if(RI)
  168.          {
  169.           RI = 0;
  170.           dat = SBUF;
  171.          } //接收數據SBUF賦與dat        
  172. }
  173. /********************************************************************
  174.                          串口二(485) 發送接收中斷函數
  175. *********************************************************************/
  176. void uart2_isr()  interrupt 8
  177. {
  178.    if( S2CON & 0x01 )
  179.          {
  180.                 S2CON &= ~0x01;
  181.                    dat= S2BUF;        
  182.          }
  183.         if( S2CON & 0x02 )
  184.         {
  185.           S2CON&=0xfd;
  186. ……………………

  187. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
vb上位機源碼:




所有資料51hei提供下載:

GYJ-0040_工控六入六出(485)帶常閉發貨資料.rar (9.73 MB, 下載次數: 68)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品美女久久久久aⅴ国产馆 | 亚洲国产精品第一区二区 | 国产成人亚洲精品 | 一级黄色毛片 | 91亚洲国产成人久久精品网站 | 91干b| 99久久精品国产一区二区三区 | 日韩综合网 | 欧美一卡二卡在线观看 | 在线播放亚洲 | 亚洲一区在线免费观看 | 日韩欧美国产不卡 | 天天色图 | 365夜爽爽欧美性午夜免费视频 | 欧美 日韩 国产 在线 | 久久久久久久久久久丰满 | 国产三级电影网站 | 久久亚洲美女 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 日本在线免费视频 | 国产欧美在线视频 | 一级日批片 | 99tv | 亚洲国产欧美一区 | 精品一区二区在线视频 | 精品亚洲国产成av人片传媒 | 久久综合成人精品亚洲另类欧美 | 精品三级在线观看 | 91五月婷蜜桃综合 | 精品国产一区二区三区久久狼黑人 | 欧美一级二级在线观看 | 中文字幕第一页在线 | 国产一区二区自拍 | 精品免费观看 | 国产精品久久久久久久久久 | 99国产精品视频免费观看一公开 | 日韩a视频| 久热久| 韩三级在线观看 | 中文字幕日韩欧美一区二区三区 | 精品福利视频一区二区三区 |