第3讲:第二章--单片机输出接口与伺服电机控制
更新时间:2023-07-27 02:21:01 阅读量: 实用文档 文档下载
- 单片机第二章思维导图推荐度:
- 相关推荐
机器人课程第3章
第二章
单片机输出接口与 伺服电机控制
深圳市德普施科技有限公司 DEPUSH SHENZHEN DEPUSH.TECHLONOGY CO.,LTD 单片机输出接口与机器人伺服电机控制
Slide 1
机器人课程第3章
本讲摘要● C51单片机的输入/输(I/O)出接口I/O口的主要作用
● 单灯闪烁控制unsigned int及while循环控制语句
● 机器人伺服电机控制零点标定 控制电机正反转
● 电机循环控制for循环控制语句
● 用计算机控制机器人运动scanf格式输入函数
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 2
机器人课程第3章
C51单片机的输入/输出接口输入/输出(I/O)接口是单片机和外部设备之间信息交换和控制的桥梁。 它主要有以下几个作用: 1.实现和不同外部设备的速度匹配 1.实现和不同外部设备的速度匹配 不同的外设工作速度差别很大,而且一般来讲外设的响应速度远远小 于CPU的运算速度。所以接口电路就必须适应CPU和外设的速度上的这个矛盾。 2.改变数据传送的方式 2.改变数据传送的方式 I/O数据有并行和串行两种方式。 3.按照需要为CPU提供更多资源, RAM和 3.按照需要为CPU提供更多资源,如RAM和ROM 按照需要为CPU提供更多资源 4.改变信号的性质和电平 4.改变信号的性质和电平 CPU和外设之间的信号有几类:数据型(程序代码和计算结果等)、 状态型(反映外设的工作状态,如启动、忙、空闲等)和控制 控制型(控制外设的 控制 工作状态,如外设的开和关、电机的转动和停止、速度的控制等)。单片机输出接口与机器人伺服电机控制
DEPUSH
Slide 3
机器人课程第3章
C51单片机的输入/输出接口51系列单片机有4个8位的并行I/O口:P0、P1、P2和P3。既可作为普通的 I/O口、也可用作特殊功能。
AT89S52引脚I/O定义图DEPUSH 单片机输出接口与机器人伺服电机控制
Slide 4
机器人课程第3章
单灯闪烁控制LED电路搭建 LED电路搭建●确保LED的短针脚(阴极、负极)通过电阻与P1_0相连 ●确保LED的长针脚(阳极、正极)插入“VCC”接口
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 5
机器人课程第3章
单灯闪烁控制例程: 例程:HighLowLed.c建立项目HighLowLed,输入并保存以下程序,查看运行结果。(过程参考第一章)#include<BoeBot.h> #include<uart.h> int main(void) { uart_Init();//初始化串口 printf("The LED connected to P1_0 is blinking!\n"); while(1) { P1_0=1; // P1_0输出高电平 delay_nms(500); //延时500ms P1_0=0; // P1_0输出低电平 delay_nms(500); //延时500ms } }DEPUSH 单片机输出接口与机器人伺服电机控制
Slide 6
机器人课程第3章
单灯闪烁控制头文件: 头文件:BoeBot.h该头文件中定义了两个延时函数: (1)delay_nms(unsigned int n); 毫秒级延时 delay_nms(unsigned delay_nms( (2)delay_nus(unsigned int n); 微秒级延时 delay_nus(unsigned delay_nus( unsigned int
:无符号整型类型 int unsigned int 16 16 长度(单位 ) 长度(单位bit) 范围 -32768~+32767 0~+65535
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 7
机器人课程第3章
单灯闪烁控制while语句 while语句while语句是一种循环控制语句。 在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语 句,而让计算机反复执行,从而完成大量类同的计算。 while语句是当型循环控制语句,一般形式为:
While(表达式 语句; 表达式) While(表达式) 语句;语句部分称为循环体,当需要执行多条语句时,应使用复合语句(使用“{}”)。 while语句的特点是:先判断表达式值,后执行,若条件不成立,则跳出循环,执 行下面语句。
其它循环控制语句do...while语句 for语句
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 8
机器人课程第3章
单灯闪烁控制
时序图—— 时序图——反应高、低电压信号与时间的关系图 ——
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 9
机器人课程第3章
机器人伺服电机控制信号伺服电机的安装
伺服电机实物图
伺服电机与教学底板的连线原理图和实际接线示意图
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 10
机器人课程第3章
机器人伺服电机控制信号零点标定信号—— 零点标定信号——使电机停止转动 ——
while(1) { P1_0=1; //P1_0输出高电平 delay_nus(1500); //延时1.5ms P1_0=0; //P1_0输出低电平 delay_nus(20000); //延时20ms }
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 11
机器人课程第3章
机器人伺服电机控制信号测试伺服电机while(1) { P1_0=1; delay_nus(1300); P1_0=0; delay_nus(20000); } while(1) { P1_0=1; delay_nus(1700); P1_0=0; delay_nus(20000); }DEPUSH
1.3 ms的控制脉冲序列使电机顺时针全速旋转
1.7 ms的连续脉冲序列使电机逆时针全速旋转 Slide 12
单片机输出接口与机器人伺服电机控制
机器人课程第3章
计数并控制循环次数在实际的机器人控制过程中,经常要求机器人运动一段给定的距离或者 一段固定的时间。
for循环控制语句 循环控制语句for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已 知循环次数的情况。它的一般形式为:
for(表达式1;表达式2;表达式3) 语句 for(表达式1;表达式2;表达式3) 表达式1;表达式2;表达式
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 13
机器人课程第3章
计数并控制循环次数for(表达式1;表达式2;表达式3) 语句 for(表达式1;表达式2;表达式3) 表达式1;表达式2;表达式表达式1:给控制变量赋初值; 表达式2:循环控制条件; 表达式3:给控制变量增量或减量; 语句:循环体,当有多条语句时,必须使用复合语句(“{ }”)。 语句执行过程: 首先计算表达式1,然后计算表达式2,若表达式2为真
,则执行循环体; 否则,退出for循环,执行for循环后面的语句。 如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计 算表达式2,依此循环,直至表达式2的值为假,退出循环。
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 14
机器人课程第3章
计数并控制循环次数使用for循环语句,控制电机运行:for(counter=1;counter<=130;i++) { P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); }
自增和自减——“++”和 --” 自增和自减——“++”和“--” ——“++”运算符“++”是操作数加1,而“--”是操作数减1,即: “x=x+1;”等同于“x++”; “x=x-1;”等同于“x--;”
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 15
机器人课程第3章
计数并控制循环次数电机运行时间:for(counter=1;counter<=130;i++) { P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); }
执行一次循环体,电机运行时间: 1.7ms(左电机,与P1_1相连) +1.3ms(右电机,与P1_0相连) +20ms(延时时间) =23ms 总共运行时间:130 X 0.023s = 3sDEPUSH 单片机输出接口与机器人伺服电机控制
Slide 16
机器人课程第3章
计数并控制循环次数例程: 例程:BothServosThreeSeconds.c用以下两个for循环语句代替HighLowLed.c中的while循环语句。for(counter=1;counter<=130;counter++) for(counter=1;counter<=130;counter++) { P1_1=1;delay_nus(1700);P1_1=0; P1_0=1;delay_nus(1300);P1_0=0; delay_nms(20); } } { P1_1=1;delay_nus(1300);P1_1=0; P1_0=1;delay_nus(1700); P1_0=0; delay_nms(20);
执行程序,观察机器人是否向一个方向运行3秒钟后又反射运行3秒钟。
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 17
机器人课程第3章
用计算机控制机器人运动在第一章中你已经知道C51单片机可以通过串口向计算机调试终端发送信息, 该任务将使用串口由你从计算机向单片机发送数据来控制机器人的运动。
scanf函数 scanf函数scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指 定的变量之中。它的一般形式为: scanf(“格式控制字符串”,地址表列); scanf(“格式控制字符串” 地址表列); 格式控制字符串 其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串, 也就是不能显示提示字符串,即要求以%开关。 地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。 如&PulseNumber表示变量PulseNumber的地址,这个地址是编译系统在内存中给变 量分配的地址,用户不需要关心具体地址是多少。例如: scanf(“%d”,&PulseNumber);将把用户输入的整数赋给变量PulseNumber
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 18
机器人课程第3章
用计算机控制机器人运动例程: 例程:ControlServoWithComputer
.cprintf(“Program Running!\n”); printf("Please input pulse number:\n"); scanf("%d",&PulseNumber); printf("Please input pulse duration:\n"); scanf("%d",&PulseDuration); for(Counter=1;Counter<=PulseNumber;Counter++) { …… delay_nus (PulseDuration); …… }
DEPUSH
单片机输出接口与机器人伺服电机控制
Slide 19
正在阅读:
物流成本管理形成性考核册10-10
工程公司经理述职报告03-18
索达吉堪布-普贤行愿品解释(精校版)06-15
病毒安全02-07
2022-2023年中国玻璃器皿电商行业全景调研及市场运营趋势报告(目04-10
小学生反思作文06-15
2014年会计个人工作总结09-28
一群可爱可敬的环卫工人作文800字06-26
2015年出生男女宝宝吉祥名字大全08-12
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 伺服电机
- 单片机
- 输出
- 接口
- 第二章
- 控制
- 管道重量表及阀门规格型号
- 变电站直流电源系统技术规范
- 2017年专技天下专业技术人员心理健康与心理调适 考试题及满分答案
- 2.王国维和《红楼梦评论》
- 装修材料购买合同范文(完整版)
- 第六单元综合性学习
- TOUCH舞动全城星路第二章“初入舞团”攻略
- 与孩子沟通的圣经 读后感
- 廉洁教育心得体会
- 外国专家组织简介
- 半导体中的平衡与非平衡载流子
- Unit 3 A man from Stratford-William Shakespeare
- 高一下数学周测(必修3)——算法、统计 - 福州第四中学
- 供水管路漏水报警监控装置的研究与设计
- safehome软件需求建模和分析
- 六年级上册数学试题期末检测题人教新课标(2014秋)(含答案)
- 罗茨鼓风机维护检修规程
- 科开学校冬季安全工作应急预案
- 礼宾部各班次工作流程
- 深圳市职业技能鉴定防水工考核大纲