分享一些单片机基础入门级的知识

今日头条

1135人已加入

描述

很多在校的大学生或者在岗位想加深自己职业技能的人,都想通过学习单片机来补充自己,以便与不被社会淘汰,公司淘汰,稳固老板对自己在工作岗位的地位,毕竟单片机是这个时期用的最多,也是最普及的硬件,遍地都是它的身影,这一期继续分享一些单片机基础入门级的知识,希望能帮助到在看文章的你,喜欢的帮忙收藏点个赞哦,以下文章内容仅代表个人观点,不喜勿喷,如有对单片机感兴趣的朋友可以翻看以往的分享文章,谢谢大家的支持与鼓励!

51单片机有32个IO口,分别属于4个端口,每个端口8位,它们的功能一个是可以做为并行的IO口的输出通道,比如说接数码管,可以做为输出通道,另外一个还可以做为并行IO口的输入通道,可以做为按键的输入,还可以做为串行通信,可以做为外部设备的连接通道,做为存储器的扩展,用P0口做为数据和地址总线的低八位,P2口做为地址总线的高八位和外部的一些器件,外部的ROM,或者ID芯片,一些IO口的扩展芯片来做存储器的扩展或者是IO口的扩展,外部设备的连接通道它的功能都需要用到单片机的IO口,单片机P3口当中还有第二功能,做为外部中断,做为定时计数器的外部脉冲检测等等功能都是通过IO口来体现的。

C语言

具体来了解一下单片机IO口的结构,四个端口内部结构也不是完全相同,了解这四类端口的内部结构对于大家正确使用这些IO口非常之重要,而且如果对51单片机的内部的IO口的结构能够有所了解之后,后面再去学其它的一些高性能单片机的IO口会容易理解而且更透彻,每个IO口可设置的工作方式更多,刚开始接触高性能单片机的时候,对IO口就迷茫了,不知道怎么去设置,因为它的工作方式比较多,可以设置成推广输出,可以设置成上拉或者下拉等等各种模式。

51单片机的内部的IO口相对来说结构比较简单,大家得按照先易后难的原则进行学习,P1口的结构能够理解之后,剩下几个IO的结构和P1口的大同小异,在单片机的四个端口当中,只有P1口做为一个普通IO口,没有其它的功能,P3口除了做为普通IO之外,还有第二功能,P0口和P2口除了做为普通io口还可以做为外部扩展的地址和数据总线来用,所以P1口最简单。

C语言

P1口的结构,大家可以随便通过一个电路仿真都可以看的出来,P1口的具体的结构和它的功能,一共有8个位,做为输出功能,接了发光二极管不用考虑它的驱动能力,另外作做为输入电路,包括锁存器,三态门的缓冲器,上拉电阻,场效应管,这个构成了输出级,构成了输出驱动,比如P.0这个IO口,当中的特殊功能寄存器的最低位上面写了0和1,那就能够通过这个内部总线连接到锁存器位置。

P1口是一个普通的准双向IO口,做为输出功能的时候,控制发光二极管时,IO口有一个输出功能,当在内部总线上,也就是在内部的特殊功能寄存器写0和写1时,在外部引脚上应该呈现的是低电平和高电平,通过电路能不能实现这个功能,写0经过锁存器,靠时钟就能够把一端的信号,时钟靠基本的时序电路,当执行这条指令的时候,锁存信号自然会有效,是由内部时钟电路来产生的,把当前的电平状态锁存一端把它取返锁存到另一段。

C语言

开启电压大于两伏的时候能够导通,电平是5V就能够导通,能够控制,如果内部纵向写1都时候,内部总线P.0这个特殊功能寄存器的移位,引脚上电平就和上面相连,自然连过来就会变成高电平,把这个开关打过来接到输出位置是高电平,经过一根线过来能够使它发光,单片机的内部的引脚电阻比较大,发光二极管是点不亮的,所以电阻取得比较小,引脚上呈现VC,也就是5V,内部总线上写0和写1,在外部引脚上呈现的就是高电平和低电平。

接下来看输入功能,分别有两个输入功能,一个读引脚,另外一个叫做读锁存器或者叫做读内部的寄存器,输出功能只有一个,要么输出低电平,要么输出高电平,但是在读操作的时候,它有两个,一个叫做读引脚,一个叫读外部的引脚,或者叫读外部的电平状态,这叫读引脚,另外一个叫读锁存器,有两种功能。

C语言

当执行读引脚的时候,比如在引脚上接了一个按键,就是外部接一个按键,常用的电路图按键的一端接地,另外一端接到单片机的IO口,在这个地方一般会加一个上拉电阻,当单片机执行读引脚,要读这个外部电路,引脚上是高电平还是低电平,读了高电平和低电平,转到内部总线的时候应该变成0或者是1,外部如果接地,读的是零,读的是高电平的时候,在内部总线上应该读入的是1,因为计算机的内部只有0和1,当引脚上按键没有闭合情况下是导通的,靠指令给它一个有效信号,执行读引脚指令的时候有效。

定义一个变量来读引脚,把P1.0给timp,执行的就是读引脚,会使读引脚的信号有效,一旦有效,信号线能不能过来,是靠指令由引脚来控制的,当读引脚指令的时候会有效,高电平的时候,读进来的就是高电平,低电平的时候,比如把按键闭合就是低电平,因为执行的还是读引脚,所以信号线还是有效,在读引脚的时候,外部是高电平或者低电平,在内部总线上读入的就是0和1对吧,到程序里面就变成0和1,但是需要注意的一个问题就是为什么叫准双向IO口,就是在做输出的时候是可以直接输出的,是在做引脚输入的时候,读外部引脚的时候,正常的读引脚可以正常地读入。

想学单片机的朋友,可以私信我,我可以发一些资料给大家作为参考学习的内容,有问题的朋友也可以在评论区评论,或者私信我,尽量帮大家解决朋友们提出的问题,谢谢大家

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分