欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1826|回復(fù): 0
收起左側(cè)

電機(jī)調(diào)唆程序

[復(fù)制鏈接]
ID:137588 發(fā)表于 2016-8-25 17:41 | 顯示全部樓層 |閱讀模式
基于labviewPWM電機(jī)調(diào)速
一、簡(jiǎn)介:
    此設(shè)計(jì)模擬工業(yè)控制現(xiàn)場(chǎng),通過調(diào)節(jié)Labview界面中的模擬儀表,通過RS232串口通信,把轉(zhuǎn)速控制信息通過串口傳送到單片機(jī)中,進(jìn)而利用單片機(jī)控制電動(dòng)機(jī)的轉(zhuǎn)速。
二、Labview前面板設(shè)計(jì):
1.左部分為通訊端口、波特率、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位、延時(shí)等選擇端口。
2.中間為所調(diào)電壓的PWM波形,圖中藍(lán)綠色所示。
3.右部分顯示的是等效電壓的大小,圖中所示為2.35V。
4.下半部分為調(diào)節(jié)電壓的儀表和確定按鈕,當(dāng)調(diào)節(jié)好電壓,按下確定鍵后方能調(diào)節(jié)電機(jī)轉(zhuǎn)速。
三、Labview程序框圖:
1.     串口通訊部分:
2.PWM電壓波形顯示部分:
四、硬件設(shè)計(jì):
單片機(jī)IO端口的電流太小,不足以驅(qū)動(dòng)直流電機(jī);本設(shè)計(jì)通過I0端口外接ULN2003AN驅(qū)動(dòng)直流電動(dòng)機(jī)。
五、單片機(jī)部分程序:
/*********************************************關(guān)于頻率和占空比的確定,對(duì)于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時(shí)中斷次數(shù) *
*設(shè)定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設(shè)定中斷時(shí)間為0.01ms,這樣*
*可以設(shè)定占空比可從1-100變化。即0.01ms*100=1ms                              
******************************************************************************/
#include<reg52.h>  //52單片機(jī)頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫(kù)
#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)
      {
       /*對(duì)占空比值限定范圍*/
       if (ZKB1>99) ZKB1=1;
       if (ZKB1<1) ZKB1=99;
      }
}
void timer0(void) interrupt 1 using 2
{
       static uchar click=0;                  /*中斷次數(shù)計(jì)數(shù)器變量*/
       TH0=V_TH0;                                    /*恢復(fù)定時(shí)器初始值*/
       TL0=V_TL0;
       ++click;
       if (click>=100) click=0;
       if (click<=ZKB1)      /*當(dāng)小于占空比值時(shí)輸出低電平,高于時(shí)是高電平,從而實(shí)現(xiàn)占空比的調(diào)整*/
            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;//設(shè)置定時(shí)器0工作方式1,定時(shí)器1為工作方式2      
    TH0=V_TH0; //定時(shí)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)先級(jí)最高
       ET0=1;//開定時(shí)器0中斷            
       TR1=1; //開波特率
       TR0=1;//啟動(dòng)定時(shí)器0   
}
基于labview的PWM電機(jī)調(diào)速
一、簡(jiǎn)介:
    此設(shè)計(jì)模擬工業(yè)控制現(xiàn)場(chǎng),通過調(diào)節(jié)Labview界面中的模擬儀表,通過RS232串口通信,把轉(zhuǎn)速控制信息通過串口傳送到單片機(jī)中,進(jìn)而利用單片機(jī)控制電動(dòng)機(jī)的轉(zhuǎn)速。
二、Labview前面板設(shè)計(jì):
1.左部分為通訊端口、波特率、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位、延時(shí)等選擇端口。
2.中間為所調(diào)電壓的PWM波形,圖中藍(lán)綠色所示。
3.右部分顯示的是等效電壓的大小,圖中所示為2.35V。
4.下半部分為調(diào)節(jié)電壓的儀表和確定按鈕,當(dāng)調(diào)節(jié)好電壓,按下確定鍵后方能調(diào)節(jié)電機(jī)轉(zhuǎn)速。
三、Labview程序框圖:
1.     串口通訊部分:
2.PWM電壓波形顯示部分:
四、硬件設(shè)計(jì):
單片機(jī)IO端口的電流太小,不足以驅(qū)動(dòng)直流電機(jī);本設(shè)計(jì)通過I0端口外接ULN2003AN驅(qū)動(dòng)直流電動(dòng)機(jī)。
五、單片機(jī)部分程序:
/*********************************************關(guān)于頻率和占空比的確定,對(duì)于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時(shí)中斷次數(shù) *
*設(shè)定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設(shè)定中斷時(shí)間為0.01ms,這樣*
*可以設(shè)定占空比可從1-100變化。即0.01ms*100=1ms                              
******************************************************************************/
#include<reg52.h>  //52單片機(jī)頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫(kù)
#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)
      {
       /*對(duì)占空比值限定范圍*/
       if (ZKB1>99) ZKB1=1;
       if (ZKB1<1) ZKB1=99;
      }
}
void timer0(void) interrupt 1 using 2
{
       static uchar click=0;                  /*中斷次數(shù)計(jì)數(shù)器變量*/
       TH0=V_TH0;                                    /*恢復(fù)定時(shí)器初始值*/
       TL0=V_TL0;
       ++click;
       if (click>=100) click=0;
       if (click<=ZKB1)      /*當(dāng)小于占空比值時(shí)輸出低電平,高于時(shí)是高電平,從而實(shí)現(xiàn)占空比的調(diào)整*/
            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;//設(shè)置定時(shí)器0工作方式1,定時(shí)器1為工作方式2      
    TH0=V_TH0; //定時(shí)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)先級(jí)最高
       ET0=1;//開定時(shí)器0中斷            
       TR1=1; //開波特率
       TR0=1;//啟動(dòng)定時(shí)器0   
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表