1、单片机复习资料基础题一、 选择题1. 采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是 D 。 A. 127128 B. 127127 C. 128128 D. 1281272. 下列带符号数中最大的数为 D 。 A. 10010010B B. 89H C. 81H D.79H 3. 下列几种中断优先级的次序中, 为可实现的次序(可选两个答案)。 A. ,T1, ,T0,串口 B. 串口,T0,,T1, C. T0,T1,,串口 D. 串口,,T0,T14. 若PSW的内容为18H,那么执行下列三套指令的最后一条指令的目标地址是否相等 。 1)MOV 18H,A 2)MOV R0,
2、A 3)MOV R0,#18H; MOV R0,A A.相等 B.不相等5. 一般来讲8031最大能扩展外部程序存储器的容量为 。 A. 256K B. 512K C. 16K D. 64K6. 8031外接晶振频率为12MHz,其计数器允许输入外部脉冲的最高频率为 A 。 A. 0.5MHz B. 1MHz C. 6MHz D. 12MHz 7. 使用8051时,引脚应 。 A. 接低电平 B.接高电平 C.空 D.作为I/O输入口8. MCS-51单片机中,决定程序执行顺序的寄存器是 。 A. PSW B. DPTR C. PC D. SP9. 8031在扩展外部数据存储器后,还有 条通用
3、I/O线可供用户使用。 A.16 B.32 C.14 D.810. 指令AJMP的跳转范围是 。 (A) 256 (B) 1KB (C) 2KB (D) 64KB11. 各中断源发出的中断请求信号,都会标记在MCS51SFR中的 中。 (A)TMOD (B) TCON、SCON (C) IE (D) IP二、填空题1. 8051有 5 个中断源,可分为 2 个优先级。上电复位时 中断源的优先级别最高。2. 8031上电复位时PC 00 H,SP= H;而工作寄存器则缺省采用第 区,这组寄存器的地址范围是从 H到 H。3. CPU与外存或I/O接口连接的系统总线通常由 、 、 三种总线组成。4.
4、 8031内部RAM共分为 个功能区,其高端128个字节的地址空间称为 区,但其中仅有 个字节有实际意义。5. 74LS373芯片通常作为 之用;ADC0809通常作为 之用;DAC0832通常作为 之用。6. 74LS138是具有3个输入译码器芯片,其输出作为片选信号时,最多可以选中 块芯片。三、读程序、编程、与问答题1. 设(A)=0FH ,(R0)=30H内部RAM (30H)=0AH,(31H)=0BH,(32H)=0CH请写出在执行各条列指令后,所示单元的内容。 MOV A,R0 ;(A)= MOV R0,32H ;(30H)= MOV 32H, A ;(32H)= MOV R0,#
5、31H ;(R0)= MOV A, R0 ;(A)= 2. 用数据传输指令来完成下列要求的数据传送。(1)R0内容输出到R1;(2)外部RAM 20H单元的内容传送到A;(3)内部RAM 30H单元的内容送到R0;(4)外部RAM 30H单元的内容送内部RAM 20H;(5)外部RAM 1000H单元的内容送内部RAM 20H;(6)程序存储器ROM 2000H单元的内容送到R1;(7)程序存储2000H单元的内容送内部RAM 20H;(8)程序存储器2000H单元的内容送外部RAM 30H;(9)程序存储2000H单元的内容送外部RAM 1000H。3. 分析下面个程序段中指令的执行结果(1
6、) MOV A,#30H MOV B,#0AFH MOV R0,#31H MOV 30H,#87H XCH A,R0 ;(A)= 31H ;(R0)= 87H SWAP A ;(A)= 13H (2) MOV A, #83H MOV R0, #47H MOV 47H, #34H ANL A, #47H ;(A)= 03H ORL 47H, A ;(A)= 03H ;(47H)= 37H XRL A, R0 ;(A)= 34H 4. 编写程序,把外部RAM 1000H10FFH区域内的数据逐个搬到从2000H开始的区域。5. 设计一个循环灯程序,如下图所示,使这些发光二极管每次只点亮一个,依次一
7、个一个地点亮,循环不止。6. 什么是中断?中断与子程序有何区别?8031单片机提供了几个中断源?有几级中断优先级别?各中断源的中断服务程序的入口地址是多少?简述51单片机响应中断的过程。7. 简述51单片机定时器工作方式1。8.已知单片机系统晶振频率为6MHz,试编写程序,用定时器T0,工作方式2,使P1.0输出如下周期波形。9.在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储器的地址不会发生冲突?10.8031如只外接了程序存储器,实际上还有多少根I/O口线可供用户使用?如只外接了数据存储器,实际上还有多少根I/O口线可供用户使用?并说明原因。11
8、.试将8031单片机外接一片27128,两片62128扩展成一个应用系统:画出扩展系统的电路连接图,并指出RAM的地址分布。12. 根据图示电路,设计一个程序,开机后LED显示0,以后每按一次键,显示的数字加1,显示9后,再回到0,并照此循环。13. 什么是单片机?MCS51中8031有哪些资源?14. “由于LJMP和SJMP都是转移指令,所以程序中的LJMP指令都可以用SJMP指令来代替。”请问这种说法是否正确,为什么? 15. 89c51单片机的内部数据存储器可以分为几个不同区域?各有什么特点?16.什么叫串行通讯、波特率,串口通讯中两条线各起什么作用?8031串口有几种工作方式?74L
9、S164功能?如何用它作LED显示,画出电路图。基本习题参考答案:4. MOV DPL,#00H MOV R7, #0FFH LOOP: MOV DPH,#10H MOVX A, DPTR MOV DPH,#20H MOVX DPTR,A INC DPL ;此题中DPL可公用 DJNZ R7,LOOP END5. MOV A, #0FEH ;0FEH1111 1110, LOOP: MOV P1,A ;只有一个LED亮 LCALL DEL200 ;延时 RL A ;A左移一位 SJMP LOOPDEL200: MOV R7, #XXH ;根据晶振计算其值 DEL2: MOV R6, #XXH
10、;根据晶振计算其值 DEL1: DJNZ R6,DEL2 DJNZ R7,DEL1 RET8. ORG 0000H LJMP MAIN ORG 000BH LJMP PULSE ORG 0030HMAIN: MOV TMOD, #02H ;T0,方式2MOV TH0, #0EC ;延时40usMOV TL0, #0ECHSETB ET0SETB EA ;开中断SETB TR0 ;启动定时SJMP $ ;等待中断 PULSE: CPL P1.0 ;中断服务程序 RETIEND10. 答:使用外部程序存储器时,P 0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I
11、/O线。在使用外部数据存储器时,除了占用P0和P2之外,还需要用和控制线,而这两条线就是P3口中的两条:P3.6和P3.7,所以这时只有14条I/O可用使用。当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用。12. ORG 0030H DISPLAY: MOV 20H, #00H ;20H存放要显示的数 KEYIN: ACALL DIS SETB P3.3 ;置P3.3为1 MOV C, P3.3 ;读键 JNC PROKEY ;P3.3为0,有键按下 SJMP KEYIN ;P3.3为1,无键按下 PROKEY: INC 20H ;有键按下,
12、显示数字1 CJNE 20H, #0AH, KEYIN MOV 20H, #00H DIS: MOV A, 20H MOV DPTR, #TAB ;表首地址 MOVC A, A+DPTR ;查表 MOV P1, A ;显示 RET ;子程序返回ORG 0100H ;段码表TABLE: DB xxH, END15. 答:89c51内部数据存储器共有256个字节单元(地址为00H-0FFH)。其中前32个单元,即00H-01F称为工作寄存器区,安排了4个工作寄存器组,每组8个,都用R0-R7表示。并通过PSW中的RS1和RS0来选区。20H-2FH 为可位寻址区,单元中的每一位都可以进行独立的位操
13、作。30H-7FH是可供用户使用的数据缓冲区。80H-0FFH为特殊功能寄存器区,共有21个特殊功能寄存器在此区,没有被特殊功能寄存器占用的单元不能当作一般的RAM使用。21个特殊功能寄存器的地址凡是能被8整除的也可以进行位寻址。模拟试题一一、选择填空 1. 采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是 D 。 A. 127128 B. 127127 C. 128128 D. 1281272. 下列带符号数中最小的数为 A 。 A. 10010010B B. 89H C. 91H D.79H 3. 下列几种中断优先级的次序中, C 为可实现的次序。 A. ,T1, ,串口,T0
14、 B. 串口,T0,,T1, C. ,T0,T1,串口 D. 串口,T1,,T0,4. 若PSW的内容为18H,那么执行下列三套指令18H中内容是否相等 A 。 1)MOV 18H,A 2)MOV R0,A 3)MOV R0,#18H; MOV R0,A A.相等 B.不等5. 一般来讲8031最大能扩展外部程序存储器的容量为 D 。 A. 256K B. 512K C. 16K D. 64K6. 8031外接晶振频率为6MHz,其计数器允许输入外部脉冲的最高频为 A 。 A. 0.25MHz B. 0.5MHz C. 6MHz D. 1MHz 7. 使用8051时,引脚应 B 。 A. 接低
15、电平 B.接高电平 C.空 D.作为I/O输入口8. MCS-51单片机中,决定程序执行顺序的寄存器是 C 。 A. PSW B. DPTR C. PC D. SP9. 8031在扩展外部程序存储器后,最多有 C 条通用I/O线可供用户使用。 A.14 B.32 C.16 D.810. 用补码表示十进制数-89为 B 。 A. 89H B. A7H C. A9H D. DAH二、判断改错(正确的划;不正确的划,并改正错误,有下划线的部分不得修改)(共10分,每小题2分)1. 执行MOVX DPTR,A时,P2口输出高8位数据地址,执行MOVX R0,A时,P2口不输出高8位数据地址。 2. 执
16、行INC A与执行ADD A,#01H是完全等价的。3. 8031单片机有5个中断源,用户只能使用芯片上的外部中断请求输入引脚。4. P1,P2,P3口的输出缓冲器可以驱动8个LSTTL电路,P0口的输出缓冲器可以驱动4个LSTTL电路。5. 若8031仅外接了16K的程序存储器,P2口还剩2根引脚一般也可作通用I/O口使用。三、阅读以下程序,填写运行结果 1. ORG 0100H SETB C MOV R0, #00H DEC R0 DEC R0 END 运行后:(Cy)=_ (R0)=_ 2. 填写运行过程中的结果 ORG 1000H MOV A, #83H MOV R0, #27H MO
17、V 27H,#34H MOV A, R0 ; (A)=_ CPL A ; (A)=_ MOV R0,A ; (27H)=_ ORL A, #27H ; (A)=_ END四、 简答题1何为中断?说明中断与调用子程序的最主要异同点。简要说明8031响应中断的过程。按8031的中断优先权从高到低的顺序写出所有中断源及其中断入口地址。 2. 8031在使用外部数据存储器时,最多还有多少条通用I/O线可供用户使用?并说明原因。 3. 什么叫单片机?8031芯片本身主要有那些硬件资源。五、按图1编写一程序。要求:按S1,只有红灯亮;按S2,只有黄灯亮;按S3,只有绿灯亮。 图1:六、根据图2,利用定时器
18、和中断方式,做一个在共阳极的两个LED上显示0099(每次增加1秒)反复循环的秒钟(要求:一定要利用定时器和中断)。模拟题一参考答案:一、 选择题1 D;2.A ; 3.c ; 4.A; 5.d; 6.A; 7.B; 8.C; 9.C; 10.B; 二、 判断改错(正确的划;不正确的划,并改正错误,有下划线的部分不得修改)1;执行MOVX DPTR,A时,P2口输出高8位数据地址,执行MOVX R0,A时,P2 口仍然输出高8位数据地址。2;执行INC A与执行ADD A,#01H是不完全等价的。3;8031单片机有5个中断源,用户可以使用5个内外部中断请求。4;P1,P2,P3口的输出缓冲器
19、可以驱动4个LSTTL电路,P0口的输出缓冲器可以驱动8个LSTTL电路。5;若8031仅外接16K的ROM,P2口还剩2根引脚,但不能作通用I/O使用。三、 阅读以下程序1)(Cy)1(R0)FEh2)(A) 34h (A)CBh(27H)CBh (A)EFh四、 简答题 1.答:CPU为响应一些突发事件(如外部引脚变为低电平、定时器/计数器溢出、串行口缓冲器满或空等),停止执行当前程序,转去执行相应的程序的过程。子程序是预先安排好的,中断是随机发生的。其共同点是停止执行当前程序,转去执行相应的程序。8031在每一个机器周期顺序检查每一个中断源,并按优先顺序处理所有被激活了的中断请求,然后根
20、据一定条件进入相应的中断入口地址执行中断服务程序,遇到RETI时则返回到原来的程序中。INT0 0003H;T0 000BH; INT1 0013H; T1 001BH; SP 0023H2.答:使用外部程序存储器时,P 0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I/O线。在使用外部数据存储器时,除了占用P0和P2之外,还需要用和控制线,而这两条线就是P3口中的两条:P3.6和P3.7,所以这时只有14条I/O可用使用。当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用。 3.答:单片机是在一块硅片上集成了
21、中央处理器(CPU),存储器(RAM、ROM),和各种输入、输出接口(计数器、并行口、串行口等),在一块芯片上具有一台计算机的主要功能。 8031主要有256个字节的内部RAM;32根IO口,但P0,P2只能作地址和数据总线;2个外部中断,2个计数器/定时器;一个双工串行口等。五、略,编程题无唯一的答案,按考生的具体答案打分。六、略,编程题无唯一的答案,按考生的具体答案打分。七、略,见实验指导书。模拟试题二一、填空题(30分)(每空1分)1)8051系列单片机中,片内数据存储区一共分为4个区,这4个区分别为: ; ; ; 。2)8K字节的存储器共有地址线 根。3)38译码器74LS138在全译
22、码寻址方式中,译码器的输出端通常与单片机接口芯片的 端连接。4)当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停主程序的执行,转去执行 程序,执行完 ,再执行 程序。5)8051单片机的中断源有: , , , , 。6) 单片机P0口为 总线和 总线的复用端口,74LS373与P0口连接,其输出线作为系统的 ,74LS373的G端与单片机 连接。7) 已知程序执行前有A=01H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后: POPDPH POPDPL MOV DPTR,#3000H RLA MOV B,A MOVC A,A+DPTR PUSH A MOV A
23、,B INCA MOVC A,A+DPTR PUSH A RET ORG3000H DB10H,80H,30H,80H,50H,80H 请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=()。9) 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后: POPDPH POPDPL POPSP 则:DPH=( ),DPL=( ),SP=( )10) 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,R0 CPLA 后,A的内容为(
24、)。二、简答题(20分)1) 单片机的复位(RST)操作有几种方法,复位功能的主要作用。(5分)2) 编制中断服务程序时,为什么在主程序的初始化程序中,必须设置 SETB EA 这条指令,以及在中断服务程序中为什么通常需要保护现场和恢复现场?(10分)3) 中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(5分)三、判断下列指令的正误:(10分) 1)MOV28H,R2 ( )2)DEC DPTR ( )3)INC DPTR ( )4)MOV C,30H ( )5)CPLR5 ( )6)MOV R0,R1 ( )7)PUSH DPTR ( )8)MOV F0,C( )9)M
25、OV F0,ACC.3 ( )10)RLC R0 ( )四、编程题(40分)1、编制中断初始化程序,外部中断0(跳变触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。(5分)2、编程将片内RAM 40H 单元开始的16个数传送到片外RAM 2000H 开始的单元中。(5分)3、使用定时器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。(系统时钟为6MHz)(15分)4. 根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8个通道的模拟量循环采集,采集结构存放至片内RAM 40H47H中。(15分)模拟试题二参考答案一、填空题(每空1分)
26、1、工作寄存器区、位寻址区、数据缓冲区、特殊功能寄存器区2、133、片选端4、中断服务程序,中断服务程序,主程序4、外部0中断,定时器T0中断,外部1中断,定时器T1中断,串行口通讯中断5、数据,地址,地址,ALE6、中断服务,中断服务,主7、30H,50H,80H,30H,3080H8、3CH,5FH,4FH9、0CBH二、简答题1、单片机的复位操作方式有:1、上电复位;2、手动复位。 (2分) 复位功能的主要作用是:复位时,PC初始化为0000H,使MCS-51单片机从0000H开始执行程序。(3分)2、中断允许寄存器IE中有1个总的开关中断控制位EA,当EA=0时,所有的中断请求被屏蔽,
27、CPU不接受任何中断;只有当EA=1时,CPU才开放中断。所以主程序的初始化程序中,必须设置 SETB EA 这条指令。(5分) 现场是指中断时刻单片机中某些寄存器和储存器单元中的数据或状态,为了使中断服务程序的执行不破坏这些数据和状态,以免在中断返回后影响主程序的运行,因此要这些数据和状态送入堆栈保存,这就是现场保护。中断结束后,在返回主程序谦,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容,这就是现场恢复。(5分)3、中断服务子程序返回指令RETI和普通子程序返回指令RET的区别在于:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断。(5分)三、判断下列指令的正误:(10分)1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 四、编程题1、编制中断初始化程序,外部中断0(边沿触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。(5分) 解:SETB EX0 SETB IT0SETB ET0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1