06_51入门_GPIO

导语

通过单片机控制外围器件(LED,蜂鸣器,数码管,按键),本质上是对于单片机IO口的操作,相对于STM32,51单片机IO口模式较少,但了解IO的内部对于学习了解51单片机也由很大的帮助。

GPIO

GPIO(General Purpose Input Output),通用输入输出。既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。可以通过软件去控制。

在大多数的时候,我们将IO口可以看为一个电子开关,通过向IO寄存器中写入相应的值,其输出的电平就随着寄存器的变化而变化,这是IO口的输出,在大多数的单片机中,需要去配置单片机的IO模式,是输入还是输出。

即需要预先初始化,配置GPIO的参数,再去使用GPIO。在51单片机中不支持这样的操作,即不能配置GPIO的参数。

51GPIO

image-20220904215113623

除去P3口的特殊引脚,P1/P2/P3/P4上电复位后为准双向口/弱上拉(传统8051的/0口)模式。P3口可通过配置其他寄存器使用第二功能。

P0口上电复位后为开漏输出,无法输出高电平,但是如果在output上接上拉电阻,则可以进行电平转换,且驱动能力较强。当P0口作为地址/数据复用总线使用时,不用外加上拉电阻(极少极少使用)

准双向

image-20220904215937250

准双向口输出类型可用作输出和输入功能而不需重新配置端口输出状态,其上电复位默认电平为高。

当端口输入为1时,其驱动能力极若,其允许外部将其拉低。如按键。当输出为低时,驱动能力很强,可吸收相当大的电流。因此采用由高电平向低电平转换的按键设计。

其设计采用3个上拉晶体管适应不同的需求,在3个上拉晶体管中,有1个上拉晶体管称为“弱上拉”,当端口寄存器为1且引脚本身也
为1时打开。此上拉提供基本驱动电流使准双向口输出为1。

如果一个引脚输出为1而由外部装置下拉到低时,弱上拉关闭而“极弱上拉”维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力使引脚上的电压降到门槛电压以下。

第2个上拉晶体管,称为“极弱上拉”,当端口锁存为1时打开。当引脚悬空时,这个极弱的上拉源产生很弱的上拉电流将引脚上拉为高电平。

第3个上拉晶体管称为“强上拉”。当端口锁存器由0到1跳变时,这个上拉用来加快准双向口由逻辑0到逻辑1转换。当发生这种情况时,强上拉打开约2个时钟以使引脚能够迅速地上拉到高电平。

准双向IO口在读取外部状态时,需要先写1,才可正确的读取外部正确状态

开漏输出

当p0输出1时,由于内部结构,只能输出高阻态,需外加10K-4.7K的上拉电阻才可正常输出。当端口锁存器为0时,开漏输出关闭所有上拉晶体管。

如果外部有上拉电阻,开漏的I0口还可读外部状态,即此时被配置为开漏模式的I/0口还可作为输入I/0口。这种方式的下拉与准双向口相同。

Ps:以下是(STC89C52RC)数据手册中提供的一些关于数码管电路的一些参考,学习单片机,需要购买器件可以去唯样商城,学生什么的还有优惠。

image-20220904221614186

什么的还有优惠。

[外链图片转存中…(img-P4biBgrt-1662301244946)]

image-20220904221617630

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STC51是一款非常常见和广泛使用的单片机,由海上电子公司生产。STC51的全称是STC12C5A60S2,是一款8位的低功耗高性能单片机。它采用MCS-51指令集,具有强大的功能和灵活的扩展性。 STC51单片机入门的第一步是了解其基本原理和架构。STC51采用哈佛结构,具有4KB的内部FLASH存储器和128B的内部RAM。它还具有多种外设接口,包括GPIO、定时器、串口、ADC等。了解这些基本知识是学习STC51的基础。 接下来,我们需要学习如何使用开发工具和编程软件。STC推出了一系列的开发工具和编程软件,其中包括STC-ISP下载器、STC-ISP助手和STC-PROG编程软件。了解如何正确连接硬件并使用这些软件进行编程是非常重要的。 了解STC51的编程语言是必要的。STC51支持多种编程语言,包括C语言和汇编语言。对于初学者来说,建议先学习C语言,因为它更容易上手。可以通过编写简单的程序来熟悉STC51的编程语言和编程技巧。 熟悉基本的输入输出操作和中断是学习STC51的重要一步。STC51具有丰富的输入输出接口,包括数字输入输出口、模拟输入输出口和串口等。了解如何进行输入输出操作和中断处理是开发应用程序的基础。 最后,可以通过实际的项目实践来深入理解和掌握STC51。可以选择一些简单的项目,例如LED灯控制、蜂鸣器控制等,通过实践不断提高自己的能力。 总之,STC51单片机入门需要掌握其基本原理和架构、开发工具和编程软件的使用、编程语言的学习、输入输出操作和中断处理的了解,以及通过实际项目实践来提高能力。希望这些基本知识对你的STC51单片机入门有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天才小狸花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值