单片机原理与应用四川省第一批省级课程选修部分和课后习题及模拟试题_第1页
单片机原理与应用四川省第一批省级课程选修部分和课后习题及模拟试题_第2页
单片机原理与应用四川省第一批省级课程选修部分和课后习题及模拟试题_第3页
单片机原理与应用四川省第一批省级课程选修部分和课后习题及模拟试题_第4页
单片机原理与应用四川省第一批省级课程选修部分和课后习题及模拟试题_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、选修部分包括第10章测控接口、第11章C51入门和第12章串行总线扩展技术第12章 IIC、SPI单片机原理与应用 习题第1章 思考题及习题1. 什么是单片机,它与一般计算机有何区别?2. 单片机内部采用的是什么数制?为什么在计算机编程中常用十六进制?3. 单片机主要应用与哪些方面?请举一些你所知道的例子。4. 写出下列十进制数的原码和补码(能用8位就用8位,否则用16位),用十六进制表达。十进制数原码补码28-28100-130250-347928-928第2章 思考题及习题1 MCS-51单片机中的51子系列单片机内部包含哪些主要功能器件?2 51子系列单片机存储器空间从逻辑上可分为哪几部

2、分,各部分作用是什么?3 简述51子系列单片机片内RAM的空间分配?各部分功能?4 51单片机EA引脚有何功能?在使用89c51时EA引脚因如何处理?5 特殊型MCS-51单片机对基本型的功能进行了那些方面的扩展?6 使单片机系统复位常见有哪几种方法?绘出其原理图,复位后特殊功能寄存器的初始值如何?7 开机复位后,CPU使用哪组工作寄存器?它们的地址是多少? 8 内部RAM中,什么是字节地址?什么是位地址?第3章 思考题与习题1问答题1.1 什么是寻址方式?51单片机有几种寻址方式?举例说明。 1.2 51单片机无条件转移指令有几种?如何选用?1.3 51单片机条件转移指令有几种?如何求rel

3、?1.4 ACALL、LCAll有何区别?AJMP、SJMP、LJMP有何区别?2 读程序题2.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,#31H ;(R0)= MOV A, R0 ;(A)= 2.2分析下面个程序段中指令的执行结果(1) MOV SP,#50H MOV A,#0F0H MOV B,#0FH PUSH ACC ;(SP)= ;(51H)= PUSH

4、B ;(SP)= ;(52H)= POP B ;(SP)= ;(B)= POP ACC ;(SP)= ;(A)= (2) ORG 0100HCLR CMOV R0, #0FFHINC R0INC R0END运行后:(Cy)=_; (R0)=_(3) MOV A,#30H MOV B,#0AFH MOV R0,#31H MOV 30H,#87H XCH A,R0 ;(A)= ;(R0)= SWAP A ;(A)= (4) MOV A, #83H MOV R0H, #47H MOV 47H, #34H ANL A, #47H ;(A)= ORL 47H, A ;(A)= ;(47H)= XRL A

5、, R0 ;(A)= (5)若内部RAM的(30H)=33H (31H)=32H (32H)=31H (33H)=30H 外部RAM的(0030H)=33H (0031H)=31H (0032H)=32H (0033H)=30HROM的(0030H)=78H (0031H)=32H (0032H)=E6H (0033H)=F9H(DPTR)=0执行下列程序后(A)= HORG 0030HMOV R0, #32HMOV A, R0MOV R1, AMOVX A, R1MOVC A, A+DPTR2.3 试对下列程序进行人工汇编并说明此程序的功能,其中25H、24H、23H;2BH、2AH、29H

6、中的内容小于55H。ORG 1000HACDL:MOV R0, #25HMOV R1, #2BHMOV R2, #03HCLR CCLR ALOOP:MOV A, R0ADDC A, R1DEC R0DEC R1DJNZ R2, LOOPSJMP $END第4章 思考题及习题1 什么是伪指令?伪指令与指令有何区别?2 循环程序由哪几部分组成?3 编写一循环程序,将内部RAM的20H2FH共16个连续单元清零。4 编写一循环程序,查找内部RAM 30H50H单元中出现FFH个数,并将查找搭结果存入51H单元。5 编写循环程序,计算,将结果存内部RAM 30H(低8位)、31H(高8位)单元(&l

7、t;256)。6 试用循环转移指令编写延时20ms子程序(晶振12MHz)。7 编写程序,把外部RAM 1000H10FFH区域内的数据逐个搬到从2000H开始的区域。8 从内部RAM的30H单元开始存放着一组无符号数,其数目存放在21H单元中.试编写程序,求出这组无符号数中的最小的数,并将其存入20H单元9 设计一个循环灯程序,如下图所示,使这些发光二极管每次只点亮一个,依次一个一个地点亮,循环不止。5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.79题图10 利用查表技术将累加器A中的一位BCD码转换为相应的十进制数的7段码,结果仍放在A中(设显示09的7段码为:40H,

8、79H,24H,30H,19H,12H,02H,78H,00H,1BH)。11. 按下面公式编写程序,x为无符号数(x<128),存在内部30H单元,y存放在31H单元。第5章 思考题及习题1.为什么读取引脚时要先向该引脚送“1”?2.用Proteus设计一个动态显示4位7段LED数码管的电路,并编写程序,显示“1234”。3.如何在本章键盘扫描法中增加防止键抖动功能?4.用Proteus设计一个4x4的键盘,一位7段LED数码管显示,将按键的编码显示出来(0F)。第6章 思考题及习题 1问答题1.1 什么是中断?什么是中断源?中断与调用子程序有何异同?举一生活中的例子说明这些概念。1.

9、2 MCS-51基本型单片机提供了哪几个中断源?如何识别各中断源的状态?各中断源的优先级高低是如何排列确定的?1.3 MCS-51响应中断的条件是什么?各中断源的中断服务程序入口地址是多少?1.4 简述CPU响应中断的过程。1.5 保护断点和保护现场各解决什么问题?2 填空题2.1 51单片机有 个中断源,有 个中断优先级,优先级由软件填写特殊功能寄存器 加以选择。2.2 外部中断的请求标志是 和 。3 选择题3.1 MCS-51单片机中,CPU正在处理定时器/计数器T1中断,若有同一优先级的外部中断INT0又提出中断请求,则CPU()。A.响应外部中断INT0 B.继续进行的原来的中断处理C

10、.发生错误 D.不确定3.2 中断服务程序的最后一条指令必须是()。 A.END B.RET C.RETI D.AJMP3.3 在中断服务程序中,至少应有一条指令必须是()。 A.传送指令 B.转移指令 C.加法指令 D.中断返回指令3.4 51单片机响应中断时,下列哪种操作不会自动发生()。 A.保护现场 B.保护PC C.转入中断入口地址第7章 思考题及习题1问答题1.1 的T0、T1用作定时器时,其定时时间与哪些因素有关?1.2 MCS-51单片机定时器的门控信号GATE设置为1时,定时器如何启动?1.3 51 T0、T1用作定时和计数时,其计数脉冲由谁提供? 1.4 当T0设为工作方式

11、3,由于TR1位已被TH0占用,如何控制定时器T1的启动和关闭?2 填空题2.1 51单片机计数器最大的计数值为 ,此时工作与工作方式 。2.2 当把定时器/计数器T0定义为可自动重新装入初值的8位定时器/计数器时, 为8位计数器, 为常数寄存器。 2.3 若系统晶振频率是12MHz,利用定时器/计数器T1定时1ms,在方式1下定时初值为()。2.4 读以下程序,并回答问题 ORG 0000H AJMP MAIN ORG 000BH LJMP PRO1 MAIN: MOV TMOD,01H MOV TL0,#00H MOV TH0,#00H SETB TR0 SETB ET0 SETB EA

12、HERE: AJMP HERE ORG 2000H PRO1: INC R7 RETI END1)本程序把定时器/计数器T0设置成方式 。2)本程序执行时,R7的内容将 。3)程序在 语句处发生中断,执行完中断服务程序后,返回到 语句处。4)本程序中断服务程序的入口地址为 。5)是否可将LJMP PRO1改为AJMP PRO1? 。3 选择题3.1 下面哪一种仅适用于定时器T0()。A.方式0 B.方式1 C.方式2 D.方式33.2 若51单片机的晶振频率是24MHz,则其内部定时器/计数器利用计数器对外部输入脉冲的最高计数频率是()。 A.1MHz B. 6MHz C. 12MHz D.

13、24MHz4 设计题 4.1已知单片机系统晶振频率为6MHz,试编写程序,用定时器T0,工作方式1,使P1.0输出如下周期波形。40us40us 题4.1图 4.2 用Proteus完成例2。 4.3 用Proteus设计一个方案,用T0引脚实行外部中断功能。第8章 思考题及习题1计算机并行通讯和串行通讯各有什么特点?2波特率的具体含义是什么?为什么说串行通信的双方波特率必须相同?3. 试叙述利用SM2控制位进行多级通讯的过程。 4. 用Proteus设计仿真两个89c51单片机进行通讯。其功能为:单片机A在P1口设置8个键;单片机B在P1口有8个LED显示,在P3.7上有一个按键;两个单片机

14、通过串口连接。单片机B作为主机,单片机A作为从机。当B机的键按下后,通过串口向A发出一次请求,A把8个键的状态通过串口传给B,B通过P1口显示A机键的状态。第9章 思考题及习题1问答题1.1 什么是ROM、RAM?1.2 为什么当P2口作为扩展存储器高8位地址后,不再适宜作通用I/O口了?1.3在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储器的地址不会发生冲突?1.4 51单片机如只外接了程序存储器,实际上还有多少根I/O口线可供用户使用?如只外接了数据存储器,实际上还有多少根I/O口线可供用户使用?并说明原因。 2 设计题2.1试将8031单片机

15、外接一片27128,两片62128扩展成一个应用系统:画出扩展系统的电路连接图,并指出RAM的地址分布。习题图9.1 2.2 用Proteus按习题图9.1的原理,编写一程序,把获得的键的状态在LED上显示出来。2.3 用8255实现2.2题的功能,并用Proteus实现仿真。第10章 思考题及习题1.简述A/D、D/A和开关量功率接口在计算机应用系统中的作用?2.A/D、D/A有哪些主要技术指标,有何意义?3.用Proteus设计一个仿真电路(参考图10.4,但要求去掉74LS373),用ADC0808完成对一个通道05V直流电压的采集,并用2位LED显示出来(小数点后一位)。4.用Prot

16、eus设计一个仿真电路和程序,用51单片机通过光电耦合器和功率三极管驱动继电器,通过继电器控制一台直流电机。系统有一个按键,按一次键电机转动,再按一次键电机停止,参考10.14,请自行增加直流电机和按键。第11章 思考题及习题用Keil C51把附录A单片机实验中的所有程序重新编写,并调试通过。第12章 思考题及习题1. 在89c51单片机上设计扩展两片ATc02,画出硬件图,写出能对它们读写的程序,并设计一个方案在Proteus上进行验证。2. 为了节省51单片机口线的资源,有人将模拟I2C的SCL和SPI的SCK共用一根口线,请问这种方案是否可行?为什么?3. 用Protues仿真,验证本

17、章I2C总线扩展I/O口通用器件PCF8574中的例题。4. 用Proteus仿真,验证本章LTC1456 DAC的程序,用虚拟示波器观察器输出波形,修改程序,产生正弦波,三角波的输出。5. 参照本书附录A实验6对ADC0832的介绍,在Proteus上实现实验6。基础题一、 选择题1. 采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是 。 A. 127128 B. 127127 C. 128128 D. 1281272. 下列带符号数中最大的数为 。 A. 10010010B B. 89H C. 81H D.79H 3. 下列几种中断优先级的次序中, 为可实现的次序(可选两个答案

18、)。 A. ,T1, ,T0,串口 B. 串口,T0,,T1, C. T0,T1,,串口 D. 串口,,T0,T14. 若PSW的内容为18H,那么执行下列三套指令的最后一条指令的目标地址是否相等 。 1)MOV 18H,A 2)MOV R0,A 3)MOV R0,#18H; MOV R0,A A.相等 B.不相等5. 一般来讲8031最大能扩展外部程序存储器的容量为 。 A. 256K B. 512K C. 16K D. 64K6. 8031外接晶振频率为12MHz,其计数器允许输入外部脉冲的最高频率为 。 A. 0.5MHz B. 1MHz C. 6MHz D. 12MHz 7. 使用80

19、51时,引脚应 。 A. 接低电平 B.接高电平 C.空 D.作为I/O输入口8. MCS-51单片机中,决定程序执行顺序的寄存器是 。 A. PSW B. DPTR C. PC D. SP9. 8031在扩展外部数据存储器后,还有 条通用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有 个中断源,可分为 个优先级

20、。上电复位时 中断源的优先级别最高。2. 8031上电复位时PC H,SP= H;而工作寄存器则缺省采用第 区,这组寄存器的地址范围是从 H到 H。3. CPU与外存或I/O接口连接的系统总线通常由 、 、 三种总线组成。4. 8031内部RAM共分为 个功能区,其高端128个字节的地址空间称为 区,但其中仅有 个字节有实际意义。5. 74LS373芯片通常作为 之用;ADC0809通常作为 之用;DAC0832通常作为 之用。6. 74LS138是具有3个输入译码器芯片,其输出作为片选信号时,最多可以选中 块芯片。三、读程序、编程、与问答题1. 设(A)=0FH ,(R0)=30H内部RAM

21、 (30H)=0AH,(31H)=0BH,(32H)=0CH请写出在执行各条列指令后,所示单元的内容。 MOV A,R0 ;(A)= MOV R0,32H ;(30H)= MOV 32H, A ;(32H)= MOV R0,#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单元的内容

22、送到R1;(7)程序存储2000H单元的内容送内部RAM 20H;(8)程序存储器2000H单元的内容送外部RAM 30H;(9)程序存储2000H单元的内容送外部RAM 1000H。3. 分析下面个程序段中指令的执行结果(1) MOV A,#30H MOV B,#0AFH MOV R0,#31H MOV 30H,#87H XCH A,R0 ;(A)= ;(R0)= SWAP A ;(A)= (2) MOV A, #83H MOV R0H, #47H MOV 47H, #34H ANL A, #47H ;(A)= ORL 47H, A ;(A)= ;(47H)= XRL A, R0 ;(A)=

23、 4. 编写程序,把外部RAM 1000H10FFH区域内的数据逐个搬到从2000H开始的区域。5. 设计一个循环灯程序,如下图所示,使这些发光二极管每次只点亮一个,依次一个一个地点亮,循环不止。5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.76. 什么是中断?中断与子程序有何区别?8031单片机提供了几个中断源?有几级中断优先级别?各中断源的中断服务程序的入口地址是多少?简述51单片机响应中断的过程。7.简述51单片机定时器工作方式1。8.已知单片机系统晶振频率为6MHz,试编写程序,用定时器T0,工作方式2,使P1.0输出如下周期波形。40us40us 9.在8031扩

24、展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储器的地址不会发生冲突?10.8031如只外接了程序存储器,实际上还有多少根I/O口线可供用户使用?如只外接了数据存储器,实际上还有多少根I/O口线可供用户使用?并说明原因。11.试将8031单片机外接一片27128,两片62128扩展成一个应用系统:画出扩展系统的电路连接图,并指出RAM的地址分布。12. 根据图示电路,设计一个程序,开机后LED显示0,以后每按一次键,显示的数字加1,显示9后,再回到0,并照此循环。13. 什么是单片机?MCS51中8031有哪些资源?14. “由于LJMP和SJMP都是转移指令,

25、所以程序中的LJMP指令都可以用SJMP指令来代替。”请问这种说法是否正确,为什么?15. 89c51单片机的内部数据存储器可以分为几个不同区域?各有什么特点?16.什么叫串行通讯、波特率,串口通讯中两条线各起什么作用?8031串口有几种工作方式?74LS164功能?如何用它作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 ;0

26、FEH1111 1110, LOOP: MOV P1,A ;只有一个LED亮 LCALL DEL200 ;延时 RL A ;A左移一位 SJMP LOOPDEL200: MOV R7, #XXH ;根据晶振计算其值 DEL2: MOV R6, #XXH ;根据晶振计算其值 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

27、 EA ;开中断SETB TR0 ;启动定时SJMP $ ;等待中断 PULSE: CPL P1.0 ;中断服务程序 RETIEND10. 答:使用外部程序存储器时,P 0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I/O线。在使用外部数据存储器时,除了占用P0和P2之外,还需要用和控制线,而这两条线就是P3口中的两条:P3.6和P3.7,所以这时只有14条I/O可用使用。当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用。12. ORG 0030HDISPLAY:MOV 20H, #00H ;20H存放要显示

28、的数 KEYIN:ACALL DIS SETB P3.3 ;置P3.3为1MOV C, P3.3 ;读键JNC PROKEY ;P3.3为0,有键按下SJMP KEYIN ;P3.3为1,无键按下PROKEY:INC 20H ;有键按下,显示数字1CJNE 20H, #0AH, KEYINMOV 20H, #00H DIS:MOV A, 20HMOV DPTR, #TAB ;表首地址 MOVC A, A+DPTR ;查表MOV P1, A ;显示RET ;子程序返回ORG 0100H ;段码表TABLE: DB xxH, END15. 答:89c51内部数据存储器共有256个字节单元(地址为0

29、0H-0FFH)。其中前32个单元,即00H-01F称为工作寄存器区,安排了4个工作寄存器组,每组8个,都用R0-R7表示。并通过PSW中的RS1和RS0来选区。20H-2FH 为可位寻址区,单元中的每一位都可以进行独立的位操作。30H-7FH是可供用户使用的数据缓冲区。80H-0FFH为特殊功能寄存器区,共有21个特殊功能寄存器在此区,没有被特殊功能寄存器占用的单元不能当作一般的RAM使用。21个特殊功能寄存器的地址凡是能被8整除的也可以进行位寻址。模拟试题一一、选择填空 1. 采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是 。 A. 127128 B. 127127 C. 1

30、28128 D. 1281272. 下列带符号数中最小的数为 。 A. 10010010B B. 89H C. 91H D.79H 3. 下列几种中断优先级的次序中, 为可实现的次序。 A. ,T1, ,串口,T0 B. 串口,T0,,T1, C. ,T0,T1,串口 D. 串口,T1,,T0,4. 若PSW的内容为18H,那么执行下列三套指令18H中内容是否相等 。 1)MOV 18H,A 2)MOV R0,A 3)MOV R0,#18H; MOV R0,A A.相等 B.不等5. 一般来讲8031最大能扩展外部程序存储器的容量为 。 A. 256K B. 512K C. 16K D. 64

31、K6. 8031外接晶振频率为6MHz,其计数器允许输入外部脉冲的最高频为 。 A. 0.25MHz B. 0.5MHz C. 6MHz D. 1MHz 7. 使用8051时,引脚应 。 A. 接低电平 B.接高电平 C.空 D.作为I/O输入口8. MCS-51单片机中,决定程序执行顺序的寄存器是 。 A. PSW B. DPTR C. PC D. SP9. 8031在扩展外部程序存储器后,最多有 条通用I/O线可供用户使用。 A.14 B.32 C.16 D.810. 用补码表示十进制数-89为 。 A. 89H B. A7H C. A9H D. DAH二、判断改错(正确的划;不正确的划&

32、#215;,并改正错误,有下划线的部分不得修改)(共10分,每小题2分)1. 执行MOVX DPTR,A时,P2口输出高8位数据地址,执行MOVX R0,A时,P2口不输出高8位数据地址。 2. 执行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 0100HSETB CMOV R

33、0, #00HDEC R0DEC R0END运行后:(Cy)=_ (R0)=_2. 填写运行过程中的结果 ORG 1000HMOV A, #83H MOV R0, #27HMOV 27H,#34HMOV A, R0 ; (A)=_ CPL A ; (A)=_MOV R0,A ; (27H)=_ ORL A, #27H ; (A)=_END四、 简答题1何为中断?说明中断与调用子程序的最主要异同点。简要说明8031响应中断的过程。按8031的中断优先权从高到低的顺序写出所有中断源及其中断入口地址。 2. 8031在使用外部数据存储器时,最多还有多少条通用I/O线可供用户使用?并说明原因。 3.

34、什么叫单片机?8031芯片本身主要有那些硬件资源。五、按图1编写一程序。要求:按S1,只有红灯亮;按S2,只有黄灯亮;按S3,只有绿灯亮。 S3S25VP1.0P1.1P1.2P1.3P1.4P1.5S189c51红黄绿图1:六、根据图2,利用定时器和中断方式,做一个在共阳极的两个LED上显示0099(每次增加1秒)反复循环的秒钟(要求:一定要利用定时器和中断)。5V89c51aP1.0P1.1P1.2P1.5P2.7P2.6P1.3P1.4P1.6P1.7comcomdpgfdpgfedcbabcdedpgfabcde图2模拟题一参考答案:一、 选择题1 D;2.A ; 3.c ; 4.A;

35、 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口的输出缓冲器要以驱动4个LSTTL电路,P0口的输出缓冲器可以驱动8个LSTTL电路。5×;若8031仅外接16K的ROM,P2

36、口还剩2根引脚,但不能作通用I/O使用。三、 阅读以下程序1)(Cy)1(R0)FEh2)(A) 34h (A)CBh(27H)CBh (A)EFh四、 简答题 1.答:CPU为响应一些突发事件(如外部引脚变为低电平、定时器/计数器溢出、串行口缓冲器满或空等),停止执行当前程序,转去执行相应的程序的过程。子程序是预先安排好的,中断是随机发生的。其共同点是停止执行当前程序,转去执行相应的程序。8031在每一个机器周期顺序检查每一个中断源,并按优先顺序处理所有被激活了的中断请求,然后根据一定条件进入相应的中断入口地址执行中断服务程序,遇到RETI时则返回到原来的程序中。INT0 0003H;T0

37、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.答:单片机是在一块硅片上集成了中央处理器(CPU),存储器(RAM、ROM),和各种输入、输出接口(计数器、并行口、串行口等),在一块芯片上具有

38、一台计算机的主要功能。 8031主要有256个字节的内部RAM;32根IO口,但P0,P2只能作地址和数据总线;2个外部中断,2个计数器/定时器;一个双工串行口等。五、略,编程题无唯一的答案,按考生的具体答案打分。六、略,编程题无唯一的答案,按考生的具体答案打分。七、略,见实验指导书。模拟试题二一、填空题(30分)(每空1分)1)8051系列单片机中,片内数据存储区一共分为4个区,这4个区分别为:              ;   &#

39、160;        ;            ;            。2)8K字节的存储器共有地址线                 根。3)

40、38译码器74LS138在全译码寻址方式中,译码器的输出端通常与单片机接口芯片的             端连接。4)当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停主程序的执行,转去执行           程序,执行完            ,再执行

41、60;          程序。5)8051单片机的中断源有:           ,           ,           ,      &#

42、160;     ,           。6) 单片机P0口为           总线和             总线的复用端口,74LS373与P0口连接,其输出线作为系统的     

43、      ,74LS373的G端与单片机             连接。7) 已知程序执行前有A=01H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:              POP    DPH   

44、;           POP    DPL              MOV     DPTR,#3000H              RL 

45、60;    A              MOV     B,A              MOVC  A,A+DPTR          

46、0;   PUSH    A              MOV     A,B              INC     A      &#

47、160;       MOVC  A,A+DPTR              PUSH    A              RET         &

48、#160;    ORG   3000H              DB   10H,80H,30H,80H,50H,80H       请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=()。9) 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=

49、3CH,则执行下列指令后:                     POP    DPH                     POP  

50、  DPL                     POP    SP       则:DPH=( ),DPL=( ),SP=( )10) 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:      

51、        ANL      A,#17H              ORL      17H,A              XRL   

52、;    A,R0              CPL       A       后,A的内容为( )。二、简答题(20分)1) 单片机的复位(RST)操作有几种方法,复位功能的主要作用。(5分)2) 编制中断服务程序时,为什么在主程序的初始化程序中,必须设置 SETB  EA 这条指令,以及在中断

53、服务程序中为什么通常需要保护现场和恢复现场?(10分)3) 中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(5分)三、判断下列指令的正误:(10分)     1)MOV    28H,R2         (   )2)DEC    DPTR            &

54、#160;        (   )3)INC    DPTR                     (   )4)MOV  C,30H          &

55、#160;           (   )5)CPL   R5                  (   ) 6)MOV  R0,R1         

56、0;           (   )7)PUSH   DPTR                    (   )8)MOV   F0,C        

57、0;             (   )9)MOV   F0,ACC.3               (   )10)RLC   R0            &

58、#160;          (   ) 四、编程题(40分)1、编制中断初始化程序,外部中断0(跳变触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。(5分)2、编程将片内RAM 40H 单元开始的16个数传送到片外RAM 2000H 开始的单元中。(5分)3、使用定时器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。(系统时钟为6MHz)(15分)4. 根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8

59、个通道的模拟量循环采集,采集结构存放至片内RAM 40H47H中。(15分)模拟试题二参考答案一、填空题(每空1分)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分)   复位功能的

60、主要作用是:复位时,PC初始化为0000H,使MCS-51单片机从0000H开始执行程序。(3分)2、中断允许寄存器IE中有1个总的开关中断控制位EA,当EA=0时,所有的中断请求被屏蔽,CPU不接受任何中断;只有当EA=1时,CPU才开放中断。所以主程序的初始化程序中,必须设置 SETB  EA 这条指令。 (5分)   现场是指中断时刻单片机中某些寄存器和储存器单元中的数据或状态,为了使中断服务程序的执行不破坏这些数据和状态,以免在中断返回后影响主程序的运行,因此要这些数据和状态送入堆栈保存,这就是现场保护。中断结束后,在返回主程序谦,则需要把保存的

61、现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容,这就是现场恢复。 (5分)3、中断服务子程序返回指令RETI和普通子程序返回指令RET的区别在于:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断。(5分)三、判断下列指令的正误:(10分)1、  ×2、  ×3、  4、  5、  ×6、  ×7、  ×8、  9、  ×10、×四、编程题1、编制中断初始化程序,外部中断0(边沿触发)、定时器

62、0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。    (5分)   解:SETB EX0       SETB IT0       SETB ET0       CLR  ET1       CLR EX1   

63、    SETB EA2、编程将片内RAM 40H 单元开始的16个数传送到片外RAM 2000H 开始的单元中。(5分)       解:      MOV R0,#40H                 MOV R7,#16    &#

64、160;            MOV DPTR,#2000H       LOOP:   MOV A,R0                 MOVX DPTR,A      &#

65、160;          INC R0                 INC DPTR                 DJNZ R7,LOOP    &#

66、160;            NOP                 END3、使用定时器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。(系统时钟为6MHz)  解:使用定时器T0产生50ms的定时,然后在计数10次,从而500ms的定时。 (5分)    

67、;                 ORG      0000H                     AJMP   MAIN    &#

68、160;                ORG     000BH                     LJMP    TMR0_INT     

69、                ORG     0030H MAIN:MOV    TMOD,#01H                     MOV    TH0,#9EH

70、60;                    MOV    TL0,#58H                     MOV    R7,#10  &

71、#160;                  SETB    ET0                     SETB    EA                     SETB    TR0        

温馨提示

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

最新文档

评论

0/150

提交评论