基于80C51单片机位寻址编程

2020-05-26来源: elecfans关键字:80C51  单片机  位寻址编程

80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。


位寻址的范围,也就是哪些部份可以进行位寻址:


1、我们在学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。


这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。


2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。

基于80C51单片机位寻址编程

专用寄存器的位寻址表示方法:


下面我们以程序状态字PSW来进行说明

D7

D6

D5

D4

D3

D2

D1

D0

CY

AC

F0

RS1

RS0

OV

P


1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H
MOV C,D5H

2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示

MOV C,F0

3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5

MOV C,D0H.5

4、专用寄存器符号加位表示:例如PSW.5

MOV C,PSW.5

这四种方法实现的功能都是相同的,只是表述的方式不同而已。

关键字:80C51  单片机  位寻址编程 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic498303.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于51单片机i2c多字节的读写
下一篇:基于单片机的红外线遥控系统

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

80C51单片机的指令系统(一)程序设计语言和指令
目标程序。例如, 要做 " 10+20" 的加法, 在51中可用机器码指令编程:01110100            00001010       把10放到累加器A中;00100100           00010100       A加20,结果仍放在A中。       汇编语言是由一系列描述计算机功能及寻址方式的助记符构 成,与机器码一一对应,用汇编语言编写的程序必须经
发表于 2019-06-28
<font color='red'>80C51</font>单片机的指令系统(一)程序设计语言和指令
80C51单片机的指令系统(三)80C51单片机指令系统
;  A,    60H  ;(A)<---(60H),目的操作数为寄存器寻址MOV    0E0H,    60H ;(A)<---(60H),目的操作数为直接寻址MOV    09H,    #40H ;(09H)<---40H,目的操作数为直接寻址MOV    R1,    #40H   ;(R1)<---40H,目的操作数为寄存器寻址【例4-19】 分析程序的执行结果。设内部RAM中30H单元的内容为80H,试分析执行下面程序后各有关
发表于 2019-06-28
<font color='red'>80C51</font>单片机的指令系统(三)<font color='red'>80C51</font>单片机指令系统
80C51单片机的指令系统(二)寻址方式
地址, 寻址范围为2KB;addr16:    16位目的地址, 用在LCALL或LJ MP指令中, 表示调用或转换地址, 寻址范围为64KB;rel:   8位偏移量, 用补码表示, 用在SJMP等转移指令中, 寻址范围为 - 128-- + 127;bit:   表示位寻址空间中的位地址, 8 位, 寻址范围为0-- FFH。4.2.2   80C51单片机指令系统的寻址方式:1、立即寻址---是指操作数在指令操作数域直接给出:操作数域直接给出:2、直接寻址---是指操作数的地址直接在指令操作数域给出:可访问3 种地址空间(1)内部RAM低128单元
发表于 2019-06-28
<font color='red'>80C51</font>单片机的指令系统(二)寻址方式
【知识点】80C51单片机的内部结构
单片机按存储结构可分为二类:一类是哈佛结构,另一类是普林斯顿结构。哈佛结构所谓哈佛结构是指程序存储器地址空间与数据存储器地址空间分开的单片机结构,如80C51单片机采用哈佛结构,所以80C51单片机的程序存储器地址空间与数据存储器地址空间是分开的,各有64K存储空间。普林斯顿结构所谓普林斯顿结构是指程序存储器地址空间与数据存储器地址空间合并的单片机结构,如MCS-96单片机采用普林斯顿结构,所以MCS-96单片机的程序存储器地址空间与数据存储器地址空间是合并的,共有64K存储空间。1.单片机的CPU 图1是80C51单片机的内部结构框图。若除去图中的存储器电路和I/O部件,剩下的便是CPU。它可以分为运算器和控制器两部分
发表于 2018-10-07
【知识点】<font color='red'>80C51</font>单片机的内部结构
基于80C51单片机——中断小结
最近看了一下80C51单片机的中断部分的实验,做一些笔记,方便以后学习查找。 首先说一下什么是中断吧,中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设(外部设备)请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去执行相应的服务处理程序;当服务处理程序运行完毕之后,CPU再返回到暂停处继续执行原来的程序。那什么是中断嵌套呢?简单点说就是低优先级的中断可以被高优先级的中断源所中断,等高优先级中断服务程序结束后,再返回去执行被中断的的低优先级的中断服务程序。举个简单的栗子吧(之前写过但不知道怎么删了,,又让我重新编辑):比如我们就是一个CPU,我们当前在洗衣服(当前程序),突然电话铃声响了(中断来了
发表于 2018-07-16
AVR单片机EEPROM学习
生活中我们经常会犯眼高手低的毛病,很多东西看着别人弄很容易,但轮到自己的时候就会发现其实没有想象中的简单。学完51单片机时,我以为小小的单片机无非就是进行一些IO口的控制罢了,但今天在进行AVR系列单片机学习的时候,才发现原来单片机还有很多的不同,自己原来掌握的东西还远远不足,所以无论到什么时候只有虚心学习,不断努力才能真正的掌握一门技术,学习的过程也是自己人格丰富的过程。下面来说说对EEPROM学习的一些感受。AVR单片机内部已集成了512kb的EEPROM,对EEPROM的操作比51单片机相对简单一些。写EEPROM操作:读操作:主函数将记录打开开发板的次数,将开机数送EEPROM保存,开机后使用LED显示开发板的启动次数
发表于 2020-06-07
AVR单片机EEPROM学习
小广播
何立民专栏 单片机及嵌入式宝典

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

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