单片机基础练习题及答案.doc
《单片机基础练习题及答案.doc》由会员分享,可在线阅读,更多相关《单片机基础练习题及答案.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机根底第3版第1章 计算机根底知识一填空题1. 十进制数14对应的二进制数表示为1110B,十六进制数表示为0EH。十进制数-100的补码为9CH,+100的补码为64H。2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,那么新数是原数的4倍。3. 8位无符号二进制数能表示的最大十进制数是255。带符号二进制数11001101转换成十进制数是-51。4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为输入设备。5. 字符D的ASCII码是十六进制数44,那么字符T的ASCII码是十进制数84。6. 假设某存储器容量为640KB,
2、那么表示该存储器共有655360个存储单元。7. 在计算机中,二进制数的单位从小到大依次为位、字节和字,对应的英文名称分别是bit、Byte和Word。8. 设二进制数A=10101101,B=01110110,那么逻辑运算AB=,AB=,AB=。9. 机器数01101110的真值是+110,机器数01011001的真值是+89,机器数10011101的真值是+157或-115,机器数10001101的真值是+206或-50。二单项选择题1.用8位二进制补码数所能表示的十进制数范围是DA-127 +127 B-128 +128C-127 +128 D-128 +1272.以下等式中,正确的选项
3、是BA1 KB = 10241024 B B1 MB = 10241024 BC1 KB = 1024 M B D1 MB = 1024 B3.程序与软件的区别是CA程序小而软件大 B程序廉价而软件昂贵C软件包括程序 D程序包括软件4.存储器中,每个存储单元都被赋予惟一的编号,这个编号称为AA地址 B字节 C列号 D容量5.8位二进制数所能表示的最大无符号数是BA255 B256 C128 D1276.以下4个无符号数中,最小的数是BA11011001二进制 B37八进制C75十进制 D24十六进制7.以下字符中,ASCII码最小的是BAa BA Cx DX8.以下字符中,ASCII码最大的是
4、CAa BA Cx DX9.有一个数152,它与十六进制数6A相等,那么该数是BA二进制数 B八进制数 C十进制数 D十六进制数第2章 80C51单片机的硬件构造一填空题1. 通过堆栈实现子程序调用,首先要把PC的内容入栈,以进展断点保护。调用返回时再进展出栈操作,把保护的断点送回PC。2. 80C51单片机的时钟电路包括两局部内容,即芯片内的高增益反相放大器反相器和芯片外跨接的石英晶体振荡器晶振与两个微调电容。假设调高单片机的晶振频率,那么单片机的机器周期会变短。3. 通常单片机有两种复位操作,即上电复位和手动复位。复位后,PC值为0000H,SP值为07H,通用存放器的当前存放器组为第0组
5、,该组存放器的地址范围是从00H到07H。4. 80C51单片机中,一个机器周期包含6个状态周期,一个 状态周期又可划分为2个拍节,一个拍节为1个振荡脉冲周期。因此,一个机器周期应包含12个振荡脉冲周期。5. 80C51中惟一一个可供用户使用的16位存放器是DPTR,它可拆分为两个8位存放器使用,名称分别为DPH和DPL。6. 单片机程序存储器的寻址范围由PC的位数决定。80C51的PC为16位,因此程序存储器地址空间是64 KB。二单项选择题1.以下概念表达正确的选项是DA80C51中共有5个中断源,因此在芯片上相应地有5个中断请求输入引脚B特殊的存取规那么使得堆栈已不是数据存储区的一局部C
6、可以把PC看成是数据存储空间的地址指针DCPU中反映程序运行状态和运算结果特征的存放器是PSW2.取指操作后,PC的值是CA当前指令前一条指令的地址B当前正在执行指令的地址C下一条指令的地址D控制存放器中指令存放器的地址3.80C51单片机中,设置堆栈指针SP为37H后就发生子程序调用,这时SP的值变为CA37H B38H C39H D3AH4.设置堆栈指针SP = 30H后,进展一系列的堆栈操作。当进栈数据全部弹出后,SP应指向AA30H单元 B07H单元 C31H单元 D2FH单元5.以下关于堆栈的描述中,错误的选项是CA80C51的堆栈在内部RAM中开辟,所以SP只需8位就够了B堆栈指针
7、SP的内容是堆栈栈顶单元的地址C在80C51中,堆栈操作过程与一般RAM单元的读/写操作没有区别D在中断响应时,断点地址自动进栈6.在单片机芯片内设置通用存放器的好处不应该包括AA提高程序运行的可靠性B提高程序运行速度C为程序设计提供方便D减小程序长度7.以下表达中正确的选项是DASP内装的是堆栈栈顶单元的内容B在中断效劳程序中没有PUSH和POP指令,说明此次中断操作与堆栈无关C在单片机中配合实现“程序存储自动执行的存放器是累加器D两数相加后,假设A中数据为66H,那么PSW中最低位的状态为0第3章 80C51单片机指令系统一填空题1. 假定累加器A中的内容为30H,执行指令“1000H:
8、MOVC A, A+PC后,会把程序存储器1031H单元的内容送累加器A。2. 假定A=85H,R0=20H,20H=0AFH,执行指令“ADD A, R0后,累加器A的内容为34H,CY的内容为1,AC的内容为1,OV的内容为1。3. 执行如下指令序列后,所实现的逻辑运算式为MOVP3.0, C4. 假定addr11=B,标号qaz的地址为1030H,执行指令“qaz: AJMP addr11后,程序转移到地址1100H去执行。5. 累加器A中存放着一个其值小于或等于127的8位无符号数,CY清0后执行“RLC A指令,那么A中的数变为原来的2倍。6. A=7AH,R0=30H,30H=A5
9、H,PSW=80H,请按要求填写各条指令的执行结果每条指令均按已给定的原始数据进展操作。XCHA, R0A=30H,R0=7AHXCHA, 30HA=0A5HXCHA, R0A=0A5HXCHDA, R0A=75HSWAPAA=0A7HADDA, R0A=0AAH,CY=0,OV=1ADDA, 30HA= 1FH ,CY=1,OV=0ADDA, #30HA=0AAH,CY=0,OV=1ADDCA, 30HA= 20H ,CY=1,OV=0SUBBA, 30HA=0D4H,CY=1,OV=1SUBBA, #30HA= 49H ,CY=0,OV=0二单项选择题1.以下指令或指令序列中,不能实现PS
10、W内容送A的是CAMOV A, PSWBMOV A, 0D0HCMOV R0, 0D0HDPUSH PSWMOV A,R0 POP ACC2.在相对寻址方式中,“相对两字是指相对于CA地址偏移量relB当前指令的首地址C下一条指令的首地址DDPTR值3.以下指令或指令序列中,能将外部数据存储器3355H单元内容传送给A的是BAMOVX A, 3355HBMOV DPTR, #3355HMOVX A, DPTRCMOV P0, #33HDMOV P2, #33HMOV R0, #55H MOV R2, #55HMOVX A, R0 MOVX A, R24.对程序存储器的读操作,只能使用DAMOV
11、指令BPUSH指令CMOVX指令DMOVC指令5.执行返回指令后,返回的断点是CA调用指令的首地址B调用指令的末地址C调用指令的下一条指令的首地址D返回指令的末地址6.以下各项中不能用来对内部数据存储器进展访问的是AA数据指针DPTRB按存储单元地址或名称C堆栈指针SPD由R0或R1作间址存放器三其他类型题1.判断以下指令的合法性合法打“,非法打“MOV A, R2 MOV R0, R1 INC DPTR MOV PC, #2222H DEC DPTR RLC R0 MOV 0E0H, R0 CPL R5 CLR R0 CPL F0H PUSH DPTR POP 30H MOVX A, R1
12、MOV A, 1FH MOV C, 1FH MOV F0, ACC.3 MOV F0, C MOV P1, R3 MOV DPTR, #0FCH CPL 30H PUSH R0 MOV C, #0FFH MOV A, #0D0H2. 利用位操作指令序列实现以下逻辑运算。1ORLC, /10HMOVF0, CORLC, 11HANLC, F0MOVD, C2MOVE, C3. 编写程序将内部RAM 20H 23H单元的高4位写1,低4位写0。分析:就是把内部RAM 20H 23H这4个单元写入0F0H。用一个DJNZ的循环。ORG0000HMOVR0, #20H; R0指向20H单元MOVR1,
13、 #04H; 4个单元LOOP: MOVR0, #0F0H; 写入INCR0DJNZR1, LOOP ; 循环4次END4. 在m和m+1单元中存有两个BCD数,将他们合并到m单元中,编写程序完成。ORG0030HMOVR0, #mMOVA, R0 ; 将m单元中的BCD数送入累加器AANLA, #0FH ; 把m单元的高4位清0 SWAPA ; 将m单元中的BCD数移入高4位MOVR0, A ; m单元高4位为BCD数,低4位为0INCR0; 指向m+1单元MOVA, R0 ; 将m+1单元中的BCD数送入累加器AANLA, #0FH; 把m+1单元的高4位清0DEC R0; 指向m单元OR
14、LA, R0 ; 将和m+1单元和m单元内容合并MOVR0, A ; 合并后结果送m单元END5. 将内部RAM中从data单元开场的10个无符号数相加,其和送sum单元。假定相加结果小于255。编写程序完成。ORG0030HMOVR0, #10 ; 给 R0 置计数器初值MOVR1, # data ; 数据块首址送R1CLRA ; A清零LOOP: ADDA, R1 ; 加一个数INCR1 ; 修改地址,指向下一个数DJNZR0, LOOP ; R0 减 1,不为零循环MOVsum, A ; 存 10 个数相加和END6. 假定8位二进制带符号数存于R0中,要求编写一个求补取反程序,所得补码
15、放入R1中。分析:对存于R0中的二进制带符号数,如果是正数,那么将其变成绝对值相等的负数用补码表示;如果是负数用补码表示,那么将其变成绝对值相等的正数。ORG0030HMOVA, R0; 将带符号数送入ACPLAADDA, #01H; 末位加 1MOVR1, A; 补码存入R1END第4章 单片机汇编语言程序设计一填空题1. 假定A=40H,R1=23H,40H= 05H。执行以下两条指令后,A=25H,R1=40H,40H=03H。XCHA, R1; A=23H,R1=40HXCHDA, R1; A=20H,40H=03H2. 假定80C51的晶振频率为6 MHz,执行以下程序后,在P1.1
16、引脚产生的方波宽度为1周期DL:MOV30H, #03H; 30H置初值1周期DL0:MOV31H, #0F0H; 31H置初值1周期DL1:DJNZ31H, DL1; 31H减1,不为0重复执行2周期DJNZ30H, DL0; 30H减1,不为0转DL02周期取反1周期SJMPDL; 转DL2周期方波宽度=(2*15*16+2+1)*3+(2*15*16+2+1)*3+1+2+1*2=5804ms3. 以下程序中,X、Y和Z为输入的8位无符号二进制数,F为输出的逻辑运算结果。试画出该程序所模拟的组合逻辑电路。MOVA, XANLA, YMOVR1, AMOVA, YXRLA, ZCPLAOR
17、LA, R1MOVF, A4. 分析以下跳转程序,程序中A与30H单元中的数都是符号数,说明当A=30H时转向LOOP1,当A30H时转向LOOP2,当A30H时转向LOOP3。MOVR0, A; R0AANLA, #80HJNZNEG; A0,转NEGMOVA, 30HANLA, #80HJNZLOOP2; A0,(30H) 0,转LOOP2SJMPCOMP; A0,(30H)0,转COMPNEG:MOVA, 30HANLA, #80HJZLOOP3; A30H时转向LOOP2,A30H时转向LOOP3。5. 假定80C51的晶振频率为6 MHz,以下程序的执行时间为。程序中前2条指令机器周
18、期数为1,后4条指令机器周期数为2。MOVR3, #151周期DL1:MOVR4, #2551周期DL2:MOVP1, R32周期DJNZR4, DL22周期DJNZR3, DL12周期RET2周期执行时间:T=(2+2)*255+2+1*15+2+1*2=30696ms二编程题1. 把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位于外部RAM的输出缓冲区outbuf传送,一直进展到遇见回车或整个字符串传送完毕,试编程实现。ORG0030HMOVR0, #inbuf MOVDPTR, #outbuf MOVR4, #10H LOOP:MOVA, R0 ; 从内部RAM取数 CJNE
19、A,#0DH, LL ; 是否为回车符CR SJMPSTOP ; 是回车符,那么转STOP,停顿传送 LL: MOVX DPTR, A ; 不是回车符,那么传送到外部RAM INCR0 INCDPTR DJNZR4, LOOP; 沒传送完那么循环 STOP: SJMP$ 2. 内部RAM从list单元开场存放一正数表,表中之数作无序排列,并以1作完毕标志。编程实现找出表中最小数。分析:从list+1单元开场判断其中的数是否为-1,将比拟得到的小数放入累加器AORG0030HMOV R0, #list MOV A, R0 ;取第一个正数 LOOP: INC R0 ;指向下一个正数 MOV 30H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 基础 练习题 答案
限制150内