一、问答题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 就会把原来的“1”误读为“0”。但若从锁存器 Q 端读,就能避开这样的错误,得到正确的数据。也 i 就是说,假如某位输出为 1 时,有外接器件拉低电平,读端引脚与读锁存器就有区别了,读锁存器状| 态是 1,读引脚状态是 0,锁存器状态取决于单片机企图输出什么电平,引脚状态则是引脚的实际电平。 因此,当作为读引脚方式使用时,应先对该写“1”,使场效应管截止,再进行读操作,以防止场效 应管处于导通状态,使引脚为“0”,而引起误读。2. 请说明为什么使用 LED 需要接限流电阻,当高电平为+5V 时,正常点亮一个 LED 需要多 大阻值的限流电阻(设 LED 的正常工作电流为 8~mA,导通压降为 0.6V),为什么?答:因为 LED 导通时,电压降是基本固定的(如 0.6V)。为了使 LED 既能正常工作(电流为 8~20mA), 又不至于被过大的电流损坏,所以必须加一个限流电阻,电阻值为 1~5Q。3. 简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。答:键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,有必要去除键 抖动。在键闭合稳定时,读取键的状态;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件| 两种方法消除。4. 简述 LED 数码管动态扫描的原理及其实现方式。答:动态扫描的原理是利用人的视觉暂留,让人觉得各位 LED 同时点亮一样。逐位轮流点亮各个 LED, 每一位保持一定时间,在 5-10ms 之内再一次点亮,重复不止,就可以实现动态扫描。5. 为什么 51 单片机在读的引脚状态时,许先向端写“ 1”,请用图 5-1 P1 结构图加 以说明。答:5. 简述 89c51 各 IO 的驱动能力。答:在单片机执行读...