单片机程序设计.ppt
《单片机程序设计.ppt》由会员分享,可在线阅读,更多相关《单片机程序设计.ppt(35页珍藏版)》请在三一办公上搜索。
1、第三章 单片机程序设计,3-1 程序设计简介3-2 顺序程序的设计3-3 分支程序的设计3-4 循环程序的设计3-5 常用子程序介绍3-6 查表程序的设计,项目引入,1.项目描述将09这十个数循环送P1口七段LED上显示。2.硬件电路与工作原理让学生根据任务分析硬件要求,画出具体电路,并在实验开发板上接线3.程序设计(给出控制程序),8051,START:ORG 0100H MAIN:MOV R0,#00H MOV DPTR,#TABLE DISP:MOV A,R0 MOVC A,A+ADPTR MOVP1,A ACALLDELAY INCR0 CJNER0,#0AH,DISP AJMPMAI
2、N,DELAY:MOVR1,#0FFH LOOP0:MOVR2,#0FFHLOOP1:DJNZR2,LOOP1 DJNZR1,LOOP0 RETTABLE:DB0C0H,0F9H,DB0A4H,0B0H DB99H,92H DB82H,0F8H DB80H,90H END,LED显示电路控制程序,单片机汇编语言程序设计的基本步骤如下:(1)题意分析。熟悉并了解汇编语言指令的基本格式和主要特点,明确被控对象对软件的要求,设计出算法等。(2)画出程序流程图。编写较复杂的程序,画出程序流程图是十分必要的。程序流程图也称为程序框图,是根据控制流程设计的,它可以使程序清晰,结构合理,便于调试。(3)分配
3、内存工作区及有关端口地址。分配内存工作区,要根据程序区、数据区、暂存区、堆栈区等预计所占空间大小,对片内外存储区进行合理分配并确定每个区域的首地址,便于编程使用。,3-1 程序设计简介,(4)编制汇编源程序。(5)仿真、调试程序。(6)固化程序。程序编写做到:占用存储空间少;运行时间短;程序的编制、调试及排错所需时间短;结构清晰,易读、易于移植。,按结构化程序设计思想,任何复杂程序都可由顺序结构、分支结构、循环结构等构成。,简单程序也就是顺序程序,它是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。本节
4、通过实例介绍简单程序的设计方法。例3.1 4字节(双字)加法。将内部RAM 30H开始的4个单元中存放的4字节十六进制数和内部RAM 40H单元开始的4个单元中存放的4字节十六进制数相加,结果存放到40H开始的单元中。,3-2 简单顺序程序的设计,(1)题意分析。题目的要求如图3.1所示。,图3.1 例3.1题意分析示意图,ORG 0000H LJMP MAIN MAIN:ORG 0080HMOVA,30HADD A,40HMOV40H,A;最低字节加法并送结果MOVA,31HADDCA,41HMOV41H,A;第二字节加法并送结果,(2)汇编语言源程序。按照双字节加法的思路,实现4字节加法的
5、源程序如下:,MOVA,32HADDC A,42HMOV42H,A;第三字节加法并送结果MOVA,33HADDCA,43HMOV43H,A;第四字节加法并送结果,进位 SJMP$;位在CY中END,例3.2、设在外RAM的60H单元存有1个字节代码,要求将其分解成两个4位字段,高4位存入原单元的低4位,其低4位存入61H单元的低4位,且要求这两个单元的高4位均为0,试编制完整程序。,ORG 0000HLJMP MAINORG 0030HMAIN:MOV R0,#30HMOV R1,#40HMOV R7,#08HLOOP:MOV A,R0MOV R1,AINC R0INC R1DJNZ R7,L
6、OOPSJMP$,解:核心指令 ANL ORG 1000H MODE:MOV R0,#60H MOVX A,R0 MOV B,A ANL A,#0F0H SWAP A MOVX R0,A MOV A,B ANL A,#0FH INC R0 MOVX R0,A SJMP$END,一、分支结构与分支程序设计结构:根据不同的条件,进行相应的处理。通常用条件转移指令形成简单分支结构。如:判(A)=Z 或 NZ,转移 判(CY)=1 或 0,转移 判(bit)=1 或 0,转移 CJNE 比较不相等转移,3-3 分支程序的设计,例3.3、设a存放在累加器A中,b存放在寄存器B中,要求按下式 计算Y值,并
7、将结果Y存于累加器A中,试编写程序。a-b(a0)Y=a+b(a 0),解:本题关键是判a是正数,还是负数;由ACC.7便知。ORG 1000H BR:JB ACC.7,MINUS CLR C SUBB A,B SJMP DONE MINUS:ADD A,B DONE:SJMP END,分支程序实例 1两分支程序设计 例3.4 两个无符号数比较(两分支)。内部RAM的20H单元和30H单元各存放了一个8位无符号数,请比较这两个数的大小,比较结果显示在实验板上:若(20H)(30H),则P1.0管脚连接的LED发光;若(20H)(30H),则P1.1管脚连接的LED发光。如何让LED发光?给该引



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 程序设计

链接地址:https://www.31ppt.com/p-5810499.html