[信息与通信]单片机第1章指令系统

[信息与通信]单片机第1章指令系统

ID:36284469

大小:279.83 KB

页数:66页

时间:2019-05-08

[信息与通信]单片机第1章指令系统_第1页
[信息与通信]单片机第1章指令系统_第2页
[信息与通信]单片机第1章指令系统_第3页
[信息与通信]单片机第1章指令系统_第4页
[信息与通信]单片机第1章指令系统_第5页
资源描述:

《[信息与通信]单片机第1章指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章51单片机指令系统注意:本章为课本第1章、第2章和第3章这三个章节内容的合并1.151单片机的存储系统51单片机以字节为单位进行编址,其内部构造如下图所示:内部程序存储器用来存放编制好的始终保留的固定程序、表格以及常数。51单片机程序存储器由ROM构造,其地址范围多为0000H-0FFFH,存储容量4KB一、内部程序存储器用户在通用计算机上编制完程序,随后便烧录在该ROM中程序储存器以程序计数器PC作为地址指针,初始状态下PC=0000H一旦通电,单片机便从0000H存储单元读取代码并运行内部数据存储器构造如下

2、图所示20H-7FH区间为用户自由使用区00H-1FH区间为通用寄存器组区80H-FFH区间为特殊功能寄存器7FH80H20HFFH内部RAMSFR通用寄存器区1FH00H二、内部数据存储器51单片机指令系统中,所有的操作指令(算术运算、逻辑运算)的操作数只能在此(00H-7FH)地址空间中采用通用寄存器参与运算,速度更快特殊功能寄存器,全称SpecialFunctionRegister,简称SFRSFR的地址范围是80H~FFH,共21个特殊功能寄存器三、特殊功能寄存器SFR又称为专用寄存器,每个SFR都有着特定的

3、作用不同于内部数据存储器,21个SFR离散地分布在51单片机内部四、常用的SFR1、累加器,简称A,常配合运算器进行运算,如下图所示:ALUA内部数据存储器A是运算器使用频率最高的寄存器,许多操作指令只有借助A方能完成1.3特殊功能寄存器2、B寄存器,常用于乘除法运算,其他时候不多用1.3特殊功能寄存器3、P0~P3寄存器,I/O端口寄存器五、外部存储器当内部存储器容量不够时,可通过I/O端口与外部存储器连接,扩展单片机的存储容量。P2和P0都是8位寄存器,两者合并形成16位二进制地址码,访问外部存储器其中,P2为高

4、8位地址,P0为低8位地址请注意外部数据存储器与外部程序存储器的起始和终止地址六、符号约定1、Rn:通用寄存器R0~R7统称2、dir:内部数据存储器地址统称,即20H~7FH段3、#data:十六进制常数统称1.2操作数赋值指令在计算机中,操作数是用来参与运算的具体对象在编程的初始阶段,通常需要定义变量并赋值1、inta;a=5;2、inta;a=b;在C语言中,变量有多种不同的赋值方式,以满足不同场合的需求,例如:3、inta;scanf(“%d”,&a)51单片机指令系统,是一种面向机器的指令系统,操作数是与具

5、体的存储单元呈一一对应关系为操作数赋值,实质就是为某个具体的存储单元赋值在51单片机指令系统中,存储单元也有如下几种赋值方法:1、MOVA,#80HMOV21H,#35HMOVR5,#24H含义:将十六进制常数赋给某个操作数(内部数据存储器的某个存储单元)类似于a=5;语句2、MOVA,25HMOV30H,20H含义:内部数据存储单元相互赋值类似于a=b;语句3、MOVA,P0含义:通过I/O端口,由用户直接为操作数A赋值scanf(“%d”,&a)4、movDPTR,#0FFFHmovxA,@DPTR含义:将外部数

6、据存储器地址编号为0FFFH存储单元的值赋给操作数ADPTR,协助单片机完成对外部数据存储器的访问,它是一个16位寄存器:外部数据存储器51单片机DPTRDPTR与P2、P0功能相当movx@DPTR,A功能:该语句表示将寄存器A中的内容存于以DPTR内容为地址的外部RAM中第二种写法:MOVP2,#0FHMOVR1,#0FFHMOVXA,@R1R0和R1,可用于充当低8位地址寄存器,协助单片机完成对外部数据存储器的访问注意常数#0FFH的写法5、MOVA,#00HMOVDPTR,#2000HMOVCA,@A+DPT

7、R含义:将外部程序存储器中2000H号存储单元的值赋给操作数A教材38页在单片机中,有一类常数永远不需要改变,可存于程序存储器ROM中MOVC@A+DPTR,A写法错误,ROM不可写入PC可代替DPTR完成相同功能单片机中,外部数据存储器和外部程序存储器只能和A累加器进行数据传送赋值语句(传送类指令)总结,参见教材39-40页指令的时间复杂度和空间复杂度,参见教材323页1个时钟周期=1/时钟频率1个机器周期=12个时钟周期习题:1、请将常数#78H赋给寄存器A2、请将R7的值赋给R6中3、请将常数#80H存于外部数

8、据存储器3000H存储单元中?4、编写程序,将外部数据存储器的0005H单元的值赋给寄存器R0?5、编写程序,将外部程序存储器的3005H单元的值赋给20H?6、编写程序,将外部数据存储器的000EH和000FH单元的内容互相交换?1.3算术运算和逻辑运算指令一、常见算术/逻辑运算指令多数算术、逻辑运算指令均以寄存器A为目的操作数ADDC指令涉

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。