单片机程序设计ppt课件.ppt

单片机程序设计ppt课件.ppt

ID:59482317

大小:395.50 KB

页数:47页

时间:2020-09-13

单片机程序设计ppt课件.ppt_第1页
单片机程序设计ppt课件.ppt_第2页
单片机程序设计ppt课件.ppt_第3页
单片机程序设计ppt课件.ppt_第4页
单片机程序设计ppt课件.ppt_第5页
资源描述:

《单片机程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言设计顺序结构分支结构循环结构.3.1汇编语言程序设计方法汇编语言程序设计同高级语言程序设计一样,是有章可循的,只要按照一定的方法步骤去做,程序设计就会变成一件轻松愉快的事情,设计的程序也会规范、清晰、易读、易懂。使用汇编语言设计程序大致上可分为以下几个步骤。1.分析题意,明确要求。2.确定算法。3.画程序流程图。4.分配内存工作单元。5.编写源程序。6.程序优化。7.上机调试。.3.2顺序程序设计【例】程序初始化。初始化就是为变量、寄存器、存储单元赋一初值,是最简单、最常用的操作。如将R0-R3

2、,P1,30H,40H单元初始化为00H,把R4,R5初始化为0FFH。参考程序如下:ORG0000H;PC起始地址LJMPSTART;转主程序ORG0100H;主程序起始地址START:MOVR0,#00H;初始化MOVR1,#00HMOVR2,#00HMOVR3,#00HMOVP1,#00H.MOVR4,#0FFHMOVR5,#0FFHMOV30H,#00HMOV40H,#00HHERE:SJMPHERE;反复执行该指令,相当于等待END用立即数比较直观,但用MOVA,#00H,MOVR0,A指令赋

3、值,效果更好。.【例】逻辑运算。逻辑操作是控制过程中经常使用的,掌握逻辑运算的特点是提高程序效率的重要途径。在逻辑运算中,进位标标志CY的地位很特殊,它是逻辑累加器,大多数逻辑操作要通过CY来完成。用程序实现图4-2所示的逻辑电路功能。图3-2逻辑电路.参考程序如下:ORG0000HLJMPSTARTORG0100HMOVP1,#0FFH;P1口初始化LOOP:MOVC,P1.1ORLC,P1.2;P1.1与P1.2逻辑或运算CPLC;取反ANLC,P1.0;C与P1.0逻辑与运算CPLCMOV07H,

4、C;暂存于07H单元中MOVC,P1.3ANLC,/P1.4;P1.3与P1.4的反逻辑与运算CPLCORLC,07HMOVP1.5,C;把结果在P1.5口输出SJMP$END.3.3分支程序设计分支程序的主要特点是程序包含有判断环节,不同的条件对应不同的执行路径。编程的关键任务是合理选用具有逻辑判断功能的指令。由于选择结构程序的走向不再是单一的,因此,在程序设计时,应该借助程序框图(判断框)来明确程序的走向,避免犯逻辑错误。一般情况下,每个选择分支均需单独一段程序,并有特定的名字,以便当条件满足时实现

5、转移。1.单分支选择结构当程序的判断是二选一时,称为单分支选择结构。通常用条件转移指令实现判断及转移。单分支选择结构有三种典型表现形式。.图3-3单分支选择结构.(a)当条件满足时执行分支程序1,否则执行分支程序2。(b)当条件满足时跳过程序段1,从程序段2顺序执行;否则,顺序执行程序段1和程序段2。(c)当条件满足时程序顺序执行程序段2;否则,重复执行程序段1,直到条件满足为止。由于条件转移指令均属相对寻址方式,其相对偏移量rel是个带符号的8位二进制数,可正可负。因此,它可向高地址方向转移,也可向低

6、地址方向转移。对于第三种形式,可用程序段1重复执行的次数作为判断条件,当重复次数达到某一数值时,停止重复,程序顺序往下执行。这是分支结构的一种特殊情况,这实际是循环结构程序。用这种方式可方便实现状态检测。【例】:LOOP:JBP1.1,LOOP单分支程序一般要使用状态标志,应注意标志位的建立。.【例】设a存放在累加器A中,b存放在寄存器B中,若a≥0,Y=a-b;若a<0,则Y=a+b。这里的关键是判a是正数,还是负数;可通过判断ACC.7确定。ORG0000HLJMPBRORG0100HBR:JBAC

7、C.7,MINUS;负数,转到MINUSCLRC;清进位位SUBBA,B;A-BSJMPDONEMINUS:ADDA,B;A+BDONE:SJMP$;等待END.2.双向分支程序设计举例【例4.3】设X存在30H单元中,根据下式X+2X>0Y=100X=0∣X∣X<0求出Y值,将Y值存入31H单元。解:根据数据的符号位判别该数的正负,若最高位为0,再判别该数是否为0。程序流程如图4-4所示。.A为负数?取数,A←(30H)开始结束A=0?YNNA←

8、X

9、A←64HA←X+2存数,(31H)←A(30H)

10、.参考程序如下:ORG1000HMOVA,30H;取数JBACC.7,NEG;负数,转NEGJZZER0;为零,转ZER0ADDA,#02H;为正数,求X+2AJMPSAVE;转到SAVE,保存数据ZER0:MOVA,#64H;数据为零,Y=100AJMPSAVE;转到SAVE,保存数据NEG:DECACPLA;求∣X∣SAVE:MOV31H,A;保存数据SJMP$;暂停.2.多分支选择结构当程序的判别输出有两个以上的出口流向时,称为多分支

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

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

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