单片机原理与应用作业答案教学文案_第1页
单片机原理与应用作业答案教学文案_第2页
单片机原理与应用作业答案教学文案_第3页
单片机原理与应用作业答案教学文案_第4页
单片机原理与应用作业答案教学文案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用作 业答案 作业答案 0-1 绪论 1单片机是把组成微型计算机的各功能部件即( 微处理器( CPU)、( 存储 器(ROM 与 RAM )、(总线)、(定时器/计数器)、(输入/输出接口 (I/O 口)及(中断系统 )等部件集成在一块芯片上的微型计算机。 2什么叫单片机?其主要特点有哪些? 解: 将微处理器( CPU)、存储器(存放程序或数据的 ROM 与 RAM )、总 线、定时器 /计数器、输入 /输出接口( I/O 口)、中断系统与其他多种功能器件 集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指

2、令、低 电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广 泛、易于产品化等。 第 1 章 MCS-51 单片机的结构与原理 15. MCS-51系列单片机的引脚中有多少根 I/O 线?它们与单片机对外的地址总 线与数据总线之间有什么关系?其地址总线与数据总线各有多少位?对外可寻 址的地址空间有多大? 解: MCS-51系列单片机有 4个 I/O端口,每个端口都是 8位双向口,共占 32 根引脚。每个端口都包括一个锁存器(即专用寄存器 P0P3)、一个输入驱动 器与输入缓冲器。通常把 4 个端口称为 P0P3。在无片外扩展的存储器的系统 中,这 4个端口的每一位都可以作为双向通

3、用 I/O 端口使用。在具有片外扩展 存储器的系统中, P2口作为高 8位地址线, P0口分时作为低 8位地址线与双向 数据总线。 MCS-51 系列单片机数据总线为 8 位,地址总线为 18位,对外可寻址空间 为 64KB 。 25. 开机复位后, CPU 使用的是哪组工作寄存器( R0-Rn)?它们的地址是什 么?CPU 如何确定与改变当前工作寄存器组( R0-Rn)? 解: 开机复位后, CPU 使用的是第组工作寄存器。它们的地址是 00H07H。 CPU通过对程序状态字 PSW中 RS1与RS0的设置来确定与改变当前工作寄存 器组。 27. MCS-51 单片机的时钟周期、机器周期、指

4、令周期是如何定义的?当主频为 12MHz 的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时 间? 解: 时钟周期又称为振荡周期,由单片机内部振荡电路 OSC 产生,定义为 OSC 时钟频率的倒数。时钟周期又称为节拍(用 P 表示)。时钟周期是时序中的最 小单位。一个状态有两个节拍, 机器周期定义为实现特定功能所需的时间。 MCS-51 的机器周期由 12个时 钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单 位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期 数也不尽相同。 MCS-51 的指令可能包括 1 4个不等的机器周期。 当 M

5、CS-51 的主频为 12MHz 时,一个机器周期为 1 s。执行一条指令需要的最 长时间为 4 s。 第 2 章 MCS-51 单片机指令系统与汇编语言程序设计 4. 假定累加器 A 中的内容为 30H,执行指令 1000H: MOVC A,A+PC 后, 把程序存储器( 1031H )单元的内容送入累加器 A 中。 7. 指出下列各指令在程序存储器中所占的字节数 1) MOV DPTR ,#1234H3 字节 2) MOVX A , DPTR1 字节 3) LJMP LOOP3 字节 4) MOV R0,A1 字节 5) AJMP LOOP2 字节 6) MOV A ,30H2 字节 7)

6、 SJMP LOOP2 字节 8) MOV B ,#30H2 字节 15设堆栈指针( SP)=60H,片内 RAM 中的( 30H)=24H,(31H)=10H 执行下列程序段后, 61H, 62H, 30H, 31H, DPTR 及 SP中的内容将有何变化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H, #00H MOV 31H, #0FFH 解: 结果为: 61H、62H 单元为堆栈单元,其内容已被弹出栈。(30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H 17完成以下的数据传送过程 (1)R1 的内容传送到 R0。

7、 (2)片外 RAM 20H 单元的内容送 R0。 (3)片外 RAM 20H 单元的内容送片内 RAM 20H 单元。 (4)片外 RAM 1000H 单元的内容送片内 RAM 20H 单元。 (5)ROM 2000H 单元的内容送 R0。 (6)ROM 2000H 单元的内容送片内 RAM 20H 单元。 (7)ROM 2000H 单元的内容送片外 RAM 20H 单元。 解: (1)R1 的内容传送到 R0 ; MOV A, R1 MOV R0, A ( 2)片外 RAM 20H 单元内容送 R0 ; MOV R1, #20H MOVX A, R1 MOV R0, A ( 3)片外 RA

8、M 20H 单元的内容送片内 RAM 20H 单元; MOV R0, #20H MOVX A, R0 MOV 20H, A ( 4)片外 RAM 1000H 单元的内容送片内 RAM 20H 单元; MOV DPTR, #1000H MOVX A,DPTR MOV 20H,A (5)ROM 2000H 单元的内容送 R0 单元; CLR A MOV DPTR, #2000H MOVC A, A+DPTR MOV R0, A ( 6) ROM 2000H 单元的内容送片内 RAM 20H 单元; CLR A MOV DPTR, #2000H MOVC A, A+DPTR MOV 20H, A (

9、 7) ROM 2000H 单元的内容送片外 RAM 20H 单元。 CLR A MOV DPTR, #2000H MOVC A, A+DPTR MOV R0, #20H MOVX R0, A 19编程将片内 RAM 的 40H60H 单元中内容送到片外 RAM 以 3000H 开始 的单元中。并将原片内 RAM 数据块区域全部清 0。 解:ORG 0000H LJMP MAIN ORG 0030H MAIN : MOV SP, #60H MOV R7 ,#21H MOV R1 ,#40H MOV DPTR ,#3000H LOOP: MOV A , R1 MOVX DPTR ,A MOV R

10、1, #00H INC R1 INC DPTR DJNZ R7,LOOP SJMP $ END 23设有 100个有符号数,连续存放在片外 RAM 以 2000H 为首地址的存储区 中,试编程统计其中正数、负数、零的个数。 解 :ORG 0000H LJMP MAIN ORG 0030H MAIN :MOV R2,#100 MOV R3 ,#00H MOV R4 ,#00H MOV R5 ,#00H MOV DPTR ,#2000H LOOP: MOVX A , DPTR CJNE A ,#00H,NET1 INC R3 SJMP NET3 NET1: JB ACC.7 NET2 INC R4

11、 SJMP NET3 NET2: INC R5 NET3: INC DPTR DJNZ R2, LOOP SJMP $ END 24试编一查找程序,从外部 RAM 首地址为 2000H、长度为 9FH 的数据块中 找出第一个 ASCII 码 A ,将其地址送到 20A0H 与 20A1H 单元中。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV DPTR,#2000H MOV R7,#9FH LP0: MOVX A,DPTR CJNE A, #41H, LP1 MOV R2,DPL MOV R3,DPH MOV DPTR,#20A

12、0H MOV A, R2 MOVX DPTR,A INC DPTR MOV A, R3 MOVX DPTR,A SJMP LP2 LP1: INC DPTR DJNZ R7, LP0 LP2: RET END 27编程实现将片外 RAM 中 2400H2450H 单元中的数传送到 2500H 2550H 单元中 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R7,#51H MOV DPTR, #2400H LOOP: MOVX A,DPTR MOV DPH, #25H MOVX DPTR,A MOV DPH, #24H INC DPTR DJNZ R7

13、,LOOP LOOP: MOV DPH,30H SJMP $ MOV DPL,31H END MOVX A,DPTR 另一种方法: MOV DPH,32H ORG 0000H MOV DPL,33H LJMP MAIN MOVX DPTR,A ORG 0030H INC 31H MAIN: MOV 30H,#24H INC 33H MOV 31H,#00H DJNZ R2,LOOP MOV 32H,#25H SJMP $ MOV 33H,#00H END MOV R2,#51H 第三章作业答案 6. 设(TMOD ) =0A5H,则定时器 T0 的状态是 ( 方式 1计数),定时器 T1 的状

14、 态是( 方式 2 定时)。 27请写出 INT 1为低电平触发的中断系统初始化程序。 解: INT 1为低电平触发的中断系统初始化程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INTN1 ORG 0100H MAIN :MOV SP,#60H SETB EA SETB EX1; 开 INT 1中断 CLR PX1; 令 INT 1为低优先级 CLR IT1; 令 INT 1为电平触发 SJMP $ END 28说明 MCS-51 单片机响应中断后,中断服务的入口地址。 解: 中断服务程序的入口地址如下表: 中断源 中断矢量 外部中断 0( INT0 ) 0

15、003H 定时器 T0 中断 000BH 外部中断 1( INT1 ) 0013H 定时器 T1 中断 001BH 串行口中断 0023H 36使用一个定时器,如何通过软硬结合方法实现较长时间的定时? 解: 设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出 次数累计,从而得到较长的时间。 37利用定时器输出周期为 2 ms的方波, 设单片机晶振频率为 6 MHz。试编程 实现之。 解: 选用定时器 /计数器 T0 作定时器, 工作在方式 1,输出为 P1.0 引脚, 2 ms 的方波可由 1 ms的高低电平相间隔而成, 因而只要每隔 1 ms对 P1.0 取反一次 即可得到这个

16、方波。初值的计算如下: ST0=12/(6106)= 2 106S TC=M-T/T0=2 16 1103/2 106=65536 500=65036=FE0CH 当定时器 /计数器采用方式 0时,初值为: TC=M-T/T0=2 13 1103/2 106=8192500=7692=1E0CH, 则真正的 16位计数初值为: F00CH(高8位,低 5位) 程序如下: ORG LJMP ORG LJMP ORG 0000H START ; T0 中断入口 000BH T0INT 0030H START : MOV MOV MOV SETB SETB SETB SJMP TL0 , TH0 ,

17、 TMOD TR0 ET0 EA $ #0CH #0FEH #01H MOV SP, #60H ; 初始化程序 T0 赋初值 定时器/计数器 0 工作于方式 1 启动 T0 开 T0 中断 开总允许中断 T0INT : PUSH PSW CPL P1.0 MOV TL0 , MOV TH0 , SETB TR0 PUSH ACC #0CH #0FEH ; 启动 T0 POP PSW POP ACC RETI END 当采用查询方式时: 兰色字部分应该为: LP1: JBC TF0, LP2 SJMP LP1 LP2: CPL P1.0 MOV TL0 , #0CH MOV TH0 , #0FE

18、H SETB TR0 SJMP LP1 END 48某异步通信接口按方式 3 传送,已知其每分钟传送 3600个字符,计算其传 送波特率。 解: 11(位) 3600(字符 /分钟) =39600b/分钟=660b/s (方式 3为每个字符 11 位)。 49利用 8051串行口控制 8 位发光二极管工作,要求发光二极管每 1s交替地 亮、灭,画出电路图并编写程序。 解: 主程序框图如下: 程序如下: ORG 0040H MOV SCON,#00H MOV SBUF,#0FFH SETB C MOV 00H,C AA: ACALL DELAY CPL 00H MOV C,00H JC BB M

19、OV SBUF, #00H SJMP CC BB : MOV SBUF , #0FFH CC:AJMP AA DELAY : MOV R7 , #8 D1:MOV R6 ,#250 D2:MOV R5 ,#250 D3: DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET END 第四章作业答案 16 MCS-51 单片机系统中,片外程序存储器与片外数据存储器共用16位地址 线与 8 位数据线,为何不会产生冲突? 解: 程序存储器与数据存储器虽然共用 16位地址线与 8 位数据线,但由于数据 存储器的读与写由 RD与 WR信号控制,而程序存储器由读选通信号 PSEN控 制

20、,这些信号在逻辑上时序上不会产生冲突,因此,两者虽然共处于同一地址 空间,但由于控制信号不同,所以不会发生总线冲突。 18某单片机应用系统,需扩展 2片 8KB的 EPROM与2片 8KB 的 RAM,采 用地址译码法,画出硬件连接图,并指出各芯片的地址范围。 解: 硬件连接电路图如图 4.18 所示。各芯片的地址范围为: 2764(1#): 0000H1FFFH2764(2#): 2000H3FFFH 6264(1#): 4000H5FFFH6264(2#):6000H7FFFH 图 4.18 4.18 题硬件连接电路图 218255A 的端口地址为 7F00H7F03H,试编程对 8255

21、A 初始化,使 A 口按 方式 0输入,B 口按方式 1输出。 解: 程序如下: MOV DPTR, #7F03H MOV A ,#10010100B MOV DPTR,A 25使用 8255A或者 8155的B 端口驱动红色与绿色发光二极管各 4只,且 红、绿发光二极管轮流发光各 1s,不断循环,试画出包括地址译码器、 8255A 或 8155 与发光管部分的接口电路图,并编写控制程序。 解: 电路连接图如图 4.25 所示 其中, PB0PB3接红色发光二极管, MCS-51 单片机主频为 12MHz 。 程序如下: ORG 0000H LJMP START ORG 0030H START

22、 :MOV SP, #60H MOV DPTR, #7FFFH MOV A, #80H MOVX DPTR, A MOV DPTR, #7FFDH MOV A, #0FH LP1 : MOVX DPTR, A LCALL DELAY CPL A ; LJMP LP1 图 4.25 4.25 题硬件连接电路图 PB4PB7接绿色发光二极管。设 ; 数据指针指向 8255A 控制口 ; 工作方式字送 8255A 控制口 ; 数据指针指向 8255A 的 B 口 ; 置红色发光二极管亮 ; 置红色发光二极管亮 调用 1S 延时子程序 ; 循环执行 置发光二极管亮反色 DELAY : MOV R7 ,

23、 #8; 1S 延时子程序 D1 :MOV R6 ,#250 D2 :MOV R5 ,#250 D3:DJNZ R5, D3 DJNZ R6 ,D2 DJNZ R7 ,D1 RET END 采用定时器 T0 方式 1 中断实现 1S定时。 1S=50mS 20 次。 T0 方式 1 实现 50mS 定时,初值 =216-50mS/1 1S=20mS 50 次,初值 =216-20mS/1 ORG 0000H LJMP START ORG 000BH LJMP TT0 ORG 1000 H START :MOV SP, #60H MOV DPTR, #7FFFH MOV A, #80H MOVX

24、 DPTR, A MOV DPTR, #7FFDH MOV A, #0FH MOV R2, A MOVX DPTR, A S=15536=3CB0H S=45536=B1E0H) ; 数据指针指向 8255A 控制口 ; 工作方式字送 8255A 控制口 数据指针指向 8255A 的 B 口 ; 置红色发光二极管亮 ; 置红色发光二极管亮 MOV 30H, #00H ; 次数计数单元初值 MOV TL0 , #0B0H ; T0 赋初值 LP1: TT0: MOV TH0 , #3CH MOV TMOD , #01H; 定时器 /计数器 0 工作于方式 1 SETB TR0 ; 启动 T0 S

25、ETB ET0 ; 开 T0 中断 SETB EA; 开总允许中断 SJMP LP1 ; 等待定时器中断 PUSH ACC PUSH PSW INC 30H MOV A, 30H CJNE A, #20, LP2 MOV A, R2 CPL A MOV R2, A MOVX DPTR, A MOV 30H, #00H LP2: MOV TL0 , #0B0H ; T0 赋初值 MOV TH0 , #3CH POP PSW POP ACC SETB TR0 RETI END 26简述 RS-232C, RS-422A及 RS-485 串行通信接口的特点,画出在双机通信 情况下, 3 个串行通信接

26、口的接口电路。 解: RS-232C采取不平衡传输方式,是为点对点(即只用一对收、发设备)通 信而设计的,采用负逻辑,其驱动器负载为 3k 7k 。由于 RS-232C 发送电 平与接收电平的差仅为 2 3V,所以其共模抑制能力差,再加上双绞线上的分 布电容,因此, RS-232C 适用于传送距离不大于 15m,速度不高于 20kb/s的本 地设备之间通信的场合。 RS-422 由 RS-232 发展而来, RS-422 定义了一种平衡通信接口,将传输速 率提高到 10Mb/s,传输距离延长到 1220m(速率低于 100kb/s 时),并允许在 一条平衡总线上最多连接 10个接收器。 RS-

27、422是一种单机发送、多机接收的 单向、平衡的通信总线标准。 RS-485 是在 RS-422 的基础上制定的标准,增加了多点、双向通信能力,通 常在要求通信距离为几十米至上千米时,广泛采用 RS-485 总线标准。它采用平 衡发送与差分接收,即在发送端,驱动器将 TTL 电平信号转换成差分信号输 出;在接收端,接收器将差分信号变成 TTL 电平。具有较高的灵敏度,能检测 低至 200mV 的电压,具有抑制共模干扰的能力,数据传输可达千米以上。 RS-232 的双机通信接口电路如图 4.26-1 所示。 RS-422 与 RS-485 的双机通信接口电路如图 4.26-2 所示。 图 4.26

28、-2 4.26 题硬件连接电路图 31何谓“看门狗 ”?它如何实现对系统程序的监控? 解: “看门狗( WDT )”,也称为程序监视定时器。 WDT 的作用是通过不断 监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序 是否进入了 “死循环”,并对进入 “死循环”的程序作出系统复位处理。 在程序中设置适当的指令,清 WDT ,就可监视微处理器的工作。例如在主 程序开始时,将 WDT 置位,如果主程序执行过程中产生死循环,就无法清 WDT ,超过 WDT 的定时时间时, WDT 就会对微处理器发出复位信号。从而实 现对系统程序的监控。 32说明 I2C 总线的特点以及在单片机中

29、实现该总线的方法。 解: I2C 总线是由串行数据线 SDA 与串行时钟线 SCL 构成的,可发送与接收数 据。它允许若干兼容器件共享总线。所有挂接在 I2C 总线上的器件与接口电路 都应具有 I2C 总线接口,且所有的 SDA/SCL 同名端相连。总线上所有器件要依 靠 SDA 发送的地址信号寻址,不需要片选线。 I2C总线最主要的优点是其简单性与有效性。占用的空间小,降低了互连成 本。总线的长度可高达 7.6m,并且能够以 10kbps的最大传输速率支持 40 个组 件。支持多主控器件,其中,任何能够进行发送与接收的设备都可以成为主器 件。主控能够控制信号的传输与时钟频率。当然,在某时刻只

30、能有一个主控器 件。 在单片机控制系统中,广泛使用 I2C 器件。如果单片机自带 I2C 总线接口, 则所有 I2C器件对应连接到该总线上即可;若无 I2C 总线接口,则可以使用 I/O 口模拟 I2C 总线。 图 4.32 4.32 题硬件连接电 路图 使用单片机 I/O 口模拟 I 2C总线时,硬件连接非常 简单,只需两条 I/O 口线即可,在软件中分别定 义成 SCL与 SDA。MCS-51单片机实现 I2C总线 接口电路如图 4.32 所示。 电路中单片机的 P1.0 引脚作为串行时钟线 SCL,P1.1 引脚作为串行数据线 SDA,通过程序 模拟 I 2C串行总线的通信方式。 I2C

31、 总线适用于通 信速度要求不高而体积要求较高的应用系统。 第五章作业答案 6. 当 DAC 0832 D/A 转换器的 CS 接 8031的 P2.0时,程序中 0832的地址指针 DPDR 寄存器应置为( D )。 A :0832H B;FE00H C:FEF8HD;以上三种都可以 10简述 D/A 转换器的主要技术指标。 解: D/A 转换器的主要性能指标有: (1)分辨率:单位数字量所对应模拟量增量,即相邻两个二进制码对应的输出电压之 差称为 D/A 转换器的分辨率。它确定了 D/A 产生的最小模拟量变化,也可用最低位 ( LSB )表示。 ( 2)精度:精度是指 D/A 转换器的实际输

32、出与理论值之间的误差,它是以满量程VFS 的百分数或最低有效位( LSB )的分数形式表示。 ( 3)线性误差: D/A 转换器的实际转换特性(各数字输入值所对应的各模拟输出值之 间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是 D/A 的线 性误差。即两个相邻的数字码所对应的模拟输出值(之差)与一个 LSB 所对应的模拟值之 差。常以 LSB 的分数形式表示。 ( 4)转换时间 TS(建立时间):从 D/A 转换器输入的数字量发生变化开始,到其输出 模拟量达到相应的稳定值所需要的时间称为转换时间。 22具有 8位分辨率的 A/D 转换器,当输入 05V电压时,其最大量化

33、误差是 多少? 解: 对于 8位A/D转换器,实际满量程电压为 5V,则其量化单位 1LSB=5V/256=0.0196V,考虑到 A/D转换时会进行四舍五入处理,所以最大量化误 差为( 1/2)LSB,即0.0098V。 23在一个 80C51 单片机与一片 DAC0832 组成的应用系统中, DAC0832 的地 址为 7FFFH ,输出电压为 0 5V。试画出有关逻辑电路图,并编写产生矩形 波,其波形占空比为 1:4,高电平为 2.5V,低电平为 1.25V 的转换程序。 解: 硬件电路连接图如图 5.23 所示 图 5.23 5.23 题逻辑电路图 DAC0832 的口地址为 7FFF

34、H。波形占空比为 1:4,高电平波形 /低电平波形 为 1/3 。 当 VO=2.5V 时,D=80H;VO=1.25V 时, D=40H。 程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN : MOV SP,#60H MOV DPTR,#7FFFH NEXT: MOV A,#80H MOVX DPTR,A ACALL DELAY MOV R4,#03H MOV A,#40H MOVX DPTR,A LOOP: ACALL DELAY DJNZ R4,LOOP AJMP NEXT DELAY : RET END 24在一个 80C51 与一片 ADC0809 组

35、成的数据采集系统中, ADC0809 的地址 为 7FF8H 7FFFH 。试画出逻辑电路图,并编写程序,每隔 1 分钟轮流采集一 次 8个通道数据, 8个通道总共采集 100次,其采样值存入以片外 RAM 3000H 开始的存储单元中。 解: 硬件电路连接图如图 5.24 所示 图 5.24 5.24 题逻辑电路图 设 80C51 的时钟频率为 12MHz,程序如下: ORG 0000H LJMP MAIN ORG 001BH LJMP T1_1 ORG 0030H MAIN : MOV SP,#60H ;设堆栈指针 MOV R7,#100 ;置采集次数 MOV R1,#30H ;片外 RA

36、M 地址高位 MOV R0,#00H ;片外 RAM 地址低位 MOV R2,#20 ;置入初值 20(计 1 s) MOV R3,#60 ;置入初值 60(计 1 min ) MOV TOMD ,#10H ;定时器 T1 工作于模式 1 MOV TH1,#3CH ;计数器定时 50ms 的初值 MOV TL1,#0B0H SETB EA ;开中断 SETB ET1 ;定时器 T1 允许中断 SETB TR1 ;启动定时器 T1 LOOP: SJMP LOOP ;等待中断 DJNZ R7,LOOP ;是否到 100 次? SJMP $ ORG 0100H T1_1: MOV TH1,#3CH

37、;中断服务程序,重新赋计数器 初值 MOV TL1,#0B0H DJNZ R2,RETI_0 ;1 s 未到,返回 MOV R2,#20 ;重新置“1s”计数器初值 DJNZ R3,RETI_0 ;1 min 未到,返回 MOV R3 , #60; 重新置“1min”计数器初值 MOV R6,#8 ;8 个通道计数器初值 MOV DPTR,#7FF8H ; IN0 地址 LOOP1: MOVX DPTR ,A ;启动 A/D 转换 JB P1.0,$ ;判转换是否结束 MOVX A ,DPTR PUSH DPH PUSH DPL MOV DPH,R1 MOV DPL, R0 MOVX DPTR

38、 ,A INC DPTR MOV R1, DPH MOV R0, DPL POP DPL POP DPH INC DPTR DJNZ R6, LOOP1 RETI_0: RETI END ;读取转换结果 ;将通道地址压入堆栈 ;将片外 RAM 地址送 DPTR ;将转换结果存入片外 RAM ;片外 RAM 地址加 1 ;保存片外 RAM 地址 ;恢复通道地址 ;通道地址加 1 ;8个通道是否采集结束 ;中断返回 习题 1 2. CPU由(运算器 )与( 控制器)组成。 12. 采用 8031单片机必须扩展( B )。 A:数据存储器 B:程序存储器 C:I/O 接口 D:显示接口 16. 80

39、51单片机的控制总线信号有哪些?各有何作用? 解: 控制线一共有 6 条: (1)ALE/ PROG:地址锁存允许 /编程线,配合 P0 口引脚的第二功能使用。在 访问片外存储器时, 8051CPU在 P0.7P0.0引脚上输出片外存储器低位地址 的同时在 ALE/ PROG 上输出一个高电位脉冲,用于把这个片外存储器低位地 址锁存到外部专用地址锁存器,以便空出 P0.7P0.0 引脚线去传送随后而来的 片外存储器读写数据。在不访问片外存储器时, 8051 自动在 ALE/ PROG上输出 频率为 fosc/6 的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使 用。 (2)EA /Vp

40、p:允许访问片外存储器编程电源线,可以控制 8051使用片内 ROM 还是使用片外。若 EA ,则允许使用片内 ROM ;若 EA 则 允许使用片外 ROM 。 (3)PSEN :片外 ROM选通线,在执行访问片外 ROM的指令 MOVC 时, 8051自动在 PSEN上产生一个负脉冲,用于为片外 ROM 芯片的选通。其他情况 下 PSEN 线均为高电平封锁状态。 (4)RST/VPD:复位备用电源线,可以使 8051 处于复位工作状态。 习题 2 2. 在 MCS51中,PC与 DPTR都用于提供地址,但 PC是为访问( 程序)存 储器提供地址,而 DPTR是为访问( 数据)存储器提供地址。

41、 5. 8051执行完 MOV A ,#08H后,PSW 的( D )位被置位。 A :C B:F0 C: OV D:P 11片内 RAM 20H 2FH 单元中的 128个位地址与直接地址 00H7FH形式完 全相同,如何在指令中区分出位寻址操作与直接寻址操作? 解: 位寻址是直接寻址方式的一种。虽然内部 RAM 位寻址区的位地址范围 00H7FH与低 128个单元的单元地址范围 00H 7FH形式完全相同,但是在应 用中可以通过以下的方法区分: 1. 通过指令操作码(指令的类型)区分: 位操作只有 17 条指令,位寻址的操作只适用于下列位指令,而直接寻 址操作对这些指令是无效的。 MOV

42、C ,bit CPL bit (C) JB bit, rel MOV bit ,C ORL C, bit (/bit) JNB bit , rel CLR bit (C) ANL C , bit (/bit) JC rel SETB bit (C) JBC bit ,rel JNC rel 位操作只有 MOV 、 CLR 、 SETB、 CPL 、 ORL、 ANL 、JB 、JNB、 JBC、 JC、 JNC几种操作码,其中: JB、JNB、JBC、JC、JNC 是位寻址特有 的。 2. 当指令操作码一样时,可通过操作数的表现形式来区分。直接位地址的 表示方法有: (1)直接使用位地址形式。

43、如: MOV 00H, C (2)字节地址加位序号的形式。如: MOV 20H.0, C (3)位的符号地址(位名称)的形式。如: ANL C, P (4)字节符号地址(字节名称)加位序号的形式。如: CPL PSW.6 3. 可通过指令中的累加器区分: 位操作中的累加器为 C,单元操作中的累加器为 A 。 13在“MOVC A, A+DPT”R 与“MOVC A, A+PC”中,分别使用了 DPTR 与 PC 作基址,请问这两个基址代表什么地址? 使用中有何不同? 解: 使用A+DPTR 基址变址寻址时, DPTR为常数且是表格的首地址, A 为 从表格首址到被访问字节地址的偏移量。 使用A

44、+PC 基址变址寻址时, PC仍是下条指令首地址,而 A则是从下条指令 首地址到常数表格中的被访问字节的偏移量。 15设堆栈指针( SP)=60H,片内 RAM 中的( 30H)=24H,(31H)=10H。 执行下列程序段后, 61H, 62H, 30H, 31H, DPTR 及 SP中的内容将有何变化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H, #00H MOV 31H, #0FFH 解: 结果为: 61H、62H 单元为堆栈单元,其内容已被弹出栈。 (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H 19编程将

45、片内 RAM 的 40H60H 单元中内容送到片外 RAM 以 3000H 开始的 单元中。并将原片内 RAM 数据块区域全部清 0。 解:ORG 0000H LJMP MAIN ORG 0030H MAIN :MOV SP, #60H MOV R7 ,#21H MOV R0 ,#40H MOV DPTR ,#3000H LOOP: MOV A , R0 MOVX DPTR ,A MOV R0, #00H INC R0 INC DPTR DJNZ R7,LOOP SJMP $ END 20编程计算片内 RAM 区 30H37H 的 8个单元中数的算术平均值,结果存放 在 3AH 单元中。 解:

46、ORG 0000H LJMP MAIN ORG 0030H MAIN :MOV R0 ,#30H MOV R1 ,#00H MOV R2 ,#00H MOV R3 ,#08H LP2: MOV A ,R0 ADD A ,R2 MOV R2 ,A JNC LP1 INC R1 LP1: INC R0 DJNZ R3,LP2 MOV R3 ,#03H CLR C LP3:MOV A , R1 RRC A MOV R1 ,A MOV A ,R2 RRC A MOV R2 ,A DJNZ R3,LP3 MOV 3AH ,R2 SJMP $ END 22设有两个长度均为 15的数组,分别存放在片外 RA

47、M 以 2000H与 2100H开 始的存储区中, 区中。 解: ORG 试编程求其对应项之与, 结果存放在以 2200H 为首地址的存储 LOOP: 0000H MOV R1,A LJMP MAIN INC DPTR ORG 0030h INC R1 MAIN : MOV DJNZ R2,LOOP DPTR,#2000H MOV R1,#30H MOV A,#OFFH MOV DPTR,#2100H MOVX DPTR,A MOV R2,#15 MOV DPTR,#2100H MOV R0,#40H MOV A,#34H LOOP1: MOVX DPTR,A MOVX A,DPTR MOV

48、DPTR,#2008H CLR C MOV A,#33H ADDC A,R1 MOVX DPTR,A MOV R0,A MOV DPTR,#2108H INC DPTR MOV A,#44H INC R1 MOVX DPTR,A INC R0 MOV DPTR,#200EH DJNZ R2,LOOP1 MOV A,#0EEH MOV DPTR,#2200H MOVX DPTR,A MOV R2,#15 MOV DPTR,#210EH MOV R0,#40H MOV A,#32H LOOP2: MOV A,R0 MOVX DPTR,A MOVX DPTR,A MOV DPTR,#2000H IN

49、C R0 MOV R1,#30H INC DPTR MOV R2,#15 DJNZ R2,LOOP2 MOVX A,DPTR SJMP $ END 有数据传送方式有 四种方式。 习题 3 单工 )、( 半双工 )、( 全双 8. 在数据通信中, 工 )、( 多工 ) 9. 设置串行口为 10位 UART ,则其工作方式应选用为( 工作方式 1 ) 19. 控制串行接口工作方式的寄存器是( C )。 A :TCONB:PCON C:SCON D:TMOD 24简述 MCS-51 单片机的中断响应过程。 解: 单片机一旦响应中断请求 , 就由硬件完成以下功能 : (1) 根据响应的中断源的中断优先

50、级 , 使相应的优先级状态触发器置 1; (2) 执行硬件中断服务子程序调用 , 并把当前程序计数器 PC的内容压入 堆栈,保护断点,寻找中断源; ( 3) 清除相应的中断请求标志位(串行口中断请求标志 RI 与 TI 除外); (4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量) 送入 PC, 从而转入相应的中断服务程序。 (5)中断返回,程序返回断点处继续执行。 31 MCS-51 的中断服务程序能否存放在 64KB 程序存储器的任意区域?如何实 现? 解: 可以。在相应的中断源的中断程序入口地址处,用一条长跳转指令( LJMP Add16),转到相应 64K 程序存储器的任

51、意地址( Add16)处,执行相应的中断 程序。 习题 4 9. 扩展外部存储器时要加锁存器 74LS373,其作用是( A )。 A :锁存寻址单元的低八位地址 B:锁存寻址单元的数据 C:锁存寻址单元的高八位地址 D:锁存相关的控制与选择信号 16 MCS-51 单片机系统中,片外程序存储器与片外数据存储器共用16位地址 线与 8 位数据线,为何不会产生冲突? 解: 程序存储器与数据存储器虽然共用 16位地址线与 8 位数据线,但由于数据 存储器的读与写由 RD与 WR信号控制,而程序存储器由读选通信号 PSEN控 制,这些信号在逻辑上时序上不会产生冲突,并且,访问二者的指令也不同。 因此,两者虽然共处于同一地址空间,但由于控制信号与访问指令不同,所以 不会发生总线冲突。 17某一单片机应用系统,需扩展 4KB的 EPROM与2KB 的RAM ,还需外扩 一片 8255 并行接口芯片,采用线选法,画出硬件连接图,并指出各芯片的地址 范围。 解: 硬件连接图如下图所示。 图 4.17 题硬件连接电路图 注:8255的复位线 RESET应与 MCS-51的 RESET线连上。复位、晶振电 路应画上。 各芯片的地址范围为: 2732:E000HEFFFH 6116: D800HDFFFH 8255:BFFCHBFFFH 208255A 有几种工作方式?如何选择工作方式? A 口与

温馨提示

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

评论

0/150

提交评论