IO口寄存器是RAM中的一些特殊功能单元,映射到片上外设相应的功能。如P0就是寄存器的变量,代表的是一个8位的存储空间,它的每一位映射到单片机的P0口的每一位。寄存器是程序,单片机以及外设口发生联系的桥梁。IO口是可以将“0”或“1”转换为电压信号的端口。单片机中最常用的TTL电平:0V代表“0”,+5V代表“1”。MCS51有4个8位IO口:P0,P1,P2,P3,每个IO口有8位。
IO口的性能指标: 灌电能力:能够流入IO口的最大电流 拉电能力:能够从IO口流出的最大电流 上拉电阻与下拉电阻 最大输入电压
输入口接了一个大于10M欧的电阻,输入+5V或0会产生微弱的电流。
IO口的输出:
MCS51的拉电流能力<100us,灌电流能力10ms。使用MCS51的IO口直接驱动LED,数码管等均采用“共阳接法”
IO口的输入:
MCS51的IO口输入状态时有若上拉电阻效应,值为100K数量级,最大输入电压-0.5V"Vcc+0.5V
C语言,IO口寄存器与IO口的映射:
IO口与IO寄存器的映射(X代表0"3)
IO口寄存器:Px,P0,P1,P2,P3这是4个51单片机寄存器的名称。这些寄存器相应的位发生改变,就会引起IO对应引脚上物理电平,物理电压的变化。reg52.h这个文件中将所有寄存器映射为同名的变量,对这些变量的读写相当于对寄存器的读写,对寄存器的读写就相当于对IO口的读写。
输出状态IO寄存器的设置
PX某一位置1或0,对应IO口相应位的电平高低,在读取PX某一位之前,要向该为写入1,然后读回的数据真实的反映该为IO的输入状态。如果使用汇编写需要这样做,如果使用C写,编译器会自动完成写1操作。
关键字:51单片机 IO口 寄存器
引用地址:51单片机-IO口
IO口的性能指标: 灌电能力:能够流入IO口的最大电流 拉电能力:能够从IO口流出的最大电流 上拉电阻与下拉电阻 最大输入电压
输入口接了一个大于10M欧的电阻,输入+5V或0会产生微弱的电流。
IO口的输出:
MCS51的拉电流能力<100us,灌电流能力10ms。使用MCS51的IO口直接驱动LED,数码管等均采用“共阳接法”
IO口的输入:
MCS51的IO口输入状态时有若上拉电阻效应,值为100K数量级,最大输入电压-0.5V"Vcc+0.5V
C语言,IO口寄存器与IO口的映射:
IO口与IO寄存器的映射(X代表0"3)
IO口寄存器:Px,P0,P1,P2,P3这是4个51单片机寄存器的名称。这些寄存器相应的位发生改变,就会引起IO对应引脚上物理电平,物理电压的变化。reg52.h这个文件中将所有寄存器映射为同名的变量,对这些变量的读写相当于对寄存器的读写,对寄存器的读写就相当于对IO口的读写。
输出状态IO寄存器的设置
PX某一位置1或0,对应IO口相应位的电平高低,在读取PX某一位之前,要向该为写入1,然后读回的数据真实的反映该为IO的输入状态。如果使用汇编写需要这样做,如果使用C写,编译器会自动完成写1操作。
推荐阅读最新更新时间:2024-03-16 13:57
51单片机烧写程序过程以及详细说明
Step 1:Keil软件的安装 1.选中文件夹中的C51V900安装程序并打开,如图: 2.在安装对话框里一直选择Next,直到Finish完成Keil的安装。 Step 2: 安装USB转串口线的驱动程序的安装 1. 选中并打开文件夹中的HL-340安装程序 2.点击INSTALL即可自动完成安装 Step 3:Keil工程的建立 1. 打开桌面上的Keil图标 ,建立一个新工程单击【Project】菜单中的【New μVision Project】,如下图: 2. 选择工程保存的位置,建议最好新建一个文件夹用来保存此工程文件,方便以后管理。 3. 选择单片机型号:打开Atmel 目录,选
[单片机]
51单片机蜂鸣器音乐简谱转换工具
相信您在作蜂鸣器发声实验时肯定为复杂的频率与音调之间的转换而伤脑筋,这里向大家介绍一款工具可以大大简化转换操作,只需要输入简谱就能自动生成音乐播放程序代码。 以下此程序的主界面: 程序范例可以点主界面上的 关于 按钮后就能找到,但是代码也不全,需要加入对音乐程序的调用代码,其它范例里也写的很清楚了,只需要调用Play函数就行了,其调用格式如下: Play(乐曲名,调号,升降八度,演奏速度); 经过实践,此函数的的后三个参数分别设为0,2和350时演奏出的音乐比较符合 原味 ,下面给出本站的入门型51实验板结合此工具作的音乐程序: //51单片机播放音乐库文件 /****************************
[单片机]
STC89C51单片机流水灯程序
由于程序花样显示比较复杂,所以完全可以通过查表得方式编写程序,简单。如果想显示不同的花样,只需要改写表中的数据即可。 流水灯程序: #include reg51.h #define uint unsigned int #define uchar unsigned char const table ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(uint z) //delay 1ms { uint x,y; for(x=z;x 0;x--) for(y=124;y 0;y--); } void main(void) { uchar x;
[单片机]
51单片机数码管串行显示板制作
材料准备:共阴极SEG6个(小编做了4个)、SN74HC595N6个(小编用了4个)、插针、导线若干 SEG数码管显示 数码管串行显示原理图 74hc595管脚说明:单片机通过少量的端口串行控制多位数码管显示。 595结构图 595程序在单片机中的调用程序: /****************595时序及显示函数************************/ void display(void) //显示6位数据 { uchar i,dat; char j; //p=Date; for(j=5;j -1;j--) //6位数据依次循环 { dat=table ]; if(j==0){dat=0;} if(j
[单片机]
STM32 学习 day 3 正点原子 第11讲 新建工程模板-基于寄存器
STM32F4 开发指南 -寄存器版本 3.2 小节 新建一个文件夹 Template 新建一个 user在下面, 2打开keil project / New project 保存在user下面,然后就是下图所示的选择芯片。 选择相应的芯片。右图是工程的基本雏形。 接下来要添加启动文件, 从历程里面复制到user、目录上。这个 启动文件与库函数是有些区别的。然后点击魔术棒/ 点击 Target 将晶振改成 8M 然后要将启动文件添加到工程当中。在工程 中右键选择添加 文件类型选择 .s, 点击 add。 新建一个OBJ文件夹,将编译出的过程文件定位到 OBJ. 接下来复制系统文件夹到工程当中。在
[单片机]
基于蓝牙的无线接入点设计
以51单片机P89V51RD2为主控制器、ROK101008为蓝牙模块、W3100A为TCP/IP硬件协议栈、以太网网卡芯片RTL8201为网络接口,介绍了一种基于蓝牙的无线接入点的硬件结构和软件流程。该设计支持TCP/IP协议和蓝牙协议,具备蓝牙设备的无线上网功能,通过Internet实现数据的远程传输。 无线接入技术是实现无线网接入有线网的网络通信技术,其典型应用就是无线接入点。无线接入点是一个用于将无线网与有线网连接到一起,使无线客户端和有线网络之间能够相互发送和接收数据的装置,是无线移动终端设备接入到Internet的网络接口。无线移动终端可通过无线接入点访问Internet资源。 基于蓝牙的无线接入点就是
[单片机]
MCS-51单片机外部RAM的地址指针及其应用
MCS-51单片机外部RAM的地址空间为64K , 地址总线为16位,访问外接RAM可执行如下4条指令: MOVX A,@DPTR MOVX @DPTR,A MOVX A,@RI MOVX @RI,A 其中DPTR为16位地址寄存器,地址高8位存于DPH,地址低8位存于DPL;Ri(I=0,1)是8位寄存器,作为地址指针时仅存低8位地址。 MCS-51执行上述指令时分为两个阶段:首先,是从外接程序存储器中取出指令代码,并进行分析。然后,执行对外接RAM的数据读/写操作。在这两个阶段,P0口、P1口上的地址选通是有区别的。 执行“MOVX A,@DPTR”和“MOVX @DPTR,A”指令时,在读指令代码阶段,由程序计
[单片机]
中断时中断寄存器的处理流程
a. 外部子中断 外部子中断的屏蔽位主要有两个寄存器(即屏蔽寄存器),EINTMASK和INTMSK,所以要产生中断,必须将这两个寄存器中对应的屏蔽位中断使能即可。这两个寄存器一般只在初始化的时候使用。 中断暂存寄存器,EINTPEND和SRCPND,中断产生后将会使这两个寄存器对应的位置1,所以中断服务函数必须将这两个寄存器中的对应的中断标志位清除(写1清除),否则会一直产生中断。注意:需要先清除EINTPEND,然后在清除SRCPND的中断标志位。这两个寄存器一般只在中断产生后中断标志的清除,用于中断服务函数中。 INTPND是中断最高优先级寄存器,也需要在中断服务函数中进行清除。 INTMOD是设置中断是FIQ还是I
[单片机]
小广播
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
11月13日历史上的今天
厂商技术中心