完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先是本人用键盘控制舵机的程序
#include ***it jia=P3^3; ***it jian=P3^4; #define uchar unsigned char ***it pwm=P1^7; uchar count,jd; void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=125;y>0;y--); } void timer0_init() { TMOD=0x01; IE=0x82; TH0=0xfe; TL0=0x33; TR0=1; } void timer0() interrupt 1 { TH0=0xfe; TL0=0x33; if(count else pwm=0; count=(count+1); // if(count==40) // TR0=0; count=count%40; } void keyscan() { if(jia==0) { delay(10); if(jia==0) { jd++; count=0; if(jd==6) jd=5; while(jia==0); delay(10); while(jia==0); } } if(jian==0) { delay(10); if(jian==0) { jd--; count=0; if(jd==0) jd=1; while(jian==0); delay(10); while(jian==0); } } } void main() { jd=1; count=0; timer0_init(); while(1) { keyscan(); } } 舵机正常转动,通过按键加减45度。 接下来我用串口发送数据来代替按键,程序如下 #include #define uchar unsigned char ***it pwm=P1^7; uchar count,jd,flag,a; void timer0_init() { TMOD=0x01; IE=0x82; TH0=0xfe; TL0=0x33; TR0=1; } void lanya() { TMOD=0x20; TR1=1; TH1=0xfd; TL1=0xfd; REN=1; SM0=0; SM1=1; EA=1; ES=1; } void timer0() interrupt 1 { TH0=0xfe; TL0=0x33; if(count else pwm=0; count=(count+1); // if(count==40) // TR0=0; count=count%40; } void exter() interrupt 4 { RI=0; a=SBUF; flag=1; } void main() { jd=1; count=0; timer0_init(); lanya(); while(1) { if(flag==1) { EA=0; ES=0; flag=0; SBUF=a; while(!TI); TI=0; ES=1; } EA=1; switch(SBUF) { case '0': jd++; count=0; if(jd==6) jd=5; break; case '1': jd--; count=0; if(jd==0) jd=1; break; } } } 却没有任何反应了。这次之前我将串口部分屏蔽,将按键控制舵机写进去,发现舵机是又能正常工作了,想请教大神是哪里出问题了。如果有已经调试成功的程序希望可以分享下些谢谢! |
|
相关推荐
1 条评论
2个回答
|
|
回帖奖励 +1 分积分 |
|
|
|
串口程序是正常的吗?测试过没
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
717 浏览 1 评论
968 浏览 1 评论
1924 浏览 1 评论
1656 浏览 1 评论
MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
697 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-15 15:41 , Processed in 0.705978 second(s), Total 91, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号