xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 56KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-08
  • 語(yǔ)言: 其他
  • 標(biāo)簽: 、pic??

資源簡(jiǎn)介

在protues平臺(tái)建立直流電機(jī)速度控制仿真系統(tǒng),通過(guò)pic單片機(jī)對(duì)其開關(guān)、加減速、正反轉(zhuǎn)進(jìn)行控制

資源截圖

代碼片段和文件信息

/************交流學(xué)習(xí)個(gè)人?QQ:105609700*******************************/


/**電機(jī)速度控制器******/

/******功能描述**********/
/*
開機(jī)狀態(tài):key1---停止/開啟;key2---加速;key3---減速;Key4---方向

*/

/******硬件描述***********/
/*
MPLAB?IDE?v?8.4?,HI-TECH?C?PRO?v9.65,?PIC16F883,??4MHz
*/

#include

#define key1?RB0//開/關(guān)鍵
#define key2?RB1//加速
#define key3?RB2//減速
#define?key4?RB3//方向
const?unsigned?char?ucduty[]={0x170x200x260x2C0X330X3D};//占空比:40%、50%、60%、70%;賦給CCPRxL,低兩位忽略。

volatile?bit?status=0;//0:電機(jī)停止?fàn)顟B(tài);1:電機(jī)轉(zhuǎn)動(dòng)狀態(tài)
volatile?bit?orient=0;//0:反轉(zhuǎn);1:正轉(zhuǎn);

volatile?signed?int?uclevel=0;//檔位狀態(tài);uclevel=1234;


/****PWM模塊初始化****/
void?init_CCP(void)
{
CCP1CON=0x3C;//bit5-4:10位占空比的低兩位;P1A?和P1C?為高電平有效;?P1B?和P1D?也為高電平有效;
CCP2CON=0x3C;
TRISC=0x06;//b0000?0110TRISC1TRISC2設(shè)置為輸入,關(guān)閉PWM輸出驅(qū)動(dòng)器。
PR2=0X3E;//PWM頻率設(shè)為1KHz;
}

/********端口B按鍵掃描初始化**********/
void?init_PROTB()
{
ANSELH=0x00;//將B端口設(shè)置為I/O口。
TRISB=0XFF;//設(shè)置為輸入。
// IOCB=0x07;//RB0、RB1、RB2允許點(diǎn)評(píng)變換中斷。
// PEIE?=?1;
//? GIE?=?1;
//必須初始化ANSELH?寄存器以將模擬通道配置為數(shù)字輸入。配置為模擬輸入的引腳
}

/******PWM子程序*******/
void?PWM(void)
{

CCPR2L=ucduty[uclevel];//設(shè)置占空比;
CCPR1L=ucduty[uclevel];//設(shè)置占空比;
TMR2IF=0;//清空timer2中斷標(biāo)志位;
T2CON=0x06;//設(shè)1:16預(yù)分頻;timer2使能;
//TRISC=0x00;//b0000?0000TRISC1TRISC2設(shè)置為輸出,打開PWM輸出驅(qū)動(dòng)器。


}


/********中斷函數(shù)******/
void?interrupt?motorcon()?
{ ?
if(RBIF)
{


RBIF=0;
}
}

/*****鍵盤掃描程序**********/
void?scan()
{

if(key1)
{
_delay(200);//延時(shí)200ms去抖。
if(key1)
{
if(status==0)
{
TRISC3=0;
RC3=1;//L293D使能;
status=1;
while(key1);
}
else
{
TRISC3=0;
RC3=0;//L293D使能;
status=0;
while(key1);
}
}
}

if(key2)
{
_delay(200);//延時(shí)200ms去抖。
if(key2)
{
/* if(status==0)//若處于停止?fàn)顟B(tài)
{
if(orient)//若處于反正轉(zhuǎn)設(shè)置方向,
{
TRISC2=1;//關(guān)閉CCP1輸出
RC2=0;
TRISC1=0;//開啟CCP2輸出
orient=0;//設(shè)為正反轉(zhuǎn)方向
while(key2);
}
else
{
TRISC2=0;//開啟CCP1輸出
TRISC1=1;//關(guān)閉CCP2輸出
RC1=0;
orient=1;//設(shè)為反轉(zhuǎn)方向
while(key2);
}
}
else?//若處于轉(zhuǎn)動(dòng)狀態(tài)
{
uclevel++;
if(uclevel==6)
uclevel=5;
PWM();
while(key2);
}
*/
uclevel++;
if(uclevel>=5)
uclevel=5;
PWM();
while(key2);

}
}
if(key3)
{
_delay(200);//延時(shí)200ms去抖。
if(key3)
{
/* if(status==0)//若處于停止?fàn)顟B(tài)
{
uclevel++;
if(uclevel==5)
uclevel=0;
PWM();
while(key3);
}
else
{
uclevel--;
if(uclevel<=0)
uclevel=0;
PWM();
while(key3);
}
*/
uclevel--;
if(uclevel<=0)
uclevel=0;
PWM();
while(key3);
}
}
if(key4)
{
_delay(200);//延時(shí)200ms去抖。
if(key4)
{
if(orient==0)//若處于反正轉(zhuǎn)設(shè)置方向,
{
while(RC2);//防止在CCP1高電平時(shí)關(guān)閉CCP1;
TRISC=0x04;//關(guān)閉CCP1輸出開啟CCP2輸出;0000?0100;

orient=1;//設(shè)為正反轉(zhuǎn)方向

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????97099??2011-11-30?01:12??motorcontroller_simulation\Backup?Of?motor?controller.DBK

?????文件??????96976??2011-11-29?20:43??motorcontroller_simulation\Last?Loaded?motor?controller.DBK

?????文件?????118443??2011-12-01?00:33??motorcontroller_simulation\motor?controller.DSN

?????文件???????1102??2012-01-03?23:43??motorcontroller_simulation\motor?controller.PWI

?????文件???????1859??2011-12-01?00:32??motorcontroller_simulation\Motorcontroller.hex

?????文件???????3729??2012-01-04?00:01??motorcontroller_simulation\Motorcontroller.c

?????目錄??????????0??2011-12-01?00:33??motorcontroller_simulation

-----------?---------??----------?-----??----

???????????????319208????????????????????7


評(píng)論

共有 條評(píng)論