《单片机基础教程 教学课件 ppt 作者 杨宏丽 王静霞 第8章》由会员分享,可在线阅读,更多相关《单片机基础教程 教学课件 ppt 作者 杨宏丽 王静霞 第8章(12页珍藏版)》请在金锄头文库上搜索。
1、第 8章 编写汇编语言程序,本章内容,项目引导 将压缩BCD码43H拆分 并显示,项目实施,相关知识,项目分析,压缩BCD码,如何拆分? 运算结果如何查看?,知识1:单片机汇编语言程序设计的基本步骤,(1) 题意分析 (2) 画出程序流程图 。 (3) 分配内存工作区及有关端口地址 (4) 编制汇编源程序。 (5) 仿真调试程序。 (6) 固化程序。,知识2:顺序程序结构,顺序程序结构是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。,项目实施,要求:将压缩BCD码43H拆分成个位和十位两个十进制数据,
2、十位4和个位3分别放入显示缓冲区31H和30H两个单元中,再分别送P2口和P1口显示。 电路:如图8.3,程序框图,项目实施编写程序,编程思路: 取压缩BCD码43H ; MOV A,#43H 取出A的低4位存入30H单元;ANL A,#0FH MOV 30H,A 按位取反; CPL A 送P1口显示; MOV P1,A 取出A的高4位. ,请自己完成程序的编写!,知识3:分支程序结构,分支程序比顺序程序的结构复杂得多,其主要特点是程序的流向有两个或两个以上的出口,根据指定的条件进行选择确定。编程的关键是如何确定供判断或选择的条件以及选择合理的分支指令。 通常根据分支程序中出口的个数分为单分支
3、结构程序(两个出口)和多分支结构程序(三个或三个以上出口)。,分支程序实例,程序框图,要求: 用开关来控制8个信号灯的显 示方式 若开关K0接+5V,8个发光二极管全部处于点亮状态;若开关K0拨到接地状态,8个发光二极管处于“亮灭亮灭亮灭亮灭”状态。 电路:如图8.9,项目实施编写程序,编程思路: 使P3口锁存器置位; MOV P3,#0FFH 读P3口引脚线信号; MOV A,P3 “逻辑与”操作,屏蔽掉无关位;ANL A,#00010000B 判断P3.4是否接地,若是,跳转到NEXT执行;JZ NEXT 否则,P3.4接高电平,点亮所有发光二极管 NEXT: P3.4接地,发光二极管交叉
4、亮灭 ,请自己完成程序的编写!,知识4:循环程序结构,循环结构程序是把需要多次重复使用的程序段,利用转移指令反复转向该程序段,从而大大缩短程序代码,减少占用程序空间,程序结构也大大优化。,循环程序实例,程序框图,要求: 用P1口连接的8个LED模拟霓虹灯的显示方式。编程实现P1口连接的8个LED从P1.0连接的LED顺序亮到P1.7连接的LED。 电路:如图8.16,项目实施编写程序,编程思路: 设置循环次数; MOV R2,#08H 送显示模式字; MOV A,#0FEH 点亮连接P1.0的发光二极管; MOV P1,A 调延时子程序; ACALL DELAY 左移一位,改变显示模式字. 循环次数减1,不为零,继续点亮下面一个二极管 ,请自己完成程序的编写!,