|
代碼在壓縮文件
仿真只需按照代碼中的接口連接舵機(jī)
單片機(jī)源程序如下:
-
- #include <reg52.h> //頭文件
- #define uchar unsigned char //宏定義無(wú)符號(hào)字符型
- #define uint unsigned int //宏定義無(wú)符號(hào)整型
- uint b; //中斷值
- uint N=0; //占空比計(jì)數(shù)值
- uint X=8; //初始角度值 (取值范2~15)
- uchar key_up;
- uchar key_down;
- /*************************************************************************/
- sbit P2_2=P2^2;//角度加
- sbit P2_3=P2^3;//角度減
- sbit PWM=P1^0;//PWM輸出 (舵機(jī)控制端)
- /*************************************************************************/
- void get_key(void)//按/韜?
- {
- while(P2_2==0)//按鍵加計(jì)數(shù)標(biāo)志
- {key_up=1;
- }
- while(P2_3==0)//按鍵減計(jì)數(shù)標(biāo)志
- {key_down=1;
- }
- }
- /*************************************************************************/
- void timer0( ) interrupt 1 //定時(shí)器0工作方式1
- {
- TH0=0xff; //重裝計(jì)數(shù)初值
- TL0=0x38; //重裝計(jì)數(shù)初值
- b++;
- get_key();
- if (key_up==1)
- {
- if(X!=15)//判斷是否計(jì)數(shù)到9999
- {
- X=X+1;//加一
- key_up=0;
- }
- }
- if (key_down==1)
- {
- if(X!=2)//判斷是否計(jì)數(shù)到0
- {
- X=X-1;//減一
- key_down=0;
- }
- }
- }
- /*************************************************************************/
- void main()
- {
- TMOD=0X01; //定時(shí)器中斷0
- TH0=0xff; //重裝計(jì)數(shù)初值
- TL0=0x38; //重裝計(jì)數(shù)初值
- EA=1; //開(kāi)CPU中斷
- ET0=1; //開(kāi)T/C0中斷
- TR0=1;
- while(1) //無(wú)限循環(huán)
- {
- PWM=1; //輸出PWM正
- while(1)
- {
- b=0;
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
keil.rar
(24.38 KB, 下載次數(shù): 35)
2017-12-20 01:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|