




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用期终考试的复习题库1、单片机与普通计算机的不同之处在于其将(CPU )(储存器)和(I/O 口 )三部分集成于一块芯片上。2、8051 与8751的区别是:(C)A、内部数据存储但也数目的不同C、内部程序存储器的类型不同3、在MCS 51单片机中,如果采用B、内部数据存储器的类型不同D、内部的寄存器的数目不同6MHz晶振频率,一个机器周期为2u4、内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H 5、若A中的内容为63H ,那么,P标志位的值为0。分析:P为偶校验位,因为 A中1的个数为偶数,所以 P=0。6、判断下列说法是否正确:A、8031 的CPU是由RA
2、M 和EPROM 所组成。错B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还 是高端。错C、在MCS-51中,为使准双向的I/O 口工作在输入方式,必须保证它被事先预置为1。对D、PC可以看成使程序存储器的地址指针。对7 > 8031单片机复位后,R4所对应的存储单元的地址为 (04H ),因上电时PSW= ( 00F )。 这时当前的工作寄存器区是(0 )组工作寄存器区。8、判断以下有关PC和DPTR的结论正确的是(ABCD )A、DPTR是可以访问的,而 PC不能访问。B、它们都是16位的存储器C、它们都有加1的功能。D、DPTR可以分为两个8位的寄存器
3、使用,但 PC不能。9、 使用8031芯片时,需将/EA引脚接(低)电平,因为其片内无(程序)存储器。10、片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么?答:工作寄存器区、位寻址区和通用RAM区(或用户 RAM区)或(数据缓冲区)11、判断下列说法是否正确A、 程序计数器PC不能为用户编程时直接使用,因为它没有地址。对B、 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。错C、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以 进行位寻址的。错12、PC的值是、当前正在执行指令的下一条指令的地址13、通过堆栈操作实现子程序调用,首
4、先就要把( PC )的内容入栈,以进行断点保护 。调用返回时,再进行出栈保护,把保护的断点送回到( PC )。14、 MCS 51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS 51的PC是16位的,因此其寻址的范围为(64 ) KB。15、当MCS 51单片机运行出错或程序陷入死循环时,如何来摆脱困境? 答:软件陷阱、复位16、判断下列说法正确的是(B )A、 PC是1个不可寻址的特殊功能寄存器。错B、 单片机的主频越高,其运算速度越快。对C、 在MCS 51单片机中,1个机器周期等于1us。错D、 特殊功能寄存器 SP 内装的是栈顶首地址单元的内容。 错17 、如果
5、手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断 MCS 51 单片 机正在工作? ALE分析 :因为单片机正常工作时, ALE 脚输出时钟频率为振荡周期的 1/6 。18 、 判断下列指令的正误:1 ) MOV28H,R22 ) DECDPTR3 ) INCDPTR4 ) CLRRo错、错、对、错5) CPLR5错、错、错、对6) MOV Ro,R17) PUSHDPTR8) MOVFo,C9 ) MOV Fo,ACC.3错、对、对、错1o) MOVXA,R111 ) MOVC,3oH12) RLCRo19 、判断下列说法不正确的是( C )A 、 立即寻址方式是被操作的数据本身在指
6、令中,而不是它的地址在指令中。对B 、 指令周期是执行一条指令的时间。对C 、 指令中直接给出的操作数称为直接寻址。错20 、在基址加变址寻址方式中,以( 累加器 A )作变址寄存器,以( DPTR )或( PC ) 作基址寄存器。21 、 指令格式是由( 操作码 )和( 操作数 )所组成,也可能仅由( 操作码 )组成。22 、 假定累加器 A 中的内容为 30H ,执行指令1000H : MOVCA,A+PC 后,把程序存储器( 1031H )单元的内容送入累加器 A中。23、在MCS 51中,PC和DPTR都用于提供地址,但 PC是为访问(程序)存储器提 供地址,而 DPTR 是为访问(
7、数据 )存储器提供地址。24 、 在寄存器间接寻址方式中,其“间接”体现在(指令中寄存器的内容不是操作数,而是操作数的(地址 ) )。25 、 下列程序段的功能是什么?交换 A 、 B 的内容PUSH APUSH BPOP A POP B26、已知程序执行前有 A=02H , SP=52H ,(51H) =FFH , (52H)=FFH 。下述程序执行 后:POP DPH POP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,A+DPTR PUSH A MOV A,B INC A MOVC A,A+DPTRPUSH ARETORG 4000HDB 10H,80H,30
8、H,50H,30H,50H请问:A=( 50H ),SP=( 50H ),( 51H)=( 30H ),( 52H)=( 50H ),PC=( 5030H )。27、假定 A=83H ,(R0) =17H ,(17H ) =34H ,执行以下指令:ANL A,#17H ORL 17H,AXRL A,Ro CPL A后,A 的内容为(OCBH )。28、假定 A=55H , R3=0AAH ,在执行指令 ANL A,R3 后, A=(0 ), R3=( 0AAH )。29、如果 DPTR=5o7BH , SP=32H ,(3oH ) =5oH ,(31H ) =5FH ,(32H ) =3CH
9、,则 执行下列指令后:POP DPH POP DPLPOP SP 则: DPH= (3CH ),DPL= (5FH ), SP= (4FH ) 30 、假定, SP=60H , A=30H ,B=70H ,执行下列指令:PUSH APUSH B 后,SP的内容为(62H ),61H 单元的内容为(30H ) ,62H单元的内容为(70H )。31、试编写1个程序,将内部 RAM中45H单元的高4位清O ,低4位置1。答:MoV A, 45HANL A, #OFHoRL A, #OFHMoV 45H, A32 、 已知程序执行前有 A=O2H , SP=42H ,(41H ) =FFH , (4
10、2H)=FFH 。下述程序执行 后:PoP DPHPoP DPLMoV DPTR,#3OOOHRL AMoV B,AMoVC A,A+DPTRPUSH AMoV A,BINC AMoVC A,A+DPTRPUSH AREToRG 3OOOHDB 1OH,8OH,3OH,8OH,5OH,8OH请问: A=(8OH ), SP=(4OH ),(51H ) =(5OH ),(52H ) =(8OH ), PC=(8O5OH )。33 、 计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为12MHz )。MoV R3,#15H ;1 个机器周期DL1:MoV R4,#255 ;1 个机器周期DL
11、2:MoV P1,R3 ;2 个机器周期DJNZ R4,DL2 ;2个机器周期DJNZ R3,DL1 ;2个机器周期RET ;2 个机器周期答:15348us分析:(2 + 2 )× 255 + 1 + 2 )× 15 + 1 + 2=15348us34 、 假定 A=83H ,(RO ) =17H ,(17H ) =34H ,执行以下指令:ANL A,#17HoRL 17H,AXRL A,ROCPL A 后,A的内容为(0CBH )。35、试编写程序,查找在内部RAM的30H50H单元中是否有0AAH这一数据。若有,则将 51H 单元置为“ O1H ”;若未找到,则将 5
12、1H 单元置为“ OOH ”。答: START: MoV RO,#3OHMoV R2,#2OHLOOP: MOV A,R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET 36、试编写程序,查找在内部 RAM的20H40H单元中出现“ OoH ”这一数据的次数。 并将查找到的结果存入 41H 单元。答: START: MOV 41H,#OMOV RO,#2OHMOV R2,#2OHLOOP: MOV A,RO JNZ NEXTINC 41HNEXT: INC RODJNZ R2
13、,LOOPRET2000H LCALL LABEL后,堆栈指针 SP 和堆栈内容发生了什么变化? PC 的值等于什37 、若 SP=6OH ,标号LABEL 所在的地址为3456H 。 LCALL 指令的地址为 2OOOH ,执行指令如下:么?如果将指令 LCALL 直接换成 ACALL 是否可以?如果换成 ACALL 指令,可调用的地 址范围是什么?的低字节 =O3H的高字节 =2OH答: 1)SP=SP+1=61H (61H)=PCSP=SP+1=62H (62H)=PC2 ) PC=3456H3)可以4) 2KB = 2048 Byte38 、 外部中断 1 所对应的中断入口地址为(00
14、13H) H 。39 、 下列说法错误的是: (ABC )A、 各中断发出的中断请求信号,都会标记在 B 、 各中断发出的中断请求信号,都会标记在 C、 各中断发出的中断请求信号,都会标记在 D 、 各中断发出的中断请求信号,都会标记在 中。MCS 51 系统的 IE 寄存器中。MCS 51 系统的 TMOD 寄存器中。MCS 51 系统的 IP 寄存器中。MCS 51 系统的 TCON 与 SCON 寄存器40 、中断查询确认后, 在下列各种 8031 单片机运行情况中, 能立即进行响应的是: ( D ) A、 当前正在执行高优先级中断处理B 、 当前正在执行 RETI 指令C、当前指令是
15、DIV 指令,且正处于取指令的机器周期D、当前指令是 MOV A,R341 、 8031 单片机响应中断后,产生长调用指令 LCALL ,执行该指令的过程包括:首先把16位地址送(PC),使程(PC)的内容压入堆栈,以进行断点保护,然后把长调用指令的 序执行转向( 程序存储器 ) 中的中断地址区。42 、 编写出外部中断 1 为跳沿触发的中断初始化程序。答: SETB IT1SETB EX1SETB EA43 、 在 MCS 51 中,需要外加电路实现中断撤除的是: ( D )A 、定时中断B 、脉冲方式的外部中断C、外部串行中断D、电平方式的外部中断44 、 下列说法正确的是: (ACD )
16、A、同一级别的中断请求按时间的先后顺序响应。B、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。C、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优 先级中断请求。D 、 同级中断不能嵌套。45 、 中断服务子程序返回指令 RETI 和普通子程序返回指令 RET 有什么区别? 答: RETI 指令在返回的同时清除相应的优先级触发器,以允许下次中断46 、 某系统有 3 个外部中断源 1、 2、 3,当某一中断源变为低电平时,便要求CPU 进行处理,它们的优先处理次序由高到低依次为3、 2、 1 ,中断处理程序的入口地址分别为1000H ,1100H ,1200H
17、 。试编写主程序及中断服务程序(转至相应的中断处理程序的入 口即可)。答:若仅在/INTO引脚接3个外部中断源.ORG 0000HLJMP MAINORG OOO3HLJMP INT_EXOORG OO3OHMAIN: CLR ITO ; 采用低电平有效中断SETB EXO ;允许外部中断 OSETB EA; 插入用户程序WAIT: MOV PCON,#O1H ; 单片机进入休眠方式等待中断NOPLJMP WAIT ;以下为外部中断 O 服务子程序INT_EXO : JNB P1.O,NEXT1 ; 判断是不是 1 号中断LJMP INT_IR1 ; 跳转到 1 号中断处理程序 NEXT1:
18、JNB P1.1,NEXT2 ; 判断是不是 2 号中断LJMP INT_IR2 ; 跳转到 2 号中断处理程序 NEXT2: LJMP INT_IR3 ; 跳转到 3 号中断处理程序ORG 1OOOHINT_IR1:;插入相应中断处理程序RETI ; 中断返回ORG 11OOHINT_IR2: ; 插入相应中断处理程序RETI ; 中断返回ORG 12OOHINT_IR3: ; 插入相应中断处理程序RETI ; 中断返回47 、 如果采用晶振的频率为 3MHz ,定时器 / 计数器工作方式 0 、1、2 下,其最大的定时 时间为多少? 解答:因为机器周期 , 所以定时器 / 计数器工作方式
19、0 下,其最大定时时 间为 ;同样可以求得方式 1 下的最大定时时间为 262.144ms ;方式 2 下的最大定时时间为 1024ms 。48、 定时/ 计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时/ 计数器作定时时, 其计数脉冲由系统振荡器产生的内部时钟信号 12 分频后提供。 定时时间与时钟频率和定时初值有关。49、 定时/ 计数器用作定时器时,对外界计数频率有何限制?答:由于确认 1 次负跳变要花 2 个机器周期, 即 24 个振荡周期, 因此外部输入的计数脉冲 的最高频率为系统振荡器频率的 1/24 。50 、采用定时器 / 计数器 T0 对外部脉冲进行计
20、数,每计数 100 个脉冲后, T0 转为定时工 作方式。 定时 1ms 后,又转为计数方式, 如此循环不止。 假定 MCS-51 单片机的晶体振荡 器的频率为 6MHz ,请使用方式 1 实现,要求编写出程序。解答: 定时器 / 计数器 T0 在计数和定时工作完成后,均采用中断方式工作。除了第一次计 数工作方式设置在主程序完成外, 后面的定时或计数工作方式分别在中断程序完成, 用一标 志位识别下一轮定时器 / 计数器 T0 的工作方式。编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H;定时器 / 计数器 T0 为计数
21、方式 2MOV TL0,#156 ;计数 100 个脉冲的初值赋值MOV TH0,#156SETB GATE ;打开计数门SETB TR0 ;启动 T0 ,开始计数SETB ET0 ;允许 T0 中断SETB EA ;CPU 开中断CLR F0 ;设置下一轮为定时方式的标志位WAIT: AJMP WAITIT0P: CLR EA ;关中断JB F0,COUNT ;F0=1 ,转计数方式设置MOV TMOD,#00H ;定时器 / 计数器 T0 为定时方式 0MOV TH0,#0FEH ;定时 1ms 初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06H
22、MOV TL0,#156SETB EARETI51、 定时器 / 计数器的工作方式 2 有什么特点?适用于哪些应用场合? 答:定时器/ 计数器的工作方式 2 具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。52 、 编写程序,要求使用 T0 ,采用方式 2 定时,在 P1.0 输出周期为 400 s ,占空比为 10:1 的矩形脉冲。解答: 根据题意,从 P1.0 输出的矩形脉冲的高低电平的时间为 10:1 ,则高低电平的时间 分别为363.63 s和36.37 s°如果系统采用6MHz晶振的话,因此高低电平输出取整, 则约为364 s和36 s。编写程序如下:ORG 00
23、00HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#02H;定时器 / 计数器 T0 为定时方式 2MoV TL0,#4AH ;定时364 s初值赋值SETB TR0 ;启动 T0 ,开始计数SETB ET0 ;允许 T0 中断SETB EA ; CPU 开中断SETB P1.0WAIT: AJMP WAITIT0P: CLR EACLR P1.0 ;关中断MoV R0,#9DLY: DJNZ R0,DLY ;延时 26sMOV TL0,#4AH ;定时364 s初值赋值SETB P1.0SETB EARETI53 、 一个定时器的定时时间有限,如何实现
24、两个定时器的串行定时,来实现较长时间的定 时?答:方式一 ,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器; 在另一个定时器的中断程序中关闭本定时中断, 设置和打开另一个定时器。 这种方式 的定时时间为两个定时器定时时间的和。方式二 ,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由P1.0 接 INT0 产生),另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间 乘以另一个定时器的计数值。54 、当定时器 T0 用于方式 3 时,应该如何控制定时器 T1 的启动和关闭?答: 由 T1(P3.5) 口控制定时器 T1 的启动和关闭。55
25、 、定时器 / 计数器测量某正单脉冲的宽度, 采用何种方式可得到最大量程?若时钟频率为 6MHz ,求允许测量的最大脉冲宽度是多少?答: 采用方式 1 定时工作方式。最大脉冲宽度为 131.072ms。56 、编写一段程序,功能要求为:当 P1.0 引脚的电平正跳变时,对 P1.1 的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入Ro、R1(高位存R1 ,低位存 R0) 。解答: 将 P1.1 的输入脉冲接入 INTo ,即使用 To 计数器完成对 P1.1 口的脉冲计数。编写 程序如下:ORG ooooHLJMP MAINORG 000BHLJMP IT0PMAIN
26、: JNB P1.0,MAINMOV TMOD,#05H ;定时器 / 计数器 T0 为计数方式 1SETB TR0 ;启动 T0 ,开始计数SETB ET0 ;允许 T0 中断SETB EA ;CPU 开中断WAIT: JB P1.2,WAITCLR EACLR TR0MOV R1,TH0MOV R0,TL0AJMP $IT0P: INC R2RETI57 、 THX 与 TLX(X=0,1) 是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改 后的新值是立即刷新还是等当前计数器计满后才能刷新?答: THX 与 TLX(X=0,1) 是由特殊功能寄存器构成的计数器,其内容可以随时用指令
27、更改, 更改后的新值是立即刷新。但在读THX 、TLX 的值时,应该先读 THX 值,后读 TLX ,再读 THX 。若两次读得 THX 相同,则可确定读得的内容正确。若前后两次读得的 THX 有变 化,再重复上述过程。58 、 判断下列的说法是否正确?(1) 特殊功能寄存器(2) 特殊功能寄存器对)错)SCON ,与定时器 / 计数器的控制无关。 TCON ,与定时器 / 计数器的控制无关。(3) 特殊功能寄存器IE ,与定时器 / 计数器的控制无关。错)(4) 特殊功能寄存器TMOD ,与定时器 / 计数器的控制无关。错)59 、 串行数据传送的主要优点和用途是什么?2 个)。 用途: 主
28、要用答:优点: 串行数据传送的主要优点是硬件接口简单,接口端口少( 于多个单片机系统之间的数据通信。60 、 简述串行口接收和发送数据的过程。答: 以方式一为例。发送:数据位由TXT 端输出,发送 1 帧信息为 10 为,当 CPU 执行 1条数据写发送缓冲器 SBUF 的指令,就启动发送。发送开始时,内部发送控制信号 /SEND 变为有效, 将起始位想 TXD 输出, 此后,每经过 1 个 TX 时钟周期, 便产生 1 个移位脉冲, 并由TXD输出1个数据位。8位数据位全部完毕后,置 1中断标志位Tl ,然后/SEND 信 号失效。接收:当检测到起始位的负跳变时,则开始接收。接受时,定时控制
29、信号有2 种,一种是位检测器采样脉冲,它的频率是 RX 时钟的 16 倍。也就是在 1 位数据期间,有 16 个采样脉冲,以波特率的 16 倍的速率采样 RXD 引脚状态,当采样到 RXD 端从 1 到 0 的 跳变时就启动检测器,接收的值是 3 次连续采样,取其中 2 次相同的值,以确认是否是真 正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。61 、 帧格式为 1 个起始位, 8 个数据位和 1 个停止位的异步串行通信方式是方式( 1 )。62 、 串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答: 串行口有 3 种工作方式:方式 0 、
30、方式 1 、方式 2 、方式 3 ;有 3 种帧格式,方式 2 和 3 具有相同的帧格式;方式 0 的发送和接收都以 fosc/12 为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率方式 2 的波特率 =2SMOD/64× fosc方式3的波特率=2SMOD/32×定时器T1的溢出率63 、 假定串行口串行发送的字符格式为 1 个起始位, 8 个数据位, 1 个奇校验位, 1 个停 止位,请画出传送字符“ A”的帧格式。答: 起始位 01000000 校验位 停止位64 、 判断下列说法是否正确:(1 ) 串行口通信的第 9 数据位的功能可由用户
31、定义。 (对)(2)发送数据的第 9 数据位的内容在 SCON 寄存器的 TB8 位预先准备好的。 (对)(3)串行通讯发送时,指令把 TB8 位的状态送入发送 SBUF 。(错)(4)串行通讯接收到的第 9 位数据送 SCON 寄存器的 RB8 中保存。(对)(5)串行口方式 1 的波特率是可变的,通过定时器 /计数器 T1 的溢出设定。 (对)65 、通过串行口发送或接收数据时,在程序中应使用:(选( 3) )(1 )MOVC 指令 (2)MOVX 指令 (3)MOV 指令 (4)XCHD 指令66 、为什么定时器 /计数器 T1 用做串行口波特率发生器时, 采用方式 2?若已知时钟频率、
32、 通讯波特率,如何计算其初值?解答: 因为定时器 / 计数器在方式 2 下,初值可以自动重装,这样在做串口波特率发生器设 置时,就避免了重装参数的操作。已知时钟频率、通讯波特率,根据公式: ,计算出初值。67 、串行口工作方式 1 的波特率是:( 3 )1)固定的,为 。2)固定的,为 。3)可变的,通过定时器 /计数器 T1 的溢出率设定。4)固定的,为 。68 、在串行通讯中,收发双方对波特率的设定应该是( 相等 )的。69 、若晶体振荡器为 11.0592MHz ,串行口工作于方式 1,波特率为 4800b/s ,写出用 T1 作为波特率发生器的方式控制字和计数初值。解答: 初值计算:查
33、阅 P148 表 7-2 可得, FAH控制字: ANL TMOD,#0F0HORL TMOD,#20HMOV TH1,#0FAHMOV TL1,#0FAHMOV SCON,#40H70 、简述利用串行口进行多机通讯的原理。解答: 参考 P146 页。71 、使用 8031 的串行口按工作方式 1 进行串行数据通讯,假定波特率为 2400b/s ,以中 断方式传送数据,请编写全双工通讯程序。解答:自己解答72 、使用 8031 的串行口按工作方式 3 进行串行数据通讯,假定波特率为 1200b/s ,第 9 数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。解答:自己解答73 、某 80
34、31 串行口,传送数据的帧格式为 1 个起始位( 0), 7 个数据位, 1 个偶校验位 和 1 个停止位( 1 )组成。当该串行口每分钟传送 1800 个字符时,试计算出波特率。 解答: 串口每秒钟传送的字符为: 1800/60=30 个字符 / 秒所以波特率为:30个字符/秒× 10位/个字符=300bs74、为什么 MCS-51 串行口的方式 0 帧格式没有起始位( 0)和停止位( 1)? 解答: 串行口的方式 0 为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展 并行 IO 口,一般不用于两个 MCS-51 之间的串行通信。 该方式以 fosc12 的固定波特率 从
35、低为位到高位发送或接受数据。75 、 单片机存储器的主要功能是 存储(程序)和(数据) 。76 、试编写一个程序 (例如将 05H 和 06H 拼为 56H ),设原始数据放在片外数据区 2001H 单元和 2002H 单元中,按顺序拼装后的单字节数放入 2002H 。解: 本题主要考察了对外部存储器的读、写操作,同学们只要记住正确使用 MOVX 指令就 可以了。编程思路:首先读取 2001H 的值,保存在寄存器 A 中,将寄存器 A 的高四位和 低四位互换,再屏蔽掉低四位然后将寄存器 A 的值保存到 30H 中,然后再读取 2002H 的 值,保存在寄存器 A 中,屏蔽掉高四位,然后将寄存器
36、 A 的值与 30H 进行或运算,将运算 后的结果保存在 2002H 中。ORG 0000HMAIN : MOV DPTR ,#2001H ;设置数据指针的初值MOVX A , DPTR ;读取 2001H 的值SWAP AANL A ,#0F0H ;屏蔽掉低四位MOV 30H , A ;保存 AINC DPTR ;指针指向下一个MOVX A , DPTR ;读取 2002H 的值ANL A ,#0FH ;屏蔽掉高四位ORL A , 30H ;进行拼装MOVX DPTR , A ;保存到 2002HEND77 、 假设外部数据存储器 2000H 单元的内容为 80H ,执行下列指令后:MOV
37、P2 , #20HMOV R0 , #00HMOVX A , R0累加器 A 中的内容为( 80H )。78 、 编写程序,将外部数据存储器中的4000H 40FFH 单元全部清零。解: 本题主要考察了对外部数据块的写操作;编程时只要注意循环次数和 MOVX 指令的使 用就可以了。ORG 0000HMAIN : MOV A , #0 ;送预置数给 AMOV R0 , #0FFH ;设置循环次数MOV DPTR , #4000H ;设置数据指针的初值LOOP : MOVX DPTR , A ;当前单元清零INC DPTR ;指向下一个单元DJNZ R0 , LOOP ;是否结束END79、在MC
38、S-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?解: 因为控制信号线的不同:外扩的 RAM 芯片既能读出又能写入,所以通常都有读写控制引脚,记为 OE 和 WE 。外扩 RAM 的读、写控制引脚分别与 MCS-51 的 RD 和 WR 引脚相连。外扩的 EPROM 在正常使用中只能读出,不能写入,故 EPROM 芯片没有写入控制引脚, 只有读出引脚,记为 OE ,该引脚与 MCS-51 单片机的 PSEN 相连。80、区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:(3 , 4 )( 1 )看其位于地址范围的低端还是高段(2)
39、看其离 MCS-51 芯片的远近(3)看其芯片的型号是 ROM 还是 RAM( 4 )看其是与 RD 信号连接还是与 PSEN 信号连接81 、 在存储器扩展中,无论是线选法还是译码法,最终都是为了 扩展芯片的(片选)端提 供信号。82 、 请写出图 8-18 中 4 片程序存储器 27128 各自所占的地址空间。解:图中采用了译码法。 4 片地址分别为 0000H-3FFFH、 4000H-7FFFH、 8000H-BFFFH 、C000H-FFFFH 。83 、 起止范围为 0000H-3FFFH 的存储器的容量是( 16) KB 。 解:本题属于常识题,在第十一题时将有解答。84 、 在
40、 MCS-51 中, PC 和 DPTR 都用于提供地址,但 PC 是为了访问(程序)存储器提 供地址,而 DPTR 是为访问(数据)存储器提供地址。85 、 11 根地址线可选( 2KB )个存储单元, 16KB 存储单元需要( 14 )根地址线。解: 通过总结所学知识,我们得到以下几个信息: 2KB 的存储器需要 11 根地址线,地址 为 0000H-07FFH;4KB 的存储器需要 12 根地址线,地址为 0000H-0FFFH;8KB 的存储器需要 13 根地址线, 地址为 0000H-1FFFH;16KB 的存储器需要 14 根地址线,地址为 0000H-3FFFH;32KB 的存储
41、器需要 15 根地址线,地址为 0000H-7FFFH;64KB 的存储器需要 16 根地址线, 地址为 0000H-FFFFH (以上存储器的首地址均默认为 0000H )。86 、 32KB RAM 存储器的首地址若为 2000H ,则末地址为( 9FFF ) H。解: 由上题总结得出, 32KB RAM 存储器的大小为 0000H-7FFFH ,所以只要在后面加上 2000H 即得到正确答案。87 、 I/O 接口和 I/O 端口有什么区别? I/O 接口的功能是什么?解: I/O 端口简称 I/O 口,常指 I/O 接口电路中具有端口地址的寄存器或缓冲器。 I/O 接 口是指单片机与外
42、设间的 I/O 接口芯片。I/O 接口功能:一 .实现和不同外设的速度匹配;二.输出数据缓存;三 .输入数据三态缓冲。88 、常用的 I/O 接口编址有哪两种方式?它们各有什么特点? MCS-51 的 I/O 端口编址采 用的是哪种方式?解: 一 .独立编址方式:独立编址方式就是I/O 地址空间和存储器地址空间分开编址。独立编址的优点是 I/O 地址空间和存储器地址空间相互独立,界限分明。但是,却需要设置一 套专门的读写 I/O 的指令和控制信号。 二.统一编址方式: 这种编址方式是把 I/O 端口的寄 存器与数据存储器单元同等对待,统一进行编址。统一编址的优点是不需要专门的I/O 指令,直接
43、使用访问数据存储器的指令进行 I/O 操作,简单、方便且功能强大。 MCS-51 单 片机使用的是 I/O 和外部数据存储器 RAM 统一编址的方式。89 、 I/O 数据传送有哪几种传送方式?分别在哪些场合下使用?解: 一 .同步传送方式:同步传送又称为有条件传送。当外设速度可与单片机速度相比拟时, 常常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。二 . 查询传送方式:查询传送方式又称为有条件传送,也称异步传送。单片机通过查询得知外设准备好后, 再进行数据传送。 异步传送的优点是通用性好, 硬件连线和查询程序十分简 单,但是效率不高。为了提高单片机的工作效率,
44、通常采用中断方式。三. 中断传送方式:中断传送方式是利用 MCS-51 本身的中断功能和 I/O 接口的中断功能来实现 I./O 数据的 传送。 单片机只有在外设准备好后, 发出数据传送请求, 才中断主程序,而进入与外设进行 数据传送的中断服务程序, 进行数据的传送。 中断服务完成后又返回主程序继续执行。 因此, 采用中断方式可以大大提高单片机的工作效率。90 、编写程序,采用 8255A 的 C 口按位置位 / 复位控制字,将 PC7 置 0,PC4 置 1,(已 知 8255A 各端口的地址为 7FFCH-7FFFH )。解:本题主要考察对 8255A 的 C 口的操作。其方式控制字的高位
45、为 0 时,低四位对 C 口 进行置位。由题目我们得到了方式控制字的地址为 7FFFH 。ORG 0000HMAIN: MOV DPTR,#7FFFH ; 控制字寄存器地址送 DPTRMOV A,#0EH ; 将 PC7 置 0MOVX DPTR,AMOV A,#09H ; 将 PC4 置 1MOVX DPTR,AEND91 、 8255A 的方式控制字和 C 口按位置位 / 复位控制字都可以写入 8255A 的同一控制寄 存器, 8255A 是如何区分这两个控制字的?解: 8255A 通过它们的最高位来进行判断,最高位为 1 时,这时 8255A 认为这是方式控 制字,否则认为是 C 口按位
46、置位 / 复位控制字92 、 8155H 的端口都有哪些?哪些引脚决定端口的地址?引脚TIMERIN 和 TIMEROUT的作用是什么?解: 8155H 的端口有以下几种:命令 / 状态寄存器、 A 口、 B 口、 C 口、计数器和 RAM 单 元。引脚 IO/M 、A2 、A1 、A0 决定端口地址。 TIMERIN 是计数器输入线,输入的脉冲上 跳沿用于对 8155H 片内的 14 位计数器减一。 TIMEROUT 为计数器输入线。 当 14 位计数 器减为 0 时就可以在该引线上输出脉冲或方波,输出的信号的形状与所选的计数器工作方 式有关。93 、 判断下列说法是否正确,为什么?(1 )
47、由于 8155H 不具有地址锁存功能, 因此在与 8031 的接口电路中必须加地址锁存器。 (2)在 8155H 芯片中,决定端口和 RAM 单元编址的信号线是 AD7-AD0 和 WR 。 (3 )8255A 具有三态缓冲器,因此可以直接挂在系统的数据总线上。(4 )8255A 的 B 口可以设置成方式 2。解:(1 )8155H 具有地址锁存功能;(2)引脚 IO/M 、A2 、A1、A0 决定端口地址和 RAM 单元编址;(3 )8255A 不具有三态缓冲器;(4 )8255A 的 B 口只可以设置成方式 0 和方式 1。94 、 现有一片 8031 ,扩展了一片 8255A ,若把 8
48、255A 的 B 口用做输入, B 口的每一位 接一个开关, A 口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写出 B 口某一位接高电平时, A 口相应位发光二极管被点亮的程序。解: 由于电路图比较简单,在这里就画了,大家可以参考图 9-10 ,A 口每一位接二极管的 正极, 二极管的负极接低。 B 口每一位接一开关, 开关直接接地。 这样我们只需要将读到的 B 口的值送给 A 口就可以满足题目要求了。ORG 0000HMIAN : MOV A , #10000010B ; A 口出, B 口入MOV DPTR , #0FF7FH ;控制地址送 DPTRMoVX DPTR , A
49、 ;送方式控制字MOV DPTR , #0FF7DH ;B 口地址送 DPTRMOVX A , DPTR ;读开关信息MOV DPTR , #0FF7CH ; A 口地址送 DPTRMOVX DPTR , A ;将信息反溃到二极管END95 、假设 8155H 的 TIMERIN 引脚输入的频率为 4MHz ?问 8155H 的最大定时时间是多 少?解: 8155H 记数器的初值范围是: 3FFFH-2H 。当频率为 4MHz ,初值为 3FFFH 时,最 大定时时间为: 16383/4E+6=0.00409575S96 、MCS-51 的并行接口的扩展有多种方式, 在什么情况下, 采用扩展
50、8155H 比较合适? 什么情况下,采用扩展 8255A 比较适合?解: 8255A 具有 3 个8 位的并行 I/O 口, 3 种工作方式,可通过编程改变其功能,因而使 用灵活方便,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。 8155H 芯 片内包含有 256B 的 RAM 存储器(静态) , 2 个可编程的八位并行口 PA 和 PB , 1 个可编 程的6位并行口 PC,以及1个14位减法定时器/计数器。所以它经常用于单片机的外围 接口芯片。97 、假设 8155H 的 TIMERIN 引脚输入的脉冲频率为 1MHz ,请编写出在 8155H 的 TIMEROUT 引脚上输
51、出周期为 10ms 的方波的程序。解:将 1MHz 的脉冲改变为 10ms 的方波,这就让我们想到了在数字电路里面学到的分频 器。计算得出分频前后频率之比为 10000:1 ,这样我们只要将定时器初值设置为 64H 就可 以了。(假设 I/O 口地址为 7F00H-7F05H)START : MOV DPTR , #7F04H ;指针指向定时器低 8 位MOV A , #64H ;送初值给 AMOVX DPTR , A ;初值送给低8位INC DPTR ;指向高 8 位MOV A ,#40H ;定时器方波输出MOVX DPTE , AMOV DPTR ,#7F00H ;指向命令 /状态口MOV A ,#0C2H ;设定控制字MOVX DPTE , A ;启动定时器END98 、为什么要消除按键的机械抖动?消除按键的机械抖动的方法有哪几种?原理是什么? 解:在按键的闭合和断开过程中,由于开关的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸制品制造企业人力资源管理考核试卷
- 环境监测与重金属污染土壤修复考核试卷
- 纸张品质控制与管理考核试卷
- 绢丝在复合材料领域的创新研发与应用实践考核试卷
- 网络安全技术实践教程(微课版)-教案 病毒与木马的认知与防护
- 肇庆市实验中学高中物理:习题课高效课堂教学设计
- 内蒙古自治区呼伦贝尔市、兴安盟2025届初三第三次质量检测试题语文试题含解析
- 上海市浦东新区四校2024-2025学年高三月考(5)语文试题含解析
- 西华师范大学《诺贝尔生理学或医学奖史话》2023-2024学年第一学期期末试卷
- 兰州信息科技学院《航天医学工程概论》2023-2024学年第一学期期末试卷
- 教育部《中小学德育工作指南》-道德修养手册
- JGT163-2013钢筋机械连接用套筒
- DL∕T 782-2001 110kV及以上送变电工程启动及竣工验收规程
- JJF(通信) 068-2023 雷达回波模拟器校准规范(报批稿)
- 虎牙公会合同范本
- 花篮拉杆式悬挑式脚手架施工施工工艺技术
- 完整版交管12123驾照学法减分复习题库及答案1套
- 胸腔积液考试试题
- 食堂生物防治制度
- 医科大学医院安保服务采购项目保安服务实施方案
- 中国痔病诊疗指南(2020版)
评论
0/150
提交评论