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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

GYJ-0126-A-NPN 16路輸入輸出可編程晶體管工控 串口485通訊 原理圖+PCB+單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


*********************************************************************/
#include "hedder\\STC12C5A60S2.h"
#include"hedder\\DODI.h"
#define  uchar unsigned char
#define  uint  unsigned int
uchar dat;
/********************************************************************
                                串口初始化
*********************************************************************/
void init ()
{
   //串口2波特率
        TMOD = 0x20;                                  //定時器1產生波特率
        SCON = 0x50;                                 //方式1,8位數據,波特率可變
        TH1=0xfd;
        TL1 = 0xfd;                         //波特率 9600

  //串口1波特率        
        S2CON = 0x50;                                 //方式1,八位數據,可變波特率
        BRT=0XFD;                                  //設置波特率9600
        TR1=1;                                          //啟動定時器產生串口2波特率        
        AUXR=0x10;                                 //啟動串口1波特率發生器
        IP=0x00;                                 //優先級默認
        EA=1;                                  //開總中斷
        ES=1;                                         //開串口1中斷
        IE2=0x01;                                 //開串口2中斷
}

/*
       // 串口一 發送一個字符
void  uart1_txd(uchar x)
{
        SBUF = x;
}
//     串口二   發送一個字符
void  uart2_txd(uchar x)
{
        S2BUF = x;
}
*/
/********************************************************************
                                延時函數
*********************************************************************/
void delay ( uint t )
{
        uint i,j;
        for( i=0; i<t; i++)
        for( j=0; j<250; j++);
}
/********************************************************************
                                    主函數
*********************************************************************/
void main()
{
   uchar k=10;
    //配置P4.4為IO口
   P4SW|=0x70;                  
   P4M0&=0x80;                  
   P4M1&=0x80;

   init();   //串口初始化
   fxctl=0;  //485接收
   while(1)
   {
/********************************************************************
                            接收數據判斷函數
*********************************************************************/
        switch(dat) //接收數據判斷
        {
                case 'I':
                                  P1&=0x0c;
                                  P3&=0x03;
                          P4&=0x81;
                                  P5=0;
                          delay(200);
                                  init();
                              break; //  全開
                                 
                case 'i':
                           P3|=0XFF;
                                   P1|=0XFF;
                           P4|=0xff;
                                   P5=0xff;
                                   delay(k);        
                                   break; //  全關
               
                case 'A': OUT1=0;delay(k);break;           //  第一路開
                case 'B': OUT2=0;delay(k);break;           //  第二路開
                case 'C': OUT3=0;delay(k);break;           //  第三路開
                case 'D': OUT4=0;delay(k);break;           //  第四路開
                case 'E': OUT5=0;delay(k);break;           //  第五路開
                case 'F': OUT6=0;delay(k);break;           //  第六路開
                case 'G': OUT7=0;delay(k);break;           //  第七路開
                case 'H': OUT8=0;delay(k);break;           //  第八路開
                case 'J': OUT9=0;delay(k);break;           //  第九路開
                case 'K': OUT10=0;delay(k);break;           //  第十路開
                case 'L': OUT11=0;delay(k);break;           //  第十一路開
                case 'M': OUT12=0;delay(k);break;           //  第十二路開
                case 'N': OUT13=0;delay(k);break;           //  第十三路開
                case 'O': OUT14=0;delay(k);break;           //  第十四路開
                case 'P': OUT15=0;delay(k);break;           //  第十五路開
                case 'Q': OUT16=0;delay(k);break;           //  第十六路開
                        
                case 'a': OUT1=1;delay(k);break;           //  第一路關
                case 'b': OUT2=1;delay(k);break;           //  第二路關
                case 'c': OUT3=1;delay(k);break;           //  第三路關
                case 'd': OUT4=1;delay(k);break;           //  第四路關
                case 'e': OUT5=1;delay(k);break;           //  第五路關
                case 'f': OUT6=1;delay(k);break;           //  第六路關
                case 'g': OUT7=1;delay(k);break;           //  第七路關
                case 'h': OUT8=1;delay(k);break;           //  第八路關
                case 'j': OUT9=1;delay(k);break;           //  ...
                case 'k': OUT10=1;delay(k);break;           //  ...
                case 'l': OUT11=1;delay(k);break;           //  ...
                case 'm': OUT12=1;delay(k);break;           //  ...
                case 'n': OUT13=1;delay(k);break;           //  ...
                case 'o': OUT14=1;delay(k);break;           //  ...
                case 'p': OUT15=1;delay(k);break;           //  ...
                case 'q': OUT16=1;delay(k);break;           //  ...
           default:break;                      //  跳出
   }
}        
}
/********************************************************************
                         串口一 發送接收中斷函數
*********************************************************************/
void uart_isr()  interrupt 4
{
        if( RI ) RI = 0;
        
        dat = SBUF;
        
        if( TI ) TI = 0;
}
/********************************************************************
                         串口二    發送接收中斷函數
*********************************************************************/
void uart2_isr()  interrupt 8
{
   if( S2CON & 0x01 )
         {
                S2CON &= ~0x01;
                   dat= S2BUF;
         }

        if( S2CON & 0x02 )
        {
          S2CON &= ~0x02;
        }
}
/********************************************************************
                                    結束
*********************************************************************/








ALIM0036.JPG (1.9 MB, 下載次數: 78)

ALIM0036.JPG

ALIM0039.JPG (1.85 MB, 下載次數: 84)

ALIM0039.JPG

51hei.png (8.38 KB, 下載次數: 80)

51hei.png

16路入16出可編程場效應管可編程說明書.doc

4.86 MB, 下載次數: 42, 下載積分: 黑幣 -5

16路入16出可編程場效應管控制板原理圖及PCB圖.pdf

2.23 MB, 下載次數: 48, 下載積分: 黑幣 -5

01、通過485或232接口均可與上位機通訊測試程序.zip

33.29 KB, 下載次數: 53, 下載積分: 黑幣 -5

16路入16出可編程場效應管DXP資料.zip

3.09 MB, 下載次數: 58, 下載積分: 黑幣 -5

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

使用道具 舉報

沙發
ID:88256 發表于 2020-10-15 00:21 | 只看該作者
是仿造PLC嗎?用什么編程?
回復

使用道具 舉報

板凳
ID:328014 發表于 2020-10-15 03:59 | 只看該作者
看程序,是51單片機的,要求不高的場合還是可以應用的
回復

使用道具 舉報

地板
ID:97678 發表于 2020-10-15 15:37 | 只看該作者
原理圖和PCB圖原件不一致,PCB的多,原理圖少。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区在线乱码 | 一级毛片,一级毛片 | 国产精品欧美一区喷水 | 在线视频a| 日韩欧美在线不卡 | 国产精品www | 欧美综合视频在线 | 91麻豆精品一区二区三区 | 乱一性一乱一交一视频a∨ 色爱av | 91国内精精品久久久久久婷婷 | 日韩中文一区二区三区 | 日韩中文字幕 | 日韩成人免费av | 99色播| 久久久国产精品视频 | 国产一区二区三区在线视频 | 欧美一级免费 | 成人午夜毛片 | 一级黄色裸片 | 黄色大片免费观看 | av第一页 | 欧美a在线观看 | 免费黄色a级毛片 | 精品免费国产视频 | 免费av手机在线观看 | 欧美国产日韩一区 | 网站黄色av | 国产高清在线观看 | 久久一区二区视频 | 国产精品色 | 欧美综合久久 | 中文字幕亚洲一区 | 欧美日韩激情 | 色爱区综合 | 9久久 | www.久草| 性天堂网| 成人免费激情视频 | 国产高清在线观看 | 91在线精品视频 | 欧美黄色网 |