当前位置:首页 > 单片机 > 单片机
[导读]用pic16的时候设计端口操作时,一般也就涉及一个trisx和portx寄存器,trisx用来设置端口方向,portx用来写数据和读取数据,开始玩pic18的时候发现端口操作的时候多了一个latx寄存器,而它偏偏又和portx这么像,刚开始

用pic16的时候设计端口操作时,一般也就涉及一个trisx和portx寄存器,trisx用来设置端口方向,portx用来写数据和读取数据,开始玩pic18的时候发现端口操作的时候多了一个latx寄存器,而它偏偏又和portx这么像,刚开始的时候确实蒙了。后来看看数据手册里面的io结构框图,慢慢才明白了lat寄存器的作用。下面先上图:16和18的io结构框图,取自数据手册

pic18:

pic16:


从上图可以看出,在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里面。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Android O是Android下一个大动作,Google将努力确保它已准备好首次公开发布。 经过一系列开发人员的预览后,Google希望在8月21日举行的正式发布会上向公众带来最新的Android亮点。

关键字: Android eclipse google o project megamovie

直到2007年,计算主要集中在台式计算机上,从一个房间那么大的计算机到重达几磅的设备。 您可以轻松携带。 在2007年,无论是否喜欢iPhone,iPhone都将永远改变个人计算方式。 随着iPhone的推出,计算已逐渐...

关键字: Android o oreo kathasis

时机已到,Google I / O全面展开。 几个月前,当Google决定放弃新版本的Android N时,Android发烧友受到了沉重打击。

关键字: Android google i n o

Google今天发布了Android O的第一个开发人员预览版。

关键字: Android developer o preview

Google一直在努力改善Android。 根据一份有关业务发展步伐的新报告,Google目前正在重点开发Android O上可能无法提供的许多智能功能。

关键字: Android gboard o yelp

近年来,Google已经采取许多方法来加快为智能手机制造商引入操作系统更新。 但是,它们都没有真正发挥作用,OEM仍需要花费数月的时间在其设备上启动Android更新。

关键字: Android o oem project treble

Google已发布Android O,这是Android的下一版本。作为Android Nougat的继任者,Android O现在可作为第一个预览版本供开发人员使用。首次预览版本仅适用于开发人员,由于可能存在许多错误,...

关键字: Android google o 屏幕截图

该应用程序就绪的ARM平台首次在载板上整合了支持MIPI摄像头所需的全部部件,使Basler等嵌入式视觉设备合作商的摄像头技术可以即插即用。

关键字: i mx 康佳特

i.MX RT600跨界微控制器 (MCU) 上市,这是一款面向音频、语音和机器学习等超低功耗、安全边缘应用的理想解决方案。

关键字: i mxrt600

AT89S51单片机共有4个双向的8位并行I/O口,分别记为PO、Pl、P2和P3,其中输出锁存器属于特殊功能寄存器。端口的每一位均由输出锁存器、输出驱动器和输入缓冲器组成,这4个端口除了按字节输入/输出外,还可以按位寻...

关键字: at89s51 i o口 并行
关闭
关闭