51单片机学习资料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片微机原理及应用》教学课件
存储器配置(片内RAM)

89C51片内RAM 128字节(00H—7FH) 89C52片内RAM 256字节(00H—0FFH)
只能寄存器间接寻址
FFH FFH
52子系列才有
的RAM区
SFR分布在 80H-FFH 其中92个位 可位寻址
89C52 256字节 89C51 128字节
单片微机原理及应用》教学课件
在本单片机中访问特殊功能寄存器SFR只能采用直 接寻址方式的原因:SFR分布在80H~0FFH范围 内,而52系列单片机有256字节的片内RAM,其中 的80H~0FFH的RAM与SFR所占地址重叠。 于是规定: 80H~0FFH范围内的RAM只能用寄 存器间接寻址方式,而SFR只能用直接寻址方式。 从而解决了地址冲突的问题。例如: MOV A, 90H 等效于 MOV A, P1 属直接寻 址 MOV A, @R0 ;[事先已知 (R0) = #90H ] 执行的操作:A ←(90H) 属寄存器间接寻址, 随意写的指令如:MOV A, 85H 则是非法的!
80H 7FH
80H
普通RAM区
30H 2FH 20H 1FH 00H
只能直接寻址
位寻址区 工作寄存器区
单片微机原理及应用》教学课件
Байду номын сангаас
变址寻址——(P.47) 也称为: 基址寄存器+变址寄存器间接寻址 以16位的地址指针寄存器DPTR或 16位的PC寄存 器为基址寄存器,以累加器 A 为变址寄存器,两者 中的“内容”形成一个16位的“地址”,该“地址” 所指的存储单元中的内容才是操作数。
注意: 1 )“当前 PC 值”指程序中下一条指令所在的首地 址, 是一个16位数; 2)符号“rel”表示“偏移量”,是一个带符号的单字 节数 ,范围是:-128— +127(80H —7FH), 在实际编程中,“ rel ” 通常用标号代替
单片微机原理及应用》教学课件
位寻址——(P.48) 指令中直接给出了操作数所在的位地址。 例: CLR P1.0 ;(P1.0) ← 0 SETB ACC.7 ;(ACC.7)← 1 CPL C ;( C )← NOT( C ) 注意: 1)位地址里的数据只可能是一个 0 或 1 2)有的位地址十分明确,如 P1.0, ACC.7等, 有的位地址则“不太明确”,如: [MOV A,17H ; (A)←(17H),17H是字节地址] MOV ACC.0,17H ;(ACC.0)←(17H),这里ACC.0 是位地址所以该指令中的17H是22H单元的第7位
P47 例 :[ 设 : A 中 已 存 有 #A4H , DPTR 中 已 存 有 #1234H] MOVC A,@A+DPTR;(A)←((A)+(DPTR)) 操作:将 A4H+1234H=12D8H 单元中的数放进累 加器A
单片微机原理及应用》教学课件
相对寻址——(P.47) 当前PC值加上指令中规定的偏移量 rel,构成实际 的操作数地址 例: SJMP rel 操作:跳转到的目的地址 = 当前16位PC值 + rel
第二讲:指令与编程
本讲重点: 寻址方式;
MCS-51指令集;
伪指令;
汇编语言与简单程序设计.
单片微机原理及应用》教学课件
第三章 指令系统及程序设计(P.43)
51系列单片机指令集含有111条指令
每条指令在程序存储器ROM中占据一定的空间, 以字节为单位。按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 每条指令在执行时要花去一定的时间,以机器 周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条)
注意:符号“#”表明其后跟的是立即数, 立即数——就是数字量本身。
单片微机原理及应用》教学课件
寄存器间接寻址——(P.46) 寄存器中的内容是一个地址,由该地址单元 寻址到所需的操作数 例:[ MOV R1,#30H ,#30H ;(R1)← ;(R1)← 立即数30H ] MOV @R1,#0FH ;(30H)←立即数0FH MOV A,@R1 ;(A)←((30H))=#0FH 注意: 1)“间接”表示某寄存器中的“内容”只是一个 “单元地址”,这个地址单元中存放的数据才是 要找的“操作数”。 2 )符号 “ @” 表示“在 …” ,其含 义与读 音皆同 “at”。
单片微机原理及应用》教学课件
直接寻址——(P.46) 指令中直接给出了操作数所在单元的地址或名称 例:MOV R1,1FH ;(R1) ←(1FH) MOV 30H,4AH ;(30H)←(4AH) 在本单片机中规定:访问特殊功能寄存器SFR 只能采用直接寻址方式。例如: MOV A, SP ; (A) ←(SP) MOV 相同 A, 81H ; (A) ←(SP) MOV P1, #5AH ; (P1)←(#5AH) MOV 相同 90H,#5AH ; (P1)←(#5AH) MOV B, 30H ; (B) ←(30H) SFR的地址见 P.33表
单片微机原理及应用》教学课件
ASM-51指令的格式(P.44)
[标号:]操作码 [目的操作数][,源操作数][;注释]
方括符[ ]表示可选项
标号代表指令所在地址,1-8个字母/ 数字,“ :”
结尾 操作码就是指令功能助记符,指令实体 目的操作数 源操作数 注释,以“;”开头
寄存器寻址——(P.45) 从寄存器中读取操作数或存放操作数进寄存器 例:MOV A,B ; (A) ←(B) MOV 30H,R0 ;(30H)←(R0) MOV A,R1 ; (A) ←(R1)
单片微机原理及应用》教学课件
立即寻址——(P.45) 操作数直接就出现在指令中 例:MOV A,#64H ;(A)← 立即数 64H ADD A,#05H ;(A)←(A)+立即数 05H
单片微机原理及应用》教学课件
51单片机指令的寻址方式(P.45)
寻址方式:指令按地址获得操作数的方式 七种寻址方式,一条指令可能含多种寻址方式
寄存器寻址
立即寻址
寄存器间接寻址 直接寻址 变址寻址(基址寄存器+变址寄存器间接寻址) 相对寻址 位寻址
单片微机原理及应用》教学课件
相关文档
最新文档