云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 51单片机 舵机程序

51单片机 舵机程序

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 4:30:35

51单片机 舵机程序 #include \

unsigned char count; //0.5ms次数标识 sbit pwm =P2^7 ; //PWM信号输出

sbit jia =P2^4; //角度增加按键检测IO口 sbit jan =P2^5; //角度减少按键检测IO口 unsigned char jd; //角度标识 void delay(unsigned char i)//延时 {

unsigned char j,k; for(j=i;j>0;j--)

for(k=125;k>0;k--); }

void Time0_Init() //定时器初始化 {

TMOD = 0x01; //定时器0工作在方式1 IE = 0x82; TH0 = 0xfe;

TL0 = 0x33; //11.0592MZ晶振,0.5ms TR0=1; //定时器开始 }

void Time0_Int() interrupt 1 //中断程序 {

TH0 = 0xfe; //重新赋值 TL0 = 0x33;

if(count< jd) //判断0.5ms次数是否小于角度标识 pwm=1; //确实小于,PWM输出高电平 else

pwm=0; //大于则输出低电平 count=(count+1); //0.5ms次数加1

count=count@; //次数始终保持为40 即保持周期为20ms }

void keyscan() //按键扫描 {

if(jia==0) //角度增加按键是否按下 {

delay(10); //按下延时,消抖 if(jia==0) //确实按下 {

jd++; //角度标识加1

count=0; //按键按下 则20ms周期从新开始 if(jd==6)

jd=5; //已经是180度,则保持

while(jia==0); //等待按键放开 } }

if(jan==0) //角度减小按键是否按下 {

delay(10); if(jan==0) {

jd--; //角度标识减1 count=0; if(jd==0)

jd=1; while(jan==0); } } }

void main() { jd=1;

count=0;

Time0_Init(); while(1) {

keyscan(); } }

//已经是0度,则保持 //按键扫描

搜索更多关于: 51单片机 舵机程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

51单片机 舵机程序 #include \unsigned char count; //0.5ms次数标识 sbit pwm =P2^7 ; //PWM信号输出 sbit jia =P2^4; //角度增加按键检测IO口 sbit jan =P2^5; //角度减少按键检测IO口 unsigned char jd; //角度标识 void delay(unsigned char i)//延时 { unsigned char j,k; for(j=i;j>0;j--) for(k=125;k>0;k--); } void Time0_Init() //定时器初始化 { TMOD = 0x

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com