单片机从外形结构上看,就是类似塑料的一坨东西外加几个金属引脚,有没有很像一个甲壳虫的感觉?
但是就是这么一坨东西,怎么就神奇的写入程序后让他干什么就干什么呢?
我们从最简单的I/O口开始说吧。
单片机的I/O口可用作输入,也可用作输出;常见的有8位/16位的;要怎么理解他们与二进制数据的关系及区别呢?
以8051单片机为例,他有四个8位并行I/O口,分别为p0/p1/p2/p3口。
我们可以把整个单片机想象成为一个学校,那么这四个I/O口就相当于学校中一个宿舍楼中的四个宿舍,宿舍编号假定为303/304/305/306。
这时问题来了,刚才不是说是p0/p1/p2/p3口吗?这个问题可以这么理解:这303/304/305/306宿舍在宿舍评比的活动中分别获得了“最佳和谐宿舍”/“最佳卫生宿舍”/“最佳文明宿舍”/“最佳创新宿舍”称号,在学校里一提到“最佳和谐宿舍”都知道是303宿舍,这编号303就相当与单片机中给P0口寄存器统一分配的地址,“最佳和谐宿舍”就相当于特殊寄存器名称,也就是说我们说“303宿舍”和“最佳和谐宿舍”指的都是同一个宿舍。
每个宿舍有八张床位,宿舍304内的八张床编号为304.0/304.2/....../304.7,每张床上面绑了一根电线连接到学校外面,这电线的露头就是引脚P1.0/P1.1....../P1.7。这宿舍就相当于单片机中的寄存器,这电线露头就相当于单片机的引脚,8位的单片机每个宿舍有8张床,16位的单片机每个宿舍中有16张床,以此类推。
我们使用单片机的I/O口一般做为输入/输出口来用,用的时候怎么理解呢?
假如我需要用P0口输出八个高电平以驱动外围电路,我们只用向P0口写入11111111就行了,也就是让303宿舍内的八张床上都睡上人,那么引脚就是高电平了,想让哪个引脚为低电平,让那个床铺上的人出去谈恋爱就可以了。
P0口的输入可以理解为我不管你们303宿舍的人干啥去了,我就想知道你们宿舍现在哪个床铺上睡的有人哪个床铺上没有睡人就可以了。
这是小编第一次发文章,51单片机方面有不懂的可以给小编留言,小编做为于论的第二篇。
联系客服