久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
基于51單片機(jī)的PWM直流電機(jī)調(diào)速控制程序與仿真
[打印本頁(yè)]
作者:
51mcu
時(shí)間:
2019-5-4 06:21
標(biāo)題:
基于51單片機(jī)的PWM直流電機(jī)調(diào)速控制程序與仿真
基于51單片機(jī)的PWM直流電機(jī)調(diào)速控制程序與仿真,是通過(guò)電位器控制直流電機(jī),并將電機(jī)運(yùn)行狀態(tài)顯示在LCD上。
PWM直流電機(jī)調(diào)速控制.rar
(86.12 KB, 下載次數(shù): 73)
2019-5-4 06:19 上傳
點(diǎn)擊文件名下載附件
基于51單片機(jī)的PWM直流電機(jī)調(diào)速控制程序與仿真
下載積分: 黑幣 -5
PWM調(diào)速.jpg
(159.28 KB, 下載次數(shù): 75)
下載附件
2019-5-4 06:20 上傳
//*************************************************************************************************
//*************************************************************************************************
**
//**<功能>:通過(guò)電位器控制直流電機(jī),并將電機(jī)運(yùn)行狀態(tài)顯示在LCD上。 **
//**可以通過(guò)電位器控制電機(jī)轉(zhuǎn)向和速度,修改了PWM計(jì)算方法。 **
//*************************************************************************************************
//*************************************************************************************************
//*************************************************************************************************
//* *
//* ******************************頭文件及宏定義************************** *
//* *
//*************************************************************************************************
#include "includes.h"
#define TIME1H 0xFF
#define TIME1L 0x9C //定時(shí)器1溢出時(shí)間:0.1ms
#define MOTORPORT P1 //電機(jī)接口。
#define MO_COMMON 0x08 //點(diǎn)擊運(yùn)行狀態(tài)。
#define MO_OPPOSE 0x06
#define MO_CUTOFF 0x00
#define MO_STOP 0x0A
//*************************************************************************************************
//* *
//* *******************************全局變量***************************** *
//* *
//*************************************************************************************************
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<PWM調(diào)制計(jì)數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
unsigned char uc_MoCount=0; //PWM調(diào)制計(jì)數(shù)。
unsigned char uc_PWM; //存儲(chǔ)PWM。
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<DA轉(zhuǎn)換>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
unsigned char uc_DAResult; //存儲(chǔ)DA轉(zhuǎn)換結(jié)果。
//*************************************************************************************************
//* *
//* ********************************主函數(shù)****************************** *
//* *
//*************************************************************************************************
void main()
{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化定時(shí)器1,用于PWM調(diào)制計(jì)數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TMOD=0x10;
TH1=TIME1H;
TL1=TIME1L;
TR1=1;
ET1=1;
EA=1; //開(kāi)總中斷。
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化LCD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vdInitialize();
vWriteCMD(0xC4);
vShowChar("PWM:");
vWriteCMD(0x81);
vShowChar("Status:");
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化電機(jī)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MOTORPORT=MO_COMMON;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<主循環(huán)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
while(1)
{
uc_DAResult=ucADTransform(); //將DA轉(zhuǎn)換結(jié)果賦給uc_MoChange,改變轉(zhuǎn)速。
vWriteCMD(0xC9);
vShowNumber(uc_PWM);
vWriteCMD(0x89); //在LCD上顯示電機(jī)運(yùn)行狀態(tài)。
if(uc_DAResult==128||uc_DAResult==127)
vShowChar("Stop ");
else
{
if(uc_DAResult>128)
vShowChar("Common");
else
vShowChar("Oppose");
}
}
}
//*************************************************************************************************
//* *
//* ****************************定時(shí)器1中斷,用于PWM調(diào)制計(jì)數(shù)**************************** *
//* *
//*************************************************************************************************
void vTimer0() interrupt 3 //根據(jù)DA轉(zhuǎn)換結(jié)果計(jì)算PWM,PWM值在1~127之間。
{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<當(dāng)DA轉(zhuǎn)換結(jié)果等于127或者128時(shí),電機(jī)停止>>>>>>>>>>>>>>>>>>>>>>>>>>>>
if(uc_DAResult==128||uc_DAResult==127)
{
uc_PWM=0;
MOTORPORT=MO_CUTOFF;
}
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<當(dāng)DA轉(zhuǎn)換結(jié)果大于128時(shí),電機(jī)正常運(yùn)行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
else
{
if(uc_DAResult>128)
{
uc_PWM=uc_DAResult-128;
if(uc_MoCount<=uc_PWM)
MOTORPORT=MO_COMMON;
else
MOTORPORT=MO_CUTOFF;
}
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<當(dāng)DA轉(zhuǎn)換結(jié)果小于127時(shí),電機(jī)反向運(yùn)行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
else
{
uc_PWM=127-uc_DAResult;
if(uc_MoCount<=uc_PWM)
MOTORPORT=MO_OPPOSE;
else
MOTORPORT=MO_CUTOFF;
}
}
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<循環(huán)計(jì)數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
if(uc_MoCount<(uc_PWM+2)) //循環(huán)計(jì)數(shù)總是比PWM大1。
uc_MoCount++;
else
uc_MoCount=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢復(fù)定時(shí)器1>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TH0=TIME1H;
TL0=TIME1L;
}
作者:
蝶舞狂雷
時(shí)間:
2019-5-5 09:25
感謝樓主分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲国产一区二区三区在线观看
|
av大全在线观看
|
国产欧美日韩综合精品一区二区
|
天天操夜夜艹
|
亚洲一视频
|
黄片毛片在线观看
|
中文字幕一区二区三区在线观看
|
亚洲精品久久久久久首妖
|
成人在线一区二区
|
成年免费大片黄在线观看岛国
|
欧美jizzhd精品欧美巨大免费
|
亚洲人成在线观看
|
成人免费观看男女羞羞视频
|
草久在线
|
亚洲午夜av久久乱码
|
天天视频成人
|
婷婷在线网站
|
日本在线你懂的
|
中文字幕专区
|
欧美人人
|
国产男女猛烈无遮掩视频免费网站
|
丁香婷婷综合激情五月色
|
日韩欧美三级
|
国产色网
|
日韩2020狼一二三
|
欧美在线观看网站
|
色资源在线视频
|
自拍在线
|
97国产精品视频人人做人人爱
|
国产精品久久久久免费
|
中文无吗
|
国产一区亚洲
|
天天在线操
|
日韩另类
|
亚洲精品免费在线观看
|
国产精品亚洲一区二区三区在线
|
91成人午夜性a一级毛片
|
精品一区二区在线视频
|
国产成人99久久亚洲综合精品
|
一级黄色片毛片
|
日韩综合在线播放
|