PIC16与PIC18的I/O--lat寄存器的解释

发布者:快乐微笑最新更新时间:2016-11-03 来源: eefocus关键字:PIC16  PIC18  I  lat寄存器 手机看文章 扫描二维码
随时随地手机看文章
用pic16的时候设计端口操作时,一般也就涉及一个trisx和portx寄存器,trisx用来设置端口方向,portx用来写数据和读取数据,开始玩pic18的时候发现端口操作的时候多了一个latx寄存器,而它偏偏又和portx这么像,刚开始的时候确实蒙了。后来看看数据手册里面的io结构框图,慢慢才明白了lat寄存器的作用。下面先上图:16和18的io结构框图,取自数据手册

pic18:
PIC16与PIC18的I/O--lat寄存器的解释 - playjian - PLAY HOUSE
 
pic16: 
PIC16与PIC18的I/O--lat寄存器的解释 - playjian - PLAY HOUSE

从上图可以看出,在16系列里面,通过一个trisx设置为输出的时候,portx的值在每次一次来wr portx指令脉冲的时候输出到io管脚。如果trisx设置为输入则上端的或门和与门关闭,管脚状态通过输入缓冲器加到下方的D触发器,每次来一个rd portx指令脉冲,管教状态锁存到portx寄存器中,所以不关输入输出,只要trisx和portx就可以搞定了,输入的时候读管脚电平就读portx。

但是在pic18中,我们发现多了一个数据锁存寄存器,就是latx,输出数据的时候,trisx设置为输出,每来一个wr lat或者wr port指令脉冲,数据总线上的数据输出到io管脚,这个时候可以看到lat和port用法是很相似的。但是,重点在读管脚数据的时候。只有读取port读到的才是真正的管脚电平,由图可以看出,rd port指令脉冲来的时候,管脚端平锁存到port中,也就是说要想获得正确的管脚状态,只有读取port寄存器,而如果去读lat寄存器,读到的输出锁存器的值,比如说你一开始设置管脚成输出,通过lat输出了一个0x55,然后你设置管脚成输出,这个时候管脚电平再外部电路的驱动下发生了变化编程了0x66,这个时候你读port才能读到0x66,而如果你去读lat则读到的是你上一次输出值,不是当前时刻管脚电平状态。这也就是lat和port的不同之所在。所以在做pic18的时候我们应该养成写则写lat,读则读port的好习惯,当然,至于microchip在pic18为什么要多设置一个这个lat肯定是有他的用意的,至于这个为什么,我暂时也还没有想通,百度一下说是什么读-修改-写操作相关之类的,讲的不是很清楚,等以后摸索明白了在写到blog里面。
关键字:PIC16  PIC18  I  lat寄存器 引用地址:PIC16与PIC18的I/O--lat寄存器的解释

上一篇:PIC16F877A串口发送
下一篇:基于PIC16F877的四位数码管动态显示PROTEUS仿真

推荐阅读最新更新时间:2024-03-16 15:19

相信开发的力量I在手机上“种蘑菇”,HarmonyOS助力打造智慧农业种植系统
官网摘要: 不同于以往传统的种植应用,王丹团队打造的“蘑菇实验室”,是一个全场景多设备协同的智慧农业种植系统,通过华为的助力,可以在手机上“种蘑菇”,为未来农业发展创造更多可能。 在王丹的家乡,黑龙江省,种蘑菇并不是一件容易的事情。传统的家庭种植大多依托于人力劳动,不仅要实时根据天气、温度等外部因素加大投入劳动,还会因为传统工具(如测温工具、防寒工具等)影响收成。 而不同于以往传统的种植应用,王丹团队打造的“蘑菇实验室”,是一个全场景多设备协同的智慧农业种植系统,基于HarmonyOS开发板、各类传感器及农机设备控制等集成,具备跨设备多端部署、无障碍自由分享、多场景应用互联等优势。不仅如此,基于HarmonyOS分布式技术
[嵌入式]
相信开发的力量<font color='red'>I</font>在手机上“种蘑菇”,HarmonyOS助力打造智慧农业种植系统
Molex发布 BiPass™ I/O 和背板线缆组件
 Molex首次推出新型的 BiPass™ I/O 和背板线缆组件。BiPass I/O 和背板组件将 QSFP+、Impel 或接近 ASIC 规格的连接器与双股线缆结合到一起,为印刷电路板的布线提供一种低插入损耗的替代方法,能够满足 112 Gbps 速率的脉冲调幅(PAM-4)协议的要求。   为了满足当今行业中不断提高的要求,数据中心以及从事 TOR 交换机、路由器和服务器设计的其他客户,需要 I/O 和背板连接能够具备较高的带宽速度与效率,同时确保在紧密封装的电路中提供适宜的热管理功能而不会牺牲信号的完整性。BiPass 组件提供端接的 I/O 端口,通过双股线缆可以连接到高密度、高性能的接近 ASIC 规格的连接器,从
[网络通信]
简洁更易用 Android O开发者预览版上手
Android O预览版现已登陆Google Nexus 6P以及Pixel系列产品,虽然暂时无法确定版本号最终会不会是Android 8.0,不过在预览版中还是看到了未来安卓系统的一个发展方向。从其放出的一些新特性来看,Android O系统更多地是在续航优化以及使用人性化上下功夫,更注重了用户的使用体验,可以说这个系统对用户的使用有较大的改进。   Android O有什么特性   Google为Android O增加了许多的特性,具体现在以下几点:   - 后台限制- 通知分类- 自动填写API- 画中画- XML下全字体支持- 自适应图标- 广色域支持- 通讯接口- 键盘导航- AAudio API支持- WebView加
[手机便携]
基于1394总线通信的I/O模块在数控系统中的应用
  数控系统作为数控机床装备的核心关键部件,是决定机床装备的性能、功能、可靠性和成本的关键因素。我国的数控系统技术基础薄弱,高档数控系统基本依赖进口,而相关高档数控系统的开发技术,国外对我国至今仍封锁限制,成为制约我国高档数控机床发展的瓶颈。自主开发高档数控系统迫在眉睫,而其中的关键技术就是数据通信速率的提高。   IEEE 1394最初由Apple公司提出,命名为FireWire(火线),是一种高速串行总线。IEEE(电气和电子工程师协会)在1995年认可FireWire为IEEE1394—1995规范,继而又对该协议中一些模糊的定义加以修正,推出了IEEE 1394a.2000规范,解决了一些兼容性问题。2001年,更新的
[嵌入式]
I2C的 SCL和SDA为什么要上拉
因为允许把多个I2C总线器件连接到总线上,连接到I2C总线上的器件是漏极开路或集电极开路的,可以实现线与功能。同时,因为接了上拉电阻,在总线空闲期间,SDA和SCL都是高电平,可以防止外部干扰造成误启动I2C总线。 按照I2C的规范来讲,SDA和SCL都是需要上拉电阻的。当然如果你主控芯片的两个管脚具有内部上拉并且满足你的速率要求,也是可以省略外部上拉的。 “如果加上拉电阻,阻值根据什么来确定” 根据主控的管脚驱动能力、负载数量、走线长度、传输速率等因素共同决定。对于产品设计而言可以先选取经验参数、而后通过小批量实测波形来确定的。
[单片机]
如何使用示波器解决I2C通信开发中遇到的问题
I2C总线是PHLIPS公司上世纪80年代推出的一种两线式串行总线,最初为音频、视频设备所开发,如今则多在各种嵌入式系统中用于连接微控制器及其外围设备。 I2C总线仅需采用两根通信线(一根为串行数据线“SDA”,一根为串行时钟线“SCL”),而传输速率在高速模式下可达3.4Mbit/s,并且是多主总线。每一个挂接在I2C总线上的I2C器件均可通过唯一的地址进行访问。 在嵌入式系统开发中应用I2C总线可有效缩减元器件面积、改善抗干扰能力及增强设计的兼容性。当然,在享受其设计便利性的同时,信号的复杂性也将提高系统调试的难度。 本文阐述了在实际开发中所遇到的I2C通信问题及使用示波器分析问题和解决问题的方法。 分析过程中采用
[测试测量]
如何使用示波器解决<font color='red'>I</font>2C通信开发中遇到的问题
100%国产物料认证,米尔入门级国产核心板全志T113-i方案
新品!米尔全志国产T113-i系列核心板开发板 自米尔国产全志T113系列的核心板发布以来,这款高性价比、低成本、入门级、高性能的国产核心板咨询不断,配套的开发板已经成交量数百套,深受工程师们的青睐,为了集齐T113全系列的产品,这次米尔发布了基于全志T113-i处理器的核心板和开发板,让广大工程师有了更多的选择。接下来看看T113-i这款国产核心板的性能和优势。 MYC-YT113i国产核心板 真正的国产核心板,100%国产物料认证 核心板采用100%国产物料,经赛宝实验室权威认证,物料自主可控,产品生命周期长,全面验证国产化,终端用户可放心选用。 图:MYC-YT113i国产核心板-物料自主可控认证报
[嵌入式]
100%国产物料认证,米尔入门级国产核心板全志T113-<font color='red'>i</font>方案
uClinux下中断驱动的IO方式
引 言   在32位微处理器逐渐成为嵌入式系统主流的同时,嵌入式应用也变得越来越复杂。许多嵌入式系统都不得不借助于专用的操作系统来支撑自己的应用。uClinux作为类Unix操作系统,继承了Linux的各种优秀的品质,成为首选的嵌入式系统的操作系统。   为自己的设备在操作系统下添加驱动程序,是嵌入式设计必不可少的部分。针对不同的设备类型,选择合适的驱动程序的模式,同样也是十分重要的。通常的设备驱动采用直接I/O的方式,如存储器、看门狗等;而对于象网络这样的数据流设备的驱动,则应该用到中断机制。   本文以uClinux为背景,以一种数据流设备为目标,介绍中断驱动的I/O设备驱动的开发。 1 应用背景 1.1 硬件描述   
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved