文章导读
- 本文使用汇编语言,从原理出发讲解51单片机的IO口,适用于考研及各类考试,不适用于实战哈,实战我连汇编怎么编译烧录都不会。。。
- 本文是我以分享为目的,帮助考研需要考818单片机原理的童鞋写的文章,主要讲究简单高效易懂,有要考广工的同学可以找本人哈,包括画重点、导师避坑啥的都可以的。
- 本人想寻找有想法的小伙伴,有谁有想做的嵌入式产品可以联系我,我们一起基于单片机进行产品设计、开发、商业化。(PS:本人后期转CV了,太难实现的产品我可能在技术上搞不了哈)
51单片机IO口编程概览
51单片机有4个IO口,每个IO口有8条口线,对IO口的操作也就是对4个特殊功能寄存器(SFR)的操作,这4个IO口分别是P0 P1 P2 P3。我们可单独对某条口线进行写操作,例如:
MOV P0.0 C
也可以对一整个IO口进行写操作,例如:
MOV P1 #2FH
再读取IO口时,需要先将其至为高电平再读取,例如:
;读整个P2口
MOV P2 #FFH
MOV A P2
;只读P2.0
MOV P2 #FFH
MOV C P2.0
51单片机IO口特性
P0口特性
1、当作为普通I/O时,P0口的驱动能力最强,有8个TTL负载,其余3个IO口只有4个TTL负载。但在作为IO使用时要注意,P0口内部没有上拉电阻,因此需要接入相应的上拉电阻。
2、可以作为外部存储器的数据/地址总线,由ALE来控制,这个以后的文章在讲解外部扩展时会给出。
P1口特性
P1口没啥特性,就作为单纯的IO口使用就行了。
P2口特性
可与P0口搭配,作为扩展时的高8位地址总线。
P3口特性
P3口有4组第二功能,分别为:
1、串口:RXD TXD
2、中断:INT0 INT1
3、定时/计数:T0 T1
4、片外存储器读写选通:WR RD
对应的引脚看下面的最小系统图吧!这个一定要记牢,考试通常都喜欢考。
当然啦,这些功能也是后面的课程再介绍啦。
最小系统
最小系统的意思是至少需要这些电路单片机才能跑起来,51单片机的最小系统如图所示: