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

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

3天内不再提示

8bitMCU相关设置寄存器及注意事项

中颖电子 来源:中颖电子 作者:中颖电子 2022-07-03 16:10 次阅读

1、 8bitMCU 通用I/O 结构图

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

77973eb6-f84c-11ec-ba43-dac502259ad0.png

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

端口控制寄存器

xxHH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PxCR (xxH, Bank0) PxCR.7 PxCR.6 PxCR.5 PxCR.4 PxCR.3 PxCR.2 PxCR.1 PxCR.0
读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写
复位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位编号 位符号 说明
7-0 PxCRy
x = 0-7,y = 0-7
端口输入/输出控制寄存器
0:输入模式
1:输出模式

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

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

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

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

端口上拉电阻控制寄存器

xxH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PxPCR (xxH, Bank0) PxPCR.7 PxPCR.6 PxPCR.5 PxPCR.4 PxPCR.3 PxPCR.2 PxPCR.1 PxPCR.0
读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写
复位值
(POR/WDT/LVR/PIN)
0 0 0 0 0 0 0 0
位编号 位符号 说明
7-0 PxPCRy
x = 0-7,y = 0-7
输入端口内部上拉电阻控制
0:内部上拉电阻关闭
1:内部上拉电阻开启

端口数据寄存器

xxH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
Px (xxH, Bank0) Px.7 Px.6 Px.5 Px.4 Px.3 Px.2 Px.1 Px.0
读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写
复位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位编号 位符号 说明
7-0 Px.y
x = 0-7,y = 0-7
端口数据寄存器

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

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

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

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

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

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

2、引脚电平读取指令举例:

MOV A,P0 ;P0->A

MOV R0, P0 ; P0->R0

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

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

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

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

77ac6174-f84c-11ec-ba43-dac502259ad0.png

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

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

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

77bf668e-f84c-11ec-ba43-dac502259ad0.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=5V举例,输入高电平>=2V,端口读取的电平为高,输入低电平<=0.8V,端口读取的电平为低。

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

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

xxH,Bank1 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PIMS0 P04S PxxS PxxS PxxS PxxS PxxS PxxS PxxS
读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写
复位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位编号 位符号 说明
7 P04S P0.4输入电平逻辑控制位(不包含端口数据寄存器输入)*
0:输入高电平阈值为0.8VDD,输入低电平阈值为0.2VDD(CMOS逻辑,带施密特)
1:输入高电平阈值为2.0V,输入低电平阈值为0.8V(VDD = 4.5 - 5.5V)(TTL逻辑)
输入高电平阈值为0.25VDD+0.8,输入低电平阈值为0.15VDD(VDD = 2.7V-4.5V)
注:PowerDown模式下,TLL逻辑无效

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

原文标题:中颖8bit 单片机I/O设置介绍

文章出处:【微信公众号:中颖电子】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

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

    关注

    6011

    文章

    44153

    浏览量

    624295
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16210

    浏览量

    345451
  • 寄存器
    +关注

    关注

    30

    文章

    5181

    浏览量

    118338
  • 中颖电子
    +关注

    关注

    4

    文章

    169

    浏览量

    7286

原文标题:中颖8bit 单片机I/O设置介绍

文章出处:【微信号:SINO_25181447,微信公众号:中颖电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问在中断处理程序中操作寄存器时的注意事项有哪些?

    在中断处理程序中操作寄存器时的注意事项
    发表于 11-23 14:17

    ADS1211与89C52的接口电路设计,有什么注意事项

    ADS1211的结构及特点ADS1211的引脚功能ADS1211的重要寄存器设置ADS1211与89C52的接口电路设计,有什么注意事项
    发表于 04-22 07:13

    四旋翼安装注意事项

    1)四旋翼安装四旋翼安装注意事项注意飞控飞行模式是x飞行,还是+飞行;不同的飞行模式飞控安装方式不同;注意电机转向;最后安装浆叶;注意浆叶转向;2)遥控
    发表于 09-02 06:18

    如何对AVR的bootloader进行设置?有什么注意事项

    如何对AVR的bootloader进行设置?有什么注意事项
    发表于 11-01 07:01

    使用DR寄存器有哪些需要注意事项

    什么是DR寄存器?DR寄存器有何性能?使用DR寄存器有哪些需要注意事项呢?
    发表于 12-07 07:38

    STM32F103的地址和寄存器映射原理是什么

    2.2 默认文件夹的设置(选做)2.3 添加宏定义和头文件路径2.4 注意事项2.5 程序——寄存器版本2.6.
    发表于 12-09 07:41

    与STM32F767串口控制相关寄存器有哪些呢

    与STM32F767串口控制相关寄存器有哪些呢?有何功能?有哪些注意事项呢?
    发表于 12-10 07:14

    SysTick定时配置注意事项

    目录1、前言2、systick配置注意事项1、前言CM4内核的处理和CM3一样,内部都包含了一个SysTick定时,SysTick 是一个24 位的倒计数定时,当计到0 时,将从RELOAD
    发表于 01-17 08:00

    AT32 事件唤醒Deepsleep 模式有什么注意事项

    AT32 事件唤醒Deepsleep 模式有什么注意事项Questions:事件唤醒 Deepsleep 模式有什么注意事项?Answer:可以通过 RTC 闹钟事件和外部事件唤醒
    发表于 05-06 19:47

    浅谈PCB板设计注意事项

    在设计PCB板时应注意的一些基本事项相关PCB设计参数详解以及相关注意事项
    发表于 05-09 16:05 3391次阅读

    AD转换寄存器设置

    AD转换寄存器设置AD转换寄存器设置AD转换寄存器设置
    发表于 11-10 17:36 16次下载
    AD转换<b class='flag-5'>寄存器</b><b class='flag-5'>设置</b>

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    寄存器是什么 掌握使用寄存器做设计需要注意事项

    既然RTL是以寄存器行为为基础,那么就必须先了解寄存器是什么,并且掌握使用寄存器做设计需要注意事项
    的头像 发表于 07-13 15:38 1034次阅读
    <b class='flag-5'>寄存器</b>是什么 掌握使用<b class='flag-5'>寄存器</b>做设计需要<b class='flag-5'>注意</b>的<b class='flag-5'>事项</b>

    轻负载时开关元件工作相关注意事项

    轻负载时开关元件工作相关注意事项
    的头像 发表于 12-14 15:43 249次阅读
    轻负载时开关元件工作<b class='flag-5'>相关</b>的<b class='flag-5'>注意事项</b>

    示波器接电流探头时的设置方法及注意事项

    示波器接电流探头时的设置方法及注意事项  示波器是一种用于观测电子信号波形的重要仪器。在实际应用中,经常需要接入电流探头以观测电路中的电流波形。正确的设置方法和注意事项对于获取准确的波
    的头像 发表于 01-08 16:36 1762次阅读