MOVE A,30H JZ ZERO3 JB ACC.7,NEG 该程序功能是

君,已阅读到文档的结尾了呢~~
精品:单片机 试卷 单片机原理试卷 单片机期末试卷 爱上单片机 第2版 物理选修3 2试卷 单片机自考试卷 单片机c语言试卷 自考英语2试卷 2年级数学下册试卷 小学2年级数学试卷
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
000单片机试卷2
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第3章 微机原理及应用2.ppt 114页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:300 &&
第3章 微机原理及应用2
你可能关注的文档:
··········
··········
* 将两个指定的操作数按位进行逻辑“与”。常用于屏蔽字节中某些位。
* 将两个指定的操作数按位进行逻辑“或”。它常用于使字节中某些位置“1”。
* 将两个指定的操作数按位进行逻辑“异或” 。它常用对字节中某些取反(将欲取反位与“1”相异或),以及对某单元自身异或实现该单元清零。
* 均为单字节指令,其它方法达到清零或取反至少需双字节指令。 * 有四条循环移位指令,均为单字节指令。这些指令只能对累加器A进行。
* ★相对偏移量rel的求法、目的地址的计算:
目的地址 = 源地址 + 转移指令字节数+ rel
向前转移:rel=FF-(转移指令字节数-1)+(源地址与目的地址差的绝对值)
向后转移:rel= (源地址与目的地址差的绝对值) —转移指令字节数
* 单字节指令。执行时,不作任何操作(即空操作),仅将程序计数器PC的内容加1,使CPU指向下一条指令继续执行程序。这条指令常用来产生一个机器周期的时间延迟。
* 功能:分别检测指定位是1还是0,若条件符合,则CPU转向指定的目标地址去执行程序;否则,顺序执行下条指令。
* 按照语言的结构及其功能可以分为三种: * MCS-51单片机汇编语言,包含两类不同性质的指令。 它们都是机器能够执行的指令,每一条指令都有对应的机器码。 汇编时用于控制汇编的指令。它们都是机器不执行的指令,无机器码。
* 用来说明以下程序段在存储器中存放的起始地址。 例如程序:
START: MOV A,#20H
┇ 把数据以字节数的形式存放在存储器单元中。 按字的形式把数据存放在存储单元中。
* 从指定的地址单元开始,保留一定数量存储单元。
* 是一种最简单,最基本的程序。 特点:程序按编写的顺序依次往下执行每一条指令,直到最后一条。
* 第8周一上到课件的103页止。 * 循环程序按结构形式,有单重循环与多重循环。 ☆在多重循环中,只允许外重循环嵌套内重循环。 ☆不允许循环相互交叉,也不允许从循环程序的外部跳入循环程序的内部(如图3-7所示) * 所谓调用子程序,暂时中断主程序的执行,而转到子程序的入口地址去执行子程序。如图3-10所示。 MOV
C,P2.2 ORL
C,P1.1 MOV
C,/20H.0 ANL
例:(20H)=X7 X6 X5 X4 X3 X2X1 X0,执行MOV
C,00H RLC
C,01H RLC
C,02H RLC
C,03H RLC
A,#0FH MOV
问: (20H)=_________ 3.4
汇编语言及程序设计
3.4.1程序设计语言
1.机器语言:机器语言是用二进制代码0和1表示指令和数据的最原始的程序设计语言。
2.汇编语言:在汇编语言中,指令用助记符表示,地址、操作数可用标号、符号地址及字符等形式来描述。
3.高级语言:高级语言是接近于人的自然语言,面向过程而独立于机器的通用语言。
汇编语言的语句结构
1.汇编语言的指令类型 (1)基本指令 (2)伪指令 (3)汇编语言的语句(指令)格式 标号:操作码 操作数;
注释 START:MOV
A,30H; A←(30H) (1)ORG:设置目标程序起始地址
格式:[标号:]
2000H START:
MOV A,#7FH
2.伪指令 200AH 程序存储器 74H 7FH H 2002H … (2)END:汇编结束
格式:[标号:]
END (3)DB:定义数据字节
格式:[标号:]
一个字节的常数或常数表 …
ORG 2000H TAB1: DB 30H,8AH,7FH,49H
DB ‘5’, ‘ A’, ‘BCD’
01H 8AH 2002H 7FH 04H 35H 06H 42H 08H 44H 2009H (4)DW:定义数据字
格式:[标号:]
两个字节的常数或常数表
ORG 1500H TAB
正在加载中,请稍后...您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
单片机教案(汇编语言程序设计).ppt 82页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
你可能关注的文档:
··········
··········
用 jmp @A+DPTR 实现多分支 KeyB5:
mov DPTR,#JMPTBL
subb A,#0Ah
JMP @A+DPTR JMPTBL:
ajmp DDD AAA:
… … BBB:
转DDD CCC:
… … DDD:
… … (A)=? 语句组1 语句组2 语句组3 语句组4 0AH 0BH 0CH 0DH 入口 AAA BBB CCC DDD 4.2.3 循环程序设计 循环程序结构 循环程序通常有两种编制方法 循环问题的类型 循环程序设计举例
循环程序结构 循环初始化: 循环控制变量的初始化、
数据变量的初始化 循环工作部分:循环主体,重复执行的部分 循环控制部分:循环变量的修改、终止控制 循环结束:这部分程序用于存放执行循环程序所得结果以及恢复各单元的初值。
1、先循环处理后循环控制,称为直到型循环; 2、 先循环控制后循环处理,称为当型循环。 ????? 循环程序通常有两种编制方法
1、计数型—
循环次数已知,用计数方法控制循环的终止。
2、条件型—
循环次数未知,根据某种条件判断是否终止循环。
内部RAM块传,遇到“#”字符结束
3、计数型+条件型
8031外部RAM块传及冒泡排序
?循环问题的类型 单循环程序 例1:多个单字节数求累加和
计数型 例2:内部数据区清零
计数型 [例4-7]
内部RAM块传
改为条件型没讲 多重循环程序 例3:50ms延时程序
计数型 [例4-7]
内部RAM块传
计数型+条件型没讲 [例4-8] 外部RAM块冒泡排序
重点 计数型+条件型没讲
循环程序设计举例 例1:多个单字节数求累加和
ORG 0000H SUM: mov R3,#0
mov R0,#50H
mov R2,#5 Loop: mov A,R4
djnz R2,Loop
END 内部RAM 50H R0 R4 R3 R4 R3 @R0 CY + ADDC
23H 98H 0A8H 0FDH 6DH 累加和单元要先请零 ∑ 例2:内部数据区清零
ORG 0000H Zero: mov R0,#30H
mov R7,#10
mov A,#00H Loop: mov @R0,A
djnz R7,Loop
END 内部RAM 30H R0 23H 98H 0A8H 0FDH … 0 0 0 0 0 0 10个 例3:50ms延时程序 Delay: mov R7,#200 Del1:
mov R6,#123
djnz R6,Del2
djnz R7,Del1
(不计入) ;11122us T =[200×(1+1+123×2+2)+1]×1us
=50001us=50ms [例4-7]把内部RAM中起始地址为BLK1的数据块传送到外部RAM以BLK2为 起始地址的区域,直到遇到“#”字符的ASCⅡ码为止。去掉块长度。 参考程序如下:
正在加载中,请稍后...【图文】单片机第四讲_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机第四讲
大小:542.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第四语言设计春精读.ppt 88页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:350 &&
你可能关注的文档:
··········
··········
4.1.2 汇编语言源程序的编辑和汇编 1. 汇编语言源程序的编辑 编辑好的源程序应以“. ASM”扩展名存盘
2. 汇编语言源程序的汇编 源程序经机器汇编之后,若无语法错误,一般将生成两个新文件,它们的扩展名分别是.OBJ和.LST。
例4-1 将内部RAM从30H开始的10个单元的内容相加,其和保存于A(假设其和仍为8位数)。 列表文件(.LST)信息如下: 地址
机器码 汇编语言源程序
;定义程序起始地址 2000
START:MOV R0,#30H ;初始地址送R0 2002
MOV R2,#10
;循环初始值送R2 2004
MOV A,#00H
;累加和初始值送A 2006
LOOP:ADDC A,@R0
;完成累加 2007
;修改地址 2008
DJNZ R2,LOOP
;循环判断 200A
;程序结束 INCLUDE IN HASHTAB START: 2000
LOOP: 2006
目标文件(.OBJ)信息如下: 07A0ADAFC80FE
4.2 汇编语言源程序的基本结构 共有四种结构形式:
顺序结构、循环结构、分支结构和子程序结构。 例4-10
在图3-11 的P1口与LED的连接示意图中,若使得LED0~LED7依次点亮,其延时时间分别从1s至8s,LED7点亮之后又从LED0开始循环。编写汇编语言源程序实现该功能。
;主程序 NEXT1: MOV 20H,#0 MOV
R3,#8 NEXT:INC
R4,20H MOV P1,A ACALL
SJMP NEXT1 DELAY:MOV R7,#10
;1s延时子程序 DELAY3:MOV R6,#200
DELAY2:MOV
DELAY1:DJNZ R5,DELAY1 ;125×4=500μs=0.5ms
DJNZ R6,DELAY2
;0.5 ms×200=0.1s
DJNZ R7,DELAY3
;0.1s×200=1s
DJNZ R4,DELAY
END 例4-11 两个无符号数据块的首地址分别为30H和40H,每个数据块的第一个字节都存放着数据块的长度(小于15),求各数据块中最大值的乘积,并将结果存入50H(乘积低字节)和51H(乘积高字节)。 解:可将求最大值的过程编写成一个子程序,子程序的入口参数是数据块的首地址,存放在R1中,返回参数即为最大值,存放在A中,参考程序如下: 思考题与习题 4-1 把外部RAM 5000H的内容拆开,高位送5001H,低位送5002H。 4-2 把外部RAM 3000H开始的100字节的内容传送到从外部RAM 3500H开始的连续单元中。 4-3
设有100个有符号数,连续存放在外部RAM以2000H为首地址的存储区中,编程统计其中正数、负数和零的个数,并分别存放在R5、R6和R7。 4-4
外部RAM 1000H开始连续存放20个双字节无符号数,低字节在前,高字节在后,编写求和程序,将结果存入内部RAM 30H,31H,32H单元中。 4-5
编程计算片内RAM40H~47H单元中无符号数的算术平均值(假设和仍为8位数),结果存放在50H(商)和51H(余数)中。
从内部RAM 30H开始存有一无符号数据块,其长度在2FH单元中。求出数据块中最小值和最大值并分别存入R6和R7中。 MOV
R0,#30H MOV
2FH LOOP:INC R0 CLR C MOV
A,R6 SUBB A,@R0 JNC MIN CLR C MOV A,R7 SUBB A,@R0 JNC
LOOP1 MAX:MOV
A,@R0 MOV R7,A SJMP LOOP1 MIN:MOV A,@R0 MOV R6,A LOOP1:DJNZ 2FH,LOOP 4-8
从外部RAM首地址
正在加载中,请稍后...

我要回帖

更多关于 JB5 的文章

 

随机推荐