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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

GYJ-0086_16路輸入8路輸出繼電器可編程模塊485及232原理圖與源碼資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
簡要說明:
一、 尺寸:長144mmX107mmX25mm
二、 主要芯片:STC12C5A60S2 51單片機(jī)的8~12(兼容51系列單片機(jī))
三、 工作電壓:直流12(另有24V繼電器可選)
四、通過9串口下載程序 (同時(shí)支持TTL下載程序
五、 特點(diǎn):
1、具有電源指示。(供電電源有防接反保護(hù))
216輸入(包括:2路模擬量輸入,2路高速光電輸入,12路光電隔離輸入
38路光隔離繼電器輸出控制
4、標(biāo)準(zhǔn)的11.0592M晶振。(便于設(shè)置串口波特率)
5、具有上電復(fù)位和手動(dòng)復(fù)位。
6獨(dú)立的串口通信及485通信
7可以接315M帶解碼的無線接收模塊
8輸入輸出均有信號指示燈
9繼電器開關(guān)量輸出,最大切換電壓220V,最大切換電流7A最大切換功率200W
10電流加有,光電隔離,續(xù)流二極管,壓敏電阻,抗干擾能力強(qiáng)
11四周有固定安裝孔,也可插入PCB107mm卡槽,安裝在DIN導(dǎo)軌上。
12通訊穩(wěn)定,提供原理圖,及板子的參考例程
13、單片機(jī)無加密,可插拔更換,帶有程序下載口,可隨意更改程序
14、端子采用螺旋壓接端子           
15、工作溫度-40度至 +70度
16、工作濕度 40%  ~ 80%RH



上位機(jī)通過485、232接口控制測試程序完整版本單片機(jī)源程序如下:

  1. /********************************************************************
  2.                             匯誠科技
  3. 使用芯片:STC12C5A60S2
  4. 晶振:11.0592MHZ
  5. 編譯環(huán)境:Keil
  6. 【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!     

  7. *********************************************************************/
  8. /********************************************************************
  9. *********************************************************************/
  10. /********************************************************************
  11. 單片機(jī)與PC機(jī)采用9針串口,MAX232通訊,波特率默認(rèn)為9600.

  12. 單片機(jī)接收PC機(jī)發(fā)ASC||碼表如下:

  13. 01、全開:PC發(fā)送'I';
  14. 02、全關(guān):PC發(fā)送'i';

  15. 03、第一路開:PC發(fā)送'A';
  16. 04、第二路開:PC發(fā)送'B';
  17. 05、第三路開:PC發(fā)送'C';
  18. 06、第四路開:PC發(fā)送'D';
  19. 07、第五路開:PC發(fā)送'E';
  20. 08、第六路開:PC發(fā)送'F';
  21. 09、第七路開:PC發(fā)送'G';
  22. 10、第八路開:PC發(fā)送'H';

  23. 11、第一路關(guān):PC發(fā)送'a';
  24. 12、第二路關(guān):PC發(fā)送'b';
  25. 13、第三路關(guān):PC發(fā)送'c';
  26. 14、第四路關(guān):PC發(fā)送'd';
  27. 15、第五路關(guān):PC發(fā)送'e';
  28. 16、第六路關(guān):PC發(fā)送'f';
  29. 17、第七路關(guān):PC發(fā)送'g';
  30. 18、第八路關(guān):PC發(fā)送'h';

  31. **********************************************************************
  32. */
  33. #include "STC12C5A60S2.H"
  34. #define uchar unsigned char//宏定義無符號字符型
  35. #define uint unsigned int  //宏定義無符號整型
  36. /********************************************************************
  37.                             初始定義
  38. *********************************************************************/
  39. /*定義十四個(gè)輸入*/
  40. //模擬量接口,做普通IO口時(shí),高定平有效(這里用做普通IO口)
  41. sbit IN1=P1^0;         
  42. sbit IN2=P1^1;
  43. //開光量輸入   低電平有效                  
  44. sbit IN3=P1^4;
  45. sbit IN4=P1^5;
  46. sbit IN5=P1^6;
  47. sbit IN6=P1^7;
  48. sbit IN7=P3^4;
  49. sbit IN8=P3^5;
  50. sbit IN9=P3^6;
  51. sbit IN10=P3^7;
  52. sbit IN11=P0^0;
  53. sbit IN12=P0^1;                 
  54. sbit IN13=P0^2;
  55. sbit IN14=P0^3;

  56. //高速脈沖輸入,    觸發(fā)信號高低可選
  57. sbit IN15=P3^2;
  58. sbit IN16=P3^3;

  59. /*定義八位輸出*/
  60. sbit OUT1= P2^7;
  61. sbit OUT2= P2^6;
  62. sbit OUT3= P2^5;
  63. sbit OUT4= P2^4;
  64. sbit OUT5= P2^3;
  65. sbit OUT6= P2^2;
  66. sbit OUT7= P2^1;
  67. sbit OUT8= P2^0;
  68. /***********************************************************
  69.                             數(shù)據(jù)定義
  70. ***********************************************************/
  71. unsigned char dat=0xA1;

  72. /********************************************************************
  73.                             延時(shí)函數(shù)
  74. *********************************************************************/
  75. void delay(uchar t)
  76. {
  77.   uchar i,j;
  78.    for(i=0;i<t;i++)
  79.    {
  80.             for(j=250;j>0;j--);
  81.          { ;
  82.          }
  83.    }
  84. }
  85. /********************************************************************
  86.                            輸出處理函數(shù)
  87. *********************************************************************/
  88. void open_X3()
  89. {
  90. P2=0X00;
  91. }
  92. void clse_X3()
  93. {
  94. P2=0XFF;
  95. }
  96. /********************************************************************
  97.               功能:串口初始化,波特率9600,方式1
  98. *********************************************************************/
  99. void Init_Com(void)
  100. {
  101.     //串口初始化
  102.     TMOD = 0x20;
  103.     SCON = 0x50;
  104.     TH1 = 0xFd;
  105.     TL1 = 0xFd;
  106.     TR1 = 1;
  107.         ES=1;                //開串口1中斷         
  108.    //485接口初始化       
  109.     S2CON=0x50;        //方式1,八位數(shù)據(jù),可變波特率                             
  110.         AUXR1=0x00;        //1T工作方式                                  
  111.         BRT=0XFD;         //設(shè)置波特率9600                                 
  112.         AUXR=0x10;        //啟動(dòng)波特率發(fā)生器                                 
  113.         EA=1;                 //開總中斷                                                  
  114.         IE2=0x01;        //開串口2中斷                                 
  115. }
  116. /********************************************************************
  117.                             配置IO口
  118. *********************************************************************/
  119. void init(void)
  120. {
  121. //   P1M1|=0X03;    //0000 0001        //因?yàn)榇薎O口直接引出,外加下拉電阻。所以配置IO口的時(shí)候需要把它設(shè)定為“開漏模式”
  122. //   P1M0|=0X03;    //0000 0001
  123. //   P4M1|=0x70;    //0111 0000         //P4口設(shè)置為“輸入模式”
  124. //   P4M0 =0x00;          //0000 0000   
  125. //   P4SW|=0x40;          //0100 0000        //P4^6設(shè)置成普通IO口
  126. }
  127. /********************************************************************
  128.                             串口1和串口2 配置
  129. *********************************************************************/
  130. void B485_send(uchar c)
  131. {

  132.   SBUF=S2BUF=c;
  133. }
  134. /********************************************************************
  135.                             主函數(shù)
  136. *********************************************************************/
  137. void main()
  138. {
  139.    Init_Com();//串口初始化
  140. //  init();
  141.    while(1)
  142.    {              
  143.        if(IN3==0)  {delay(20);OUT1=0; while(!IN3);  OUT1=1; B485_send('1');}
  144.        if(IN4==0)  {delay(20);OUT2=0; while(!IN4);  OUT2=1; B485_send('2');}
  145.        if(IN5==0)  {delay(20);OUT3=0; while(!IN5);  OUT3=1; B485_send('3');}
  146.        if(IN6==0)  {delay(20);OUT4=0; while(!IN6);  OUT4=1; B485_send('4');}
  147.        if(IN7==0)  {delay(20);OUT5=0; while(!IN7);  OUT5=1; B485_send('5');}
  148.        if(IN8==0)  {delay(20);OUT6=0; while(!IN8);  OUT6=1; B485_send('6');}
  149.        if(IN9==0)  {delay(20);OUT7=0; while(!IN9);  OUT7=1; B485_send('7');}
  150.        if(IN10==0) {delay(20);OUT8=0; while(!IN10); OUT8=1; B485_send('8');}
  151.        if(IN11==0) {delay(20);OUT1=0; while(!IN11); OUT1=1; B485_send('9');}          
  152.        if(IN12==0) {delay(20);OUT2=0; while(!IN12); OUT2=1; B485_send('0');}
  153.        if(IN13==0) {delay(20);OUT3=0; while(!IN13); OUT3=1; B485_send('W');}
  154.            if(IN14==0) {delay(20);OUT4=0; while(!IN14); OUT4=1; B485_send('X');}
  155.            if(IN15==0) {delay(20);OUT5=0; while(!IN15); OUT5=1; B485_send('Y');}
  156.            if(IN16==0) {delay(20);OUT6=0; while(!IN16); OUT6=1; B485_send('Z');}
  157.                      
  158. switch(dat) //接收數(shù)據(jù)判斷
  159.         {
  160.                 uchar k;
  161.                 k=10;
  162.                 case 'I': open_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break; //  全開
  163.                 case 'i': clse_X3();delay(k);SBUF=S2BUF=dat;dat=0xee;break; //  全關(guān)
  164.                
  165.                 case 'A': OUT1=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第1路開
  166.                 case 'B': OUT2=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第2路開
  167.                 case 'C': OUT3=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第3路開
  168.                 case 'D': OUT4=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第4路開
  169.                 case 'E': OUT5=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第5路開
  170.                 case 'F': OUT6=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第6路開
  171.                 case 'G': OUT7=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第7路開
  172.                 case 'H': OUT8=0; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第8路開
  173.                                
  174.                 case 'a': OUT1=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第1路關(guān)
  175.                 case 'b': OUT2=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第2路關(guān)
  176.                 case 'c': OUT3=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第3路關(guān)
  177.                 case 'd': OUT4=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第4路關(guān)
  178.                 case 'e': OUT5=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第5路關(guān)
  179.                 case 'f': OUT6=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第6路關(guān)
  180.                 case 'g': OUT7=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第7路關(guān)
  181.                 case 'h': OUT8=1; delay(k);SBUF=S2BUF=dat;dat=0xee;break;           //  第8路關(guān)

  182.                 default:break;                                           //  跳出
  183.     }
  184.   }
  185. }
  186. /********************************************************************
  187.                           串口中斷函數(shù)
  188. *********************************************************************/
  189. void commIntProc() interrupt 4
  190. {
  191.         if(TI)
  192.                 TI = 0;
  193.         if(RI)
  194.          {
  195.           RI = 0;
  196.           dat = SBUF;
  197.          } //接收數(shù)據(jù)SBUF賦與dat       
  198. }
  199. /********************************************************************
  200.                          串口二(485) 發(fā)送接收中斷函數(shù)
  201. *********************************************************************/
  202. void uart2_isr()  interrupt 8
  203. {
  204.    if( S2CON & 0x01 )
  205.          {
  206.                 S2CON &= ~0x01;
  207.                    dat= S2BUF;       
  208.          }
  209.         if( S2CON & 0x02 )
  210.         {
  211.           S2CON&=0xfd;
  212.         }
  213. }         
  214. /********************************************************************
  215.                               結(jié)束
  216. *********************************************************************/
復(fù)制代碼

所有資料51hei提供下載:
GYJ-0086_16路輸入8路輸出繼電器可編程模塊485及232DXP資料發(fā)貨資料.rar (9.3 MB, 下載次數(shù): 52)


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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线一区二区三区 | 一区二视频 | 中文字幕免费 | 国产免费一区二区三区 | 久久亚洲欧美日韩精品专区 | 日本久久一区 | 免费中文字幕日韩欧美 | 国产精品高潮呻吟久久aⅴ码 | 国产h视频| 久久综合久久久 | 欧美日韩成人网 | 国产精品污www一区二区三区 | 久久综合九九 | 韩三级在线观看 | 成人影院一区二区三区 | 日本电影韩国电影免费观看 | 九色 在线 | 日韩欧美一区二区三区 | 午夜在线视频一区二区三区 | 91久久精品国产91久久性色tv | 一区二区在线视频 | 日本免费黄色 | 91视频在线观看免费 | 午夜成人在线视频 | 亚洲av毛片 | 欧美视频在线看 | 欧美在线观看免费观看视频 | 久久久久国产一级毛片高清网站 | 国产又色又爽又黄又免费 | 午夜成人在线视频 | 精品国产成人 | 一区二区三区不卡视频 | 中文字幕一区在线 | 日韩中文字幕在线免费 | 亚洲高清av在线 | 操久久| 日本三级网站在线观看 | 6080yy精品一区二区三区 | 欧美a级网站 | 日本精品在线一区 | 国产欧美日韩精品在线观看 |