亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 電機調唆程序 [打印本頁]

作者: lifeng420922    時間: 2016-8-25 17:41
標題: 電機調唆程序
基于labviewPWM電機調速
一、簡介:
    此設計模擬工業(yè)控制現(xiàn)場,通過調節(jié)Labview界面中的模擬儀表,通過RS232串口通信,把轉速控制信息通過串口傳送到單片機中,進而利用單片機控制電動機的轉速。
二、Labview前面板設計:
1.左部分為通訊端口、波特率、數(shù)據(jù)位、奇偶校驗位、停止位、延時等選擇端口。
2.中間為所調電壓的PWM波形,圖中藍綠色所示。
3.右部分顯示的是等效電壓的大小,圖中所示為2.35V。
4.下半部分為調節(jié)電壓的儀表和確定按鈕,當調節(jié)好電壓,按下確定鍵后方能調節(jié)電機轉速。
三、Labview程序框圖:
1.     串口通訊部分:
2.PWM電壓波形顯示部分:
四、硬件設計:
單片機IO端口的電流太小,不足以驅動直流電機;本設計通過I0端口外接ULN2003AN驅動直流電動機。
五、單片機部分程序:
/*********************************************關于頻率和占空比的確定,對于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時中斷次數(shù) *
*設定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設定中斷時間為0.01ms,這樣*
*可以設定占空比可從1-100變化。即0.01ms*100=1ms                              
******************************************************************************/
#include<reg52.h>  //52單片機頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫
#define uint unsigned int    //宏定義
#define uchar unsigned char  //宏定義
#define V_TH0  0XFF                  
#define V_TL0  0XF6
uchar ZKB1;
sbit P1_2=P1^2;
void init_sys(void);            /*系統(tǒng)初始化函數(shù)*/   
void main()             //主函數(shù)
{
        init_sys();
         while(1)
      {
       /*對占空比值限定范圍*/
       if (ZKB1>99) ZKB1=1;
       if (ZKB1<1) ZKB1=99;
      }
}
void timer0(void) interrupt 1 using 2
{
       static uchar click=0;                  /*中斷次數(shù)計數(shù)器變量*/
       TH0=V_TH0;                                    /*恢復定時器初始值*/
       TL0=V_TL0;
       ++click;
       if (click>=100) click=0;
       if (click<=ZKB1)      /*當小于占空比值時輸出低電平,高于時是高電平,從而實現(xiàn)占空比的調整*/
            P1_2=1;
     else
            P1_2=0;
}
void ser() interrupt 4
{
       RI=0;
       ZKB1=SBUF;
}
     /*系統(tǒng)初始化函數(shù)*/
void init_sys()
{
       ZKB1=40;
       TMOD=0x21;//設置定時器0工作方式1,定時器1為工作方式2      
    TH0=V_TH0; //定時0.01s
    TL0=V_TL0;   
       TH1=0xF3; //波特率2400
       TL1=0xF3;
    REN=1; //允許串口接收數(shù)據(jù)
       SM0=0;//串口工作方式1,8位數(shù)據(jù)傳送
       SM1=1;
       EA=1;//開總中斷     
       ES=1; //串口中斷開
       PS=1;    //串口中斷優(yōu)先級最高
       ET0=1;//開定時器0中斷            
       TR1=1; //開波特率
       TR0=1;//啟動定時器0   
}
基于labview的PWM電機調速
一、簡介:
    此設計模擬工業(yè)控制現(xiàn)場,通過調節(jié)Labview界面中的模擬儀表,通過RS232串口通信,把轉速控制信息通過串口傳送到單片機中,進而利用單片機控制電動機的轉速。
二、Labview前面板設計:
1.左部分為通訊端口、波特率、數(shù)據(jù)位、奇偶校驗位、停止位、延時等選擇端口。
2.中間為所調電壓的PWM波形,圖中藍綠色所示。
3.右部分顯示的是等效電壓的大小,圖中所示為2.35V。
4.下半部分為調節(jié)電壓的儀表和確定按鈕,當調節(jié)好電壓,按下確定鍵后方能調節(jié)電機轉速。
三、Labview程序框圖:
1.     串口通訊部分:
2.PWM電壓波形顯示部分:
四、硬件設計:
單片機IO端口的電流太小,不足以驅動直流電機;本設計通過I0端口外接ULN2003AN驅動直流電動機。
五、單片機部分程序:
/*********************************************關于頻率和占空比的確定,對于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時中斷次數(shù) *
*設定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設定中斷時間為0.01ms,這樣*
*可以設定占空比可從1-100變化。即0.01ms*100=1ms                              
******************************************************************************/
#include<reg52.h>  //52單片機頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫
#define uint unsigned int    //宏定義
#define uchar unsigned char  //宏定義
#define V_TH0  0XFF                  
#define V_TL0  0XF6
uchar ZKB1;
sbit P1_2=P1^2;
void init_sys(void);            /*系統(tǒng)初始化函數(shù)*/   
void main()             //主函數(shù)
{
        init_sys();
         while(1)
      {
       /*對占空比值限定范圍*/
       if (ZKB1>99) ZKB1=1;
       if (ZKB1<1) ZKB1=99;
      }
}
void timer0(void) interrupt 1 using 2
{
       static uchar click=0;                  /*中斷次數(shù)計數(shù)器變量*/
       TH0=V_TH0;                                    /*恢復定時器初始值*/
       TL0=V_TL0;
       ++click;
       if (click>=100) click=0;
       if (click<=ZKB1)      /*當小于占空比值時輸出低電平,高于時是高電平,從而實現(xiàn)占空比的調整*/
            P1_2=1;
     else
            P1_2=0;
}
void ser() interrupt 4
{
       RI=0;
       ZKB1=SBUF;
}
     /*系統(tǒng)初始化函數(shù)*/
void init_sys()
{
       ZKB1=40;
       TMOD=0x21;//設置定時器0工作方式1,定時器1為工作方式2      
    TH0=V_TH0; //定時0.01s
    TL0=V_TL0;   
       TH1=0xF3; //波特率2400
       TL1=0xF3;
    REN=1; //允許串口接收數(shù)據(jù)
       SM0=0;//串口工作方式1,8位數(shù)據(jù)傳送
       SM1=1;
       EA=1;//開總中斷     
       ES=1; //串口中斷開
       PS=1;    //串口中斷優(yōu)先級最高
       ET0=1;//開定時器0中斷            
       TR1=1; //開波特率
       TR0=1;//啟動定時器0   
}





歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1