2019-01-05 常用接口、指令系统

8051/8751的最小系统

存储器概述

  • 存储器分类

  • ROM

ROM是只读存储器, 具有非易失性,即掉电后其上的信息不消失,常常用于存储程序和固定的数据表格

  • RAM

RAM是随机读写存储器,信息由CPU通过MOVX指令读写。 RAM具有易失性,即掉电后其上的信息消失,故用于存储临时性数据

  • MCS51单片机存储器扩展

  • 线选法
    直接以系统的地址位作为存储芯片的片选信号
    优缺点:简单明了,且不需增加电路。但存储空间的使用是断续的,不能有效地利用空间,扩充容量受限,只适用于小规模系统的存储器扩展

  • 译码法
    对系统的高位地址进行译码,以其译码输出作为片选信号。高效率地利用存储空间,适用于大容量多芯片扩展
    常用的译码芯片有:74LS139(双2-4译码器)、74LS138(3-8译码器)和74LS154(4-16译码器)等

MCS51指令系统

  • 符号说明

  • 寻址方式

  • 直接寻址

指令码中含有操作数的地址, 根据操作数的地址直接可以找到操作数

  • MOV A, 32H ;(0E532H)
  • 在MCS -51 单片机指令系统中, 直接寻址方式中可以访问 2种存储器空间:
    1. RAM的低 128 个字节单元(00H~7FH)
    1. 特殊功能寄存器。 特殊功能寄存器只能用直接寻址方式进行访问
  • 立即寻址

指令码中含有操作数

MOV A, #05H ;(7405H)

  • 寄存器寻址

指令码中含有操作数的寄存器号,MCS-51根据该寄存器号可以找到操作数

MOV A, R0 ;(0E8H)

  • 寄存器间接寻址

指令码中含有操作数地址所在的寄存器号。MCS-51根据指令码中的寄存器号便可以找到操作数地址,再根据操作数地址便可以找到操作数

MOV R0, #3AH ;(783AH)
MOV A, @R0 ;(0E6H)

  1. 寄存器间接寻址只能使用寄存器R0、R1 作为地址指针,寻址内部RAM区的数据;当访问外部RAM时, 可使用R0、 R1及DPTR作为地址指针
  2. 寄存器间接寻址符号为“@”
  3. 寄存器间址不可以访问SFR
  • 变址寻址

  1. 指令码内隐含基地址寄存器DPTR/PC的寄存器号;
  2. 基地址寄存器DPTR/PC内含有基地址,累加器A中含有地址偏移量rel;
  3. 操作数地址=基地址+地址偏移量
  • 这种寻址方式用于访问程序存储器中的数据表格

MOVC A, @A+DPTR ;(93H )
MOVC A, @A+PC ;(83H)

  • 相对寻址

相对寻址不是要找操作数,是寻找将要执行的指令所在的目标地址。MCS-51中的间接转移指令采用这种寻址方式,是以PC的内容为基本地址, 加上指令中给定的偏移量作为转移地址。指令中给出的偏移量是一个 8 位带符号的常数, 其范围为-128~+127

SJMP 80H ;(8080H)

  • 位寻址

指令码中含有位地址,操作数是八位二进制数中的某位

SETB 00H ;(D200H)

  • 位寻址指令中位地址的表示方法
    1. 直接位地址: SETB 07H
    1. 采用第几单元第几位: SETB 20H.7
    1. 寄存器名+位数: MOV ACC.7, C
    1. 用伪指令定义
  • 寻址方式对比

  • 习题

(a) immediate (g) direct addressing
(b) direct addressing (h) direct addressing
(c) direct addressing (i) register indirect
(d) immediate (j) direct addressing
(e) direct addressing (k) register indirect
(f) immediate

  • 数据传送类指令

  • 内部数据传送指令速记图

数据传送类指令可以实现片内RAM之间;A与片外RAM及ROM之间的数据传送,只要不对PSW进行直接操作,不影响标志位

  • 立即型数据传送指令

  • 直接型数据传送指令

  • 寄存器寻址型数据传送指令类

  • 寄存器间接寻址型数据传送指令类

  • 习题

(a) 立即数大于255,超界!属于逻辑错误;(b)OK;(c)OK;(d)原因同(a);(e)OK
(f)OK。当十六进制数以字母开头时,前面加0,否则程序编译时提示“句法错误”。
(g)非法的工作寄存器,合法的只有R0~R7

  • 小结

  • 外部ROM/RAM数据传送指令

  • DPTR赋值指令

MOV DPTR, #2000H

  • 对外部RAM的数据传送指令

  • 片外数据存储器不能直接寻址
  • 对外部ROM的数据传送指令

  • 作用:又称查表指令,可直接求取常数表中的函数值或存放系统的不变参数
  • DPTR为基址寄存器: 查表范围为 64KB 程序存储器任意空间,称为远程查表指令
  • PC为基址寄存器: 常数表只能在查表指令后256B范围内。(PC内容为下一条指令的起始地址。)
  • MOVX和MOVC区别

  1. MOVC是与ROM之间的数据传送,而MOVX是与外部RAM数据传送;
  2. MOV就是移动的意思,C就是Code,代码的意思,X就是eXternal,外部的意思 MOVC就是读代码存储器,MOVX就是读写外部存储器,即外部RAM ;
  3. MOVC是读取ROM中的数据,只能读不能写(一般来说主要是用来读取常量或常量表) MOVX是读写外部扩展的RAM和扩展的IO口,可以读也可以写
  • 数据交换指令速记

  • 累加器高低4位交换指令

XCH A, Rn
XCH A, Direct
XCH A, @Ri
SWAP A

  • 半字节交换指令

XCHD A, @Ri
把累加器A中低4位和Ri中地址所指单元中低4位交换

  • 位操作类指令速记图

  • 除位传送类指令外,数据传送类不影响进位标志Cy和AC,但是会影响奇偶标志P
  • 算术运算指令

  • 加法指令

  • 不带进位位的加法指令

ADD A , #data8\direct@Ri\Rn

  • 带进位位的加法指令

ADDC A , #data8\direct@Ri\Rn
指令中的所加的Cy为指令执行前原有的Cy的内容,执行后所形成新的Cy保留在PSW中

  • 加1指令

INC A\direct@Ri\Rn\DPTR

  • 不论两操作数是否带符号,机器均按带符号数运算
  • 减法指令

  • 减法指令

SUBB A , #data8\direct@Ri\Rn
所有减法指令都是带减进位位的

  • 减1指令

DEC A\direct@Ri\Rn

  • 乘法指令

MUL AB ;AXB=BA

  • 除法指令

  • 逻辑及移位类指令

  • 控制转移类指令

  • 条件转移指令

  • 调用与返回指令

  • 子程序返回指令

RET
用途: 子程序末尾、返回主程

  • 中断返回指令

RETI
用途:中断程序尾、返回断点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,783评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,396评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,834评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,036评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,035评论 5 362
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,242评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,727评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,376评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,415评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,463评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,140评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,734评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,809评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,028评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,521评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,119评论 2 341

推荐阅读更多精彩内容