单片机试题及答案40633.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机试题及答案40633.精品文档.01、单片机是将微处理器、一定容量的 (RAM)和(ROM)以及 I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。2、单片机89C51片内集成了 ( 4 )KB的FLASH ROM,共有 ( 5) 个中断源。3、两位十六进制数最多可以表示( 256 )个存储单元。4、89C51是以下哪个公司的产品?( C )A、INTEL B、AMD C、ATMEL D、PHILIPS5、在89C51中,只有当EA引脚接 高 电平时,CPU才访问片内的Flash ROM。6、是非题:当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。T7、是非题:当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。F8、当CPU访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8位数据由 P0 口提供。9、在I/O口中, P0 口在接LED时,必须提供上拉电阻, P3 口具有第二功能。10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。F11、是非题:是读端口还是读锁存器是用指令来区别的。T12、是非题:在89C51的片内RAM区中,位地址和部分字节地址是冲突的。F13、是非题:中断的矢量地址位于RAM区中。F14、MCS-51系列单片机是属于( B )体系结构。A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵15、89C51具有 64 KB的字节寻址能力。16、是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。T17、在89C51中,片内RAM分为地址为 00H7FH 的真正RAM区,和地址为80HFFH的 特殊功能寄存器(SFR)区两个部分。18、在89C51中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当CPU复位时,第 0 组寄存器为当前的工作寄存器。19、是非题:工作寄存器区不允许做普通的RAM单元来使用。F20、是非题:工作寄存器组是通过置位PSW中的RS0和RS1来切换的。T21、是非题:特殊功能寄存器可以当作普通的RAM单元来使用。F22、是非题:访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。T23、是非题:堆栈指针SP的内容可指向片内00H7FH的任何RAM单元,系统复位后,SP初始化为00H。F24、数据指针DPTR是一个 16 位的 特殊功能寄存器 寄存器。25、是非题:DPTR只能当作一个16位的特殊功能寄存器来使用。F26、是非题:程序计数器PC是一个可以寻址的特殊功能寄存器。F27、在89C51中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和4周期 指令。28、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个 高 电平并维持 2 个机器周期,可将系统复位。29、是非题:单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。T30、单片机89C51复位后,其I/O口锁存器的值为 0FFH ,堆栈指针的值为 07H ,SBUF的值为 不定 ,内部RAM的值不受复位的影响,而其余寄存器的值全部为0H 。31、是非题:单片机系统上电后,其内部RAM的值是不确定的。T32、以下哪一个为51系列单片机的上电自动复位电路(假设RST端内部无下拉电阻)(P39图2-16(a)。33、在89C51中,有两种方式可使单片机退出空闲模式,其一是 任何的中断请求被响应 ,其二是 硬件复位 ;而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式。34、请用下图说明89C51单片机读端口锁存器的必要性。读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。35、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?解: 因为LED导通时,电压降是固定的(0.6V)。为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。36、以下哪一条指令的写法是错误的( C )。A、MOV DPTR,#3F98H B、MOV R0,#0FEH C、MOV 50H,#0FC3DH D、INC R037、以下哪一条指令的写法是错误的( D )。A、INC DPTR B、MOV R0,#0FEH C、DEC A D、PUSH A38、以下哪一条指令的写法是错误的( B )。A、MOVC A,A+DPTR B、MOV R0,#FEH C、CPL A D、PUSH ACC39、是非题:在51系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器A的参与才能完成。T40、以下哪一条是位操作指令( B )。A、MOV P0,#0FFH B、CLR P1.0 C、CPL A D、POP PSW41、以下哪一条是位操作指令( B )。A、MOV P1,#0FFH B、MOV C,ACC.1 C、CPL A D、POP PSW42、以下哪一条是位操作指令( B )。A、MOV P0,#0FFH B、SETB TR0 C、CPL R0 D、PUSH PSW43、简述89C51单片机中断的概念。当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。44、什么是保护现场,什么是恢复现场?保护现场:当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。45、单片机89C51有哪些中断源,对其中断请求如何进行控制?89C51中断系统有5个中断源:INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。T0:定时器/计数器0溢出中断请求。T1:定时器/计数器1溢出中断请求。TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。46、单片机89C51的5个中断源分别为 INT0 、 INT1 、 T0 、 T1 以及 TXD/RXD 。47、单片机89C51的中断要用到4个特殊功能寄存器,它们是 TCON 、SCON、 IE 以及IP。48、在89C51中,外部中断由IT0(1)位来控制其两种触发方式,分别是 电平 触发方式和 边沿 触发方式。49、简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。中断源(控制位) 自然优先级 外部中断0(PX0)最 高 定时器/计数器0溢出中断(PT0) 外部中断1(PX1)定时器/计数器1溢出中断(PT1)串行口中断(PS) 最 低若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。50、是非题:在89C51中,当产生中断响应时,所有中断请求标志位都由硬件自动清零。F51、中断处理过程分为3个阶段,即 中断响应 、中断处理以及 中断返回 。52、简述51系列单片机中断响应的条件。有中断源发出中断请求;中断总允许位EA=1,即CPU开中断;申请中断的中断源的中断允许位为1,即中断没有屏蔽;无同级或更高级中断正在被服务;当前的指令周期已经结束;若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。53、是非题:在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。T54、在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。55、为什么一般都把主程序的起始地址放在0030H之后?因为0000H0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。56、是非题:在执行子程序调用或执行中断服务程序时都将产生压栈的动作。T57、单片机89C51片内有两个 16 位的定时/计数器,即T0和T1,它们都有 定时 和 事件计数 的功能。58、是非题:定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。T59、是非题:定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。T60、是非题:定时/计数器在工作时需要消耗CPU的时间。F61、是非题:定时/计数器的工作模式寄存器TMOD可以进行位寻址。F62、是非题:定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。F63、简述定时/计数器4种工作模式的特点。模式1:是16位的定时器/计数器;模式2:把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器;模式3:对T0和T1大不相同。若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。定时器T1无工作模式3状态。模式0:与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。64、如何运用两个定时/计数器相串联来产生一秒的时钟基准信号。试画出必要的电路部分,并写出程序。(设晶振频率为12MHz,用LED显示秒信号。注:计数器输入端为P3.4(T0)、P3.5(T1)。)ORG 0000HLJMP MAINORG 000BHLJMP ONEORG 001BHLJMP COUORG 0030HMAIN: MOV P1,0FFHMOV SP,#60HMOV TMOD,#01100001BMOV TL0,#0B0HMOV TH0,#3CHMOV TL1,#0F6HMOV TH1,#0F6HSETB TR0SETB TR1SETB ET0SETB ET1SETB EASJMP $ONE: PUSH PSWPUSH ACCMOV TL0,#0B0HMOV TH0,#3CHCPL P1.1POP ACCPOP PSWRETICOU: PUSH PSWPUSH ACCCPL P1.0POP ACCPOP PSWRETIEND65、是非题:在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。F66、用一个定时/计数器加软件计数器的方式,实现一秒的时钟基准信号,试写出程序。(设晶振频率为12MHz,由P1.0口输出秒信号。)(本程序使用定时器T0,工作模式1。由于晶振频率为12MHz,因此利用定时器T0计时50ms,其初值为3CB0H。利用工作寄存器R7作软件计数器,计数20次。每计时满一秒,就将P1.0口输出信号取反,以输出秒信号。)ORG 0000HLJMP MAINORG 000BHLJMP ONEORG 0030HMAIN: MOV P1,0FFHMOV SP,#60HMOV R7,#20MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB TR0SETB ET0SETB EASJMP $ONE: PUSH PSWPUSH ACCMOV TL0,#0B0HMOV TH0,#3CHDJNZ R7,LOOPCPL P1.0MOV R7,#20LOOP: POP ACCPOP PSWRETIEND67、单片机89C51的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为 FE0CH 。68、是非题:单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。T69、单片机89C51具有 并行 通信和 串行 通信两种通信方式。70、是非题:并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。T71、是非题:串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。T72、串行通信有 同步 通信和 异步 通信两种通信方式。73、在异步通信中,数据的帧格式定义一个字符由4部分组成,即: 起始位 、数据位、 奇偶校验位 和停止位。74、是非题:异步通信中,在线路上不传送字符时保持高电平。T75、是非题:在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。T76、是非题:异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。T77、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是 通信双方必须采用统一的编码方式 ,二是 通信双方必须能产生相同的传送速率 。78、是非题:在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。T79、单片机89C51中的串行通信共有 4 种方式,其中方式 0 是用作同步移位寄存器来扩展I/O口的。80、是非题:在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。F81、是非题:在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。T82、是非题:单片机89C51一般使用非整数的晶振是为了获得精确的波特率。T83、是非题:单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。T84、设89C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为 F4H 。85、简述89C51串口通信的四种方式及其特点。方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。方式1:用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率由定时器T1的溢出率与SMOD值同时决定。方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。波特率取决于PCON中SMOD位的值:当SMOD0时,波特率为 的1/64;当SMOD1时,波特率为 的1/32。方式3:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。帧格式与方式2相同,波特率与方式1相同。86、以下哪种方式的接口总线最少?( C ) A、SPI B、I2C C、单总线 D、并行通信87、是非题:89C51单片机没有SPI接口,只能依靠软件来模拟SPI的操作。T88、是非题:89C51单片机没有I2C接口,只能依靠软件来模拟I2C的操作。T89、是非题:在89C51中,当用某两根口线来实现I2C总线的功能时,这两根口线必须接上拉电阻。T90、是非题:在I2C总线的时序中,首先是起始信号,接着传送的是地址和数据字节,传送完毕后以终止信号结尾。F91、是非题:在单总线测温器件DS18S20中,每个器件都具有一个唯一的序号。T92、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。93、键盘可分为 独立连接 式和 行列(矩阵) 式两类。键盘可分为 编码 式和 非编码 式两类。94、LED数码管有 静态 显示和 动态 显示两种方式。95、简述LED数码管动态扫描的原理及其实现方式。动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。逐位轮流点亮各个LED,每一位保持1ms,在1020ms之内再一次点亮,重复不止,就可以实现动态扫描。96、是非题:在A/D转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。T97、是非题:A/D转换的精度不仅取决于量化位数,还取决于参考电压。T98、以下哪个是属于单片机系统前向通道的器件?( A )A、A/D转换 B、D/A转换 C、LED数码管 D、继电器99、能否把继电器直接接在89C51的某一口线上来用?为什么?不能。因为89C51的I/O所提供的电压不足于驱动继电器,必须加一个三极管。100、简述看门狗的基本原理。看门狗是通过软件和硬件的方式在一定的周期内监控弹片机的运行状况,如果在规定时间内没有收到来自单片机的清除信号,也就是我们通常说的没有及时喂狗,则系统会强制复位,以保证系统在受干扰时仍然能够维持正常的工作状态101、简述软件陷阱技术的原理。软件陷阱就是用一条引导指令强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序,以使程序按既定目标执行。一.填空题(每空2分,共30分)1、真值1001001B的反码为01001001 ;其补码为 01001001 。2、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是 128 B 工作寄存器区的地址范围是 001FH 。3、程序状态标志字寄存器PSW中的PSW.7的含义是 奇偶标志 ;PSW.0的含义是 进位/借位标志 。6、单片机汇编语言程序有三种基本结构,分别是: 顺序 、 分支 和 循环 。7、MCS51单片机内部有 2 个 16 位加1定时 / 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时 / 计数的是方式是 0 。8、存储器EPROM 27128的地址线有 根,容量为 KB。9、可编程并行I / O接口芯片8255A有 4 个8位并行I / O端口,可通过编程决定它们的功能。二、单项选择题(每小题3分,共15分)1、MCS51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是 (A )(A)ALE (B) (C) (D)RST2、下列指令写法正确的是。 (B )(A)MOV #20H,A (B)ADD R2,#30H (C)PUSH R0 (D)RRC A3、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A) 0003H (B)2000H (C)000BH (D)3000H4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)(A) 方式0 (B)方式1 (C)方式2 (D)方式35、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)(A)读锁存器具 (B)读数据库 (C)读A累加器具 (D)读CPU三、简答题(每小题10分,共20分)1 简述可编程并行接口8255 A的内部结构?答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。(1)总线接口部分 其中有数据总线驱动器,读/写控制逻辑(2)内部逻辑部分 由A组和B组控制电路。(3)外部接口部分 该部分有3个8位并行I/O端口,即A口、B口和C口。2 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80HFFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);(2)中断系统:IP、IE;(3)定时器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4)并行I/O口:P0、P1、P2、P3;(5)串行口:SCON、SBUF、PCON。四、编程题(共35分)1 编程将片内RAM30H单元开始的B的数据传送到片外RAM3000H开始的单元中去。(15分) 解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOPRET2 编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。(20分)本程序的硬件连接如图所示。当P1.0输出高电平时,LED灯亮,否则不亮。其程序如下:MOV A,#01H ;灯亮初值SHIFT: LCAIL FLASH ;调闪亮10次子程序RR A ;右移一位SJMP SHIFT ;循环FLASH: MOV R2,#0AH 闪烁10次计数FLASH1; MOV P1,A ;点亮LCALL DELAY ;延时MOV P1,#00H ;熄灭LCALL DELAY ;延时DJNZ R2,FLASH1 ;循环RET