MCS-51单片机指令系统“读-改-写”指令

单片机首先将欲修改的寄存器的内容读回alu,对相应位进行修改,然后再整个写回原来的寄存器地址,完成该功能的指令就叫做“读-改-写”指令。
读锁存器和读引脚的区别在51单片机中“读-修改-写”是单片机内部自己执行的,它发生在写io口的时候,当写io口的时候它先把io的当前状态读回来,根据要写的数据修改读回来的数据,再写到io口;读引脚是直接读引脚的当前状态,当前引脚是高电平,读回来的就是高电平,低电平时读回来的就是低电平
读的两种方式在对并行口p0~p3操作时,这类指令从端口的锁存器读出数据而不是引脚处。
而mov等非“读-改-写”指令,则是从端口的引脚处读数据。
单片机从端口读入数据的通道有两个,一个是从锁存器引入,一个是从输出引脚处引入,分别叫做“读锁存器”和“读引脚”。单片机在进行端口输出时,经常要参考其上一次的输出状态。
例如,需要将连接到端口的led闪烁。编程序时往往需要从输出引脚读前一次的输出状态,将其求反后输出。但如果上次是输出“1”使led点亮,这时候虽然端口上输出逻辑是“1”,但是由于led的二极管作用将输出高电平拉至“0”电平(0.7v左右),通过引脚读进来就是“0”而非“1”了。这样,将“0”求反后输出还是“1”,就起不到使灯闪烁的目的了。但是,如果这时读的不是端口而是锁存器的输出端q,则实现闪烁的功能就正常。上述例子很好地说明了为什么单片机在设置读端口功能后还要设置读锁存器这一功能。
读引脚由传送指令mov实现
读锁存器用到的“读-改-写”指令用 anl p0,a等实现

华为荣耀8怎么样?荣耀8电池不经用,两招提升30%续航能力!依旧完美
固态继电器的原理说明
手机电池制作数字万用表9V电源,ICL7600 DC-DC CONVERTER
一篇易懂的储能连接器制造过程
中国多晶硅产业出现“产能虚拟过剩”
MCS-51单片机指令系统“读-改-写”指令
Kintex-7 FPGA连接DDR3存储器的接口功能演示
麻省理工研究人员开发了一款RFocus“smart surface”
中国电信即将通过董事会人员调整议案
这个国家拒绝华为5G后追悔莫及
凯悌集团的视讯串流解决方案
小白常犯的错误:IGBT的频率的高底取决于散热和电流
红魔3S搭载骁龙855 Plus处理器和UFS3.0闪存可以带来极致的游戏体验
韩荷签署“半导体同盟”协议,致力于缩小技术差距
外星人离我们已不再遥远
一文看懂hx711模块原理图及驱动程序
智能黑科技的新力军,智能魔镜显示屏强势来袭
全球缺芯严重,汽车芯片价格最高翻了20倍
加速度计应用于笔记本电脑硬盘保护
20课:单片机定时/计数器实验