单片机期末复习题89c52文档格式.docx
- 文档编号:4770388
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:13
- 大小:21.04KB
单片机期末复习题89c52文档格式.docx
《单片机期末复习题89c52文档格式.docx》由会员分享,可在线阅读,更多相关《单片机期末复习题89c52文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
(C)CPU中用于存放地址的寄存器称为地址寄存器
(D)地址总线上传送的只能是地址信息
8、MCS-51外扩一个8255时,需占用(D)个端口地址
(A)1个
(B)2个
(C)3个
(D)4个
9、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择(A)
(A)方式0
(B)方式1
(C)方式2
(D)方式3
10、某种存储器芯片是8KB*4/片,那么它的地址线根数是(C
(A)
11根
(B)12根
(C)13根
(D)14根
11、以下哪一条指令的写法是错误的(C)。
A、MOVDPTR,#3F98HB、MOVR0,#0FEHC、MOV50H,#0FC3DHD、INCR0
12、以下哪一条指令的写法是错误的(D)。
A、INCDPTRB、MOVR0,#0FEHC、DECAD、PUSHA
13、以下哪一条指令的写法是错误的(B)。
A、MOVCA,@A+DPTRB、MOVR0,#FEHC、CPLAD、PUSHACC
二判断题:
1、当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。
(T)
2、当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。
(F)
3、MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。
4、是读端口还是读锁存器是用指令来区别的。
5、在89C51的片内RAM区中,位地址和部分字节地址是冲突的。
6、中断的矢量地址位于RAM区中。
7、在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。
8、工作寄存器区不允许做普通的RAM单元来使用。
9、工作寄存器组是通过置位PSW中的RS0和RS1来切换的。
10、特殊功能寄存器可以当作普通的RAM单元来使用。
11、访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。
12、堆栈指针SP的内容可指向片内00H~7(F)H的任何RAM单元,系统复位后,SP初始化为00H。
13、DPTR只能当作一个16位的特殊功能寄存器来使用。
14、程序计数器PC是一个可以寻址的特殊功能寄存器。
15、单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。
16、单片机系统上电后,其内部RAM的值是不确定的。
17、在51系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器A的参与才能完成。
(T)
18、并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。
19、串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。
20、在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。
21、是非题:
异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。
22、在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。
23、在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。
F
24、在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。
25、单片机89C51一般使用非整数的晶振是为了获得精确的波特率。
26、单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。
三程序分析题:
1ORG8000H(P56)
MOVA,#30H
MOVCA,@A+PC
…
ORG8030H
DB‘ABCDEFGHI’
执行结果(A)=D.
2设MOVC指令所在地址(PC)=1FF0H,则偏移量=2000H-(1FF0H+1)=0FH。
相应的程序如下:
MOVA,#09H;
(A)←09H
ADDA,#0FH;
用加法指令进行地址调整
MOVCA,@A+PC;
(A)←((A)+(PC)+1)
执行结果为:
(PC)=1FF1H,(A)=51H。
3ORG1004H
MOVA,#10H
MOVDPTR,#7000H
MOVCA,@A+DPTR
ORG7010H
DB02,04,06,08
执行结果:
(A)=02,PC=100AH.
4设(R1)=20H,(20H)=AAH,则下面程序执行完后A的内容是多少。
MOVA,#55H
ANLA,#0FFH
ORL20H,A
XRLA,@R1
CPLA
(A)=00H
5写出程序功能
ORG0000H
MAIN:
MOVDPTR,#TAB
MOVR1,#06H
LP:
MOVXA,@DPTR
MOVP1,A
LCALLDELAY0.5S
INCDPTR
DJNZR1,LP
AJMPMAIN
TAB:
DB01H,03H,02H,06H,04H,05H
DELAY0.5S:
…..
RET
END
程序功能:
将TAB中的6个数据输出到P1口,且每输出一个数延时0.5s。
6、以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1.MULRoRl乘法指令应使用A、B寄存器操作
2.MOVA,@R7间接寄存器使用R7有误,间址寄存器只能使用R0、R1
3.MOVA,#3000H8位累加器A不能接受16位数据
4.MOVC@A+DPTR,AMOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.UMP#1000H长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。
四程序设计题
1、T0工作于方式0,要求在P1.0引脚上产生周期为2ms的方波输出(fosc=6MHZ)
ORG0000H
AJMPMAIN
ORG000BH
AJMPINQP
ORG0030H
MAIN:
MOVTMOD,#00H
MOVTH0,#0F0H
MOVTL0,#0CH
SETBTR0;
启动T0
SETBET0;
允许T0中断
SETBEA;
开放CPU中断
AJMP$;
定时中断等待
ORG4000H;
中断服务程序
INQP:
MOVTH0,#0F0H;
重写定时常数
CPLP1.0;
P1.0变反输出
RETI
2设fosc=12MHz,T0工作于方式1,产生50ms定时中断,TF0为高级中断源。
试编写主程序中的初试化程序和中断服务程序,使P1.0产生周期为1秒的方波。
(P110)
MAIN:
MOVSP,#EFH
MOVTH0,#3CH
MOVTL0,#0B0H
MOVTMOD,#1
MOVIP,#2
MOVIE,#82H
SETBTR0
MOV30H,#0AH
PTF0:
ORLTL0,#0B0H;
DJNZ30H,PTF0R
CPLP1.0
PTF0R:
RETI
用查询法:
MOV30H,#0AH
MOVTH0,#3CH
MOVTL0,#0B0H
MOVTMOD,#1
L2:
JBCTF0,L1
SJMPL2
L1:
DJNZ30H,L2
3用定时器1在方式2计数,要求每计满100次,将P1.0端取反。
MOVTMOD,#60H;
设置T1为方式2计数
MOVTH1,#9CH;
赋初值
MOVTL1,#9CH
SETBTR1
DE:
JBCTF1,RE;
查询计数溢出
AJMPDE
RE:
CPLP1.0
4用定时器T0,分别产生两个方波,一个周期为200s,另一个周期为400s
该单片机同时使用串行口,用定时器/计数器作为波特率发生器。
(fosc=9.216MHZ)。
ORG000BH;
TL0中断入口
AJMPITL0
ORG001BH;
TH0中断入口
AJMPITH0
ORG0100H
MOVSP,#60H
MOVTMOD,#23H
MOVTL0,#0B3H
MOVTH0,#66H
MOVTL1,#data;
data是根据波特率
;
要求设置的常数(初值)
MOVTH1,#data
启动TL0初值
SETBTR1;
启动TH0初值
SETBET0;
允许TL0中断
SETBET1;
允许TH0中断
SETBEA;
CPU中断开放
AJMP$
ORG0200H
ITL0:
MOVTL0,#0B3H
CPLP1.0;
输出方波200s
ITH0:
MOVTH0,#66H
CPLP1.1;
输出方波400s
5、利用T0门控位测试INT0引脚上出现的正脉冲的宽度,将所测得值高位存入片内71H单元,低位存入片内70H单元。
(fosc=12MHz)
测试时,应在/INT0为低电平时,设TR0为1;
当/INT0变高时,启动计数;
当/INT0再变低时,停止计数。
该计数值即被测正脉冲宽度。
MOVTMOD,#09H;
T0定时器方式,GATE=1
MOVTL0,#00H
MOVTH0,#00H
MOVR0,#70H
JBP3.2,$;
等待P3.2变低
SETBTR0;
启动T0准备工作
JNBP3.2,$;
等待P3.2变高
等待P3.2再次变低
CLRTR0;
停止计数
MOV@R0,TL0;
存放计数低字节
INCR0
MOV@R0,TH0;
存放计数高字节
SJMP$
6编写程序,功能为对串行口初始化为方式1输入/输出,fosc=11.0592MHZ,波特率为9600,先在串行口上输出字符串“MCS-51”,接着读串行口上输入的字符,又将该字符从串行口上输出。
MOVTMOD,#20H
MOVTH1,#0FDH
MOVTL1,#0FDH
SETBTR1
MOVSCON,#52H
MOVR4,#0
MOVDPTR,#TSAB
LP1:
MOVA,R4
MOVCA,@A+DPTR
JZLP6
LP3:
BCTI,LP2
SJMPLP3
LP2:
MOVSBUF,A
INCR4
SJMPLP1
LP6:
JBCRI,LP5
SJMPLP6
LP5:
MOVA,SBUF
LP8:
JBCTI,LP7
SJMPLP8
LP7:
MOVSBUF,A
TSAB:
DB‘MCS-51’
DB0AH,0DH,0
7、89C52串行口按双工方式进行数据收发,要求波特率为1200,串口工作在方式1。
编写有关的通信程序。
设发送数据区的首地址为20H,接收数据区的首地址为40H,fosc为11.0592MHz。
主程序
MOVTMOD,#20H;
T1设为模式2
MOVTL1,#0E8H;
MOVTH1,#0E8H;
SETBTR1;
启动定时器1
MOVSCON,#50H;
设置为方式1,REN=1
MOVR0,#20H;
发送数据区首址
MOVR1,#40H;
接收数据区首址
ACALLSOUT;
先输出一个字符
SETBES
SETBEA
……
ORG0023H;
串行口中断入口
AJMPSBR1;
转至中断服务程序
ORG0100H
SBR1:
JNBRI,SEND;
TI=1,为发送中断
ACALLSIN;
RI=1,为接收中断
SJMPNEXT;
转至统一的出口
SEND:
调用发送子程序
NEXT:
RETI;
中断返回
发送子程序
SOUT:
CLRTI
MOVA,@R0;
取发送数据到A
INCR0;
修改发送数据指针
MOVSBUF,A;
发送
RET;
返回
接收子程序
SIN:
CLRRI
MOVA,SBUF;
读出接收缓冲区内容
MOV@R1,A;
读入接收缓冲区
INCR1;
修改接收数据指针
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 期末 复习题 89 c52