- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机作业答案第5、6、7、8讲
第5、6、7、8章习题
一、问答题
1.说明51单片机读端口锁存器的必要性,为什么?
答:MCS-51系列单片机有不少指令可以直接进行端口操作,例如:ANL、ORL、XRL、JBC、CPL、INC、DEC、DJNZ、MOV PX.x,C、CLR PX.x、SETB PX.x。这些指令的执行过程分成“读-修改-写”三步,即先将端口的数据读入CPU,在ALU中进行运算,运算结果再送回端口。执行“读-修改-写”类指令时,CPU实际上是通过三态门读回锁存器Q端的数据。
这种读锁存器的方式是为了避免可能出现的一种错误。例如,用一根口线直接去驱动端口外的一个NPN晶体管基极,当向口线写“1”时,该晶体管导通,导通了的三极管集极与发射极间只有0.7V,会把端口引脚的高电平拉低,这样直接读引脚就会把本来的“1”误读为“0”。但若从锁存器Q端读,就能避免这样的错误,得到正确的数据。也就是说,如果某位输出为1时,有外接器件拉低电平, 读端口引脚与读锁存器就有区别了,读锁存器状态是1,读引脚状态是0,锁存器状态取决于单片机企图输出什么电平,引脚状态则是引脚的实际电平。
因此,当作为读引脚方式使用时,应先对该口写“1”,使场效应管截止,再进行读操作,以防止场效应管处于导通状态,使引脚为“0”,而引起误读。
2.请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为8~mA,导通压降为0.6V),为什么?
答:因为LED导通时,电压降是基本固定的(如0.6V)。为了使LED既能正常工作(电流为8~20mA),又不至于被过大的电流损坏,所以必须加一个限流电阻,电阻值为100~500Ω。
3.简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
答:键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,有必要去除键抖动。在键闭合稳定时,读取键的状态;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。
4.简述LED数码管动态扫描的原理及其实现方式。
答:动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。逐位轮流点亮各个LED,每一位保持一定时间,在5-10ms之内再一次点亮,重复不止,就可以实现动态扫描。
5.为什么51单片机在读口的引脚状态时,许先向端口写“1”,请用图5-1 P1结构图加以说明。
答:在单片机执行读引脚操作时,如果锁存器原来寄存的数据Q=0,那么由于=1,将使V1导通,引脚被始终钳位在低电平上,不可能输入高电平。为此,使用读引脚指令前,必须先用输出指令置Q=1,使V1截止。
5.简述89c51各IO口的驱动能力。
答:各IO口单个引脚,允许灌入的最大电流为 10 mA;
每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA;
P0 的驱动能力最强,允许灌入的最大总电流为 26 mA;
全部的四个接口所允许的灌电流之和,最大为 71 mA。
但引脚“输出高电平”的时候,输出电流不到 1 mA。
6.什么是中断?中断与子程序最本质的区别?
答:中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,自动转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序的过程。 中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
中断与子程序的最本质的区别:子程序是预先安排好的;中断是随机发生的。
7.编制中断服务程序时,为什么在主程序的初始化程序中,必须设置EA=1 这条指令(或达到同样功能的对IE赋值的指令),以及在中断服务程序中为什么通常需要保护现场和恢复现场?
答:中断允许寄存器IE中有1个总的开关中断控制位EA,当EA=0时,所有的中断请求被屏蔽,CPU不接受任何中断;只有当EA=1时,CPU才开放中断。所以主程序的初始化程序中,必须设置EA=1(或者用IE=1xxxxxxxB,x表示1或0) 这条指令。
现场是指中断时刻单片机中某些寄存器和储存器单元中的数据或状态,为了使中断服务程序的执行不破坏这些数据和状态,以免在中断返回后影响主程序的运行,因此要这些数据和状态送入堆栈保存,这就是现场保护。中断结束后,在返回主程序前,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容,这就是现场恢复。
8.单片机89C51有哪些中断源,CPU对其中断如何请求?
答:89C51中断系
您可能关注的文档
最近下载
- 安全管理人员初复训考核试卷含答案.doc
- 多模态大模型在金融行业的实践和展望-2024年全球人工智能与大模型开发与应用.pdf
- 电子商务测试题+参考答案.docx VIP
- 2024年江苏省南京市中考历史试题卷(含答案).docx
- 数独的社交互动:与朋友一起挑战数独.pptx VIP
- 大理州经济技术开发区“2.16”建筑施工生产安全事故调查报告警示学习教育.pptx
- 2017年高考全国2卷理综试题(Word版含答案).pdf
- 医疗服务公司医疗旅游服务合作协议.docx
- 人工智能技术在高中语文教学中的实践与应用研究教学研究课题报告.docx
- 山西大学《生物化学》内部题库练习期末真题汇编及答案.docx
文档评论(0)