- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用 复习题7-编写程序
第一章基础知识
第二章51单片机结构
第三章指令系统
编写将程序存储器10F0H中的数据送入累加器A中的程序段。(本题5分)
编写程序段实现累加器A与寄存器B的内容交换。(本题5分)
编写将片内RAM 40H单元开始的20个字节的数据传送到片外RAM 1000H开始的单元中的子程序。(本题10分)
5.编程将寄存器R0内容与R1内容相乘,结果存于R2R3中(R2存高位,R3存低位)。(本题5分)
6.编程将片外数据存储器1080H单元的内容送到片内RAM的2BH单元。(本题5分)
7.将片内RAM空间20H~2AH中的数据的高4位变零,低4位不变,原址存放。(本题10分)
9.编程读取程序存储器1080H单元的内容送到片内RAM的30H单元中。(本题5分)
10. 编程将R1内容求补后送回R1中。(本题5分)
11.设在寄存器R3的低4位中存有数码0—9中的一个数,将其转换成ASCII码,并存人片外RAM的2000H单元。(10分)
13. 将R1中的低4位数与R2中的高4位数合并成一个8位数并存放在R1中。(本题5分)
14. 试编写一段对中断系统初始化的程序,使之允许INT0 、INT1、 T0和串行口中断,且使串行口中断为高优先级中断,其余为低优先级中断。(本题5分)
编写将片内RAM 40H-4FH单元清0的程序。(本题10分)
已知一MCS-51单片机系统的片外 RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中。CY A DPTR 片外31H 片外30H 片外8000H已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
请使用位操作指令实现下列逻辑操作:
BIT=(∨P1.0)∧(11H∨CY)
已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=
已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。
将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。
完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。
(1)将R0的内容传送到R1;
MOV A,R0
MOV R1,A
(2)内部RAM单元60H的内容传送到寄存器R2;
MOV R2,60H
(3)外部RAM单元1000H的内容传送到内部RAM单元60H;
MOV DPTR,#1000H
MOVX A,@DPTR
MOV 60H,A
(4)外部RAM单元1000H的内容传送到寄存器R2;
MOV DPTR,#1000H
MOVX A,@DPTR
MOV R2,A
(5)外部RAM单元1000H的内容传送到外部RAM单元2000H。
MOV DPTR,#1000H
MOVX A,@DPTR
MOV DPTR,#2000H
MOVX @DPTR,A
片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
解 START: MOV R0,#40H ;数据块首地址送R0
MOV R7,#09H ;比较次数送R7
MOV A,@R0 ;取数送A
LOOP: INC R0
MOV 30H,@R0 ;取数送30H
CJNE A,30H,NEHT ;(A)与(30H)相比
NEXT: JNC BIE1 (A)≥(30H)转BIR1
MOV A,30H ;(A)<(30H),大数送A
BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较
MOV 50H,A ;比较结束,大数送50H
RET
利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。
解 用R0和R1作数据指针,R0指向
文档评论(0)