- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02实验二
实验二、单片机输出接口与伺服电机控制
一、实验目的
1.了解C51 系列单片机的引脚定义与分布;
2 .会使用单片机机的输入输出端口,对其进行编程控制;
3 .用单片机的输出端口控制LED 灯;
4 .握伺服电机的工作原理及控制方法,编写程序,测试和控制电机。
二、实验内容
1. 单灯闪烁控制
用单片机的某个I/O 口控制一个LED ,使其有规律地亮灭。
2. 多个LED 控制
控制两个或者8 个LED,实现“流水灯”,LED 有规律的亮灭,可以自己编写延时函数。
可以用其他的方法实现延时吗?或者是精确的时间控制?
3. 机器人伺服电机控制信号的产生
编写程序产生伺服电机的控制信号,即PWM 信号,控制两个轮子同向旋转,这样,小车(机器人)
就可以动了。
用示波器观察波形。
编写程序让两个电机同向转动3 s (体会程序运行所需的“时间”)。
4. 用计算机控制电机的转动参数
编程实现从串口调试窗口输入命令,控制电机转动的时间,快慢。
三、实验说明
控制LED 发光或熄灭是通过让I/O 口输出不同的电平来实现的。在这之前先介绍一下AT89S52
的引脚情况。
图2-1 AT82S52 引脚图
上图是 51 标准的 40 引脚双列直插式集成电路芯片:
1、P0.0~P0.7 ,P0 口 8 位双向口线(在引脚的 39~32 号端子);
2 、P1.0~P1.7 ,P1 口 8 位准双向口线(在引脚的 1~8 号端子);
3、P2.0~P2.7 ,P2 口 8 位准双向口线(在引脚的 21~28 号端子);
4 、P3.0~P3.7 ,P3 口 8 位多用途(在引脚的 10~17 号端子);
P0 口有两个功能:当外部扩展存储器时,当做低 8 位数据/地址总线(如图 2-6 中的D0~D7 为
数据总线接口) 来使用;不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出时
应在外部接上拉电阻。
P1 口只做 I/O 口使用:其内部有 上拉电阻。
P2 口有两个功能:当扩展外部存储器使用时,当作地址总线高 8 位使用 ;不扩展时,
做一般 I /O 口使用,其内部有上拉电阻;
P3 口有两个功能:除了作为 I/O 使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄
存器来设置,具体功能请参考我们后面的引脚说明。
这几个端口的带负载能力:P0 端口能驱动 8 个 LSTTL 负载。如需增加负载能力,可在P0 总
线上增加总线驱动器。P1 ,P2 ,P3 端口各能驱动 4 个 LSTTL 负载。
Tips:上拉电阻
上面介绍这四个 I/O 口时提到了一个“上拉电阻”,那么上拉电阻又是一个什么呢?他起什么
作用呢?当然就是一个电阻,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流
源;所以如果 P0 口如果作为输入时,如果不接上拉电阻将处在高阻抗状态,只有外接一个上拉电阻
才能有效。
1.单灯闪烁控制
在本次测试中,我们使用P1 端口的第一脚记为 P1_0 ,再设置I/O 端口的电平来控制LED 发光或
熄灭,注意它是怎样输出高或低电平的。
参考电路图一
图2-2 LED 电路
参考电路图二
具体例程如下:
例程:HighLowLed.c
接通板上的电源。
输入、保存并运行程序HighLowLed.c 。
验证与P1_0 连接的LED 是否每隔一秒LED 发光、关闭一次。
#includeBoeBot.h
#includeuart.h
int main(void)
{
uart_Init(); //初始化串口
printf(The LED connected to P1
文档评论(0)