|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 偏风103070 于 2020-4-22 09:53 编辑
论坛里找到的舵机测试器程序,但我不会使用keil软件,请大家帮忙把这个程序转换成hex文件。
谢谢啦!
控制舵机的程序:
#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
}
}
|
|