国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

藍色天使211的個人空間 http://www.qingdxww.cn/space-uid-75446.html [收藏] [復(fù)制] [RSS]

博客

單片機與臺達變頻器的通信

已有 1833 次閱讀2013-4-19 14:45 |個人分類:工程控制| 單片機, 變頻器

    下面是我在工程實踐中做的一個上位機和下位機控制臺達VFD-M系列變頻器的一個測試程序,希望對大家有所幫助。
說明:通信模式:RTU模式;波特率:9600,;數(shù)據(jù)格式:“8,E,1”;
程序通過串口調(diào)試助手以十六進制發(fā)送01變頻器啟動,02停止,03換向;讀者可以根據(jù)實際情況進行擴展,本人水平有限,望讀者朋友多加指正,謝謝!


#include<reg52.h>
 /***********************************/
#define bp   8
unsigned char bpq[bp];      //變頻器數(shù)據(jù)緩沖區(qū)定義

unsigned char flag1,temp1;
/****************串行口初始化函數(shù)****************/
void InitUART(void)
{
    TMOD = 0x20;    //定時器1工作在方式2  8位自動重裝
    SCON = 0xda;    
    TH1 = 0xfd;   //定時器1初值
    TL1 = TH1;
    TR1 = 1;   //定時器1開始計數(shù)
    EA =1; //開總中斷
    ES =1; //開串口1中斷

   
}
/****************串行口發(fā)送****************/
void UART_1SendOneByte(unsigned char c)
{
   ACC=c;
   if(P)
 {
  TB8=1;
  }
 else
 {
  TB8=0;
  }
 SBUF = ACC;
 while(TI==0);
    TI=0;  
}

 //向串口1發(fā)送一個字符串,strlen為該字符串長度 
void send_string_com(unsigned char *str,unsigned int strlen)
{
    unsigned int k=0;
    do 
    {
        UART_1SendOneByte(*(str + k));
        k++;
    } while(k < strlen);
}

 /**********************************CRC算法****************************/

unsigned int crc_check(unsigned char *dat,unsigned char length)
{

 int j;
 unsigned int reg_crc=0xffff;
 while(length--)
 {
 reg_crc^=*dat++;
 for(j=0;j<8;j++)
 {
  if(reg_crc&0x01)
   {
  reg_crc=(reg_crc>>1)^0xa001;
    }
  else
   {
  reg_crc=reg_crc>>1;
     }
   }
  }
  return reg_crc;
 }



 /************************************************寫變頻器函數(shù)**************************************/
void write_uart_buffer(unsigned char add,unsigned char cmd,unsigned int dat_add,unsigned int dat_data)
//add表示從機地址,cmd表示命令,dat_add表示數(shù)據(jù)地址,dat_data表示數(shù)據(jù)內(nèi)容
{
bpq[0]=add;
bpq[1]=cmd;
bpq[2]=(unsigned char)(dat_add>>8);
bpq[3]=(unsigned char)dat_add;
bpq[4]=(unsigned char)(dat_data>>8);
bpq[5]=(unsigned char)dat_data;
// 插入CRC算法的兩個字節(jié)
bpq[6]= (unsigned char)(crc_check(bpq,6));
bpq[7]= (unsigned char)(crc_check(bpq,6)>>8);
send_string_com(bpq,bp);
}

/**************變頻器啟動函數(shù)****************/
void bpq_start()
{

write_uart_buffer(0x01,0x06,0x2000,0x0012);


 }  
/**************變頻器停止函數(shù)**********/

void bpq_stop()
{

write_uart_buffer(0x01,0x06,0x2000,0x0011);

 }
/*******************變頻器換向函數(shù)****************/
void bpq_rev()
{

write_uart_buffer(0x01,0x06,2000,0x0032);

 }

/*****************主函數(shù)******************/
void main(void)
{
temp1=0x00;
InitUART(); //串行口初始化
while(1)
{
if(flag1==1)
{
 unsigned char m;
 m=temp1;
flag1=0;
 temp1=0x00;
switch(m)
{
case 0x01: bpq_start();break;
case 0x02:  bpq_stop();break;
case 0x03:  bpq_rev();break;
default:break;
}
}
}
}
/************串行口1中斷處理函數(shù)*************/
void UART_1Interrupt(void) interrupt 4
{
if(RI==1)
{
RI=0;
flag1=1;
temp1=SBUF;
}
}



路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
主站蜘蛛池模板: 狠狠色丁香九九婷婷综合五月 | 国产精品免费久久久免费 | 六月婷婷综合 | 激情综合久久 | 五月婷婷在线观看 | 欧美特级视频 | 黄色片视频免费观看 | 特片我不卡 | 欧美婷婷六月丁香综合色 | 亚洲网在线观看 | 欧美网站在线看 | 免费一级大毛片a一观看不卡 | 精品国产高清自在线一区二区三区 | 免费视频精品一区二区三区 | 手机在线观看黄色 | 高h全肉动漫在线观看最新 高h全肉动漫在线观看免费 | 国产一成人精品福利网站 | 成人黄网大全在线观看 | 在线97| 日韩精品一级毛片 | 欧美日本亚洲国产一区二区 | 成人毛片基地 | 国产成人精品一区二区 | 黑人和亚洲女人 | 免费黄色欧美视频 | 免费在线看黄色的网站 | 国产精品福利一区二区 | 国产精品欧美亚洲 | 日韩小视频在线播放 | 99精品免费观看 | 精品国产一区二区三区国产馆 | 欧美 国产 日韩 第一页 | 久久黄色免费网站 | 手机在线播放av | 91精品国产麻豆福利在线 | 看片不卡 | 99久久99这里只有免费的精品 | 四虎久久影院 | 久久综合色区 | 视频一区 欧美 | 99精选视频 |