文档详情

微机原理及应用复习题7-编程.doc

发布:2016-05-02约2.07万字共20页下载文档
文本预览下载声明
微机原理及应用 复习题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指向
显示全部
相似文档