文章目录

  • 前言
  • 一、并行接口P0
    • (1)P0口
    • (2)、P0口作为通用I/O口
  • 二、并行接口P1
  • 三、并行接口P2
  • 四、并行接口P3
    • P3口的第二特殊功能引脚分配:
  • 归纳四个并行口使用的注意事项如下:

前言

学习51单片机,IO口可以说是重中之重,在应用设计中应该理解,计算机内部是由数字电路组成的,只存在TTL电平,高电平3.5V~5V和低电平0V对应数字1和0,外设的状态输入要通过电路转换成高低电平,计算机才能识别。根据外设的需要的电平输出1或0,这就是程序控制外设的核心。
根据外设的需要的电平输出1或0,这就是程序控制外设的核心。

一、并行接口P0

① 并口与数据存储器统一编址,作为数据存储器的特殊功能寄存器来访问,寄存器名分别为:P0、P1、P2、P3;

② P0、P1、P2、P3各对应8位双向I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,四个口共32根口线,用作位控制十分方便;

③ P0、P1、P2、P3均可作准双向I/O口用,同时在单片机扩展外部存储器时,P0口还可作低8位地址和数据总线,P2口还可作高8位地址总线,P3口还具有第二特殊功能;

④ P0、P1、P2、P3均由锁存器、输出驱动电路和输入缓冲器组成,P0口能带8个TTL电路;P1、P2、P3口负载能力为4个TTL电路。

(1)P0口

P0口的字节地址为80H,位地址为80H~87H。
P0口是漏极开路的准双向口或做为低8位地址/数据总线口

P0口作为地址/数据总线
P0口用于低8位地址/数据复用总线时,可用于扩展外部程序存储器和外部数据存储器。
1. 输出地址和数据时,控制线=1,MUX与地址和数据总线相连,锁存器和引脚断开,锁存器的值不影响引脚电平;
2. 输入数据时,控制线=0,MUX与锁存器相连,此时CPU将自动向P0口输出0FFH,T1和T2均关断,输出驱动电路由于处于高阻状态,不影响输入。

(2)、P0口作为通用I/O口



注意:对P0口操作时,写P0口时写锁存器和写引脚是一致的,其实质都是写锁存器;但在读P0口时,读锁存器和读引脚就不一样了,因为锁存器和引脚的值有时是不同的。
读引脚操作称读引脚指令 例:MOV A,P0
读锁存器操作称读-修改-写指令 例:ANL P0,A
(注:以上同适合P1、P2、P3口)

二、并行接口P1

P1口的字节地址为90H,位地址为90H~97H。
P1口是带上拉电阻的8位准双向I/O口

三、并行接口P2

P2口的字节地址为A0H,位地址为A0H~A7H。


1、P2口用于高8位地址总线时,可用于扩展外部程序存储器和外部数据存储器。 输出地址时,MUX与地址总线相连,锁存器和引脚断开,锁存器的值不影响引脚电平。
2、当P2口做通用I/O口时,多路开关MUX接锁存器;内部有上拉电阻。
用于输出:输出1时,引脚为高电平,输出0时,引脚为低电平;
用于输入:由于输入时T不能影响输入,故T必须截止,因此作输入时,要人为的将P2的锁存器置1(所以称为准双向I/O口

应当注意:当P2口的几位作地址线使用时,剩下的P2口线不能作I/O口线使用。

四、并行接口P3


P3口的第二特殊功能引脚分配:

P3.0-(10脚)RXD:串行数据接收端
P3.1-(11脚)TXD:串行数据发送端
P3.2-(12脚)INT0:外部中断0请求端,低电平有效
P3.3-(13脚)INT1:外部中断1请求端,低电平有效
P3.4-(14脚)T0:定时计数器0外部时钟输入端
P3.5-(15脚)T1:定时计数器1外部时钟输入端
P3.6-(16脚)WR:外部数据存储器写选通信号,低电平有效
P3.7-(17脚)RD:外部数据存储器读选通信号,低电平有效

归纳四个并行口使用的注意事项如下:

1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四组口均可做I/O口用。
2.四组口在做输入口使用时,均应先对其写“1”,以避免误读。
3.P0口做I/O口使用时应外接10K的上拉电阻,其它口则可不必。
4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。
5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

51单片机并行接口P0~P3相关推荐

  1. 51单片机P0口什么时候使用上拉电阻

    P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0 口不能真正的输出高电平).给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由 ...

  2. 51单片机Proteus仿真+Keil工程-实验7-单片机AD和DA实验

    实验7-单片机AD和DA实验   之前做的一次实验,51单片机AD和DA实验,数模使用芯片0832,模数转换使用0809.在做实验时曾经遇到一个问题,模数转换0809是不是只能输出0~ 5V,能不能输 ...

  3. C语言数码管是共阴共阳程序,成功C DIY 单片机(2)51单片机直接驱动共阴极数码管...

    C DIY :completely Do It Yourself, 完全地自己动手做 (原创:守口如平) 单片机驱动Led数码管(或n个Led)应该算是单片机经典试验之一了. 数码管种类: 少量的数码 ...

  4. 基于51单片机的简易电容值测量仪proteus仿真设计

    51单片机简易电感测量仪仿真设计( proteus仿真+程序+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0039 51单片机简 ...

  5. 基于51单片机的简易电梯系统的设计

    系统概述 设计要求 根据所学的知识以及技能,利用MCS-51系列单片机为中心设计一个简易电梯系统,实现四层电梯的无故障运行,并用数码管和指示灯显示对应楼层和运行方向等基本信息.设计所用的单片机为STC ...

  6. hc05与单片机连接图_基于proteus的51单片机开发实例37-DAC0832

    学习手记 1. 基于proteus的51单片机开发实例37-DAC0832 1.1. 实验目的 之前我们学习了数模转换芯片DAC0808,今天我们继续学习另一种D/A转换芯片DAC0832. 1.2. ...

  7. 51单片机双向口和准双向口有什么区别

    双向口与准双向口的区别主要是:准双向口I/O口操作时做数据输入时需要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错.而双向口则不需要做此动作,因为双向口有悬浮态. 准双 ...

  8. 基于51单片机智能电子秤方案原理图程序设计

    硬件设计 (文末附资料) 单片机最小系统 对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路.下面给出一个51单片机的最小系统电路图. 复位电路: 一.复位电路的用途:单片机复位电 ...

  9. 51单片机Proteus仿真+Keil工程-实验2-按键-数码管

    实验2-单片机数码管和按键实验   之前做的一次实验,51单片机通过按键控制单个数码管.如有问题欢迎指正. 实验目标:   通过建立4x4矩阵按键在8段数码管上面显示0~F,十六个按键值. Prote ...

最新文章

  1. node编写定时任务,for循环只执行一遍的解决办法
  2. NR 5G 移动性和状态变化
  3. android中几种定位方式详解
  4. 定量库存控制模型_经济订货批量不是最终的订货批量,计算订货批量的最高库存定量法...
  5. Windows下JDK开发环境搭建及环境变量配置
  6. keyshot环境素材文件_超赞|15个不翻墙免费可商用矢量素材下载网站推荐
  7. 《数据结构和算法》之中缀表达式、后缀表达式转换
  8. NVIDIA Nsight Eclipse 安装
  9. SPEOS | SPEOS HUD 设计功能
  10. ubuntu测试网络速度
  11. win10 应用程序exe图标突然变成白色,怎么恢复?
  12. dict 方法汇总
  13. Android p刷机红米4a,红米4A(Redmi 4A 全网通)刷机教程,简单几步搞定刷机
  14. shell eval
  15. 计算机内存不能为read,电脑弹出窗口显示该内存不能为read的两种解决方法
  16. CTF——web个人总结
  17. scheduler_tick函数详解
  18. Vivado、modelsim、VHDL错误集锦
  19. 收藏从未结束,学习从未开始
  20. WinRAR显示离购买许可只剩xx天

热门文章

  1. 对自己的2018年总结一下吧
  2. python模拟微信登陆抢券
  3. IDEA中Git简单入门
  4. 计算机二级幼师学哪个好,科普下幼儿教师资格证好考吗
  5. Shell文本记录去重复(uniq)
  6. java 五位数前面补0_Java Android 开发数字不足位数前面补0
  7. Elasticsearch磁盘使用量优化
  8. ArcScene三维漫游
  9. 为什么同一张图png反而比jpg小?
  10. 升压、升降压开关电源设计的专用DC-DC控制器芯片 车载,安防,应急电源 详细解析与参数原理