【全栈计划 —— 单片机】——Part_02 结合LED灯,拿捏底层输入输出

??文章目录

  • ??1、实现代码
  • ??2、为什么代码要这种写呢
    • ?? 2.1、51 单片机GPIO 介绍
      • ??一、 GPIO 概念
      • ??二、 GPIO 结构框图与工作原理
        • ??(1)P0 端口
          • ??① 数字门电路——掌握与门、或门、非门
          • ?? ② 输入缓冲器——认识三态门+缓冲器
          • ?? ③ D 锁存器—— 认识D触发器
          • ??④ 多路开关
          • ??⑤ 场效应管输出驱动
          • ?? ⑥ P0口作为I/O 端口输出使用时的工作原理
          • ?? ⑦ P0口作为I/O 端口输入使用时的工作原理
        • ?(2)P1 端口
        • ??(3)P2 端口
        • ??(4)P3 端口
        • ??P0、P1、P2、P3端口小总结
    • ?? 2.2、LED简介
    • ??2.3、硬件设计
  • ??3、总结

往期精彩

?? 第一天 14天玩转51单片机第一天——捋不清单片机数字电路基础经忘记C语言啦~这篇文章横扫你的疑惑,重拾你的记忆呀^ – ^

??1、实现代码

大家常规印象中的博客可能首先看到一堆的看着有点打脑壳的原理阐释,然后再去实现项目的代码的。
我写这个专栏想换种玩法,先直接把我的代码粘贴过去,或者比对着我的代码先把实验现象跑出来,咱们再去琢磨为什么要这种编写代码了。
用需求刺激输入

??2、为什么代码要这种写呢

从引脚图可以看出,GPIO 占用了芯片大部分的引脚,共达 个,,而且在P3 组中每个IO 都具备额外功能,只要通过相应的寄存器设置即可配置对应的附加功能,同一时刻,每个引脚只能使用该引脚的一个功能。


单单基础的51就有这么多引脚了,假如到了STM32,引脚就更多的了,咱们需要做的其实只是浅浅的知道它们是什么,这些引脚的具体功能是可以根据配套的芯片资料中查阅到。

??(1)P0 端口

先浅看一下P0端口的结构框图,从分析结构图的各个模块,同时也就能够加深对一些数字电路的理解。

观察上图,P0 端口由、、、一个、一个及构成。

图的最右边,标 为P0.x 引脚的图标,也就是说P0.x 引脚可以是P0.0 到P0.7 的任何一位,即在P0 口有8 个与上图相同的电路组成。

这几个电路中,容易混淆的应该是门电路这里吧,其他的电路的图标都可以直接从结构框图找到的。趁着看P0端口,顺便把门电路的知识点记录一下。

?? ② 输入缓冲器——认识三态门+缓冲器

① 浅识三态门:
三态指其输出既可以是一般二值逻辑电路,。高阻态相当于隔断状态(电阻很大,相当于开路)。高阻态的意义在于实际电路中不可能断开电路。三态电路的输出逻辑状态的控制,是通过一个输入引脚实现的。
三态门都有一个EN控制使能端,来控制门电路的通断。 可以具备这三种状态的器件就叫做三态器件。
当EN有效时,三态电路呈现正常的的输出;
当EN无效时,三态电路给出高阻态输出。

D触发器工作模拟:

对于D触发器而言,当D输入端有一个输入信 ,但是这个时候,控制端CP(CLK)是没有信 的,此时输入端D的数据是无法传到输出端Q以及反向输出端Q非的。
但是当时序控制端CP的时序脉冲一旦到了,这时D端输入的数据可以传到输出端Q以及输出端Q非。

数据传输过来之后,当CP时序控制端的时序信 消失了,这时输出端还会保持上次输入端D的数据(也就是所谓的把上次的数据锁存起来了)。如果下一个时序控制脉冲信 来了,这时输出端D的数据才能又传到输出端,改变输出端的状态。

??④ 多路开关

多路选择开关是用于选择是做为 口使用还是作为总线使用的选择开关

??⑤ 场效应管输出驱动

这两个MOS 管一次只能导通一个,当V1 导通时,V2 就截止,当V2 导通时,V1 截止。

?? ⑥ P0口作为I/O 端口输出使用时的工作原理

?? ⑦ P0口作为I/O 端口输入使用时的工作原理

数据输入时(读P0 口)有两种情况
1、读引脚
读芯片引脚上的数据,读引脚的时候,读引脚缓冲器打开,也就是此时三态缓冲器的控制端要有效,通过内部数据总线进行输入。

??(3)P2 端口

当处于第一功能时,第二输出功能线为1,此时,内部总线信 经锁存器和场效应管输入/输出,其作用与P1 端口作用相同,也是静态准双向I/O 端口。
当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信 ,在输入方面,即可以通过缓冲器读入引脚信 ,还可以通过替代输入功能读入片内的特定第二功能信 。

由于输出信 锁存并且有双重功能,故P3 端口为静态双功能端口

??P0、P1、P2、P3端口小总结

①P0 口是漏极开路,要使其输出高电平,必须外接上拉电阻,通常选择4.7K~10K 阻值。
②P0、P1、P2 几乎都用作普通I/O 口使用,既可作为输入,又可作为输出。
③P3 口既可用作普通I/O 口,又可作为第二功能使用,比如串口、外部中断、计数器等。

??2.3、硬件设计

开发板上LED 模块电路如下图所示

然后框出来的三个数据都要清楚,因为以后随时都要打交道的。
code:表示程序所占用FLASH 的大小。
data:数据储存器内部RAM 占用大小。
xdata:数据储存器外部RAM 占用大小。

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览115022 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月5日
下一篇 2022年6月5日

相关推荐