- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章单片机输出接口与伺服电机控制
单片机输出接口与伺服电机控制 南昌大学机电工程学院 看看下面的代码片断 while(1) { P1_0=1; //P1_0 输出高电平 delay_nus(1500); //延时1.5ms P1_0=0; //P1_0 输出低电平 delay_nus(20000); //延时20ms } 如果用这个代码段代替例程HighLowLed.c 中相应程序片断,它是不是就会输出图2-4所示的脉冲信号?肯定是!如果你手边有个示波器,可以用示波器观察P1_0 脚输出的波形是不是如图2-4 所示。此时,连接到该脚的机器人轮子是不是静止不动。如果它在慢慢转动,就说明你的机器人伺服电机可能没有经过调整。 同样,用下面的程序片断代替例程HighLowLed.c 中相应程序片断,编译、连接下载执行代码,观察连接到P1_0 脚的机器人轮子是不是顺时针全速旋转? while(1) { P1_0=1; //P1_0 输出高电平 delay_nus(1300); //延时1.3ms P1_0=0; //P1_0 输出低电平 delay_nus(20000); //延时20ms } 用下面的程序片断代替例程HighLowLed.c 中相应程序片断,编译、连接下载执行代码,观察连接到P1_0 脚的机器人轮子是不是逆时针全速旋转? while(1) { P1_0=1; //P1_0 输出高电平 delay_nus(1700); //延时1.7ms P1_0=0; //P1_0 输出低电平 delay_nus(20000); //延时20ms } 该你了――让机器人的两个轮子全速旋转 刚才是让连接到 P1_0 脚的伺服电机轮子全速旋转,下面你自己可以修改程序让连接到P1_1 机器人轮子全速旋转。 当然,最后你需要修改程序,让机器人的两个轮子都能够旋转。让机器人两个轮子都顺时钟全速旋转的程序参考下面的程序。 例程:BothServoClockwise.c 1、接通板上的电源 2、输入、保存、下载并运行程序 BothServoClockwsie.c(整个过程请参考第一章) 3、观察机器人的运动行为 #includeBoeBot.h #includeuart.h int main(void) { uart_Init(); //初始化串口 printf(The LEDs connected to P1_0 and P1_1 are blinking!\n ); while(1) { P1_0=1; //P1_0 输出高电平 P1_1=1; //P1_1 输出高电平 delay_nus(1300); //延时500ms P1_0=0; //P1_0 输出低电平 P1_1=0; //P1_1 输出低电平 delay_nms(20); //延时20ms } } 任务三 计数并控制循环次数 任务二中已经通过对C51 编程实现对机器人伺服电机的控制,为了让微控制器不断发出控制指令,你用到了以while(1)开头的死循环(即永不结束的环)。不过在实际的机器人控制过程中,你会经常要求机器人运动一段给定的距离或者一段固定的时间。这时就需要你能控制代码执行的次数。 for语句 最方便的控制一段代码执行次数的方法是利用 for 循环,语法如下: for(表达式1;表达式2;表达式3) 语句 它的执行过程如下: 1) 先求解表达式 1 2) 求解表达式 2,若其值为真(非0),则执行for 语句中指定的内嵌语句,然后执 行下面第3)步;若其值为假(0),则结束循环,转到第5)步 3) 求解表达式 3 4) 转回上面第 2)步继续执行 5) 循环结束,执行 for 语句下面的一个语句 for 语句最简单的应用形式也就是最易理解的形式如下: for(循环变量赋初值;循环条件;循环变量增/减值) 语句 例如,下面是一个用整型变量myCounter 来计数的for 循环程序片断。每执行一次循环,它会显示myCounter 的值。 for(myCounter=1; myCounter=10; myCounter++) { printf(“%d”,myCounter); delay_nms(500); } 在这里,向你介绍新的算术运算符。 自增和自减 C 语言有两个很有用的运算符——自增和自减,“++”和“--”。 运算符“++”是操作数加1,而“--”是操作数减1,换句话说:“x=x+1;”同“x++”; “x=x-1;”同“x--;”。 myCounter ++的作用就相当于myCounter = myCounter +1,只不
您可能关注的文档
最近下载
- 电力电子技术阮新波习题答案.pdf VIP
- 2022年小学低段数学新课标解读心得体会(通用12篇).pdf VIP
- 2025贵州黔南州瓮安县招聘社区工作者50人考试参考试题附答案解析.docx VIP
- 统编版(2024新版)七年级上册道德与法治期末复习课件.pdf
- (完整版)动词单数第三人称练习题.pdf VIP
- 学术规范与论文写作(雨课堂)期末考试答案.docx VIP
- 《GBT27543-2011-手推升降平台搬运车》.pdf
- 办公室消防安全知识培训教育.pptx VIP
- 剪映短视频策划、拍摄、剪辑实战教程:短视频策划PPT教学课件.pptx VIP
- 河湖生态护岸工程技术导则.pdf VIP
原创力文档


文档评论(0)