51系列单片机wr和rd有什么区别(金誉半导体笔记)
前言:任何MCU单片机都具有一定数量的I/O口,没有I/O口,MCU就失去了与外部沟通的渠道。
单片机I/O口是用来定义相对I/O口位的输入、输出的状态和方式。其中I是input 输入的意思,O是output输出的意思,I/O读写就是输入或输出读写。
根据I/O口的可配置情况,可以分为如下几种类型:1、纯输入或纯输出口:此类I/O口由MCU硬件设计决定,只能是输入或输出,需要切换到内核态对操作系统进行操作,不可用软件来进行实时的设定。
例如程序要保存一个文件到硬盘,在程序执行的用户态,是直接操作磁盘的。只有切换到内核态才能真正去操作磁盘。在进行I/O操作时CPU会从用户态切换为内核态,而操作结束后则需要从内核态切换为用户态。2、直接读写I/O口:如MCS-51的I/O口就属于此类I/O口。当执行读I/O口指令时,就是输入口;当执行写I/O口指令则自动为输出口。read: 把数据从内核缓冲区复制到进程缓冲区。 write: 把数据从进程缓冲区复制到内核缓冲区。
因此,上层程序的IO操作、不是物理设备级别的读写,而是缓存的复制。设置缓冲区的目的就是为了减少频繁地与设备之间的物理交换。
3、程序编程设定输入输出方向的:此类I/O口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等。
对于I/O口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现);而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。最重要的一点是:必须设置寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com