欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機驅動直流電機,測試可用,可調速
[打印本頁]
作者:
紫小義
時間:
2018-5-21 10:14
標題:
51單片機驅動直流電機,測試可用,可調速
51 驅動直流電機,測試可用,可調速
單片機源程序如下:
#include <REG52.H> //包含51單片機相關的頭文件
#define uchar unsigned char
#define uint unsigned int
/*==================
對各個輸出端口的定義
對占空比的端口定義
====================*/
sbit IN4=P1^3; //定義左輪前進
sbit IN3=P1^2; //定義左輪后退
sbit IN1=P1^0; //定義右輪前進
sbit IN2=P1^1; //定義右輪后退
sbit ENA=P1^6; //定義右輪使能
sbit ENB=P1^7; //定義左輪使能
uint Duty_left; //定義左輪占空比
uint Duty_right; //定義右輪占空比
uint i; //中斷中控制占空比變量
/*===========
ms級延時函數
=============*/
void delay(uint n)
{
int x,y;
for(x=n;x>0;x--)
for(y=115;y>0;y--);
}
/*=======
停止函數
=========*/
void tingzhi()
{
Duty_left=0; //左輪占空比
Duty_right=0; //右輪占空比
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
/*=======
前進函數
=========*/
void qianjin()
{
Duty_left=100; //左輪占空比
IN4=0;
IN3=1;
delay(3000);
ENB=0;
delay(3000);
ENB=1;
}
/*============
pwm初始化函數
==============*/
void pwm_init()
{
TMOD |= 0x01; //設置定時器工作方式0x01
TH0=(65536-1)/256; //取約150HZ,12M晶振,每次定時66us,分100次,
TL0=(65536-1)%256; //這樣開頭定義的變量正好直接表示占空比的數值
EA=1; //打開總中斷
ET0=1; //開啟定時器0中斷
TR0=1; //啟動定時器0
}
main()
{
pwm_init();
while(1)
{
qianjin();
}
}
/*========
中斷函數
==========*/
void T0_timer() interrupt 1
{
i++;
if(i<=Duty_right)
ENA=1;
else
ENA=0;
if(i<=Duty_left)
ENB=1;
else
ENB=0;
if(i==100)
{
i = 0;
}
TH0=(65536-1)/256; //取約150HZ,12M晶振,每次定時66us,分100次,
TL0=(65536-1)%256; //這樣開頭定義的變量正好直接表示占空比的數值
}
復制代碼
所有資料51hei提供下載:
直流電機驅動.zip
(21.86 KB, 下載次數: 91)
2018-5-21 10:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
白木林
時間:
2018-11-30 23:46
還是不太懂它的原理
作者:
qqhrchen
時間:
2018-12-1 02:18
TH0=(65536-1)/256; //取約150HZ,12M晶振,每次定時66us,分100次,
TL0=(65536-1)%256; //這樣開頭定義的變量正好直接表示占空比的數值
如果采用12T的89c52的話,這個定時時間應該是1us,頻率是1MHz。
如果是1T的CPU,定時時間約1/12us,頻率是12MHz.
正確的應該是(不會是故意寫錯的吧):
TH0=(65536-66)/256; //取約150HZ,12M晶振,每次定時66us,分100次,
TL0=(65536-66)%256;
作者:
Wikkings_Bob
時間:
2019-5-18 23:30
沒有圖么?
作者:
Wikkings_Bob
時間:
2019-5-18 23:36
i都不初始化變量么?
作者:
Wikkings_Bob
時間:
2019-5-18 23:37
定時器0溢出標志位也沒清除
作者:
漠城
時間:
2020-9-8 22:18
我個人覺得,這程序不能實現調速。整體看下來,這程序是截取的,而且截取的不對,怎么看都有問題。
作者:
luogu
時間:
2020-9-11 16:08
直接硬件生成PWM吧
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1