课程名称: 单片机原理与接口技术 试卷满分100分
考试时间: 2008 年1 月16 日 (第20周 星期三)
一、填空。(每空1分,共30分)
1.MCS-51采用 指令系统,最短指令机器码为 字节,最长指令机器码为 字节,因此其指令在PC“走飞”时,存在被拆分的风险,即把指令的 当作 执行。
2.通用CPU核心部件为 单元,其作用是承担算术运算和 。
3.当存储器芯片处于读状态时,片选信号必须处于 状态,控制信号必须处于 状态。
4.MCS-51 MCU字长为 位,含义是 (数据总线、地址总线、控制总线)宽度为 位,最大寻址能力为 KB。
5.MCS-51 MCU含有 个 位定时/计数器,其中定时/计数器 具有16位自动重装初值功能。
6.MCS-51 MCU外中断编程为 和 触发方式。
7.PCA中断入口地址为 ;其中的每一模块均可以工作在软件定时方式、 、
、 四种方式。
8.对C51RX兼容芯片ERAM读操作时, (有效、无效),此时P0口作为
(I/O引脚、数据/地址总线AD7~AD0)。
9.当不使用外部ROM时,MCS-51芯片引脚 (接地、接VCC、悬空)。
10.在以MCS-51为核心的控制系统中,最好选择 (P0、P1~P3)I/O引脚构成4*4矩阵键盘,这样可省去上拉电阻和 。
11.MCS-51复位后,SP寄存器为 。
12.串行口方式 不能作为串行通信口,而方式 的波特率固定,仅与晶振频率有关。
二、指出下列指令中指定操作的寻址方式(每空1分,共15分)
1. MOV R1, #16 ;目的操作数寻址方式为: ; 源操作数寻址方式为:
2. MOV A, 4FH ;目的操作数寻址方式为: ; 源操作数寻址方式为:
3. MOV B, @R0 ;目的操作数寻址方式为: ; 源操作数寻址方式为:
4. MOV 20H.3, C ;目的操作数寻址方式为: ; 源操作数寻址方式为:
5. DEC P1 ;操作数P1寻址方式为:
6. MOVX A, @DPTR ;源操作数寻址方式为: ;操作对象为
7. MOVC A, @A+DPTR ;源操作数寻址方式为: ;操作对象为
8. JB P1.0, NEXT ;操作数NEXT寻址方式为: ;操作对象为 (P1.0引脚、P1.0锁存器位)。
三、根据程序员的注释,指出其中的谬误(每题1分,共5分)
1. MOV A, 90H ;将内部RAM 90H单元送累加器Acc。
2. MOV R4, R2
3. MOVC R1, @A+DPTR ;查表结果送寄存器R1
4. MOV ACC.4, ACC.0 ;把累加器Acc的b0位送b4位。
5. 定时/计数器T1的中断服务程序
PROC CTC1
CTC1:
PUSH ACC
INC 30H
MOV A,30H
CJNE A, #100, NEXT
NEXT:
JC EXIT
MOV 30H,#0
EXIT:
POP ACC
RETI
END
四、分析下列程序段的功能,指出执行结果(每空1分,共10分)
1.
CODE0 DATA 30H
MOV R0, #CODE0
MOV A, @R0
ANL A, #0F0H
SWAP A
MOV B, #10
MUL AB
MOV B, A
MOV A, @R0
ANL A, #0FH
ADD A, B
MOV @R0, A
该程序将30H单元 (二进制数、BCD码)转换为 (二进制数、BCD码);假设执行前30H单元内容10000100B,那么执行后30H单元为 。
2.
MOV R0, #30H
MOV A, @R0
INC R0
ADD A, @R0
DA A
MOV @R0, A
假设执行前30H单元内容为14H、31H单元内容为15H,执行后30H单元为 ;执行后31H单元为 。
3.
INDATA EQU 30H
MOV R1, # INDATA
CLR A
MOV R3, #7
LOOP:
ADD A, @R1
INC R1
DJNZ R3, LOOP
ANL A, #7FH
MOV @R1, A
这段程序实现 ;假设执行前30H~37H单元内容分别为20~27,执行后38H单元
为
4.
RR A
RR A
ANL A, #3FH
这段程序实现 ;假设执行前寄存器A内容为13,则执行后A内容为
5.
MOV A, #2
MOVC A, @A+PC
SJMP NEXT
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
NEXT:
NOP
这段程序执行后A内容为
五、按要求写出如下程序段(每题5分,共15分,可任选其中3小题)
1. 将ERAM的80H~8FH单元共16字节送ERAM的10H~1FH单元中。
2. 写出将30H单元b1、b0清零;b5、b4置1;b7位取反,而其他位不变的程序段。
3. 写出16位二进制减法程序段(被减数存放在30H、31H单元中,减数存放在40H、41H单元中,差回送到30H、31H单元中(假设高位存放在低地址)。
4. 写出利用定时计数器T1在P1.0引脚上产生频率为10KHz方波的程序段(假设晶振频率为6MHz,CPU工作在“6时钟/机器周期”模式下)。
5. 假设8个逻辑量X7~X0从P1口引脚输入,如图1所示。请写出判别输入量X7~X0中高电平引脚的奇偶性,并规定当输入量中有奇数个引脚为高电平时,LED亮,反之LED不亮。
图1
六、分析图2所示电路,回答下列问题。(15分)
图2
1.U4是扩展的并行 (输入、输出)口,请用导线或网络标号完成U4与MCU数据线的连接。(2分)
2.U5是扩展的并行 (输入、输出)口,请用导线或网络标号完成U5与MCU数据线的连接。(2分)
3.U4的I/O口地址为_________;U5的I/O口地址为_________。(每空1分)
4.U6 的A口地址为 ;B口地址为 ;C口地址为 ;状态/控制口地址为 。(每空1分)
5.在这种连接方式中,P2口能作一般I/O引脚使用吗?请写出8255初始化程序段(A口处于基本I/O方式,输出;B口也处于基本I/O方式,输入;C口高4位定义为输入、低4位定义为输出)。(5分)
七、分析图3所示LED显示电路,回答下列问题。(10分)
图3
1.该LED显示驱动电路采用______(动态、静态)显示方式,所用LED数码管为_____(共阴、共阳)数码管。其笔段码锁存器为_________;采用_______(软件、硬件)译码方式。 (每空1分)
2.假设每笔段LED发光二极管压降为2.0V(74HC273输出低电平电压为0.2V),工作电流约为1.5mA,请分别估算限流电阻R1~R16的阻值与耗散功率。(3分)
| 3.假设显示信息(指数码)存放在内部RAM的90H(对应LED1)、91H(对应LED2)单元中,请写出将显示数码转换为笔段码后分别送LED1、LED2数码显示器的程序段。(3分) |
课程名称: 单片机原理与接口技术(05光信息1~2班)
考试时间: 2008 年 1 月 16 日 (第 20 周 星期三 )
一、填空。(每空1分,共30分)
1. CISC, 1 ,_ 3 __,操作数,操作码
2. ALU,逻辑运算 3. 低电平,低电平
4. __ 8位 __,__数据总线__,_ 8位 __,__KB_______
5. _3_ __,____16 __,_ T2 __,6. 下降沿,低电平
7. ___0033H__,__高速输出_____,_比较捕捉___,__PWM______(后三个空无顺序)
8. __无效____,_I/O引脚__ 9. __接VCC ___
10. ___ P1~P3____,_隔离二极管___ 11. _07H (或07)__
12. __0____,__2_____
二、指出下列指令中指定操作的寻址方式(每空1分,共15分)
1. __寄存器 ,立即(数) 2. ___寄存器 _,直接
3. __直接 ,寄存器间接 4. _直接_,寄存器 5. _直接
6. _寄存器间接 ,外部RAM、ERAM或扩展的并行输入口(该空只要答出一个即给分)
7. _变址 _, 程序存储器 8. _相对__, I/O引脚
三、根据程序员的注释,指出其中的谬误,并予以改正(每题1分,共5分)
1. 高128字节内部RAM不支持直接寻址方式,应改为:
MOV R0, #90H ;将内部RAM 90H单元地址送R0
Mov A, @R0
2. R1~R7之间不能直接传送,应改为:
MOV A, R2
MOV R4, A
3. 查表结果只能送寄存器A,应改为:
MOVC A, @A+DPTR ;查表结果送寄存器R1
MOV R1, A
4. 两个位存储单元之间不能直接传送,必须通过位累加器C, 应改为:
MOV C, ACC.0
MOV ACC.4, C ;把累加器Acc的b0位送b4位
5. 由于在中断服务程序中使用影响PSW寄存器的指令,但没有将PSW压入堆栈
四、分析下列程序段的功能,指出执行结果(每空1分,共10分)
1. _ BCD码__,二进制数 , 54H 2. __14H _, 29H
3. 对40H~47H单元求和,并保存和的低7位, 28H
4. __除4 _, 3 5. ___ 3FH
五、按要求写出如下程序段(每题5分,共15分,可任选其中3小题)
1. 将ERAM的80H~8FH单元共16字节送ERAM的10H~1FH单元中。
MOV R0, #80H
MOV R1, #10H
MOV R2, #16
LOOP:
MOVX A, @R0
MOVX @R1, A
INC R0
INC R1
DJNZ R2, LOOP
2. 写出将30H单元b1、b0清零;b5、b4置1;b7位取反,而其他不变的程序段。
ANL 30H, #11111100B (#0F4H)
ORL 30H, #00110000B (#30H)
XRL 30H, #10000000B (#80H)
3. 写出16位二进制减法程序段(被减数存放在30H、31H单元中,减数存放在40H、41H单元中,差回送到30H、31H单元中(假设高位存放在低地址)。
CLR C
MOV A, 31H
SUBB A, 41H
MOV 31H, A
MOV A, 30H
SUBB A, 40H
MOV 30H, A
4. 写出利用定时计数器T1在P1.0引脚上产生频率为10KHz方波的程序段(假设晶振频率为6MHz,CPU工作在“6时钟/机器周期”模式下)。
周期T==100us,即高低电平时间为50us,而目前机器周期为1us。因此可令定时计数器T1工作在方式2(8位重装初值)
初值M=256-=206
ORG 0000H
LJMP MAIN
ORG 001BH
CPL P1.0
RETI
ORG 00050H
MAIN:
MOV TL1, #206
MOV TH1, #206
ANL TMOD, #0F0H
ORL TMOD, #00100000B
SETB ET1
SETB EA
SETB TR1
SJMP $
5. 假设8个逻辑量X7~X0从P1口引脚输入,如图1所示。请写出判别输入量X7~X0中高电平引脚的奇偶性,并规定当输入量中有奇数个引脚为高电平时,LED亮,反之LED不亮。
MOV A, P1
MOV C, P
CPL C
MOV P0.7, C
六、分析图2所示电路,回答下列问题。(15分)
1. _ 输出_ 2. __输入_ 3. _ 84H_,___ 8CH
4. _94H_,__95H , _ 96H _,_97H
5. 只要使用R0、R1作间址寄存器访问扩展的并行口,P2口是可作为一般的I/O引脚使用。(2分)
C口控制字为10001010B (即8AH) (1分)
MOV R0, #97H
MOV A, #8AH
MOVX @R0, A ;(2分)
七、分析图3所示LED显示电路,回答下列问题。(10分)
. 1. 静态 _,__共阳 __, __U3、U4 _, 软件译码_
2. 限流电阻===1.86KΩ,取标准值1.8 KΩ。
电阻消耗的功率==1.5×1.5×1.8=4.05mW,因此任何尺寸电阻均可以。
3.假设显示信息(指数码)存放在内部RAM的90H(对应LED1)、91H(对应LED2)单元中,请写出将显示转换为笔段码后分别送LED1、LED2数码显示器的程序段。(3分)
MOV R0, #90H
MOV A, @R0
MOV DPTR, #TABLED
MOVC A, @A+DPTR
MOV DPTR, #8000H ;LED1的I/O口地址
MOVX @DPTR, A
INC R0
MOV A, @R0
MOV DPTR, #TABLED
MOVC A, @A+DPTR
MOV DPTR, #8400H ;LED2的I/O口地址
MOVX @DPTR, A
TABLED:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H下载本文