东南大学测控技术与仪器单片机作业及答案.doc

上传人:scccc 文档编号:12366899 上传时间:2021-12-03 格式:DOC 页数:15 大小:132.50KB
返回 下载 相关 举报
东南大学测控技术与仪器单片机作业及答案.doc_第1页
第1页 / 共15页
东南大学测控技术与仪器单片机作业及答案.doc_第2页
第2页 / 共15页
东南大学测控技术与仪器单片机作业及答案.doc_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《东南大学测控技术与仪器单片机作业及答案.doc》由会员分享,可在线阅读,更多相关《东南大学测控技术与仪器单片机作业及答案.doc(15页珍藏版)》请在三一文库上搜索。

1、2012-1013 学年单片机作业一、第 2、 3 章(单片机结构及存储器)答案2、80C51 存储器在结构上有何特点?访问片内 RAM 和片外 RAM 的指令格式有何区别?答:采用将程序存储器和数据存储器截然分开、分别寻址的结构 ,各 自有自己的寻址系统、控制信号和功能。ROM用来存放始终保留的固定程序和数据;RAM用来存放程序运行时所需要的常数和变量访问片内 RAM采用 MOV格式访问片外 RAM采用 MOVX格式3、MCS-51 单片机堆栈有哪些功能?堆栈指示器( SP)的作用是 什么?在程序设计时,为什么还要对 SP 重新赋值?答:堆栈是内部数据 RAM区中,数据先进后出或后进先出的区

2、域。其 具体功能有两个:保护断点和保护现场。堆栈指示器( SP)是一个 8位寄存器,存放当前的堆栈栈顶所指存储 单元地址的。系统复位后, SP内容为 07H,如不重新定义,则以 07H为栈底,压栈 的内容从 08H 单元开始存放; 如需要使用深度较大的堆栈时, 将会影 响到工作寄存器的使用。所以要对 SP 进行重新的赋值,使堆栈区设 定在片内数据 RAM区中的某一空白区域内,堆栈深度以不超过片内 RAM空间为限。4、什么是准双向口?使用准双向口时,要注意什么?答: P0、P1、 P2、 P3 口作普通 I/O 口使用时,都是准双向结构。准 双向口的输入操作和输出操作本质不同, 输入操作是读引脚

3、状态; 输 出操作是对口锁存器的写入操作; 由口锁存器和引脚电路可知: 当由 内部总线给口锁存器置 0 或 1时,锁存器中的 0,1 状态立即反映到 引脚上。但在输入操作(读引脚)时,如果口锁存器为 0,引脚被钳 位在 0 状态,导致无法读出引脚的高电平输入。准双向口作输入口时,应先使锁存器置 1,称之为置输入方式,然后 再读引脚。例如,要将 P1口状态读入到累加器 A 中,应执行以下两 条指令:MOVP1,#0FFH ;P1 口置输入方式MOVA,P1;读 P1 口引脚状态到 ACC中1”的 i/o 口在输入时非高阻输入,一般没独立的输入输出控制设置,需要人为置三、第 5 章(中断)答案1、

4、80C51 有几个中断源, 各中断标志是如何产生的, 又如何清除的? CPU 响应中断时,其中断入口地址各是多少?中断源:( 1) /INT0 外部中断请求 0,由引脚 /INT0 输入。当 IT0(TCON.0)=1 时,低电平有效;当 IT0 (TCON.0)=0时,下降沿有效( 2) /INT1 外部中断请求 1,由引脚 /INT1 输入。当 IT1(TCON.2)=1 时,低电平有效;当 IT1 (TCON.2)=0时,下降沿有效(3)T0 定时器 /计数器 T0溢出中断请求。 中断请求标志为 TF0(TCON.5)。(4)T1 定时器 /计数器 T1溢出中断请求。 中断请求标志为 T

5、F1(TCON.7)。( 5) RX、TX 串行口中断请求。中断请求标志为 TI(SCON.1) 或 RI(SCON.0)。 中断标志产生及清除:( 1) /INT0 外部中断请求 0,由引脚 /INT0 输入。当 CPU采样到 /INT0 端出现有效中断请求时,中断请求标志位 IE0 (TCON.1) 硬件置 1, ;响应中断后,转向中断服务时,硬件复位。( 2) /INT1 外部中断请求 1,由引脚 /INT1 输入。当 CPU采样到 /INT1 端出现有效中断请求时,中断请求标志位 IE1 (TCON.3) 硬件置 1, ;响应中断后,转向中断服务时,硬件复位。(3)T0 定时器 /计数

6、器 T0溢出中断请求。T0 计数溢出,中断请求标志为 TF0(TCON.5)硬件置位;响应中断时,硬件 复位。不使用中断时用软件清 0。4)T1 定时器 /计数器 T1溢出中断请求。T1 计数溢出,中断请求标志为 TF1(TCON.7)硬件置位;响应中断时,硬件 复位。不使用中断时用软件清 0。( 5) RX、TX 串行口中断请求。发送完一帧,中断请求标志位 TI(SCON.1) 硬件置位;响应中断后,必须软 件清 0;接收完一帧,中断请求标志位 RI(SCON.0) 硬件置位;响应中断后,必须软 件清 0。中断入口地址:中断源 入口地址 外部中断 00003H定时器/ 计数器 T0000BH

7、外部中断 10013H定时器/ 计数器 T1001BH串行口中断0023H2、80C51 单片机的中断系统中有几个优先级,如何设定? 若扩充 8 个中断源,如何确定优先级?答: 80C51 单片机的中断系统具有两个中断优先级。中断优先级的设定:由专用寄存器 IP 统一管理,由软件设置每个中断源为高优先级中断或者低优先级中断。 可实现两级中断嵌套。专用寄存器 IP 为中断优先级寄存器,锁存各中断源优先级的控制位,用户可由软件设定, 其格式如下:(1)PS 串行口中断优先级控制位1:高优先级中断; 0:低优先级中断。(2)PT1 定时器 T1 中断优先级控制位1:高优先级中断; 0:低优先级中断。

8、(3)PX1 外部中断 1 中断优先级控制位1:高优先级中断; 0:低优先级中断。(4)PT0 定时器 T0 中断优先级控制位1:高优先级中断; 0:低优先级中断。(5)PX0 外部中断 0 中断优先级控制位1:高优先级中断; 0:低优先级中断。如果几个同一优先级的中断源同时向CPU申请中断, CPU 通过内部硬件查询逻辑按自然优先级顺序确定该响应哪个中断请求。其自然优先级由硬件形成,排列如下:中断源 查询顺序外部中断 0 先(最高级)T0 溢出中断外部中断 1T1 溢出中断串行口中断 后(最低级)若扩充 8 个中断源,如何确定优先级:可以采用中断和查询结合的方法确定优先级。可以用 8 个外部

9、中断请求源 IR1 IR8 用“线或 ”的办法连到 MCS-51 的一个外中断源输入 端,同时还连到 P1 口。当 8 个扩充中断源中有一个或几个出现高电平,OC 门输出为 0,使得 /INT0 、/INT1 为低电平触发中断,所以这些扩充的外中断源都是电平触发 方式(高电平有效)。这8个扩充中断源的输入信号同时接到 8个I/O 口上。在 外中断服务程序中,由软件按照人为设定的顺序(优先级)查询外中断源哪位 是高电平,然后进入该中断处理。3、中断子程序返回指令与调用子程序返回指令有何异同?相同点:都是作为最后一条指令,起返回作用。不同点: RET指令必须作子程序的最后一条指令; RETI 必须

10、作中断服务程序的最后一 条指令。 RETI 指令除恢复断点地址外, 还恢复 CPU响应中断时硬件自动保护的现场信 息。执行 RETI 指令后,将清除中断响应时所置位的优先级状态触发器,使得已 申请的同级或低级中断申请可以响应;而 RET指令只能恢复返回地址。四、第 6 章(定时器)1、用定时器 T1 定时,使 P1.2 端电平每隔 1 min 变反一次,晶振为12MHz 。(用定时器查询方式)解:解题意,确定方案:晶振为 12MHz , 在方式 1 下,最大的定时时间 Tmax 为:Tmax = 65536 s = 65.536 ms 显然不能满足本题的定时时间要求,因而需另设两个软件计数器,

11、方案: T1 定时 50ms;软件计数器 1:秒计数,用片内 50H 作为循环次数。 软件计数器 2:分计数,用片内 51H 单元作为循环次数。? 设置 TMOD? 计算 T1 的初始值 XX 65536 50000 s / 1s 15536D3CB0 H画出程序框图MOV 50H,#14H ; 20 * 50ms = 1sMOV 51H,#3CH ; 60 * 1s = 1minMOV TMOD,#10H ; 设定时器 1 为方式 1MOV TH1,#3CH ; 赋初值MOV TL1,#0B0HSETB TR1; 启动 T1L2:JBC TF1,L1; 50ms 到?SJMP L2L1: M

12、OV TH1,#3CHMOV TL1,#0B0HDJNZ 50H,L2 ; 未到 1s 继续循环MOV 50H,#14HDJNZ 51H,L2 ; 未到 1min 继续循环MOV 51H,#3CHCPL P1.2 ; 1min 到 P1.2 端取反SJMP L2 ; 反复循环1、无说明如何得到初值;2、中断响应子程序中利用 A 作为存放中间值, 需要保护。 一般用直接地址比较好。 划分 个 RAM 区。3、定时初值需要重置,循环初值也需要重置。4、依然有人不清楚单字节最大值。5、LOOP1 :JBC TF1,LOOP1 不正确6、C 是进位位,不是寄存器2、用定时器 T1 定时,使 P1.2

13、端电平每隔 1 min 变反一次,晶振为 12MHz 。(用中断方式)ORG000HLJMPMAINORG001BHLJMPITIPORG1000HMAIN :MOV 50H,#14H; 20 * 50ms = 1sMOV 51H,#3CHMOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HSETB TR1SETB ET1SETB EA HERE : SJMPENDITIP :MOV TH1,#3CHMOV TL1,#0B0H DJNZ 50H,L2MOV 50H,#14H DJNZ 51H,L2MOV 51H,#3CHCPL P1.2; 60 * 1s = 1min;

14、 设定时器 1 为方式 1 ; 赋初值; 启动 T1;允许 T1 中断; CPU 开放中断HERE; 未到 1s 继续循环; 未到 1min 继续循环; 1min 到 P1.2 端取反L2 : RETI五、第 6 章(串行口)1、串行口在方式 0 下,RXD 、TXD 各取何作用?串行数据由 RXD(P3.0)端输入或输出,同步移位脉冲由 TXD(P3.1 )端送出。2、波特率的定义是什么?波特率是异步通讯中对数据传送速率的规定,其意义是每秒钟传送多少位二进制数。3、为什么定时器 T1 用做串行口波特率发生器时,常采用方式 2? 若已知系统时钟频率和通信波特率,如何计算其初始值?定时器 T1工

15、作于方式 2 是一种自动重装入方式,无需在中断服务程序中送数,没有由于 中断引起的误差,也应禁止定时器 T1 中断。采用方式 2 是一种既省事又精确的产生串行口 波特率的方法。SMODTH1256 232f1o2sc 波特率将计算出的数值送入 TH1和 TL1 即可。只讲了自动重新装入方式,未说明更精确。4、CPU 专用寄存器 SCON 中的 SM2 在多机通信中的作用?SM2 的功能如下:当 SM2=1 ,? 若接收到的 RB8=1 ,则被确认为呼叫地址帧, 将该帧内容装入 SBUF,并置位 RI=1 , 向 CPU 请求中断,进行地址呼叫处理;? 若接收到的 RB8=0 ,为数据帧,将不予

16、理睬,接收的信息被丢弃。当 SM2=0 ,? 则无论是地址帧还是数据帧均接收,并置位RI=1 ,向 CPU 请求中断,将该帧内容装入 SBUF因此在进行多机通信中,实现多机通讯的过程如下:1、可以先置所有从机的 SM2=1 ,主机发送要访问的从机地址;2、所有从机都能接收到地址信号( RB8=1 ),与自己的地址相比较,相同即为被叫从机;3、被叫从机将 SM2 置 0(SM2=0 ),则被叫从机不论地址信号还是数据信号都能接收。而 其它从机只能接收地址信号。4、当主机改变从机通讯时则再发呼叫地址帧,寻呼其他从机,原先被寻址的从机经分析得 知主机在寻呼其他从机时,恢复其SM2=1 ,对其后主机发

17、送的数据不予理睬。只是说明 SM2 的功能,没有从多机通信,地址帧、数据帧的角度叙述。 不涉及到串行口的方式问题,题目是多机通信,所以关于方式0,方式 1 的描述不需要。六、第 8 章(扩展)1、 MCS-51 单片机的程序存储器和数据存储器共处同一地址空间,为什么不会发生总线冲 突?访问不同存储器,使用不同的指令。如访问 ROM 用 MOVC, 访问片内 RAM 则用 MOV ,访 问片外 RAM 则用 MOVX 。不同的指令控制信号有所不同, 片外数据存储器 扩展时采用控 制信号线为 /RD 和/WR,程序存储器扩展时采用控制信号线 /PSEN,正是由于控制信号的不同,程序存储器和数据存储

18、器的空间在逻辑是严格分开的, 所以在访 问它们时不会发生总线冲突。2、8255A 控制字地址为 300FH ,请按:A口方式 0输入,B口方式1 输出, C 口高位输出、 C 口低位输入,确定 8255A 控制字,并编 初始化程序。解:控制字为:10010101=95H初始化程序:MOV DPTR,#300FHMOV A,#95HMOVX DPT,RA3、检查本单片机的串行口是否完好。将89C51的RX(D P3.0)和TXD(P3.1)短接,P1.0 接一个发光二极管(如图所示), 编一个串口自发自收(查询方式)通信程序,检查本单片机的串行口是否完好。Fosc=12MHz,波特率 =600,

19、取 SMOD=。0解:SMODTH1256 2SMOD fosc 132 12 波特率T1初值=204=CCH串行接口自检(查询方式)程序如下:START:MOV TMOD,#20HMOV TH1 , #0CCHMOV TL1 , #0CCHSETB TR1MOV SCON,#50HABC: CLR TIMOV P1 , ,#0FFEHACALL DAYMOV A,#0FFHMOV SBUF,AJNB RI,$CLR RIMOV A,SBUFMOV P1 , AACALL DAYSJMP ABCDAY: MOV R6, ,0FFHDAL: MOV R7, ,0FFHDJNZ R7 , $DJNZ R6 , DAL;T1 工作模式 2;设置 T1 初值;启动 T1;串行接口工作方式 1,允许接收;LED灭;延时;发送数据 FFH;RI 不等于 1 则等待;接收数据, A=FFH;灯亮;延时RET如果发送接收正确,可观察到P1.0 接的发光二极管闪亮

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1