单片机编程3

合集下载

单片机C语言 必知的数据存储与程序编写知识 附单片机应用编程知识介绍

单片机C语言 必知的数据存储与程序编写知识 附单片机应用编程知识介绍

一、五大内存分区内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。

1、栈区(StaCk):FIFo就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。

里面的变量通常是局部变量、函数参数等。

2、堆区(heap):就是那些由new分配的内存块,它们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。

如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

3、自由存储区:就是那些由malloc等分配的内存块,它和堆是十分相似的,不过它是用free 来结束自己的生命。

4、全局/静态存储区:全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。

5、常量存储区:这是一块比较特殊的存储区,它们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)code/data/stack内存主要分为代码段,数据段和堆栈。

代码段放程序代码,属于只读内存。

数据段存放全局变量,静态变量,常量等,堆里存放自己malloc或new出来的变量,其他变量就存放在栈里,堆栈之间空间是有浮动的。

数据段的内存会到程序执行完才释放。

调用函数先找到函数的入口地址,然后计算给函数的形参和临时变量在栈里分配空间,拷贝实参的副本传给形参,然后进行压栈操作,函数执行完再进行弹栈操作。

字符常量一般放在数据段,而且相同的字符常量只会存一份。

二、C语言程序的存储区域1、由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。

编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。

2、C语言编写的程序经过编译-连接后,将形成一个统一文件,它由几个部分组成。

单片机教案(中职打印)

单片机教案(中职打印)

单片机教案(中职打印)第一章:单片机概述教学目标:1. 了解单片机的定义、发展历程和分类。

2. 掌握单片机的基本组成原理和应用领域。

3. 熟悉单片机的发展趋势和未来应用。

教学内容:1. 单片机的定义和发展历程。

2. 单片机的分类和特点。

3. 单片机的基本组成原理。

4. 单片机的应用领域。

5. 单片机的发展趋势和未来应用。

教学方法:1. 讲授法:讲解单片机的定义、发展历程、分类和特点。

2. 案例分析法:分析单片机的应用领域和发展趋势。

教学资源:1. PPT课件:介绍单片机的定义、发展历程、分类和特点。

2. 案例素材:提供单片机在不同领域的应用案例。

教学评价:1. 课堂问答:检查学生对单片机定义、发展历程、分类和特点的理解。

第二章:单片机的基本组成教学目标:1. 掌握单片机的基本组成元件及其作用。

2. 了解单片机的内部结构和外部接口。

3. 熟悉单片机的指令系统和工作原理。

教学内容:1. 单片机的基本组成元件。

2. 单片机的内部结构。

3. 单片机的外部接口。

4. 单片机的指令系统。

5. 单片机的工作原理。

教学方法:1. 讲授法:讲解单片机的基本组成元件、内部结构和外部接口。

2. 实验演示法:展示单片机的指令系统和工作原理。

教学资源:1. PPT课件:介绍单片机的基本组成元件、内部结构和外部接口。

2. 实验器材:单片机实验板和编程器。

教学评价:1. 课堂问答:检查学生对单片机的基本组成元件、内部结构和外部接口的理解。

2. 实验报告:评估学生对单片机指令系统和工作原理的掌握程度。

第三章:单片机编程基础教学目标:1. 掌握单片机编程的基本概念和步骤。

2. 熟悉单片机编程语言和语法规则。

3. 学会使用编程器进行单片机程序的和调试。

教学内容:1. 单片机编程的基本概念和步骤。

2. 单片机编程语言:C语言和汇编语言。

3. 单片机编程语法规则。

4. 编程器的作用和使用方法。

5. 单片机程序的和调试。

教学方法:1. 讲授法:讲解单片机编程的基本概念、步骤和语法规则。

单片机指令大全

单片机指令大全

引言概述:单片机指令是嵌入式系统设计中至关重要的一部分,它们定义了单片机的功能和操作。

本文是单片机指令大全系列的第二部分,旨在提供更多全面的单片机指令信息,帮助读者更好地理解和应用单片机指令。

正文内容:一、移位指令1.逻辑左移指令:将操作数的每一位向左移动一位,并且最低位填充0。

2.逻辑右移指令:将操作数的每一位向右移动一位,并且最高位填充0。

3.算术右移指令:将操作数的每一位向右移动一位,并且最高位保持不变。

4.循环左移指令:将操作数的每一位向左循环移动一位,即最高位移动到最低位。

5.循环右移指令:将操作数的每一位向右循环移动一位,即最低位移动到最高位。

二、逻辑运算指令1.逻辑与指令:对操作数进行逻辑与运算,将两个二进制数对应位上的值进行逻辑与操作。

2.逻辑或指令:对操作数进行逻辑或运算,将两个二进制数对应位上的值进行逻辑或操作。

3.逻辑非指令:对操作数进行逻辑非运算,将二进制数的每一位取反。

4.逻辑异或指令:对操作数进行逻辑异或运算,将两个二进制数对应位上的值进行逻辑异或操作。

5.逻辑移位指令:将操作数进行逻辑左移或右移。

三、算术运算指令1.加法指令:对操作数进行加法运算,并将运算结果保存到指定的寄存器或存储器中。

2.减法指令:对操作数进行减法运算,并将运算结果保存到指定的寄存器或存储器中。

3.乘法指令:对操作数进行乘法运算,并将运算结果保存到指定的寄存器或存储器中。

4.除法指令:对操作数进行除法运算,并将运算结果保存到指定的寄存器或存储器中。

5.移位指令:对操作数进行移位运算,包括算术左移、算术右移、循环左移和循环右移。

四、输入输出指令1.读取输入指令:从指定的输入设备读取数据,并将数据保存到指定的寄存器或存储器中。

2.输出显示指令:将指定的数据从寄存器或存储器中读取,并显示到指定的输出设备上。

3.端口输入指令:从指定的端口读取数据,并将数据保存到指定的寄存器或存储器中。

4.端口输出指令:将指定的数据从寄存器或存储器中读取,并输出到指定的端口上。

单片机实验3 拆字、拼字子程序设计

单片机实验3 拆字、拼字子程序设计

单片机实验3 拆字、拼字子程序设计拆字和拼字是人类阅读、语言学习和表达中的基本技能。

在这个实验中,我们将设计一个单片机程序,通过拆字和拼字的子程序来练习和提高汉字的识别和组词能力。

一、实验目的1. 加深对单片机中汇编语言的理解和掌握。

2. 熟悉单片机的输入、输出、延时等基本指令。

3. 实现汉字的拆字和拼字的子程序,提高汉字识别和组词能力。

二、实验器材1. 单片机开发板(AT89C52)2. 八位数码管3. 九键键盘4. 连接线5. 电脑、Keil C51集成开发环境三、实验内容A.数码管显示编写一个数码管驱动程序,通过按键输入一个数字,将其显示在数码管上。

数码管由8个LED组成,每个LED对应一个二进制位。

因此,我们需要将输入的数字转换为二进制数,并控制相应的LED显示。

B.拆字子程序编写一个拆字子程序,将输入的汉字拆成单个的汉字拼音。

汉字的拼音有一个对应的二进制编码,可参考GB2312中的表格。

在程序中,我们需要首先读取键盘输入的汉字,然后将汉字转换为相应的二进制代码,并将其存储在单片机中。

接着,我们需要将二进制代码分解成单个的拼音,并依次显示在数码管上。

四、程序设计在程序中,我们首先需要定义数码管所对应的输出端口和数码管的位数。

```;定义IO端口和数码管位数MOV P0,#0MOV P2,#0x01MOV DPTR,#TABLEMOVX A,DPTRMOV P2,#0x00MOV R0,#0x00MOV R1,#0x01MOV R2,#0x00MOV R3,#0x00MOV R4,#0x00MOV R5,#0x00MOV R6,#0x00MOV R7,#0x00```在键盘输入数字后,我们需要将其转换为二进制数,并存储在单片机的寄存器中。

对于一个单独的数字,我们可以用以下程序将其转换为二进制码:```;循环显示DISPLAY:MOV P0,#0xFFCLR CJNB R0,SKIP1MOV P0,#0xFESKIP1:RRC AJNB R1,SKIP2MOV P0,#0xFDSKIP2:RRC AJNB R2,SKIP3MOV P0,#0xFBSKIP3:RRC AJNB R3,SKIP4MOV P0,#0xF7SKIP4:RRC ADJNZ R5,DISPLAY```在将汉字转换为二进制编码之后,我们需要编写一个循环程序来分解二进制编码,并将每个拼音对应的二进制代码显示在数码管上。

第三章MCS51系列单片机指令系统及汇编语言程序设计

第三章MCS51系列单片机指令系统及汇编语言程序设计
AJMP addr11 绝对转移指令为2K地址范围内的转移指令,对转移目的地址的要求与 ACALL指令中对子程序入口地址的要求相同。 【3】短转移指令
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)

第3章51系列单片机程序设计(C语言部分)

第3章51系列单片机程序设计(C语言部分)

idata
间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节)
pdata
分页寻址片外数据存储区(256字节)由MOV @Ri访问(i=0,1)
xdata
片外数据存储区(64 KB)由MOVX @DPTR访问
code
程序存储器64 KB空间,由MOVC @DPTR访问
第3章 51系列单片机程序设计(C部分)
/* Ary37定义为abry[3]的第7位 */
第3章 51系列单片机程序设计(C部分)
3.5 数 组
数组:数组是一组类型相同 有序数据的集合。用数组名 和下标来唯一确定数组中的 元素。
第3章 51系列单片机程序设计(C部分)
3.5.1 一维数组
一、一维数组的定义 形式:类型说明符 数组名 [常量表达式]
使用C51进行编程时,MCS-51片内的I/O口与片外扩展的I/O可以统一在一个头文 件中定义,也可以在程序中(一般在开始的位置)进行定义。
对于MCS-51片内I/O口按特殊功能寄存器方法定义。 例如:
sfr P0=0x80 ; /* 定义P0口,地址为80H */ sfr P1=0x90 ; /* 定义P1口,地址为90H */
第3章 51系列单片机程序设计(C部分)
3.4.3 C51数据的存储类型与MCS-51存储结构
表 3.4.2 C51存储类型与MCS-51存储空间的对应关系
存储类型 与存储空间的对应关系
data
直接寻址片内数据存储区,访问速度快(128字节)
bdata
可位寻址片内数据存储区,允许位与字节混合访问(16字节)
据 浮点型(float) 类
型 指针类型
详细见表3.4.1

单片机实验3 数码管控制实验-动态显示

单片机实验3  数码管控制实验-动态显示
/**********实验二数码管控制实验-动态显示**************/
;实验名称:数码管动态显示
;功能:4位数码管循环显示“0123”“4567”“89AB”“CDEF”,间隔0.5S。
;编写人:陈建泽
;编写时间:2010年11月2日
/**********************程序代码************************/
D1MS: MOV R2,#250 ;250*(1+1+2)=1000us=1ms
L1:NOP
NOP
DJNZ R2,L1
RET
/*****************中断服务子程序*****************/
T0_INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
MOV A,R4
CJNE A,#16,L3
AJMP MAIN
L3:MOV R5,A
AJMP L1
DIS:MOV P2,R6;用A作为中间寄存器,因后面要循环显示
MOV A,R5
ACALL SQR ;查表
MOV P0,A
ACALL D1MS ;1ms
INC R5
MOV A,R6
RL A;指向下一位
MOV R6,A
RET;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳极字型码表0、1、2、3
DB 99H, 92H, 82H, 0F8H;共阳极字型码表4、5、6、7
DB 80H, 90H, 88H, 83H;共阳极字型码表8、9、A、B
DB 0C6H,0A1H,86H, 8EH;共阳极字型码表C、D、E、F

单片机编程全集(含源代码)

单片机编程全集(含源代码)

前言 (2)基础知识:单片机编程基础 (2)第一节:单数码管按键显示 (4)第二节:双数码管可调秒表 (6)第三节:十字路口交通灯 (7)第四节:数码管驱动 (9)第五节:键盘驱动 (10)第六节:低频频率计 (15)第七节:电子表 (18)第八节:串行口应用 (19)前言本文是本人上课的一个补充,完全自写,难免有错,请读者给予指正,可发邮件到ZYZ@,或郑郁正@中国;以便相互学习。

结合课堂的内容,课堂上的部分口述内容,没有写下来;有些具体内容与课堂不相同,但方法是相通的。

针对当前的学生情况,尽可能考虑到学生水平的两端,希望通过本文都学会单片机应用。

如果有不懂的内容,不管是不是本课的内容,都可以提出来,这些知识往往代表一大部分同学的情况,但本人通常认为大家对这些知识已精通,而在本文中没有给予描述,由此影响大家的学习。

对于这些提出问题的读者,本人在此深表谢意。

想深入详细学习单片机的同学,可以参考其它有关单片机的书籍和资料,尤其是外文资料。

如果有什么问题,我们可以相互探讨和研究,共同学习。

本文根据教学的情况,随时进行修改和完善,所以欢迎同学随时注意本文档在课件中的更新情况。

基础知识:单片机编程基础单片机的外部结构:1、DIP40双列直插;2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、电源VCC(PIN40)和地线GND(PIN20);4、高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)5、内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)6、程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)7、P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、一个串行通信接口;(SCON,SBUF)4、一个中断控制器;(IE,IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ ORG 2000H ❖ MOV A,30H ;取30H单元数据 ❖ MOV B,A ;将X送入B寄存器
- 16 -
❖ MUL ❖ MOV
器中
❖ MOV ❖ MOV ❖ MUL ❖ ADD ❖ MOV ❖ SJMP ❖ END
AB ;求X2,结果在累加器中 R1,A ;将结果暂存于R1寄存
A,31H ;取31H单元数据 B,A ;将Y送入B寄存器 AB ;求Y2,结果在累加器中 A,R1 ;求X2+ Y2 32H,A ;保存数据 $ ;暂停
❖例1:ORG 1000H DB 21H, 25H, 36H, -5 注:负数是以一字节补码数的形式存放; 存储位置是在程序存储器。
❖例2: ORG 2000H TAB: DB 22H, 78, 01011100B, “5” , “A B” 注:单位为字节,分隔用“, ”,形式可为:
二进制、十进制、十六进制及ASCII码。如 “5” ASCII码为35H。
SJMP LOOP END
JB P3.2, $
RETI
START:MOV IE ,#81H
MOV TCON, #00H
LOOP:INC A
- 29 -
例3.6.3 (续:)
❖ 分析:
不按键,P3.2为低电平,进入中断,并停在JNB P3.2 ,$上; 按下键, P3.2为高电平,跳出循环,并停在JB P3.2 ,$上; 松开键, P3.2为低电平,跳出循环,并从中断返回;
- 14 -
开始
取数据低4位

转换成ASCII码
3-5-1
存ASCII码


取数据高4位


转换成ASCII码


存ASCII码

结束
❖【例3.5.2】 设X、Y两个小于10的整数分别存 于片内30H、31H单元,试求两数的平方和并 将结果存于32H单元。
❖ 解:两数均小于10,故两数的平方和小于200, 可利用乘法指令求平方。程序流程如图4-2所 示。参考程序如下:
NEG:DEC A ;
CPL
A ;求∣X∣
SAVE: MOV 31H,A ;保存数据
SJMP $ ;暂停
- 25 -
开始
取数,A←(30H)

3-6-2 3.3
A为负数?
N

Y
A=0?
A←64H
N
A←|X|
程 序
A←X+2


存数,(31H)←A(30H)

结束
类似推广:P58 例1
方法差别:1)这里是先判断是否为零, 再判断是否为正数。 2)指令不同:两次用JZ
❖参考程序如下:ORG 1000H
- 24 -
MOV A,30H ;取数
JB ACC.7,NEG;负数,转NEG
JZ ZER0
;为零,转ZER0
ADD
A,#02H ;为正数,求X+2
AJMP SAVE ;转到SAVE,保存数据
ZER0:MOV
A,# 64H ;数据为零,Y=100
AJMP SAVE ;转到SAVE,保存数据
TH0定时为400us,到时取反。 初值——(64H)求补=9CH (按8位求补) (C8H)求补=38H
❖ 程序: ORG 0000H
AJMP START
ORG 000BH
AJMP IT0
ORG 001BH
AJMP IT1
- 19 -
例3.5.3 (续)
ORG 0100H START:MOV SP , #40 ;
-7-
❖ 例3:
ORG 1000H TAB; DB 23H,73, “6”, “B” TABl: DB 110B 以上伪指令经汇编以后,将对从1000H开始的若 干内存单元赋值:
(1000H)=23H (1001H)=49H (1002H)=36H (1003H)=42H (1004H)=06H 其中36H和42H分别是字符6和B的ASCII码,其余 的十进制数(73)和二进制数(110B)也都换算为十 六进制数了
- 27 -
【例3.6.2】某温度控制系统,采集的温度值(Ta)放在累加 器 A 中 。 此 外 , 在 内 部 RAM54H 单 元 存 放 控 制 温 度 下 限 值 (T54),在55H单元存放控制温度上限值(T55)。若Ta >T55, 程 序 转 向 JW( 降 温 处 理 程 序 ) ; 若 Ta<T54, 则 程 序 转 向 SW ( 升 温 处 理 程 序 ) ; T55≥Ta≥T54, 则 程 序 转 向 FH( 返 回 主 程 序)。程序如下:
-2-
3.1 程序设计语言
❖ 按照语言的结构及其功能可以分为三种: ❖1.机器语言:机器语言是用二进制代码0和1
表示指令和数据的最原始的程序设计语言。 ❖2.汇编语言:在汇编语言中,指令用助记符
表示,地址、操作数可用标号、符号地址及字 符等形式来描述。 ❖3.高级语言:高级语言是接近于人的自然语 言,面向过程而独立于机器的通用语言。
ቤተ መጻሕፍቲ ባይዱ
- 17 -
开始
取数据X

求X2
3-5-2 3.2
暂存X2

取数据Y
求Y2


求X2+Y2


保存平方和

结束
例3.5.3 (P57 例2)
❖ 编制一段程序,要求在端口线P1.0和P1.1上分别产生周 期为200us 和400us的方波,设单片机外接晶体频率为 12MHz。
❖ 分析:方法——定时中断 设置——T0为工作方式3,即TL0定时为200us,
单片机原理及应用
课程讲义
第三章:单片机汇编语言与 程序设计基础
wcytjx@
-1-
主要内容
❖ 3.1 程序设计语言 ❖ 3.2 汇编语言的语句结构 ❖ 3.3 伪指令 ❖ 3.4 汇编语方程序设计步骤 ❖ 3.5 顺序程序 ❖ 3.6 分支程序 ❖ 3.7 循环程序 ❖ 3.8 数制转换程序 ❖ 3.9 位操作程序 ❖ 3.10 子程序
MOV TMOD ,#03H MOV TL0 ,#9CH MOV TH0 ,#38H MOV TCON ,#50H MOV IE, #8AH SJMP $ ORG 0130H IT0: MOV TL0 ,#9CH CPL P1.0 RETI
- 20 -
例3.5.3 (续)
IT1: MOV TH0 ,#38H CPL P1.1 RETI END
CJNE A,55H,LOOP1 ;Ta≠T55,转向LOOPl
AJMP LOOPl: JNC
CJNE
FH
;Ta=T55,返回
JW
;若(CY)=0,表明Ta>T55,转降温处理程序
A,54H,LOOP2 ;Ta≠T54,转向LOOP2
AJMP FH
LOOP2: JC
SW
FH:
RET
;Ta=54,返回
- 21 -
3.6 分支程序
❖ 1.分支程序的基本形式 ❖ 分支程序有三种基本形式,如图3-6-1所示。 ❖ 分支程序的设计要点如下: ❖ (1)先建立可供条件转移指令测试的条件。 ❖ (2)选用合适的条件转移指令。 ❖ (3)在转移的目的地址处设定标号。
- 22 -
条件满足? Y
A
(a)
N
条件满足?
;若(CY)=1,表明Ta<T54,转升温处理程序
;T55≥Ta≥T54,返回主程序
- 28 -
例3.6.3 (p59 例2)
❖ 单片机单步运行程序电路如图,程序如下,画 出其程序流程图,并说明为什么每按下再松开 一次键后,单片机执行一条指令。
❖程序: ORG 0000H
MOV P1 ,A
SJMP START ORG 0003H JNB P3.2, $
❖解:利用JMP @A+DPTR 指令直接给PC赋值, 使程序实现转移。程序流程如图3-6-3所示。
- 31 -
❖ 参考程序如下:
❖ ORG 2000H
❖ MOV DPTR,#TAB;转移指令表首地址
❖ MOV A,R0 ❖ MOV B,#10
;取数
❖ ……
❖ DIV AB ;A10,商在A中
❖ CLR C
DB、DW伪指令都只对程序存储器起作用,不能 用来对数据存储器的内容进行赋值或进行其它初始化 的工作。
-9-
❖ 5.DS:定义存储区 ❖ 从指定的地址单元开始,保留一定数量存储单
元。 ❖例:ORG 0310H
DS 3 即从0310H地址开始空3个字节以便使用。 ❖ 6.BIT:位定义 ❖ 确定字符名为确定的位地址值。 ❖例:BNAM BIT 25H; BNAM 为25H位地址。
- 13 -
❖ ADD ❖ MOV ❖ MOV ❖ SWAP ❖ ANL
❖ ADD ❖ MOV ❖ SJMP ❖ END
A,#30H ;转换成ASCII码 32H,A ;保存结果 A,30H ;取值 A ;高4位与低4位互换 A,#0FH;取低4位(原来的高4位)
A,#30H ;转换成ASCII码 31H,A ;保存结果 $
Y A
K=0 K=1 A0 A1
K=? … K=n
……
(b) An
N B
(c)
图3-6-1 分支程序结构流程图
❖ 2.双向分支程序设计举例
❖【例3.6.1】 设X存在30H单元中,根据下式

X+2 X>0
❖ Y = 100
X=0 求出Y值,将Y值存入31H单元。

∣X∣
相关文档
最新文档