




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012-1013学年单片机作业一、第2、3章(单片机结构及存储器)答案2、80C51存储器在结构上有何特点?访问片内RAM和片外RAM的指令格式有何区别?答:采用将程序存储器和数据存储器截然分开、分别寻址的结构,各自有自己的寻址系统、控制信号和功能。ROM用来存放始终保留的固定程序和数据;RAM用来存放程序运行时所需要的常数和变量访问片内RAM采用MOV格式访问片外RAM采用MOVX格式3、MCS-51单片机堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?答:堆栈是内部数据RAM区中,数据先进后出或后进先出的区域。其具体功能有两个:保护断点和保护现场。堆栈指示器(SP)是一个8位寄存器,存放当前的堆栈栈顶所指存储单元地址的。系统复位后,SP内容为07H,如不重新定义,则以07H为栈底,压栈的内容从08H单元开始存放;如需要使用深度较大的堆栈时,将会影响到工作寄存器的使用。所以要对SP进行重新的赋值,使堆栈区设定在片内数据RAM区中的某一空白区域内,堆栈深度以不超过片内RAM空间为限。4、什么是准双向口?使用准双向口时,要注意什么?答:P0、P1、P2、P3口作普通I/O口使用时,都是准双向结构。准双向口的输入操作和输出操作本质不同,输入操作是读引脚状态;输出操作是对口锁存器的写入操作;由口锁存器和引脚电路可知:当由内部总线给口锁存器置0或1时,锁存器中的0,1状态立即反映到引脚上。但在输入操作(读引脚)时,如果口锁存器为0,引脚被钳位在0状态,导致无法读出引脚的高电平输入。准双向口作输入口时,应先使锁存器置1,称之为置输入方式,然后再读引脚。例如,要将P1口状态读入到累加器A中,应执行以下两条指令:MOVP1,#0FFH;P1口置输入方式MOVA,P1;读P1口引脚状态到ACC中在输入时非高阻输入,一般没独立的输入输出控制设置,需要人为置“1”的i/o口三、第5章(中断)答案1、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溢出中断请求。 中断请求标志为TF1(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 定时器/计数器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。中断入口地址:中断源 入口地址 外部中断0 0003H定时器/计数器T0 000BH外部中断1 0013H定时器/计数器T1001BH串行口中断0023H2、80C51单片机的中断系统中有几个优先级,如何设定?若扩充8个中断源,如何确定优先级?答:80C51单片机的中断系统具有两个中断优先级。中断优先级的设定:由专用寄存器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:低优先级中断。如果几个同一优先级的中断源同时向CPU申请中断,CPU通过内部硬件查询逻辑按自然优先级顺序确定该响应哪个中断请求。其自然优先级由硬件形成,排列如下:中断源 查询顺序外部中断0 先(最高级)T0溢出中断外部中断1T1溢出中断串行口中断 后(最低级)若扩充8个中断源,如何确定优先级:可以采用中断和查询结合的方法确定优先级。可以用8个外部中断请求源IR1IR8用“线或”的办法连到MCS-51的一个外中断源输入端,同时还连到P1口。当8个扩充中断源中有一个或几个出现高电平,OC门输出为0,使得/INT0、/INT1为低电平触发中断,所以这些扩充的外中断源都是电平触发方式(高电平有效)。这8个扩充中断源的输入信号同时接到8个I/O口上。在外中断服务程序中,由软件按照人为设定的顺序(优先级)查询外中断源哪位是高电平,然后进入该中断处理。3、中断子程序返回指令与调用子程序返回指令有何异同?相同点:都是作为最后一条指令,起返回作用。不同点: RET指令必须作子程序的最后一条指令;RETI必须作中断服务程序的最后一条指令。 RETI指令除恢复断点地址外,还恢复CPU响应中断时硬件自动保护的现场信息。执行RETI指令后,将清除中断响应时所置位的优先级状态触发器,使得已申请的同级或低级中断申请可以响应;而RET指令只能恢复返回地址。四、第6章(定时器)1、用定时器T1定时,使P1.2端电平每隔1 min变反一次,晶振为12MHz。(用定时器查询方式)解:解题意,确定方案:晶振为12MHz , 在方式1下,最大的定时时间Tmax为: Tmax = 65536 s = 65.536 ms显然不能满足本题的定时时间要求,因而需另设两个软件计数器,方案:T1定时50ms; 软件计数器1:秒计数,用片内50H作为循环次数。 软件计数器2:分计数,用片内51H单元作为循环次数。 设置TMOD 计算T1的初始值XX6553650000s / 1s 15536D 3CB0 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: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作为存放中间值,需要保护。一般用直接地址比较好。划分一个RAM区。3、 定时初值需要重置,循环初值也需要重置。4、 依然有人不清楚单字节最大值。5、 LOOP1:JBC TF1,LOOP1不正确6、 C是进位位,不是寄存器2、用定时器T1定时,使P1.2端电平每隔1 min变反一次,晶振为12MHz。(用中断方式)ORG000HLJMPMAINORG001BHLJMPITIPORG1000HMAIN:MOV 50H,#14H; 20 * 50ms = 1sMOV 51H,#3CH; 60 * 1s = 1minMOV TMOD,#10H ; 设定时器1为方式1MOV TH1,#3CH; 赋初值MOV TL1,#0B0HSETB TR1; 启动T1SETBET1;允许T1中断SETBEA;CPU开放中断HERE:SJMPHEREENDITIP:MOV TH1,#3CHMOV TL1,#0B0HDJNZ 50H,L2; 未到1s继续循环MOV 50H,#14HDJNZ 51H,L2; 未到1min继续循环MOV 51H,#3CHCPL P1.2; 1min到P1.2端取反L2:RETI五、第6章(串行口)1、串行口在方式0下,RXD、TXD各取何作用?串行数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端送出。2、波特率的定义是什么?波特率是异步通讯中对数据传送速率的规定,其意义是每秒钟传送多少位二进制数。3、为什么定时器T1用做串行口波特率发生器时,常采用方式2?若已知系统时钟频率和通信波特率,如何计算其初始值?定时器T1工作于方式2是一种自动重装入方式,无需在中断服务程序中送数,没有由于中断引起的误差,也应禁止定时器T1中断。采用方式2是一种既省事又精确的产生串行口波特率的方法。将计算出的数值送入TH1和TL1即可。只讲了自动重新装入方式,未说明更精确。4、CPU专用寄存器SCON中的SM2在多机通信中的作用?SM2的功能如下:当SM2=1, 若接收到的RB8=1,则被确认为呼叫地址帧,将该帧内容装入SBUF,并置位RI=1,向CPU请求中断,进行地址呼叫处理; 若接收到的RB8=0,为数据帧,将不予理睬,接收的信息被丢弃。当SM2=0, 则无论是地址帧还是数据帧均接收,并置位RI=1,向CPU请求中断,将该帧内容装入SBUF因此在进行多机通信中,实现多机通讯的过程如下:1、 可以先置所有从机的SM2=1,主机发送要访问的从机地址;2、 所有从机都能接收到地址信号(RB8=1),与自己的地址相比较,相同即为被叫从机;3、 被叫从机将SM2置0(SM2=0),则被叫从机不论地址信号还是数据信号都能接收。而其它从机只能接收地址信号。4、 当主机改变从机通讯时则再发呼叫地址帧,寻呼其他从机,原先被寻址的从机经分析得知主机在寻呼其他从机时,恢复其SM2=1,对其后主机发送的数据不予理睬。只是说明SM2的功能,没有从多机通信,地址帧、数据帧的角度叙述。不涉及到串行口的方式问题,题目是多机通信,所以关于方式0,方式1的描述不需要。六、第8章(扩展)1、MCS-51单片机的程序存储器和数据存储器共处同一地址空间,为什么不会发生总线冲突?访问不同存储器,使用不同的指令。如访问ROM用MOVC,访问片内RAM则用MOV,访问片外RAM则用MOVX。不同的指令控制信号有所不同,片外数据存储器扩展时采用控制信号线为/RD和/WR,程序存储器扩展时采用控制信号线/PSEN,正是由于控制信号的不同,程序存储器和数据存储器的空间在逻辑是严格分开的,所以在访问它们时不会发生总线冲突。2、8255A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出、C口低位输入,确定8255A控制字,并编初始化程序。解:控制字为:10010101=95H初始化程序:MOVDPTR,#300FHMOVA,#95HMOVXDPTR,A3、检查本单片机的串行口是否完好。将89C51的RXD(P3.0)和TXD(P3.1)短接,P1.0接一个发光二极管(如图所示),编一个串口自发自收(查询方式)通信程序,检查本单片机的串行口是否完好。Fosc=12MHz,波特率=600,取SMOD=0。解:T1初值=204=CCH串行接口自检(查询方式)程序如下:START:MOV TMOD,#20H;T1工作模式2 MOV TH1,#0CCH MOV TL1,#0CCH;设置T1初值 SETB TR1;启动T1 MOV S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砌筑工理论考试题及答案
- 2025年物业管理合同纠纷调解协议(GF-97-1010)
- 2025年广西壮族自治区中央遴选笔试真题(B卷)试题及参考答案
- 2025年广西三支一扶考试笔试试题(含答案)
- 销售合同标准化审核清单
- 文学招聘考试题库及答案
- 农村土地互换与资源整合合同书
- 化工实验室考试题及答案
- 矿企招聘考试内容及答案
- 无锡一中高考试卷及答案
- 电工职业技能竞赛技术规程
- 机电设备调试协议书
- 芪参益气滴丸课件
- 短视频编辑与制作(第2版)PPT完整全套教学课件
- 电梯井内落地脚手架搭设方案
- 新视野大学英语3第三版课后习题答案加解析详细翻译
- 水泥产品生产许可证实施细则
- GB/T 14258-2003信息技术自动识别与数据采集技术条码符号印制质量的检验
- FZ/T 73009-2021山羊绒针织品
- 节能意识培训课件
- 《最优化方法》研究生配套教学课件
评论
0/150
提交评论