单片机应用与实践.docx
《单片机应用与实践.docx》由会员分享,可在线阅读,更多相关《单片机应用与实践.docx(59页珍藏版)》请在冰豆网上搜索。
单片机应用与实践
《单片机应用与实践》一
一.选择题(正确答案在序号前打√,每小题2分,共30分)
1、下列有关MCS-51中断优先级控制的叙述中,错误的是
(A)低优先级不能中断高优先级,但高优先级能中断低优先级
(B)同级中断不能嵌套
(C)同级中断请求按时间的先后顺序响应
(D)同时同级的多中断请求,将形成阻塞,系统无法响应
2、外中断初始化的内容不包括
(A)设置中断响应方式(B)设置外中断允许
(C)设置中断总允许(D)设置中断方式
3、执行中断返回命令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。
从堆栈弹出的断点地址送给
(A)A(B)CY(C)PC(D)DPTR
4、在MCS-51中,需要外加电路实现中断撤除的是
(A)定时中断(B)脉冲方式的外部中断
(C)串行中断(D)电平方式的外部中断
5、中断查询,查询的是
(A)中断请求信号(B)中断标志位
(C)外中断方式控制位(D)中断允许控制位
6、在下列寄存器中,与定时/计数控制无关的是
(A)TCON(定时控制寄存器)(B)TMOD(工作方式控制寄存器)
(C)SCON(串行控制寄存器)(D)IE(中断允许控制寄存器)
7、下列定时/计数硬件资源中,不是供用户使用的是
(A)高8位计数器TH(B)低8位计数器TL
(C)定时器/计数器控制逻辑(D)用于定时/计数控制的相关寄存器
8、在工作方式0下计数器是由TH的全部8位和TL的5位组成,因此其计数范围是
(A)1~8192(B)0~8191(C)0~8192(D)1~4096
9、与定时工作方式1和0比较,定时工作方式2不具备的特点是
(A)计数溢出后能自动重新加载计数初值
(B)增加计数器位数
(C)提高定时精度
(D)适于循环定时和循环计数应用
10.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为
(A)6H(B)37H(C)38H(D)39H
11.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
后,A的内容为
(A)CBH(B)03H(C)EBH(D)C8H
12.串行通信的传送速率单位是波特,而且波特的单位是
(A)字符/秒(B)位/秒(C)帧/秒(D)帧/分
13.三态缓冲器的输出应具有三种状态,其中不包括
(A)高阻抗状态(B)低阻抗状态(C)高电平状态(D)低电平状态
14.为给扫描法工作的键盘提供接口电路,在接口电路中只需要
(A)一个输入口(B)一个输入口和一个输出口
(C)一个输出口(D)两个输入口和一个输出口
15.内部RAM中的位寻址区定义的位是给
(A)位操作准备的(B)移位操作准备的
(C)控制转移操作准备的(D)以上都对
二.填空题(每空1分,共24分)
1.假定外部数据存储器2000H单元的内容为80H,0000H单元的内容为90H,执行下列指令后,累加器A中的内容为()。
MOVP2,#20H
MOVR0,#00H
MOVXA,@R0
2.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:
PUSHACC
PUSHB
后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
3.设A=01××××××B,×表示随机状态,为1或0,执行指令ORLA,#03H后A=(01××××11B)
4.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。
执行指令:
INCA
INCR3
INC30H
INC@R0
后,累加器A的内容为(),40H的内容为()。
5.在MCS—51中PC和DPTR都用于提供地址,但PC是为访问()存储器提供地址,而DPTR是为访问()存储器提供地址。
6.MCS-51可提供()和()两种存储器、最大存储空间可达()的两个并行存储器扩展系统。
7.扩展存储器而构造系统总线,应以P0口的8位口线作为()线,以P2口的口线作为()线。
8、设A=58H,执行指令ADDA,#99H后,A=(),C=(),再执行指令DAA后A=(),C=()。
9、计算延时程序的执行时间。
(设时钟f=12MHz)
源程序指令周期(M)指令执行次数
DELAY:
MOVR6,#64H1()
I1:
MOVR7,#0FFH1()
I2:
DJNZR7,I22()
DJNZR6,I12()
RET2()
延时时间t=
三.编程题(每小题8分,共16分)
1.设在内RAM40H开始的存储区有若干个字符和数字,已知最后一个为字符“$“(并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。
2.试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。
3.用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开始P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。
请编制程序。
一.选择题
1.D2。
A3。
C4。
D5。
B6。
C
7.C8。
A9。
B10。
D11。
A12。
B
13.B14。
B15。
D
二.填空题(每空1分,共24分)
1.(80H)
2.(62H)(30H)(70H)。
3.(01××××11B)
4.(00H)(01H)。
5.(程序)(数据)
6.(程序)和(数据)、(64K)
7.(低位地址/数据),(高位地址)
8.(0F1H),(0),(57H),C=
(1)。
9、计算延时程序的执行时间。
(设时钟f=12MHz)
源程序指令周期(M)指令执行次数
DELAY:
MOVR6,#64H1
(1)
I1:
MOVR7,#0FFH1(100)
I2:
DJNZR7,I22(100*255)
DJNZR6,I12(100)
RET2
(1)
延时时间t=(1×1+1×100+2×100×255+2×100+2×1)×T=51.3ms
三.编程题(每小题8分,共16分)
3.参考程序:
ORG0000H
START:
MOVR1,#40H;R1作为地址指针
CLRA;A作为计数器
LOOP:
CJNE@R1,#24H,NEXT;与“$”号比较,不等转移
SJMPNEXT1;找到“$“结束循环
NEXT:
INCA;计数器加1
INCR1;指针加1
SJMPLOOP;循环
NEXT1:
INCA;再加入”$”这个字符
MOV30H,A;存结果
END
2.参考程序:
ORG0000H
MOV51H,#0H
MOV52#,#0H
MOVR1,#30H
MOVR0,#20H
MOVA,@R1
INCR1
ANLA,#01H
JZLOOP1
INC51H
SJMPLOOP2
LOOP1:
INC52H
LOOP2:
DJNZR0,LOOP3
RET
3.
参考程序:
ORG0000H
AJMPMAIN
ORG0003H
RLA;中断服务
MOVP1,A
RETI
MAIN:
MOVA,#0FFH
MOVP1,A;第一灯亮
SETBEA
SETBEX0;允许INT0外部中断
SETBIT0;中断触发方式为下降沿触发
SJMP$;等待中断
《单片机应用与实践》二
一.选择题(正确答案在序号前打√,每小题2分,共20分)
1.单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS—51的PC为16位,因此其寻址范围是
(A)4KB(B)64KB(C)8KB(D)128KB
2.PC的值是
(A)当前指令前一条指令的地址(B)当前正在执行指令的地址
(C)下一条指令的地址(D)控制器中指令寄存器的地址
3.以下运算中对溢出标志OV没有影响或不受OV影响的运算是
(A)逻辑运算(B)符号数加减法运算
(C)乘法运算(D)除法运算
4.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为
(B)6H(B)37H(C)38H(D)39H
5.在MCS—51中
(A)具有独立的专用的地址线
(B)由P0口和P1口的口线作地址线
(C)由P0口和P2口的口线作地址线
(D)由P1口和P2口的口线作地址线
6.在寄存器间接寻址方式中,指定寄存器中存放的是
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量
7.执行返回指令时,返回的断点是
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令下一条指令的首地址(D)返回指令的末地址
8.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
后,A的内容为
(A)CBH(B)03H(C)EBH(D)C8H
9.执行以下程序段
MOVR0,#data
MOVA,@R0
RLA
MOVR1,A
RLA
RLA
ADDA,R1
MOV@R0,A
后,实现的功能是
(A)把立即数data循环左移3次(B)把立即数data乘以10
(C)把data单元的内容循环左移3次(D)把data单元的内容乘以10
10.如在系统中只扩展一片Intel2732(4KХ8),除应使用P0口的8条口线外,至少还应使用P2口的口线
(A)4条(B)5条(C)6条(D)7条
二、判断题(正确打√,错误打ⅹ,每小题1分,共5分)
1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。
()
2.程序计数器(PC)不能为用户使用,因此它就没有地址。
()
3.内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用。
()
4.在程序执行过程中,由PC提供数据存储器的读/写地址。
()
5.80C51共有21个专用寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。
()
三、指出下列程序的功能(每小题5分,共10分)
1.
ORG0200H
MOVDPTR,#1000H
MOVR0,#20H
LOOP:
MOVXA,@DPTR
MOV@R0,A
INCDPTR
INCR0
CJNER0,#71H,LOOP
SJMP$
程序功能:
2.ORG0200H
MOVA,R0
ANLA,#0FH
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVR0,A
SJMP$
TAB:
DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H;0~9的ASCⅡ码
DB41H,42H,43H,44H,45H,46H;A~F的ASCⅡ码
程序功能:
四、编程题(每小题10分,共20分)
1.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。
2.编程将内部数据存储器20H~24H单元压缩的BCD码转换成ASCⅡ存放在于25H开始的单元。
五、编程设计题(每小题15分,共45分)
1、设计一串行通信接收程序,将接收的16个数据存入片内50H~5FH中,串行口为方式1,波特率为1200bps,SMOD=0,fosc=6MHz。
一.选择题(正确答案在序号前打√,每小题2分,共20分)
1.B2.C3.A4.D5.C
6.B7.C8.A9.D10.A
二、判断题(正确打√,错误打ⅹ,每小题1分,共5分)
1.(√)
2.(√)
3.(ⅹ)
4.(ⅹ)
5.(√)
三、指出下列程序的功能(每小题5分,共10分)
1.
程序功能:
把片外数据存储器1000H~1050H中的内容传送到片内数据存储器
20H~70H中。
2.
程序功能:
利用查表的方法实现RO中的十六进制数转换为ASCⅡ码
四、编程题(每小题10分,共20分)
1.参考程序:
MOV30H,#0
MOV31H,#0
MOV32H,#0
MOVDPTR,#2000H
MOVR1,#100
L4:
MOVXA,@DPTR
INCDPTR
CJNEA,#0,L1
INC32H
SJMPL2
L2:
JCL3
INC30H
SJMPL2
L3:
INC31H
L2:
DJNZR1,L4
SJMP$
2.
参考程序:
注意压缩的BCD码为一个字节占两位BCD码。
ORG0000H
MOVR7,#05H;R7为转换字节数
MOVR0,#20H;R0为源操作数地址
MOVR1,#25H;R1为目的操作数地址
NE:
MOVA,@R0
ANLA,#0FH;先取低位BCD码
ADDA,#30H;将BCD码转换成ASCⅡ码
MOV@R1,A
INCR1
MOVA,@R0
ANLA,#0F0H;取高位BCD码
SWAPA;半字节交换
ADDA,#30H;将高位BCD码转换成ASCⅡ码
MOV@R1,A
INCR0
INCR1
DJNZR7,NE
SJMP$
END
五、编程设计题(每小题15分,共45分)
1、
T1工作方式2:
,x=243=f3h
MOVTMOD,#00100000B
MOVSCON,#01010000B
MOVPCON,#00H
MOVTH1,#0F3H
MOVTL1,#0F3H
CLRES
MOVR7,#16
MOVR0,#50H
SETBTR1
WAIT:
JNBRI,WAIT
CLRRI
MOV@R0,SBUF
INCR0
DJNZR7,WAIT
《单片机应用与实践》三
一、填空题(20%,每空1分)
1、MCS-51单片机的存储空间包括和,它们的可寻址范围分别为
和。
2、若PSW的内容是10H,那么R3的地址是。
3、指令MOVA,@R0中,R0中的内容是指。
4、已知SP=25H,PC=2345H,标号Label的地址为3456H,问执行LCALLLabel指令后,堆栈指针SP=,(26H)=,(27H)=,PC=。
5、当晶振频率为12MHZ时,下面这个子程序延时时间为。
DL:
MOVR6,#100
DL1:
MOVR7,#4
DL2:
MULAB
MULAB
DJNZR7,DL2
DJNZR6,DL1
RET
6、决定程序执行的顺序是寄存器,该寄存器复位时的值为。
7、当定时/计数器选定为定时器方式时,是对进行计数,选定为计数器方式时,是对进行计数。
8、51单片机的中断系统最多可以有个嵌套。
9、MCS-51的外部中断的触发方式有两种,分别为和。
10、串行通信根据通信的数据格式分有两种方式,分别是和。
二、下列列出几个程序段,请分别求出执行后的结果。
(15%,每小题5分)
1、执行下列程序:
MOV21H,#0A7H
MOV22H,#10H
MOVR0,#22H
MOV31H,21H
ANL31H,#2FH
MOVA,@R0
SWAPA
结果:
(31H)=,A=。
2、执行下列程序:
MOVR0,#60H
MOVA,#0AH
RRA
MOV@R0,A
ADDA,#0FH
DECR0
MOV@R0,A
结果:
(60H)=,(5FH)=。
3、执行下列程序:
MOVA,#83H
MOVR0,#47H
MOV47H,#34H
ANLA,#47H
ORL47H,A
XRLA,@R0
结果:
R0=,A=。
三、编写指令段完成下列数据传送。
(15%,第1小题3分,其余每小题4分)
(1)R1内容送给R0;
(2)外部RAM0020H单元内容送给R0;
(3)外部RAM1000H单元内容送给外部RAM0020H单元;
(4)ROM2000H单元内容送给外部RAM0020H单元。
四、试编程要求用T1定时器控制P1.7引脚输出周期为40ms、占空比为50%的矩形脉冲。
要求主程序入口地址0050H及中断服务子程序入口地址2000H。
fosc=6MHz(15%)
六、下图为8031扩展3片8K的程序存储器2764,图中硬件电路已经连接了一部分,请用片选法将剩下的相关硬件电路连接完成,并写出每一片2764的地址范围。
(20%)
一、填空题(20%,每空1分)
1、程序存储器,数据存储器,64KB,64KB
2、13H
3、操作数的地址
4、27H,48H,23H,3456H
5、4.3ms
6、PC,0000H
7、片内机器周期脉冲数,片外脉冲
8、2
9、电平触发,边沿触发
10、同步方式,异步方式
二、下列列出几个程序段,请分别求出执行后的结果。
(15%,每小题5分)
1、27h,01h
2、05h,14h
3、47h,34h
三、编写指令段完成下列数据传送。
(15%,第1小题3分,其余每小题4分)
(1)MOVA,R1
MOVR0,A
(2)MOVDPTR,#0020H
MOVXA,@DPTR
MOVR0,A
(3)MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#0020H
MOVX@DPTR,A
(4)MOVDPTR,#2000H
MOVA,#0
MOVCA,@A+DPTR
MOVDPTR,#0020H
MOVX@DPTR,A
四、(15%)
方式1:
(216-x)×2=20000,x=dbf0h
ORG000H
LJMPMAIN
ORG001BH
LJMPT1_INT
ORG050H
MAIN:
MOVTMOD,#00010000B
MOVTH1,#0D8H
MOVTL1,#0F0H
SETBEA
SETBET1
SETBTR1
SJMP$
ORG2000H
T1_INT:
CPLP1.7
MOVTH1,#0D8H
MOVTL1,#0F0H
RETI
六、(20%)
地址范围:
(1):
c000h~dfffh
(2):
a000h~bfffh
(3):
6000h~7fffh
《单片机应用与实践》四
一、填空题(35%)
1、MCS-51的复位条件是。
复位后,CPU从单元开始执行程序,PC=,SP=,PSW=。
2、在下列情况
引脚应接何种电平?
(1)只有片内ROM,
=;
(2)只有片外ROM,
=;
(3)有片内、片外ROM,
=;(4)有片内ROM但不用,而用片外ROM,
=。
3、若PSW的内容为18H,则工作寄存器R0的地址是H。
4、10根地址线可选个存储单元,32KB存储单元需要根地址线。
5、若8031单片机的晶振频率fosc=12MHz,则时钟周期为,状态周期为,机器周期为,执行MULAB指令需要时间为。
6、8031单片机指令MOV是访问,最大范围为,MOVX是访问,最大范围为,MOVC是访问,最大范围为。
7、指令POPB的源操作数是,是寻址方式,目的操作数是,是寻址方式。
8、已知SP=25H,PC=4345H,(24H)=12H,(25H)=34H,(26H)=56H,当执行RET指令后,SP=
,PC=。
9、当定时/计数器选定为定时器方式时,是对进行计数,选定为计数器方式时,是对进行计数。
10、MCS-51单片机的串行口有种工作方式,其中方式0是方式,它的波特率为,用引脚传送数据,用引脚输出同步时钟信号。
五、试编制程序,使T0每计满500个外部输入脉冲后,由T1定时,在P1.0输出一个脉宽10ms的正脉冲(假设在10ms内外部输入脉冲少于500个),fosc=12MHz。
(15%)
六、如下图示,甲乙两机进行通信,要求甲机能读取8个按键的状态(0或1)并将读到的状态发送给乙机,乙机接收到后将数据通过8个发光二极管显示,要求编写甲乙两机的通信程序。
(20%)
一、填空题(35%)
1、在RST端保持至少2个机器周期的高电平,0000H,0000H,07H,00H
2、1,0,1,0
3、18H
4、1024,15
5、1/12us,1/6us,1us,4us
6、内RAM及FSR,256B,外RAM,64KB,ROM,64KB
7、SP,寄存器间接寻址,B,寄存器
8、23H,3412H
9、片内机器周期脉冲,片外脉冲
10、4,同步移位输入输出,fosc/12,RXD,TXD
五、
(216-x1)*1us=10000us→x1=b8f0h
216-x0=500us→x0=fe0ch
org000h
ljmpmain
org00bh
ljmpt0_int
org01bh
ljmpt1_int
org100h
main:
movsp,#60h
movtmod,#00010101b