单片微机原理系统设计与应用 笔记(13)

发布时间:2021-06-07

万福君、潘松峰

负载试运行、
14、 修改并完成电路设计和程序设计
15、 制作样机进行考机
16、 编制设计文件
(1) 整理设计任务书
(2) 整理硬件设计图纸及硬件资源分配说明
(3) 整理程序流程图、数据分配表和程序清单
(4) 书写系统设计技术说明书
(5) 书写系统使用说明书
(6) 书写软件维护说明书
17、 产品定型

五、 程序设计的方法及程序设计的格式
1、 使用伪指令定义数据,使程序易读
常用伪指令:EQU、DL、DB、DW、ORG、END等
由于各种语言的编译程序要求的标准不同,伪指令稍有差别
2、 程序中标号的使用比较灵活,即可表示一个立即数,也可表示一个存储器地址、还可表示一组数据的首地址,等等。熟练的使用标号可大大提高编程的效率和速度。
3、 汇编程序的语句包括几个字段
(1) 标号:
(2) 指令或伪指令
(3) ;注释
4、编程的规则:
(1) 数据定义
(2) 程序开始地址定义
(3) 中断矢量表定义
(4) 硬件初始化程序
(5) 数据初始化程序
(6) 功能程序循环体
(7) 中断服务程序
(8) 通用子程序库
(9) 数据表定义
(10) 其它
5、使用子程序实现结构化编程方法
利用主循环体的功能程序将中断程序和各种子程序组合,组成大的应用程序


第二节∶程序结构类型
一、 简单(顺序)结构程序
不带分支,顺序执行(见P108例1)顺序结构程序是最基本的程序结构,各种结构的程序都是在其基础上形成的。
例1:ORG 1000H
F1:MOV R0,#22H;设置结果存放的地址的指针
MOV @R0,#0;清空结果存放单元
MOV A,20H;取BCD码数据
XCHD A,@R0;置换低四位
ORL22H,#30H;低位BCD码转换为ASCII码
SWAPA;准备高位BCD码
ORL21H,#30H;高位BCD码转换为ASCII码
MOV21H,A;保存高位ASCII码
RET

例2:ORG 1000H;子程序方式
F2:MOV R0,#21H;设置ASCII码存放的地址的指针
MOV R1,#20H;设置BCD码存放的地址的指针
CALLF3
……

ORG2000H
F3:CLRA;两位BCD码转ASCII码子程序
;R0存放ASCII码低地址指针
;R1存放BCD码地址指针
;占用A、R0、R1寄存器
MOV @R0,A;清空结果存放单元
MOV A,@R1;取BCD码数据
XCHD A,@R0;置换低四位
XCHA,@R0;先处理低位
ORLA,#30H;低位BCD码转换为ASCII码
XCHA,@R0;低位ASCII码放低位地址
INCR0;移动指针到高位
SWAPA;准备高位BCD码
ORLA,#30H;高位BCD码转换为ASCII码
MOV@R0,A;保存高位ASCII码至高位地址

RET
二、 分枝程序
(1) 简单条件分支P111
单一条件转移
例:数据排序—将30H和31H中的大数放在31H中,
小数放在30H中
PX:CLRC;清除标志位,准备减法
MOVA,30H;
SUBBA,31H;30H中的数据与31H中的
;数据

单片微机原理系统设计与应用 笔记(13).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219