广东海洋大学《单片机原理与应用含答案》.docx
《广东海洋大学《单片机原理与应用含答案》.docx》由会员分享,可在线阅读,更多相关《广东海洋大学《单片机原理与应用含答案》.docx(15页珍藏版)》请在冰豆网上搜索。
广东海洋大学《单片机原理与应用含答案》
广东海洋大学2008-2009《单片机原理与应用》
课程试卷
一、填空题(每题1.5分,共24分)
1.当CPU访问片外的存储器时,其低8位地址由____P0____口提供,高八位地址由___P2___口提供。
2.ALE信号的作用是_地址锁存和输入输出脉冲___________,EA接高电平表示__允许单片机使用片内rom_________。
3.PSW中RS1RS0=10H时,R2的地址是___00H____。
4.8051的中断向量表在___03H___、_____0BH___H和13H、1BH、23H。
5.ANLA.#0F0H是将A的高四位保持不变,而低四位_____0000_____。
6.数据指针DPTR是一个_____16_____位的特殊功能寄存器。
7.设DPTR=2000H,(A)=A0H,则MOVCA,@A+DPTR操作数的实际操作地址为____FFH____。
8.指针LCALL37B0H,首地址在2000H,完成的操作是__2003___H入栈,PC=___37B0H____。
9.8051单片机定时器/计时器作定时和计数用时,其计数脉冲分别由______单片机内部____和____T0T1____提供。
10. 单片机89C51中的串行通信共有___4__种方式,其中方式___0___是用作同步移位寄存器来扩展I/O口的。
二、选择题(每题2分,共20分)
1、边沿触发方式的外部中断信号时( )有效。
A.下降沿 B.上升沿 C.高电平 D.低电平
2、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间最少应超过( )。
A.2us B.4us C.8us D.1ms
3、以下哪个是属于单片机系统前向通道的器件?
( )
A.MOV DPTR,#3F98H (B)MOV R0,#0FEH
C. MOV 50H,#0FC3DH (D)INC R0
5、以下哪一条是位操作指令( )
(A)MOVP0,#0FFH(B)CLRP1.O
(C)CPL.A(D)POPPSW
6,若MCS-51中断源都编程为同级,当他们同时申请中断时,CPU首先响应()
(A)INT1(B)INT0
(C)T1(D)T0
7,定时器若工作在循环定时或者循环计数场合,应选用()
(A)工作方式0(B)工作方式1
(C)工作方式2(D)工作方式3
8,确定定时器/计数器工作方式的寄存器是()
(A)TCON(B)TMOD
(C)SCON(D)PCON
9,若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为()
(A)500(B)1000
(C)2^16-500(D)2^16-1000
10,串行口的控制寄存器SCON中,REN的作用是()
(A)接受中断请求标志位(B)发送中断请求标志位
(C)串行口允许接受位(D)地址/数据位
三、判断题(错误的叙述进行校正,每题1.5,共15分)
1、PC存放的是当前正在执行的指令的地址。
(F)
2、DPTR只能当作一个16位的特殊功能寄存器来使用。
(F)
3、工作寄存器区不允许做普通的RAM单元来使用。
()
4、执行LCALL指令时,栈指针SP的能容不会发生变化。
(F)
5、在51系列单片机的指令系统中,其加法减法和除法必须有累加器A的参与才能完成。
(F)
6、在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。
(T)
7、在51单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止(F)
8、定时/计数器工作于定时方式时,是通过89C51片内的振荡器输出经12分频后的脉冲进行计数,直至溢出为止。
(T)
9、在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。
(T)
10、串行口的发送中断与接收中断各自有自己的终端入口地址。
(T)
4、简答题(每题4分,共20分)
1、简述寄存器间接寻址方式及其寻址范围;
寄存器间接寻址:
以指令中给出的寄存器中的数据为地址,从该地址的单元取得操作数
寻址范围:
低8位,00H-FFH;DPTR访问片外RAM时,最大为0000H-FFFFH
2、设在MCS-51单片机片内RAM中:
(20H)=40H;(40H)=22H;(22H)=10H;P1=0CFH;当下列程序执行完毕后,各单元的内容分别为多少?
MOVR0,#20H
MOVA,@R0
MOVR1,A
MOVB,@R1
MOV10H,R1
MOV@R1,10H
MOVP3,P1
(A)=(B)=(R0)=(R1)=
(P1)=(P3)=(20H)=(22H)=
3、51系列单片机具有几个中断源,分别是如何定义的?
其中哪些中断源可以被定义为高优先级中断,如何定义?
5个中断源:
1,外部中断源(INT0,INT1);2,定时器、计数器溢出中断(T0,T1);2,串行口中断源(RI或TI)
外部中断源0,定时器、计数器溢出中断0,可以被定义为高级优先级中断
4、简单叙述8051的C/T0的工作模式。
5、简述LED数码管动态扫描原理既实现方式。
单片机的主程序调用显示子程序时,单片机通过先后输出字形码和字位码,以控制当前的LED数码管的点亮。
五、下面是一个行列式键盘连接图,请回答下列问题:
(10分)
(1)采用的是逐行扫描方式还是逐列扫描方式?
逐行
(2)输出口和输入口分别怎样构成?
(3)请简述键盘设计的步骤。
六、编程题(11分)
设有200个有符号数,连续存放在以2000H为首地址的存储区中,编程统计其中正数、负数和零的个数,分别存放在30H,31H和32H单元中。
实验一发光二极管流水灯实验
一、实验目的:
1.通过AT89C51单片机控制8个发光二极管,八个发光二极管分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮。
开始时P0.0→P0.1→P0.7→P0.6→┅→P0.0,实现亮点以1HZ频率循环移动。
二、PROTEUS电路设计:
实验三外中断优先级实验
一、实验目的:
1.理解单片机中断优先级和优先权。
2.用PROTEUS设计,仿真基于AT89C51单片机的中断优先级实验。
3.掌握中断编程方法。
单片机主程序控制P0口数码管循环显示0~8;外中断0、外中断1发生时分别在P2口、P1口依次显示0~8。
通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。
二、PROTEUS电路设计:
实验二开关控制LED数码管实验
PROTEUS电路设计:
实验四
一、实验目的:
1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。
2.用PROTEUS设计,仿真基于AT89C51单片机的60S倒计时实验。
二、PROTEUS电路设计:
实验五A/D转换实验
一、实验目的:
1.掌握转换器ADC0809的使用。
2.用PROTEUS设计,仿真基于AT89C51单片机的A/D转换实验。
3.通过改变电位器的值改变模拟量的输入,经转换为数字量在LED上显示,比对模拟量和数字量的关系。
二、PROTEUS电路设计:
实验1
ORG0000H
AJMPSTART
ORG0030H
START:
MOVP0,#0FFH
MOVA,#0FEH
AAA:
MOVP0,A
LCALLDELAY
JNBP0.7,BBB
RLA
AJMPAAA
BBB:
MOVA,#7FH
CCC:
MOVP0,A
LCALLDELAY
JNBP0.0,START
RRA
AJMPCCC
DELAY:
MOVR2,#123
DL3:
MOVR1,#200
DL2:
MOVR0,#20
DL1:
DJNZR0,DL1
DJNZR1,DL2
DJNZR2,DL3
RET
END
实验2
CLRP1.0
MOVDPTR,#TABLE
START:
CLRA
JNBP2.0,D1
INCA
D1:
JNBP2.1,D2
ADDA,#2
D2:
JNBP2.2,D3
ADDA,#4
D3:
JNBP2.3,D4
ADDA,#8
D4:
MOVCA,@A+DPTR
MOVP0,A
AJMPSTART
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END
实验3
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTER0
ORG0013H
LJMPINTER1
ORG0100H
MAIN:
MOVSP,#30H
SETBEX0
SETBIT0
SETBPX0
SETBEX1
SETBIT1
CLRPX1
SETBEA
START:
MOVR0,#00H
MOVA,R0
MOVR1,#9
AA:
PUSHACC
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
CALLDELAY
POPACC
INCA
DJNZR1,AA
LJMPSTART
INTER0:
PUSHPSW
PUSHACC
SETBRS0
MOVR0,#00H
MOVR1,#9
BB:
MOVDPTR,#TABLE
MOVA,R0
MOVCA,@A+DPTR
MOVP2,A
CALLDELAY
INCR0
DJNZR1,BB
POPACC
POPPSW
MOVP2,#0FFH
RETI
LJMPAA
INTER1:
PUSHPSW
PUSHACC
CLRRS0
SETBRS1
MOVR0,#00H
MOVR1,#9
CC:
MOVDPTR,#TABLE
MOVA,R0
MOVCA,@A+DPTR
MOVP1,A
CALLDELAY
INCR0
DJNZR1,CC
POPACC
POPPSW
MOVP1,#0FFH
RETI
LJMPAA
DELAY:
MOVR2,#50
D0:
MOVR3,#50
D1:
MOVR4,#50
D2:
DJNZR4,D2
DJNZR3,D1
DJNZR2,D0
RET
TABLE:
DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H
END
实验4
ORG0000H
AJMPMAIN
ORG000BH;T0中断入口
AJMPLOOP
ORG0030H
MAIN:
MOVTMOD,#01H;设置T0用于定时,模式1方式
MOVTH0,#3CH;装入定时初值
MOVTL0,#0B0H
MOVIP,#02H
MOVIE,#82H;T0中断允许
MOVDPTR,#TAB
MOVR0,#60
MOVR1,#16
SETBTR0
LOOP1:
MOVA,R0
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP2,#80H
MOVP0,A
ACALLDEL0
MOVA,B
MOVCA,@A+DPTR
MOVP2,#40H
MOVP0,A
ACALLDEL0
AJMPLOOP1
LOOP:
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZR1,LOOP2
MOVR1,#16
DECR0
CJNER0,#0FFH,LOOP2
MOVR0,#60
LOOP2:
RETI
DELAY:
MOVR2,#20
DEL0:
MOVR3,#50
DJNZR3,$
DJNZR2,DEL0
RET
TAB:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
END
实验5
ORG0000H
AJMPSTART
ORG0003H;外部中断0入口地址
AJMPINT
ORG0100H
START:
MOVR0,#50H;通道地址
MOVX@R0,A;启动A/D转换
SETBIT0;外部中断0为边沿触发方式
SETBEX0;允许外部中断0中断
SETBEA;CPU开放中断
SETBF0
CLRP2.0;P2.0必须为0
MOVDPTR,#TAB
LOOP:
JBF0,LOOP1
SETBP3.4
CLRP3.5
MOVA,R6
MOVP1,A
ACALLDLY
CLRP3.4
AJMPLHD
LOOP1:
SETBP3.5
CLRP3.4
MOVA,R7
MOVP1,A
ACALLDLY
CLRP3.5
LHD:
CPLF0
AJMPLOOP
INT:
MOVXA,@R0
MOVR7,A
SWAPA
MOVR6,A
MOVA,R7
ANLA,#0FH;取低4位
MOVCA,@A+DPTR
MOVR7,A
MOVA,R6
ANLA,#0FH;取高4位
MOVCA,@A+DPTR
MOVR6,A
MOVX@R0,A;启动下一次
RETI
DLY:
MOVR4,#0FH
DL:
MOVR5,#045H
DL1:
DJNZR5,DL1
DJNZR4,DL
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND