资源描述:
《微机原理及应用复习题-编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机原理及应用复习题7-编写程序第一章基础知识第二章51单片机结构第三章指令系统1.编写将程序存储器10F0H中的数据送入累加器A中的程序段。(本题5分)2.编写程序段实现累加器A与寄存器B的内容交换。(本题5分)3.编写将片内RAM40H单元开始的20个字节的数据传送到片外RAM1000H开始的单元中的子程序。(本题10分)4.5.编程将寄存器R0内容与R1内容相乘,结果存于R2R3中(R2存高位,R3存低位)。(本题5分)5.6.编程将片外数据存储器1080H单元的内容送到片内RAM的2BH单元。(本题5
2、分)6.7.将片内RAM空间20H~2AH中的数据的高4位变零,低4位不变,原址存放。(本题10分)7.9.编程读取程序存储器1080H单元的内容送到片内RAM的30H单元中。(本题5分)8.10.编程将R1内容求补后送回R1中。(本题5分)9.11.设在寄存器R3的低4位中存有数码0—9中的一个数,将其转换成ASCII码,并存人片外RAM的2000H单元。(10分)10.13.将R1中的低4位数与R2中的高4位数合并成一个8位数并存放在R1中。(本题5分)11.14.试编写一段对中断系统初始化的程序,使之允
3、许INT0、INT1、T0和串行口中断,且使串行口中断为高优先级中断,其余为低优先级中断。(本题5分)12.编写将片内RAM40H-4FH单元清0的程序。(本题10分)13.已知一MCS-51单片机系统的片外RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中。CYADPTR片外31H片外30H片外8000H14.已知在
4、累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。15.请使用位操作指令实现下列逻辑操作:BIT=(∨P1.0)∧(11H∨CY)16.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。Y=17.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。18.将存于外部RAM8000H开始的50H数据传送0010H的区域,请编程实现。19.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。(1)
5、将R0的内容传送到R1;MOVA,R0MOVR1,A(2)内部RAM单元60H的内容传送到寄存器R2;MOVR2,60H(3)外部RAM单元1000H的内容传送到内部RAM单元60H;MOVDPTR,#1000HMOVXA,@DPTRMOV60H,A(4)外部RAM单元1000H的内容传送到寄存器R2;MOVDPTR,#1000HMOVXA,@DPTRMOVR2,A(5)外部RAM单元1000H的内容传送到外部RAM单元2000H。MOVDPTR,#1000HMOVXA,@DPTRMOVDPTR,#2000H
6、MOVX@DPTR,A1.编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。(10)2.编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。解:(1)1S=2US*5*1000005*100000=250*200*10ORG1000HTIME:MOVR7,#10T3:MOVR6,#200T2:MOVR6,#250T1:DJNZR5,T1DJNZR6,T2DJNZR7,T3RET(2)1min=60,调用上面1s子程序60
7、次ORG0030HMOVR0,#60LOOP:LCALLTIMEDJNZR0,LOOPRET3.编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。 解:STRAT:MOVR0,#30HMOVR7,#0FHMOVDPTR,#3000HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOOPRET4.用查表法编一子程序,将R3中的BCD码转换成ASCII码.解 MAIN:MOVA,R3;待转换的数送AMOVDPTR,#TAR;表首地址送D
8、PTRMOVCA,@A+DPTR;查ASCII码表MOVR3,A;查表结果送R3RETTARDB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H5.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解START:MOVR0,#40H;数据块首地址送R0MOVR7,#09H;比较次数送R7 MOVA,@R0;取数送A L