STC单片机汇编语言编程模型

STC单片机汇编语言编程模型

ID:43485922

大小:2.11 MB

页数:168页

时间:2019-10-08

STC单片机汇编语言编程模型_第1页
STC单片机汇编语言编程模型_第2页
STC单片机汇编语言编程模型_第3页
STC单片机汇编语言编程模型_第4页
STC单片机汇编语言编程模型_第5页
资源描述:

《STC单片机汇编语言编程模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章STC单片机汇编语言编程模型何宾2015.02本章主要内容汇编语言程序结构汇编代码中段的分配汇编语言符号及规则汇编语言操作数描述汇编语言控制描述KeilμVision集成开发环境介绍KeilμVision5汇编语言设计流程单片机端口控制汇编语言程序设计单片机中断汇编语言程序设计汇编语言程序结构实际上,所谓的汇编语言程序就是按照一定的规则组合在一起的机器语言助记符和汇编器助记符命令。这些按一定规则组合在一起的汇编语言助记符机器指令,能通过软件开发环境的处理,转换成可以在STC8051CPU上按照设计要求运行的机

2、器代码。汇编语言程序结构NAMEmain;声明模块my_segSEGMENTCODE;声明代码段my_segRSEGmy_seg;切换到代码段my_segTABLE:DB3,2,5,0xFF;声明四个常数myprogSEGMENTCODE;声明代码段myprogRSEGmyprog;切换到代码段myprogLJMPmain;在程序存储器地址0x0000的位置跳转USING0;使用第0组寄存器ORG100H;定位到代码段100H的位置汇编语言程序结构main:MOVDPTR,#TABLE;将TABLE表的地址送;给DPTR寄存器MOV

3、A,#3;将立即数3送到累加器A中MOVCA,@A+DPTR;将(A)+(DPTR)所指向的程序;Flash的内容送给累加器AMOVP1,0;给P1端口清零MOVP1,A;将累加器A的内容送到P1端口END注:进入本书配套资料STC_example例子5-1目录下,打开并参考该设计汇编代码中段的分配在一个由汇编语言所构建的程序代码中,包括:绝大部分代码都是机器语言助记符。这些程序代码中的机器语言助记符经过软件处理后变成机器指令(机器码),然后保存在程序存储器中。通常地,将保存程序代码的区域称为代码段。根据程序设计的复杂度,

4、需要提供代码中所需数据所在的位置。这些需要操作的数可能保存在不同的存储空间中。因此,就需要在程序中明确的说明这些数据所存放的位置。在STC15系列单片机中,提供了片内基本RAM、片内扩展RAM等存储单元。通常地,将保存数据的区域统称为数据段。注:更具体的划分,会根据不同的CPU的结构有所不同。汇编代码中段的分配在运行程序的过程中,可能还需要对8051CPU内功能部件的状态进行保存和恢复操作。前面已经说明,这是由堆栈机制实现的。在这种情况下,就需要明确指出保存这些运行状态的存储空间大小和位置。注:在任何一个程序中,必须要有代码段,

5、而其它段的存在与否,由具体的程序模型决定。汇编代码中段的分配--CODE段CODE段,也称为代码段,它是用来保存程序中汇编助记符描述的机器指令部分。CODE放在STC单片机中的程序Flash存储空间。CODE段可以由MOVC指令,并且通过DPTR寄存器进行访问。汇编代码中段的分配--CODE段代码清单定义和访问CODE段的代码my_segSEGMENTCODE;定义为CODE段RSEGmy_segTABLE:DB1,2,4,8,0x10;定义常数表myprogSEGMENTCODE;定义CODE段RSEGmyprogMOVDPT

6、R,#TABLE;加载TABLE的地址MOVA,#3;加载偏移量MOVCA,@A+DPTR;通过MOVC指令访问END汇编代码中段的分配--BIT段在8051汇编语言中,BIT段可以用来保存比特位,可以通过指令系统中的位操作指令来访问BIT段。注:可以通过位操作指令访问特殊功能寄存器SFR。可位寻址的地址只能是可以被8整除的地址。典型地,包括:80H,88H,90H,98H,0A0H,,0A8H,0B0H,0B8H,0C0H,0C8H,0D0H,0D8H,0E0H,0E8H,0F0H和0F8H地址空间。汇编代码中段的分配--BI

7、T段代码清单定义和访问BIT段的代码mybitsSEGMENTBIT;定义BIT段RSEGmybitsFLAG:DBIT1;保留1位空间P1DATA90H;8051SFR端口1GREEN_LEDBITP1.2;在端口P1的第2引脚P1.2定义符号GREEN_LEDmyprogSEGMENTCODE;定义为代码段RSEGmyprogLJMPmain;无条件跳转到mainORG100H;定位到100H的位置汇编代码中段的分配--BIT段main:SETBGREEN_LED;P1.2=1JBFLAG,is_on;到DATA的直接访问SET

8、BFLAGCLRACC.5;复位ACC的第5位:is_on:CLRFLAGCLRGREEN_LED;P1.2=0END注:进入本书配套资料STC_example例子5-2目录下,打开并参考该设计汇编代码中段的分配--IDATA段

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

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

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