|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
试了好多次 keil安装不成功,请大家帮我把这个舵机测试器程序转换成hex文件。谢谢啦!!
舵机信号接P5.5 电位器接P1.7
STC15W408AS
用电位器控制舵机的程序:
#include<reg51.h>
sfr P5=0xC8; //声明P5引脚寄存器
sfr P1ASF=0x9D; //声明 P1口模拟功能寄存器
sfr ADC_RES=0xBD; //声明 ADC转换结果寄存器
sfr ADC_CONTR=0xBC;//声明 ADC控制寄存器
sbit OUT=P5^5;//定义一个输出引脚
unsigned int L; //定义一个数据
unsigned int adc; //AD转换计算
void Delay10us() //@12.000MHz
{
unsigned char i;
i = 27;
while (--i);
}
void delay_n_10us(unsigned int n)//延时n个10us的函数
{
while(n)
{
Delay10us();
n=n-1;//每循环一次n减小1
}
}
void main()
{
L=150;//1.5ms高电平,舵机摆到中间
P1ASF=0x80; //设置P1.7引脚为模拟功能
while(1)
{
OUT=1;
delay_n_10us(L);//输出高电平
OUT=0;
delay_n_10us(1900);//19ms左右低电平
ADC_CONTR=0x88+7; //开始P1.7引脚转换
delay_n_10us(5); //等待50us,AD转换完成
adc=ADC_RES; //读取转换结果
L=adc; //转动旋钮,adc的值0~255变化
//L的变化范围是100~200,所以进行一下限制
if(L>200)L=200; //高电平时间不能超过2ms
if(L<100)L=100; //高电平时间不能低于1ms
}
}
|
| |