久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機按鍵控制舵機0-180度自由調(diào)節(jié)
[打印本頁]
作者:
騰飛的龍
時間:
2016-10-29 11:44
標題:
51單片機按鍵控制舵機0-180度自由調(diào)節(jié)
按鍵控制舵機0-180度自由調(diào)節(jié)
按鍵控制舵機0-180度.zip
2016-10-29 11:44 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
13.06 KB, 下載次數(shù): 121, 下載積分: 黑幣 -5
作者:
wanghaitao
時間:
2016-10-30 13:37
不錯的方法
/************************************************************
芯 片:STC12C5A60S2
晶 振:11.0592MHz
功能描述:兩個按鍵控制 舵機從0-180°變化?
在多功能試驗板正確實現(xiàn)
遇到問題: 如果使用平常方法給TH0 TL0 賦值 ,那樣定時誤差比較大。。
平常方法: TH0=(65536-500)/256;
TL0=(65536-500)%256;
而如果使用這種方法:
TH0=-num/256; //高電平時間
TL0=-num%256;
誤差就比較小。
*************************************************************/
#include<stc12c5a60s2.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define Cycle 4000 //定義周期 180度
#define Cycle1 500 //定義周期 0度
#define juzhong 1500 //定義周期 歸中
uint PWM_Value[8];
uchar order=0; //中斷步長
sbit key1=P3^7;
sbit key2=P4^6;
//PWM的輸出端口
sbit PWM_OUT0=P1^3;
sbit PWM_OUT1=P0^1;
sbit PWM_OUT2=P0^2;
sbit PWM_OUT3=P0^3;
void Init_Timer0() //定時器0 初始化
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA = 1;//打開總中斷
ET0 = 1;//打開定時器0中斷
TR0 = 1;//啟動定時器0
PT0=1; //定時器0 設置為最高優(yōu)先中斷
PX0=0; // 外部中斷0 設置最低中斷
}
//延時
void delay(void)
{
uint i=250;
while(i--);
}
//按鍵檢測
void keyscan()
{
if(key1==0) //高電平加
{
if(PWM_Value[0]<Cycle)
PWM_Value[0]+=2;
if(PWM_Value[1]<Cycle)
PWM_Value[1]+=2;
if(PWM_Value[2]<Cycle)
PWM_Value[2]+=2;
if(PWM_Value[3]<Cycle)
PWM_Value[3]+=2;
}
if(key2==0) //高電平減
{
if(PWM_Value[0]>Cycle1)
PWM_Value[0]-=2;
if(PWM_Value[1]>Cycle1)
PWM_Value[1]-=2;
if(PWM_Value[2]>Cycle1)
PWM_Value[2]-=2;
if(PWM_Value[3]>Cycle1)
PWM_Value[3]-=2;
}
delay();
}
//主函數(shù)
void main(void)
{
PWM_Value[0]=juzhong;//舵機歸中
PWM_Value[1]=juzhong;
PWM_Value[2]=juzhong;
PWM_Value[3]=juzhong;
Init_Timer0();
P4SW=0X70;
while(1)
{
keyscan();
}
}
//定時器0 中斷子函數(shù)
//這里輸出幾路波形 就應該為 20MS/N =X 那么X 就是N路平分時間
//在用N-高電平時間 就為該路低電平時間咯。 就這么簡單。。。
void timer0(void) interrupt 1
{
switch(order)
{
case 1:PWM_OUT0=1;
TH0=-PWM_Value[0]/256; //第一路輸出高電平時長
TL0=-PWM_Value[0]%256;
break;
case 2:PWM_OUT0=0;
TH0=-(5000-PWM_Value[0])/256; //第一路 輸出低電平時長
TL0=-(5000-PWM_Value[0])%256;
break;
case 3:PWM_OUT1=1;
TH0=-PWM_Value[1]/256;
TL0=-PWM_Value[1]%256;
break;
case 4:PWM_OUT1=0;
TH0=-(5000-PWM_Value[1])/256;
TL0=-(5000-PWM_Value[1])%256;
break;
case 5:PWM_OUT2=1;
TH0=-PWM_Value[2]/256;
TL0=-PWM_Value[2]%256;
break;
case 6:PWM_OUT2=0;
TH0=-(5000-PWM_Value[2])/256;
TL0=-(5000-PWM_Value[2])%256;
break;
case 7:PWM_OUT3=1;
TH0=-PWM_Value[3]/256;
TL0=-PWM_Value[3]%256;
break;
case 8:PWM_OUT3=0;
TH0=-(5000-PWM_Value[3])/256;
TL0=-(5000-PWM_Value[3])%256;
order=0;
break;
default: order=0;
}
order++;
}
復制代碼
作者:
騰飛的龍
時間:
2016-11-5 12:43
謝謝!相互學習進步
作者:
tiny44
時間:
2016-11-7 22:30
謝謝!相互學習進步,我正要寫
作者:
20151470
時間:
2017-2-12 15:08
漏洞百出,差評!!!!!
作者:
qjyjack612510
時間:
2017-4-28 09:40
前輩,我也想做個通過遠程控制的WIFI帶攝像頭的小車…………。前后左右、攝像頭上下左右(老的說法叫八通道)。驅動最好是無級變速的(是不是叫PWM),能實現(xiàn)嗎?
作者:
qjyjack612510
時間:
2017-4-28 09:43
前輩,我也想做個帶攝像頭的小車。前后左右,攝像頭上下左右(八通道),驅動最好是無級變速的(是不是叫PMW),有點基礎,能不能指點下,能實現(xiàn)嗎?
作者:
tomgay
時間:
2017-5-1 06:30
謝謝!相互學習進步
作者:
lixiaofei
時間:
2017-6-24 10:20
看一下,謝謝
作者:
dxa572862121
時間:
2017-9-18 14:57
看一下
作者:
秋名山老司機666
時間:
2018-4-18 16:51
樓主,厲害了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久亚洲一区二区
|
精品国产99
|
国产片侵犯亲女视频播放
|
成人在线免费观看视频
|
久久久久久久av麻豆果冻
|
欧美日韩亚洲一区
|
农村真人裸体丰满少妇毛片
|
午夜男人天堂
|
日韩不卡视频在线观看
|
免费观看毛片
|
国产精品久久99
|
日批av
|
中国一级毛片免费
|
精品久久久久久久久久久久久久
|
中国一级特黄真人毛片免费观看
|
久久久久久国产精品免费免费
|
性生生活大片免费看视频
|
免费h在线
|
日韩欧美成人一区二区三区
|
国产日韩精品一区
|
亚洲97
|
国产高清一区二区三区
|
亚洲精品乱码久久久久久黑人
|
老子午夜影院
|
亚洲精品一区中文字幕乱码
|
国产区在线免费观看
|
久久精品欧美一区二区三区麻豆
|
日韩欧美手机在线
|
国产视频一区在线
|
日韩一区二区在线播放
|
中文字幕亚洲一区
|
中文无吗
|
亚洲一区二区三区在线视频
|
欧美国产中文字幕
|
精品综合久久久
|
亚洲综合一区二区三区
|
欧美一区二区三区在线
|
午夜免费在线电影
|
日日噜噜噜夜夜爽爽狠狠视频,
|
av官网在线
|
在线第一页
|