东南大学测控技术与仪器单片机作业及答案_第1页
东南大学测控技术与仪器单片机作业及答案_第2页
东南大学测控技术与仪器单片机作业及答案_第3页
东南大学测控技术与仪器单片机作业及答案_第4页
东南大学测控技术与仪器单片机作业及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、时,其中断入口地址各是多少?中断源:(1) /INTO 外部中断请求0,由引脚/INTO输入。当ITO(TCON.0 =1时,低电平有效;当ITO(TCON.0 =0时,下降沿有效(2) /INT1 外部中断请求1,由引脚/INT1输入。当IT1(TCON.2 =1时,低电平有效;当IT1(TCON.2 =0时,下降沿有效(3) T0 定时器/计数器T0溢出中断请求。中断请求标志为TF0(TCON.5)。(4) T1 定时器/计数器T1溢出中断请求。中断请求标志为TF1(TC0N.7)。(5) RX TX 串行口中断请求。中断请求标志为TI(SC0N.1)或RI(SCON.0)。中断标志产生及

5、清除:(1) /INT0 外部中断请求0,由引脚/INT0输入。当CPU采样到/INT0端出现有效中断请求时,中断请求标志位IE0(TCON.1硬件置1,;响应中断后,转向中断服务时,硬件复位。(2) /INT1 外部中断请求1,由引脚/INT1输入。当CPU采样到/INT1端出现有效中断请求时,中断请求标志位IE1(TCON.3硬件置1,;响应中断后,转向中断服务时,硬件复位。(3) T0 定时器/计数器T0溢出中断请求。T0 计数溢出,中断请求标志为 TF0(TCON.5)硬件置位;响应中断时,硬件 复位。不使用中断时用软件清 0。(4) T1 定时器/计数器T1溢出中断请求。T1 计数溢

6、出,中断请求标志为 TF1(TC0N.7硬件置位;响应中断时,硬件 复位。不使用中断时用软件清 0。(5) RX TX 串行口中断请求。发送完一帧,中断请求标志位 TI(SCON.I)硬件置位;响应中断后,必须软 件清0;接收完一帧,中断请求标志位 RI(SCON.O)硬件置位;响应中断后,必须软 件清0。中断入口地址:中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行口中断0023H2、80C51单片机的中断系统中有几个优先级,如何设定?若扩充8个中断源,如何确定优先级?答:80C51单片机的中断系统具有两个中断优先级。中断优先

7、级的设定:由专用寄存器IP统一管理,由软件设置每个中断源为高优先级中断或者低优先级中断。可实现两级中断嵌套。囲执行主程序眾器器眾鸳黑专用寄存器IP为中断优先级寄存器,锁存各中断源优先级的控制位,用户可由软件设定, 其格式如下:(1)PS 串行口中断优先级控制位1高优先级中断;0 :低优先级中断。(2)PT1 定时器T1中断优先级控制位1高优先级中断;0 :低优先级中断。(3)PX1 外部中断1中断优先级控制位1:高优先级中断;0 :低优先级中断。(4)PT0 定时器T0中断优先级控制位1:高优先级中断;0 :低优先级中断。(5)PX0 外部中断0中断优先级控制位1:高优先级中断;0 :低优先级

8、中断。如果几个同一优先级的中断源同时向CPU申请中断,CPU通过内部硬件查询逻辑按自然优先级顺序确定该响应哪个中断请求。其自然优先级由硬件形成,排列如下:中断源查询顺序外部中断0先(最高级)T0溢出中断夕卜部中断1T1溢出中断串行口中断后(最低级)若扩充8个中断源,如何确定优先级:可以采用中断和查询结合的方法确定优先级。可以用8个外部中断请求源 IR1IR8用 线或”的办法连到 MCS-51的一个外中断源输入 端,同时还连到 P1 口。当8个扩充中断源中有一个或几个出现高电平,0C门输出为0,使得/INTO、/INT1为低电平触发中断,所以这些扩充的外中断源都是电平触发 方式(高电平有效)。这

9、8个扩充中断源的输入信号同时接到 8个I/O 口上。在 外中断服务程序中,由软件按照人为设定的顺序(优先级)查询外中断源哪位 是高电平,然后进入该中断处理。3、中断子程序返回指令与调用子程序返回指令有何异同?相同点:都是作为最后一条指令,起返回作用。不同点: RET指令必须作子程序的最后一条指令;RETI必须作中断服务程序的最后一 条指令。 RETI指令除恢复断点地址外,还恢复CPU响应中断时硬件自动保护的现场信 息。执行RETI指令后,将清除中断响应时所置位的优先级状态触发器,使得已 申请的同级或低级中断申请可以响应;而 RET指令只能恢复返回地址。四、第6章(定时器)1、用定时器T1定时,

10、使P1.2端电平每隔1 min变反一次,晶振为12MHz。(用定时器查询方式)解:解题意,确定方案:晶振为12MHz ,在方式1下,最大的定时时间 Tmax为:Tmax = 65536 卩 s = 65.536 ms显然不能满足本题的定时时间要求,因而需另设两个软件计数器,方案:T1定时50ms;软件计数器1:秒计数,用片内 50H作为循环次数。 软件计数器2:分计数,用片内 51H单元作为循环次数。? 设置TMOD? 计算T1的初始值XX = 65536 50000 卩 s / 1 卩 s=15536D =3CB0 H画出程序框图MOV 50H,#14H; 20 * 50ms = 1sMOV

11、 51H,#3CH; 60 * 1s = 1minMOV TMOD,#10H;设定时器1为方式1MOV TH1,#3CH ;赋初值MOV TL1,#0B0HSETB TR1;启动 T1L2:JBC TF1,L1; 50ms 到?SJMP L2L1: MOV 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作为存放中间值,需要保护。一般用直接地址

12、比较好。划分个RAM区。3、定时初值需要重置,循环初值也需要重置。4、依然有人不清楚单字节最大值。5、L00P1 : JBC TF1 , L00P1 不正确6、C是进位位,不是寄存器2、用定时器T1定时,使P1.2端电平每隔1 min变反一次,晶振为12MHz。(用中断方式)ORG000HLJMPMAINORG001BHLJMPITIPORG1000HMAIN : MOV 50H,#14H;20 * 50ms = 1sMOV 51H,#3CHMOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HSETB TR1SETB ET1SETB EA HERE : SJMPENDI

13、TIP : MOV TH1,#3CHMOV TL1,#0B0H DJNZ 50H,L2 MOV 50H,#14H DJNZ 51H,L2MOV 51H,#3CHCPL P1.2;60 * 1s = 1min;设定时器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、波特率的定义是什么?波特率是异步通讯中对数据传送速率的规定,其意义是

14、每秒钟传送多少位二进制数。3、为什么定时器T1用做串行口波特率发生器时,常采用方式 2? 若已知系统时钟频率和通信波特率,如何计算其初始值?定时器T1工作于方式2是一种自动重装入方式,无需在中断服务程序中送数,没有由于 中断引起的误差,也应禁止定时器T1中断。采用方式2是一种既省事又精确的产生串行口波特率的方法。SMOD卄25i23Bf2i波特率将计算出的数值送入 TH1和TL1即可。只讲了自动重新装入方式,未说明更精确。4、CPU专用寄存器 SCON中的SM2在多机通信中的作用?SM2的功能如下:当 SM2=1 ,? 若接收到的RB8=1,则被确认为呼叫地址帧, 将该帧内容装入 SBUF ,

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

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

17、的不同,程序存储器和数据存储器的空间在逻辑是严格分开的,所以在访 问它们时不会发生总线冲突。2、8255A控制字地址为300FH,请按:A 口方式0输入,B 口方式 1输出,C 口高位输出、C 口低位输入,确定8255A控制字,并编 初始化程序。解:控制字为:10010101=95H初始化程序:MOV DPTR #300FHMOV A,#95HMOVX DPTRA3、检查本单片机的串行口是否完好。将89C51的RX(P3.0)和TXD(P3.1)短接,P1.0接一个发光二极管(如图所示), 编一个串口自发自收(查询方式)通信程序,检查本单片机的串行口是否完好。Fosc=12MHz波特率=600,取 SMOD=0TH仁 25SfOS-1-3212 波特率;T1工作模式2;设置T1初值;启动T1;串行接口工作方式1,允许接收;LED灭;延时;发送数据FFH;RI不等于1则等待;接收数据,A=FFH;灯亮;延时T1 初值=204=CCH串行接

温馨提示

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

评论

0/150

提交评论