单片机期末复习题(89c52)_第1页
单片机期末复习题(89c52)_第2页
单片机期末复习题(89c52)_第3页
单片机期末复习题(89c52)_第4页
单片机期末复习题(89c52)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一选择题:1、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是( B )(A)PC (B)PSW (C)A (D)SP2、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B )(A)MOV (B)MOVX (C)MOVC (D)以上都是3、指令ALMP的跳转范围是(C)(A)256B (B)1KB (C)2KB (D)64KB4、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A )(A)98H (B)84H (C)42H (D)22H5、各中断源发出的中断请求信号,都会记在MCS-51系统中的( B )(A)IE (

2、B)IP (C)TCON (D)SCON 6、CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C )(A)混合编址 (B)动态编址 (C)独立编址 (D)变址编址7、下列四条叙述中,有错误的一条是( A )(A)16根地址线的寻址空间可达1MB(B)内存储器的存储单元是按字节编址的(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

3、 (D)方式310、某种存储器芯片是8KB*4/片,那么它的地址线根数是( C )(A) 11根 (B)12根 (C)13根 (D)14根11、以下哪一条指令的写法是错误的( C )。A、MOV DPTR,#3F98H B、MOV R0,#0FEH C、MOV 50H,#0FC3DH D、INC R012、以下哪一条指令的写法是错误的( D )。A、INC DPTR B、MOV R0,#0FEH C、DEC A D、PUSH A13、以下哪一条指令的写法是错误的( B )。A、MOVC A,A+DPTR B、MOV R0,#FEH C、CPL A D、PUSH ACC二判断题:1、 当89C5

4、1的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。 (T)2、 当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。 (F)3、 MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。 (F)4、 是读端口还是读锁存器是用指令来区别的。 (T)5、 在89C51的片内RAM区中,位地址和部分字节地址是冲突的。 (F)6、 中断的矢量地址位于RAM区中。 (F)7、 在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。 (T)8、 工作寄存器区不允许做普通的RAM单元

5、来使用。 (F)9、 工作寄存器组是通过置位PSW中的RS0和RS1来切换的。 (T)10、 特殊功能寄存器可以当作普通的RAM单元来使用。 (F)11、 访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。 (T)12、 堆栈指针SP的内容可指向片内00H7 (F)H的任何RAM单元,系统复位后,SP初始化为00H。 (F)13、 DPTR只能当作一个16位的特殊功能寄存器来使用。 (F)14、 程序计数器PC是一个可以寻址的特殊功能寄存器。 (F)15、 单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。 (T)16、 单片机系统

6、上电后,其内部RAM的值是不确定的。 (T)17、在51系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器A的参与才能完成。(T)18、并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。 (T)19、串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。 (T)20、在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。 (T)21、是非题:异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。 (T)22、在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。 (T)23、在单片机89C51中

7、,串行通信方式1和方式3的波特率是固定不变的。F24、在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。 (T)25、单片机89C51一般使用非整数的晶振是为了获得精确的波特率。 (T)26、单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。 (T)三程序分析题:1 ORG 8000H (P56) MOV A, #30H MOVC A, A+PC ORG 8030H DB ABCDEFGHI 执行结果 (A)= D.2 设MOVC指令所在地址(PC)=1FF0H,则偏移量=2000H-(1FF0H+1)=0FH。相应的程序如下:MOV A,#09H

8、 ;(A)09HADD A,#0FH ;用加法指令进行地址调整MOVC A,A+PC ;(A)(A)+(PC)+1)执行结果为:(PC)=1FF1H,(A)=51H。3 ORG 1004H MOV A, #10H MOV DPTR, #7000H MOVC A, A+DPTR ORG 7010H DB 02,04,06,08执行结果:(A)=02, PC=100AH. 4设(R1)=20H,(20H)=AAH,则下面程序执行完后A的内容是多少。 MOV A, #55H ANL A, #0FFH ORL 20H, A XRL A, R1 CPL A执行结果:(A)=00H5 写出程序功能 ORG

9、 0000H MAIN: MOV DPTR, #TAB MOV R1, #06H LP: MOVX A, DPTR MOV P1, A LCALL DELAY 0.5S INC DPTR DJNZ R1, LP AJMP MAINTAB: DB 01H, 03H, 02H, 06H, 04H, 05HDELAY 0.5S:. RET END程序功能: 将TAB中的6个数据输出到P1口,且每输出一个数延时0.5s。6、以给出的指令操作码为依据,请判断MCS51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。1MUL RoRl 乘法指令应使用A、B寄存器操作2MOV A,R7 间接寄

10、存器使用R7有误,间址寄存器只能使用R0、R13MOV A, #3000H 8位累加器A不能接受16位数据4MOVC A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。5UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。四 程序设计题1、 T0工作于方式0,要求在P1.0引脚上产生周期为2ms的方波输出(fosc=6MHZ)ORG 0000H AJMP MAIN ORG 000BH AJMP INQP ORG 0030HMAIN: MOV TMOD, #00H MOV TH0, #0F0H MO

11、V TL0, #0CH SETB TR0 ;启动T0 SETB ET0 ;允许T0中断 SETB EA ;开放CPU中断 AJMP $ ;定时中断等待 ORG 4000H ;中断服务程序INQP: MOV TH0, #0F0H ;重写定时常数 MOV TL0, #0CH CPL P1.0 ;P1.0变反输出 RETI2 设fosc=12MHz,T0工作于方式1,产生50ms定时中断,TF0为高级中断源。试编写主程序中的初试化程序和中断服务程序,使P1.0产生周期为1秒的方波。(P110)MAIN:MOV SP, #EFH MOV TH0, #3CH MOV TL0, #0B0H MOV TMO

12、D , #1 MOV IP, #2 MOV IE, #82H SETB TR0 MOV 30H, #0AHPTF0:ORL TL0, #0B0H;中断服务程序 MOV TH0, #3CH DJNZ 30H, PTF0R MOV 30H, #0AH CPL P1.0PTF0R:RETI用查询法: MOV 30H, #0AH MOV TH0, #3CH MOV TL0, #0B0H MOV TMOD, #1 SETB TR0L2: JBC TF0, L1 SJMP L2L1: MOV TH0, #3CH MOV TL0, #0B0HDJNZ 30H, L2 MOV 30H, #0AH CPL P1

13、.0 SJMP L23 用定时器1在方式2 计数,要求每计满100次,将P1.0端取反。 MOV TMOD, #60H ; 设置T1为方式2计数 MOV TH1, #9CH ;赋初值 MOV TL1, #9CH SETB TR1DE: JBC TF1, RE ;查询计数溢出 AJMP DERE: CPL P1.0 AJMP DE4 用定时器T0,分别产生两个方波,一个周期为200ms,另一个周期为400 ms,该单片机同时使用串行口,用定时器/计数器作为波特率发生器。(fosc =9.216MHZ)。 ORG 0000H AJMP MAIN ORG 000BH ;TL0中断入口 AJMP IT

14、L0 ORG 001BH ;TH0中断入口 AJMP ITH0 ORG 0100HMAIN:MOV SP, #60H MOV TMOD, #23H MOV TL0, #0B3H MOV TH0, #66H MOV TL1,#data ;data是根据波特率 ;要求设置的常数(初值) MOV TH1,#data SETB TR0 ;启动TL0初值 SETB TR1 ;启动TH0初值 SETB ET0 ;允许TL0中断 SETB ET1 ;允许TH0中断 SETB EA ;CPU中断开放 AJMP $ ORG 0200HITL0:MOV TL0, #0B3H CPL P1.0 ;输出方波200ms

15、 RETIITH0:MOV TH0, #66H CPL P1.1 ;输出方波400ms RETI5、利用T0门控位测试INT0引脚上出现的正脉冲的宽度,将所测得值高位存入片内71H单元,低位存入片内70H单元。(fosc=12MHz)测试时,应在/INT0为低电平时,设TR0为1;当/INT0变高时,启动计数;当/INT0再变低时,停止计数。该计数值即被测正脉冲宽度。MOV TMOD , #09H;T0定时器方式,GATE=1MOV TL0, #00HMOV TH0, #00HMOV R0, #70HJB P3.2, $ ;等待P3.2变低SETB TR0 ;启动T0准备工作JNB P3.2,

16、 $ ;等待P3.2变高JB P3.2, $ ;等待P3.2再次变低CLR TR0 ;停止计数MOV R0, TL0 ;存放计数低字节INC R0MOV R0, TH0 ;存放计数高字节SJMP $ 6 编写程序,功能为对串行口初始化为方式1输入/输出,fosc=11.0592MHZ,波特率为9600,先在串行口上输出字符串“MCS-51”,接着读串行口上输入的字符,又将该字符从串行口上输出。 MOV TMOD, #20H MOV TH1, #0FDH MOV TL1, #0FDH SETB TR1 MOV SCON, #52H MOV R4, #0 MOV DPTR, #TSABLP1: M

17、OV A, R4 MOVC A, A+DPTR JZ LP6LP3: BC TI, LP2 SJMP LP3LP2: MOV SBUF, A INC R4 SJMP LP1LP6: JBC RI, LP5 SJMP LP6LP5: MOV A, SBUFLP8: JBC TI, LP7 SJMP LP8LP7: MOV SBUF, A SJMP LP6TSAB: DB MCS-51 DB 0AH,0DH,0 7、89C52串行口按双工方式进行数据收发,要求波特率为1200,串口工作在方式1。编写有关的通信程序。设发送数据区的首地址为20H,接收数据区的首地址为40H,fosc为11.0592MHz。主程序 MOV TMOD ,#20H ;T1设为模式2 MOV TL1 , #0E8H ; MOV TH1 ,#0E8H ; SETB TR1 ;启动定时器1 MOV SCON ,#50H ;设置为方式1,REN=1 MOV R0 ,#20H ;发送数据区首址 MOV R1 ,#40H ;接收数据区首址 ACALL SOUT ;先输出一个字符 SETB ES SETB EA 中断服务程序 ORG 0023H ;串行口中断入口 AJMP SBR1 ;转至中断服务程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论