版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 4.1汇编语言应用程序设计的一般格式汇编语言应用程序设计的一般格式 4.2简单结构程序简单结构程序 4.3分支结构程序分支结构程序 4.4循环结构程序循环结构程序4.5子程序结构程序子程序结构程序 第四章第四章 汇编语言程序设计基础汇编语言程序设计基础 4.6*查表程序查表程序 4.7*查键程序查键程序 4.8*LED显示程序设计实例显示程序设计实例4.1.1单片机汇编语言程序设计的基本步骤单片机汇编语言程序设计的基本步骤 1. 设计任务的分析、确定算法或思路设计任务的分析、确定算法或思路 2. 程序的总体设计及流程图程序的总体设计及流程图 3. 编写源程序。编写源程序。可在编译软件下编程(
2、如可在编译软件下编程(如Wave、edwin、记事本等),要求简练、层次清楚、记事本等),要求简练、层次清楚、 字节数少、字节数少、执行时间少等。执行时间少等。 4.源程序的汇编与调试(在编译软件中进行)源程序的汇编与调试(在编译软件中进行) 5.编写程序说明文件编写程序说明文件 例如:例如:4 41 1汇编语言应用程序设计的一般格式汇编语言应用程序设计的一般格式中断中断开始开始NYYNYN键按下?键按下?初始化初始化键扫描键扫描发送编码发送编码判定输出判定输出接收接收第一位?第一位?未位?未位?退出退出延时延时60mS返回返回其中各图标的意义如下:其中各图标的意义如下: 过程框:过程框: 表
3、示程序要做的事表示程序要做的事判断框:判断框: 表示条件判断表示条件判断开始结束框:开始结束框: 表示流程的开始或终止表示流程的开始或终止连接框:连接框: 表示程序流向连接表示程序流向连接换页连接框:换页连接框: 表示流程换页连接表示流程换页连接 程序流向:程序流向: 表示程序的流向表示程序的流向4.1.2 4.1.2 汇编语言程序的设计方法汇编语言程序的设计方法掌握三点掌握三点:1汇编程序的基本结构总是由简单程序、分支程序、汇编程序的基本结构总是由简单程序、分支程序、循环程序、查表程序、子程序、中断程序等结构化循环程序、查表程序、子程序、中断程序等结构化的程序模块有机组成的。的程序模块有机组
4、成的。2划分功能模块进行设计。划分功能模块进行设计。3自上而下逐渐求精。自上而下逐渐求精。4.1.3 4.1.3 常用的伪指令常用的伪指令1标号等值伪指令标号等值伪指令EQU 格式为格式为: : 名字名字 EQU EQU 表达式表达式 意义意义: : 名字名字 = = 表达式表达式例如:自行车里程车速计中的定义例如:自行车里程车速计中的定义 VSDA EQU P1.5 ; EEPVSDA EQU P1.5 ; EEP数据传送口数据传送口 VSCL EQU P1.4 ; EEPVSCL EQU P1.4 ; EEP时钟传送口时钟传送口 DPHH EQU 62H ; DPTRDPHH EQU 62
5、H ; DPTR计数扩展高计数扩展高8 8位位 TH1H EQU 6CH ; TH1H EQU 6CH ; 定时器定时器T1T1扩展高扩展高8 8位位 TH1HH EQU 6DH ; TH1HH EQU 6DH ; 定时器定时器T1T1扩展高扩展高8-168-16位位4.1.3 4.1.3 常用的伪指令常用的伪指令2标号等值伪指令标号等值伪指令DL格式为:格式为: 名字名字 DL 表达式表达式DL伪定义可以重复定义伪定义可以重复定义3数据存储说明伪定义数据存储说明伪定义DB格式为:格式为: (标号)(标号) DB (表达式或数据串)(表达式或数据串)例如:例如:TAB:DB 00H,14H,4
6、5H,0FEH,56H,33H,55H,99H DB 89H,0DFH,55H,66H,77H,88H,23H,65H4.1.3 4.1.3 常用的伪指令常用的伪指令4数据伪定义数据伪定义DW格式为:格式为: (标号)(标号) DW (双字节表达式或数据串)(双字节表达式或数据串)例如:例如:TAB:DW 0013H,1456H,45DFH,0FE12H,5600H5存储区说明伪指令存储区说明伪指令DS格式为:格式为: (标号)(标号) DS (数据表达式)(数据表达式)意义意义: 从标号开始预留空间从标号开始预留空间BASE: DS 0100H ;从标号;从标号BASE开始空出开始空出256
7、个单元个单元4.1.3 4.1.3 常用的伪指令常用的伪指令6程序起始地址伪定义程序起始地址伪定义ORG 格式格式:ORG 16位地址位地址 意义意义: 用来定位程序在用来定位程序在ROM中存放的起始地址中存放的起始地址, 如:如: ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI4.1.3 4.1.3 常用的伪指令常用的伪指令7.内存命名伪定义内存命名伪定义DATA格式格式: 名字名字 DATA 直接地址直接地址意义意义:
8、 给某一内存单元取名给某一内存单元取名,如如:ADDR1 DATA 30HADDR2 DATA 31HADDR3 DATA 32HADDR4 DATA 33H 另外还有另外还有IDATA、XDATA伪定义分别给间接寻址伪定义分别给间接寻址空间内存(空间内存(80H-FFH)和片外()和片外(100H-FFFFH)内存)内存单元命名。单元命名。4.1.3 4.1.3 常用的伪指令常用的伪指令8.位单元命名伪定令位单元命名伪定令BIT格式格式: 名字名字 BIT 位地址位地址意义意义: 给某一位单元取名给某一位单元取名,如如:KEY0BIT P1.0KEY1BIT P1.1FLAG BIT 00H
9、 9.程序结束伪指令程序结束伪指令END格式:格式: END意义:表示程序至此结束,以下行内容不再编译。意义:表示程序至此结束,以下行内容不再编译。4.1.4 4.1.4 单片机汇编语言程序的一般格式单片机汇编语言程序的一般格式;*;程序说明区程序说明区;*定义说明区定义说明区 ;要求放在最前面要求放在最前面;*主程序及中断入口区主程序及中断入口区 ;要求放在第二要求放在第二;*主程序区主程序区 ;随意位置随意位置;*各类子程序或功能程序区各类子程序或功能程序区 ; ;随意位置随意位置;*;中断服务程序区中断服务程序区 ; ;随意位置随意位置;*END;例子例子4.2 4.2 简单结构程序简单
10、结构程序 简单结构程序又叫顺序程序,程序从第一条简单结构程序又叫顺序程序,程序从第一条指令开始一直执行到最后一条,无分支,无循环。指令开始一直执行到最后一条,无分支,无循环。例如双字节加法程序:例如双字节加法程序:4.3 4.3 分支结构程序分支结构程序1单分支结构程序单分支结构程序 单分支结构程序只有一个入口,二个出口,根据条件单分支结构程序只有一个入口,二个出口,根据条件的判断选择出口。例如:的判断选择出口。例如: START: ACALL CLEAR ;调用初始化子程序调用初始化子程序 STAR1: MOV P3,#0FFH ;置置P3口为输入状态口为输入状态 JNB P3.0,FUN0
11、 ; P3.0为为0转转FUN0执行执行 LJMP FUN1 ; P3.0为为1转转FUN1执行执行4.3 4.3 分支结构程序分支结构程序2多分支结构程序多分支结构程序 多分支结构程序指一个入口,多个出口,根据条件选择多分支结构程序指一个入口,多个出口,根据条件选择执行一个程序。例如键功能散转程序:执行一个程序。例如键功能散转程序:MOVDPTR,#KEYFUNTAB ;装入键功能标号首址;装入键功能标号首址JMPA+DPTR ;散转;散转KEYFUNTAB:LJMPKEYFUN00 ;跳到;跳到KEYFUN00LJMPKEYFUN01 ;跳到;跳到KEYFUN01LJMPKEYFUN02
12、;跳到;跳到KEYFUN02.RET;4.4 4.4 循环结构程序循环结构程序 循环结构程序用以控制一个程序多次重复执行,当条循环结构程序用以控制一个程序多次重复执行,当条件条件满足时退出循环。有初始化、循环处理、判断、结束件条件满足时退出循环。有初始化、循环处理、判断、结束处理等组成。例如采用处理等组成。例如采用12MHZ晶振的晶振的513s延时程序:延时程序:DL513: MOV R2,#0FFHDELAY1: DJNZ R2,DELAY1RET4.5 4.5 子程序结构程序子程序结构程序 一些经常要用的程序一般设计成子程序,以便给其它一些经常要用的程序一般设计成子程序,以便给其它程序经常
13、调用。子程序必须具有程序标号,结束必须用程序经常调用。子程序必须具有程序标号,结束必须用RET指令。调用时用指令。调用时用LCALL、ACALL等指令。等指令。例如:延时程序、显示程序等。例如:延时程序、显示程序等。DL513UF: MOV R2,#0FFHDELAY1: DJNZ R2,DELAY1RET4.6 4.6 查表程序查表程序 查表程序用查表程序用MOVC指令,用于访问(查)程序存储器指令,用于访问(查)程序存储器中的固定数表,如用于七段中的固定数表,如用于七段LED数码管显示的程序中就用数码管显示的程序中就用到了查表指令。到了查表指令。例如例如:4.7 4.7 查键程序查键程序
14、具有按键控制功能的单片机应用系统都有查键功能程序,具有按键控制功能的单片机应用系统都有查键功能程序,有简单的顺序查键及复杂的行列式查键。有简单的顺序查键及复杂的行列式查键。例例1:顺序查键程序:顺序查键程序START:MOV P3,#0FFH ;置;置P3口为输入口口为输入口 JNB P3.0,FUN0 ;P3.0口为口为0转转FUN0 JNB P3.1,FUN1 ;P3.1口为口为0转转FUN1 JNB P3.2,FUN2 ;P3.2口为口为0转转FUN2 JNB P3.3,FUN3 ;P3.3口为口为0转转FUN3 AJMP START ;转;转START循环循环例例2:32键行列式查键程
15、序(键行列式查键程序(48) 4.8 4.8 显示程序显示程序 LED七段数码管显示程序采用动态扫描法,先将要显示七段数码管显示程序采用动态扫描法,先将要显示的数据通过查表得到段码数据,然后放入输出口,再将相应的数据通过查表得到段码数据,然后放入输出口,再将相应的数码管点亮,以此循环。以下是一个四位的数码管点亮,以此循环。以下是一个四位LED共阳数码管共阳数码管显示程序,用显示程序,用P1口及口及P3口作显示扫描口,数据在口作显示扫描口,数据在P1口输出,口输出,列扫描在列扫描在P3.0-P3.3口。口。 显示程序例子显示程序例子LED显示内存中8个数据的程序功能要求功能要求 (1)能显示内存
16、70H-77H中的数据(1-8)(2)能显示小数点(百位及万位位置显示两个小数点)(3)某位能闪烁(4)能用按键改变数据用动态扫描法显示内存中8个数据的程序4.8 LED4.8 LED显示实验板硬件电路显示实验板硬件电路GND20VCC40P1.0/T21P1.1/T2 EX2P1.23P1.34P1.4/SS5P1.5/MOSI6P1.6/MISO7P1.7/SCK8RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119P2.021P2.122P2.223
17、P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039U312Y112MC233pFC333pFC110uFVCC123456789RP11KC90.1uF12345678910P1SCKMISORSTMOSISSRXDTXDLS1SpeakerbcdefSCKMISORSTMOSISSRXDTXDDS1VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1C10100uFSPKP3.6SPKVout3Vin1GN
18、D2U17805C4470uFC6470uFC50.1uFC70.1uFDS17VCCP3.2P3.3P3.4P3.5gdp123P2+5V+3VC810uF+5V+3VVCCVCCVCCVLEDVLEDP3.0P3.1P3.2P3.3P3.4P3.5P3.6VCCRSTf10g5e1d2A29c4DP3b7a11A112A46A38DS18P3.7P3.7VCCDSP1R1R2R3R4R5R6R7R8680OE11A12A24A36A48Y412Y314Y216Y118Y83Y75Y67Y59GND10A511A613A715A817OE219VCC20U4MC74HC244DSP1DSP2DSP3DSP4DSP5DSP6DSP7DSP8DSP2DSP3DSP4DSP5DSP6D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广西信息职业技术学院单招职业技能测试题库附答案详解(考试直接用)
- 2026年广州城建职业学院单招职业适应性考试题库含答案详解(达标题)
- 2026年广东食品药品职业学院单招职业技能测试题库带答案详解(夺分金卷)
- 2026年广西培贤国际职业学院单招综合素质考试题库完整答案详解
- 2026年广东省汕尾市单招职业适应性考试题库含答案详解(典型题)
- 2026年广州城市职业学院单招职业技能考试题库及一套答案详解
- 2026年广西信息职业技术学院单招综合素质考试题库含答案详解(新)
- 2026年山西省大同市单招职业适应性测试题库含答案详解(综合题)
- 2026年广东水利电力职业技术学院单招职业适应性测试题库带答案详解(模拟题)
- 2026年山西运城农业职业技术学院单招职业适应性测试题库附参考答案详解ab卷
- 高考语文专题复习:辨析并修改病句
- 钱大妈加盟合同协议
- 濒危野生动植物种国际贸易公约CITES附录I附录II和附录
- 2025年新高考全国Ⅰ卷英语模拟试卷(含答案)
- 2024年江苏农牧科技职业学院高职单招语文历年参考题库含答案解析
- 《工业机器人现场编程》课件-任务1.2.2-1.2.3手动操作工业机器人
- 围手术期护理人文关怀
- 《传动系统概说》课件2
- XTTS数据迁移方案V3
- 个人投资资金合同模板
- 企业信息咨询服务合同
评论
0/150
提交评论