C51单片机应用与C语言程序设计第二章ppt课件.ppt

上传人:飞****2 文档编号:28566097 上传时间:2022-07-28 格式:PPT 页数:16 大小:606KB
返回 下载 相关 举报
C51单片机应用与C语言程序设计第二章ppt课件.ppt_第1页
第1页 / 共16页
C51单片机应用与C语言程序设计第二章ppt课件.ppt_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《C51单片机应用与C语言程序设计第二章ppt课件.ppt》由会员分享,可在线阅读,更多相关《C51单片机应用与C语言程序设计第二章ppt课件.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章 单片机输出接口与伺服电机控制深圳市鸥鹏科技有限公司深圳市鸥鹏科技有限公司黄曦黄曦2009.3.21 2008 Open-Tech. All rights reserved. http:/摘要C51单片机的输入/输出接口任务一 单灯闪烁控制 while语句任务二 机器人伺服电机控制信号任务三 计数并控制循环次数 for语句任务四 用你的计算机来控制机器人的运动 scanf函数工程素质和技能归纳科学精神的培养 2008 Open-Tech. All rights reserved. http:/C51单片机的输入/输出接口控制机器人伺服电机以不同速度运动是通过让单片机的输入/输出(I/O)

2、口输出不同的脉冲序列来实现的。51系列单片机有4个8位的并行I/O口:P0、P1、P2和P3。这4个接口,既可以作为输入,也可以作为输出;可按8位处理,也可按位方式(1位)使用。右图是单片机STC89C52RC的引脚定义图,这是一个标准的40引脚双列直插式集成电路芯片。 2008 Open-Tech. All rights reserved. http:/任务一 单灯闪烁控制 在本任务中,使用P1端口的第一脚(记为 P1_0)来控制发光二极管以1HZ的频率不断闪烁。 该任务的目的是检测IO口的输出电平是否是自己在程序中所要求的高低电平。 要准备的元器件: 红色LED 2个 470欧电阻 2个

3、2008 Open-Tech. All rights reserved. http:/任务一 单灯闪烁控制 源程序:参照教材P21页的HighLowLed.c 接通面包板上的电源。 输入、保存、编译并下载程序HighLowLed.c 观察与P1_0连接的LED是否每隔一秒发光、关闭一次。 HighLowLed.c 是如何工作的? Boebot.h void delay_nms(unsigned int i) void delay_nus(unsigned int i) uart.h uart_Init() printf while(1) 2008 Open-Tech. All rights r

4、eserved. http:/任务一 单灯闪烁控制 while语句的一般形式如下: while(表达式) 循环体语句 当表达式为非0值时,执行while语句中的内嵌语句,其特点是先判断表达式,后执行语句。例程中直接用1代替了表达式,因此总是非0值,所以循环永不结束,也就可以一直让LED灯闪烁。 2008 Open-Tech. All rights reserved. http:/任务一 单灯闪烁控制 单片机P1.0口的输出信号时序图 尝试一下! 如何使连接到另外一个接口P1_1口上的LED灯也闪烁? 如何使两个LED交替闪烁? 2008 Open-Tech. All rights reserv

5、ed. http:/任务二 机器人伺服电机控制信号控制伺服电机转速为零的时序控制伺服电机顺时针全速旋转的时序控制伺服电机逆时针全速旋转的时序 2008 Open-Tech. All rights reserved. http:/任务二 机器人伺服电机控制信号 关于驱动电机的IO口 P1_0专门控制右轮伺服电机 P1_1专门控制左轮伺服电机伺服电机与教学底板的连线原理图(左)和实际接线示意图(右) 2008 Open-Tech. All rights reserved. http:/任务二 机器人伺服电机控制信号将以下程序复制到HighLowLed.c文件中,替换相应的程序段。观察连接到P1_0

6、的伺服电机是不是分别为停止,全速顺时针旋转和逆时针旋转。while(1)P1_0=1; /P1_0输出高电平delay_nus(1300); /延时1.3msP1_0=0; /P1_0输出低电平delay_nus(20000); /延时20mswhile(1)P1_0=1; /P1_0输出高电平delay_nus(1500); /延时1.5msP1_0=0; /P1_0输出低电平delay_nus(20000); /延时20mswhile(1)P1_0=1; /P1_0输出高电平delay_nus(1500); /延时1.7msP1_0=0; /P1_0输出低电平delay_nus(20000

7、); /延时20ms 2008 Open-Tech. All rights reserved. http:/任务二 机器人伺服电机控制信号 该你了,让机器人的两个轮子全速旋转。#include#includeint 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); /延时500msP1_0=0; /P1_0输出低电平 P1_1=0; /P1_1输出低

8、电平delay_nms(20); /延时20ms 2008 Open-Tech. All rights reserved. http:/任务三 计数并控制循环次数 for语句 for语句的执行过程 for语句的形式:for(循环变量赋初值;循环条件;循环变量增/减值) 语句 自增和自减 for循环控制电机的运行时间 例程:控制伺服运行时间。 源程序参照教材第30页ControlServoRunTimes.c 例程:一个电机正向旋转3秒,另一个电机同时的反向旋转3秒。 源程序参照教材第31页BothServosThreeSeconds.c 2008 Open-Tech. All rights r

9、eserved. http:/任务四 用你的计算机来控制机器人的运动 在本任务中,使用串口调试工具发送以下两个信息,以控制机器人的运动。 由单片机发给伺服电机的脉冲个数; 脉冲宽度(以s为单位) 程序参照教材第33页ControlServoWithComputer.c。 2008 Open-Tech. All rights reserved. http:/任务四 用你的计算机来控制机器人的运动 ControlServoWithComputer.c是如何工作的? scanf函数scanf (“格式控制字符串”,地址列表); 程序运行过程: 首先输出“Program Running!”和“Plea

10、se input pulse number:”; 程序处于等待状态,等待输入数据; 输入数据给变量PulseNumber; 输出“Please input pulse duration:”; 处于等待状态; 输入数据给变量PulseDuration; 电机运转。 2008 Open-Tech. All rights reserved. http:/工程素质和技能归纳 C51系列单片机的引脚定义和分布 用C51单片机的P1端口的位输出控制单灯或双灯闪烁,时序图的概念,while循环的引入和延时函数的引用。 机器人伺服电机的控制脉冲序列,通过给C51编程让其输出这些控制脉冲序列。 自增运算符的使用 for循环的使用以控制机器人的运动 如何通过串口输入数据控制机器人的运动。 2008 Open-Tech. All rights reserved. http:/科学精神的培养 查找C语言的标准输入输出库函数,了解scanf的总体功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁