0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8bit 单片机I/O设置介绍

jf_pJlTbmA9 来源:中颖电子 作者:中颖电子 2023-10-27 15:41 次阅读

1、8bit MCU 通用I/O 结构图

端口模块如下图(79系列图):

wKgaomUD5A6AL0KgAAAwpWsHUHg418.png

2、相关设置寄存器及注意事项:

端口控制寄存器

wKgZomUD5BCAURO9AABjakB-6k4089.png
wKgaomUD5BGAV8FTAAA3oD-TW0o558.png

PxCR寄存器控制I/O输入输出状态设置。

当寄存器设置成输入模式时,Px寄存器读取的是端口电平状态。

当寄存器设置成输出模式时,Px寄存器读取的是数据寄存器的值。

如有未使用到的I/O,需要设置输出固定电平以免I/O浮动电平带来的漏电流。

端口上拉电阻控制寄存器

wKgaomUD5BOAQr9eAABwtUctU74874.png
wKgZomUD5BWAbVtTAABNdd6XR5c320.png

端口数据寄存器

wKgZomUD5BaALf8wAABegYy7c0Y026.png
wKgaomUD5BiANc3gAAAn-n8j0v4123.png

79系列单片机 Px 寄存器都在位寻址区(例如:80H,88H等),都可以进行位寻址操作。

在初始化设施PxCR(输出状态)前,请优先设置Px寄存器,避免WDT,,OVL等复位带来的端口电平变化。

当PxCR寄存器设置成输入状态时,操作读取对应Px,是读取对应引脚电平状态。

当PxCR寄存器设置成输出状态时,根据指令来分别对应 读取的是寄存器还是引脚电平。

端口寄存器读-改-写指令举例:

ANL P0, #立即数 ; P0->立即数 (与)P0->P0

ORL P0, A ; P0->A|(或)P0->P0

INC P0 ; P0->P0+1->P0

CPL P0.0 ; P0.0->P0.0~(取反)->P0.0

引脚电平读取指令举例:

MOV A,P0 ; P0->A

MOV R0, P0 ; P0->R0

不管端口是否共享为其它功能,对端口写操作都是针对端口数据寄存器。

当第二功能有冲突时,按照端口共享表格中的优先级来决定输出功能。

通常I/O的优先级是低于其他功能的。

以下图为例,当P0.6引脚上BUZ功能和LED功能同时选中时,引脚输出LED波形。

wKgaomUD5BmAKCA0AACGGLue9oY116.png

当允许端口复用为其它功能时,用户可以修改PxCR﹑PxPCR,但在复用的其它功能被禁止前,这些操作不会影响端口状态。

当允许端口复用为其它功能时,任何对端口的读写操作只会影响到数据寄存器的值,端口引脚值保持不变,直到复用的其它功能关闭。

3、 I/O开漏模式介绍:

wKgZomUD5BqARROIAAG2QaHiGNs248.png

在I/O章节有选择N沟道开漏功能的寄存器时,可以实现I/O的N沟道开漏功能(注意上图红线处,IO管脚的电压不得超过VDD+0.3V电压)

如果I/O章节没有该选项的寄存器,但是又有TWI通讯功能,那么在TWI功能开启时,引脚自动切换成N沟道开沟。关闭TWI功能,自动切换回普通I/O。

芯片电源输入端建议加去耦电路,防止VDD端出现瞬间的高压引入导致的电路损坏。

4、施密特及TTL功能介绍:

施密特功能介绍:

施密特输入特性是输入高电平阈值为0.8VDD,输入低电平阈值为0.2VDD。

VDD=5V举例,输入高电平>=4V,端口读取的电平为高,输入低电平<=1V,端口读取的电平为低。相对应的引脚是否具有施密特功能,请查询电气特性章节(输入高电压2和输入低电压2中注明有施密特功能的引脚,例如INT0-4,T3-T5等)。普通I/O不具有施密特功能。

TTL功能介绍:

TTL电平输入特性是

1) 输入高电平阈值为0.25VDD+0.8,输入低电平阈值为0.15VDD(VDD=2.7V~4.5V)

以VDD=3.3V举例,输入高电平>=1.625V,端口读取的电平为高,输入低电平<=0.495V,端口读取的电平为低。

2)输入高电平阈值为2.0V,输入低电平阈值为0.8V(VDD=4.5V~5.5V)

以VDD=5 V举例,输入高电平>=2V,端口读取的电平为高,输入低电平<=0.8V,端口读取的电平为低。

选择TTL电平功能可与VDD电压为3.3V的WIFI模块直接通过以Uart或者TWI的方式通讯,又或者直接接收外部中断信号(INT0-4),不需要外加电平转换电路。(芯片是否有TTL功能请查询I/O章节及电气特性章节)

端口输入模式选择寄存器如下(TTL和CMOS选择)

wKgZomUD5ByAX0ZMAAB0LuuJ7V4884.png
wKgaomUD5B6AC1fpAADoAuVDSyw311.png

*:CPU在任何情况下,读取端口数据寄存器(P0,P1……),其输入高电平阈值为0.7VDD,输入低电平阈值为0.3VDD(CMOS逻辑,无施密特);该控制位控制的是其他功能输入的逻辑电平状态,例如:INT0 - 4,RXD,SDA等数字电平输入。

注意:TTL电平特性,详情请见规格书电气特性章节。

来源:中颖电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6043

    文章

    44617

    浏览量

    638201
收藏 人收藏

    评论

    相关推荐

    普冉PY32MD310单片机介绍

    ,芯片集成了多个通讯接口,一个 I2C、2个SPI和2个USART。还有1 路 12-bit ADC,5 个 16 位定时器,以及 2 路比较器外设。PY32MD310单片机采用QFN32封装,有16个通用端口,均可作为外部中断
    的头像 发表于 01-15 10:24 207次阅读
    普冉PY32MD310<b class='flag-5'>单片机</b><b class='flag-5'>介绍</b>

    ADC12DJ3200 8bit分辨率是不是直接截了12bit的高8位?

    您好我还想再咨询一下,对于ADC12DJ3200来说,8bit分辨率,7.8左右有效位。我看手册,他的内核是12位的,这个8bit分辨率是不是直接截了12bit的高8位?这样才导致的
    发表于 11-28 06:33

    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载

    用51单片机STC8H8K64U驱动彩屏,控制器采用瑞佑RA8889. 使用软件模拟I2C方式通信,驱动大屏显示。
    的头像 发表于 11-01 11:02 535次阅读
    51<b class='flag-5'>单片机</b>STC<b class='flag-5'>8H8</b>K64U通过RA8889/RA8876如何控制彩屏 <b class='flag-5'>I</b>2C源码下载

    NY8B062F 14 I/O+12-通道ADC 8位EPROM-Based单片机手册

    电子发烧友网站提供《NY8B062F 14 I/O+12-通道ADC 8位EPROM-Based单片机手册.pdf》资料免费下载
    发表于 10-28 10:47 0次下载

    8单片机为何不会被高端单片机取代?

    8单片机是目前应用最广的MCU,8单片机具有8bit的数据总线和地址总线,通常由CPU、内存、输入/输出端口、定时器、串行/并行接口等组
    发表于 09-24 16:51

    单片机io口的四种工作状态

    单片机I/O口工作状态是单片机编程和硬件操作中非常重要的一部分,它决定了单片机如何与外部设备进行通信。 1.
    的头像 发表于 09-14 14:24 2020次阅读

    单片机烧录程序用什么软件

    工作原理和接口方式的不同,可以分为以下几类: 1.1 并行烧录器:通过并行接口将程序数据传输给单片机,烧录速度快,但需要占用较多的I/O端口。 1.2 串行烧录器:通过串行接口将程序数据传输给
    的头像 发表于 09-02 10:05 1621次阅读

    单片机引脚悬空是什么电平

    单片机引脚悬空是指单片机I/O引脚在没有连接任何外部电路的情况下,引脚的电平状态。悬空引脚的电平状态取决于单片机的内部结构和外部环境因素。
    的头像 发表于 08-28 09:51 2489次阅读

    单片机boot0和boot1怎么设置

    单片机Boot0和Boot1简介 Boot0和Boot1是单片机启动模式选择引脚,用于选择单片机的启动模式。 Boot0和Boot1的设置方式因单片
    的头像 发表于 08-22 09:50 3009次阅读

    如何从主机将数据按8bit传入片上ITCM?

    需求:如何从主机将数据按8bit传入片上ITCM 我想在PC端(主机)通过8位IO每个周期传入8bit数据(一共大概32KB的数据,包括自定义指令和局部变量的数据,由.verilog文件读出来
    发表于 05-24 07:40

    单片机是什么?单片机编程如何入门?

    单片机其实是一种很早的叫法了,最开始我们的前辈叫单板机或者叫单片机,因为那个时候单片机的处理能力还没有很强,现在我们所用的基本都是微型处理单元,也叫为控制器也称之为MCU
    的头像 发表于 03-28 08:03 2179次阅读
    <b class='flag-5'>单片机</b>是什么?<b class='flag-5'>单片机</b>编程如何入门?

    8单片机为何不会过时?

    对于8单片机来说,由于其主要处理8位数据,所以其“字”的长度可能也是8位,但这并不是绝对的,还需要具体看单片机的设计。
    的头像 发表于 03-20 16:29 1956次阅读

    8-Bit 触控式 Flash 单片机中文资料

    该系列单片机是一款 8 位具有高性能精简指令集且完全集成触摸按键功能的 Flash 单片机。此系列单片机含有触摸按键功能和可多次编程的 Flash 存储器特 性,为各种触摸按键的应用提
    发表于 02-28 10:01 4次下载

    CYUSB3014位宽为8bit、16bit和32bit时,最大传输速率是不是一样的?

    我想问一下CYUSB3014位宽为8bit、16bit和32bit时,最大传输速率是不是一样的?
    发表于 02-28 07:08

    请问CY7C68013A可以使用8bit FIFO数据接口吗?

    因为FPGA管脚不太够,想问下CY7C68013A-56PVXI可以使用8bit FIFO数据接口吗?可以的话,FPGA连接的是低8bit(FD0~FD7) 还是高8bit(FD8~F
    发表于 02-27 08:18