- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机复习考试
PAGE
PAGE 1
《单片机原理及应用》例题与课后习题
(1)将R0的内容送入R6中,
(2)将片内RAM 30H单元的内容送入片外 60H单元中;
(3)将片外RAM 2000H单元的内容送入片内 20H单元中;
(4)将ROM的 2000H单元的内容送入片内 RAM 30H单元中;
P36 例2.2 将R0的内容和R1的内容相互交换。
MOV A , R0
XCH A , R1
MOV R0 , A
P38 例2.3试把存放在R1-R2和R3-R4中的两个16位数相加,结果存于R5-R6中。
MOV A , R2
ADD A , R4
MOV R6, A
MOV A , R1
ADDC A, R3
MOV R5 , A
P39 例2.4试求(R3)←(R2)-(R1)。
MOV A , R2
CLR C
SUBB A , R1
MOV R3 , A
P40 例2.5在R3中数为67H,在R2中数为85H,用十进制运算,运算的结果放于R5。
MOV A , R3
ADD A , R2
DA A
MOV R5 , A
P41 例2.6试写出完成下列功能的指令段:
(1)对累加器A中b1、b3和b5位清0,其余位不变,程序为
ANL A ,
(2)对累加器A中b2、b4和b6位置1,其余位不变,程序为
ORL A ,
(3)对累加器A中b0和b1位取反,其余位不变,程序为
XRL A ,
P41 例2.7试写出对R0寄存器内容求反的程序段。
MOV A , R0
CPL A
MOV R0 , A
P43 例 2.8把片内RAM中位寻址区的20H位的内容传送到30H位。
MOV C ,20H
MOV 30H , C
P44 例2.9试利用位逻辑运算指令编程实现两个位的异或操作。
位变量X和Y的异或结果=XY+XY
假定X和Y的位地址为20H.0和20H.1,结果存储到位累加器C中。
MOV C , 20H.1
ANL C , /20H.0
MOV F0 , C
MOV C , 20H.0
ANL C , /20H.1
ORL C , F0
P46 例2.12 将片外RAM 30H单元开始的数据块传送到片内RAM的40H开始的位置,直到出现零为止。
MOV R0 , #30H
MOV R1 , #40H
LOOP: MOVX A , @R0
MOV @R1 , A
INC R1
INC R0
JNZ LOOP
P46 例2.13利用“逻辑与”和“JZ、JNZ”指令实现位测试。
要实现以下功能:若30H地址单元的b3位为0则B=5,否则B=8。
MOV A , #08H
ANL A , 30H
JNZ N1
MOV B , #5
LJMP N2
N1: MOV B , #8
N2:
?P48 例2.14统计片内RAM中30H单元开始的20个数据中0的个数,放于R7中。
MOV R0 , #30H
MOV R2 , #20
MOV R7 , #0
LOOP: MOV A , @R0
JNZ NEXT
INC R7
NEXT: INC R0
DJNZ R2 , LOOP
P48 例2.15从片外RAM中30H单元开始有100个数据,统计当中正数、0和负数的个数,分别放于R5、R6、R7中。
MOV R2 , #100
MOV R0 , #30H
MOV R5 , #0
MOV R6 , #0
MOV R7 , #0
LOOP: MOVX A , @R0
CJNE A , #0 , NEXT1
INC R6
SJMP NEXT3
NEXT1: JB ACC.7 , NEXT2
INC R5
SJMP NEXT3
NEXT2: INC R7
NEXT3: INC R0
DJNZ R2 , LOOP
P52 例
ORG 3000H
TAB1: DB 12H, 34H
DS 4H
DB ‘5’
P53 2.5.1 延时程序设计
延时程序与MCS-51指令执行时间有很大的关系。在使用12MHz晶振时,一个机器周期为1μs,执行一条DJNZ指令的时间为2μs。这时,可用
文档评论(0)