- 18
- 0
- 约1.25万字
- 约 9页
- 2017-08-11 发布于重庆
- 举报
单片机复习题(总)
MCS-51单片机内部包含哪些主要部件?①8位CPU
②4KB的程序存储器(掩膜ROM)
③128B的数据存储器
④片外程序存储器最大寻址能力64KB
⑤片外数据存储器最大寻址能力64KB
⑥32根输入/输出线
⑦1个全双工异步串行接口
⑧2个16位定时/计数器
⑨5个中断源,2个中断优先级
2、MCS-51单片机的P0~P3口在结构上有何不同?P0:数据总线和低8位地址总线
P1:通用I/O接口
P2:高8位地址线
P3:多功能I/O接口
3.状态字寄存器PSW的各位定义为:
CY:进行标志位(D7位)。在进行加、减运算时,如果操作结果使累加器A中最高位D7向前有进位或借位,则CY=1,否则CY=0。在位操作中,CY作位累加器C使用。
AC:辅助进行位(D6位),否则AC=0。通常在二-十进制调整时使用。
F0:用户标志位(D5位)。这两个是供用户定义的标志位,用户可根据需要对F0赋予一定的含义,由用户用软件方法对其置位或复位,用以控制用户程序的转向。
RS1、RS0:工作寄存器区选择控制位(D4、D3位)。用于设定哪一组工作寄存器为当前正在工作的工作寄存器组,即对相同名称的R0~R7改变其物理地址,由用户通过软件方式加以选择。RS1、RS0的取值与选用工作寄存器的关系如表2-7示。单片机在开机或复位后,RS1和RS0总是为零状态,也说是说,选择0区为当前工作寄存器组,故单片机复位后的工作寄存器R0~R7的物理地址为00H~07H。
OV:溢出标志位。用于指示累加器A在算术运算过程中是否发生的溢出。当运算结果超出了8位数能表示的范围,即-128~+127,则OV自动置1,否则OV=0。
在加法运算中,OV=l表示运算结果是错误的,OV=0表示运算正确;在乘法运算中,OV=l表示乘积超过255,即乘积分别在B与A中,OV=0表示乘积只在A中;在除法运算中,OV=l表示除数为0,除法不能进行,OV=0表示除数不为0,除法可以正常进行。
P:奇偶标志位。每条指令执行完毕后,由硬件根据A中1的数目对P位自动置位。若A中1的数目为奇数,则P=1,若A中1的数目为偶数,则P=0。
6、单片机内数据存储器是怎样划分的?作用如何?
作用:256字节被分为两个区域:00H~7FH是真正的RAM区,可以读/写各种数据;而80H~FFH是专门用于特殊功能寄存器SFR的区域。
7、8031单片机在应用中,P2和P0口能否直接作为输入输出口连接开关、指示灯之类的外围设备?为什么?有七种寻址方式:① 立即寻址② 直接寻址③ 寄存器寻址④ 寄存器间接寻址⑤变址寻址⑥相对寻址⑦位寻址9、已知A=C9H,B=8DH,CY=1.执行指令“ADDC A,B”结果如何?执行指令”SUBB A,B”结果又如何? A=57H B=8DH CY=1; A=3BH B=8DH CY=0.
12、把累加器A中的低4位送到外部RAM的2000H单元中,试编程序。
ANL A,#OFHMOV DPTR,#2000HMOVX @DPTR,AMOV A,#15HMOV B,#33HMUL A,BMOV 31H,BMOV 30H,A14、编程将片内35H~55H单元中的内容送入到以3000H为首的存储区中。
M: MOV R0,#35H
MOV R1,#21H
MOV DPTR,#3000H
LOOP:MOV A,@R0
MOVX @DPTR,A
INC R0INC DPTR
DJNZ R1,LOOP
15、从20H单元开始有一无符号数据块,其长度在20H单元中,求出数据块中最小值,并存入21H单元。
MIN: MOV R0,#21H
MOV R2,#20H
MOV A,R2
MOV R1,A
DEC R2
MOV A,@R1
LP0: MOV R3,A
INC R1
CLR C
SUBB A,@R1
JC LP1
MOV A,@R1
LP1: MOV A,R3
LP2: DJNZ R2,LP0
MOV @R0,A
RET
16、8051有几个中断源?有几级中断优先级?各中断标志是如何产生的?又是如何清除的?响应中断时,各中断源中断入口地址是多少?
AT89C51单片机有5个中断源,具有2级中断优先级。
中断源 入口地址 产生 清除
外部中断0 0003H 由INT0(P3.2)输入 硬件置位
定时器T0 000BH 溢出中断请
原创力文档

文档评论(0)