已知8051单片机引脚图的fosc=12,用tn=0定时,试编写由p1.0输出周期为38ms方波程序

当前位置: >>
单片机复习
单片机复习选择题 1.8051 单片机外接 ROM 时,使用( )引脚来选通 74LS373 芯片 A.ALE B. PSEN C. EA D. WR D.2 和 22.8051 单片机内含定时器和串行口的个数分别为( ) A.2 和 1 B.1 和 2 C.3 和 1 3.8051 单片机外部中断 0 请示信号输入的引脚是( ) A.RXD B. INT0 C. T0D. WR4.8051 片可扩展数据存储器( )KB。 A.64 B.32 C.8 D.4 5、MOV C,#00H 指令中目的操作数的寻址方式是( A )。 A、位寻址 B、直接寻址 C、立即寻址 D、寄存器寻址 6、外部中断 1 固定对应的中断入口地址为( C ) A、0003H B、000BH C、0013H D、001BH 7、执行返回指令时,返回的断点是( C )。 A、调用指令的首地址 B、调用指令的末地址 C、调用指令下一条指令的首地址 D、返回指令的末地址 8、当 MCS-51 复位时,下面说法正确的是:( A )。 A、PC=0000H B、SP=00H C、P0=00H D、(20H)=00H。 9、要使 MCS-51 能够响应定时器 T1 中断、串行接口中断,它的中断允许寄存器 IE 的内容应 该是( A )。 A、98H B、84H C、42H D、22H 11、执行 LCALL 4000H 指令时,MCS-51 所完成的操作是( D )。 A、保护 PC B、4000H→PC C、保护现场 D、PC+3 入栈,4000H→PC 13、PC 中存放的是( A )。 A、下一条指令的地址 B、当前正在执行的指令 C、当前正在执行的指令地址 D、下一条要执行的指令 14、MCS-51 的相对转移指令的最大负跳距离为( B )。 A、2K B、128 C、127 D、256 15、各中断源发出的中断请求信号,都会标记在 MCS-51 系统中的( B )。 A、TMOD B、TCON/SCON C、IE D、IP 16、假定设置堆栈指针 SP 的值为 37H,在进行子程序调用时将断点地址进栈保护后,SP 的 值为( D )。 A、36H B、37H C、38H D、39H 17.开始时(A)=0,但在 MCS-51 执行完 MOV A,#08H 后,PSW 的哪一位被置位( )。 A、Cy B、AC C、OV D、P 18.MCS-51 单片机的堆栈区应建立在( )。 A、片内数据存储区的低 128 字节单元 B、片外数据存储区 C、片内数据存储区的高 128 字节单元 D、程序存储区 19.要使 MCS-51 能够响应定时器 T1 中断、 串行接口中断, 它的中断允许寄存 IE 的内容应该 是( )。 A、98H B、84H C、42H D、22H 20. 8051 单片机中,唯一一个用户不能直接使用的寄存器是( C ) A 、 PSW B 、 DPTR C 、 PC D、B 21.各中断源发出的中断请求信号,都会标记在 MCS-51 系统中的( B )。 A、TMOD B、TCON/SCON C、IE D、IP 22.当需要从 MCS-51 单片机程序存储器取数据时,采用的指令为( B )。 A、MOV A, @R1 B、MOVC A, @A+DPTR C、MOVX A, @R0 D、MOVX A, @DPTR 23、十进制数 126 其对应的十六进制可表示为( D ) A、 8F B、 8E C、 FE D、 7E 25、一 3 的补码是( D ) A、 B、 C、 D、 、CPU 主要的组成部部分为( A ) A、运算器、控制器 B、加法器、寄存器 C、运算器、寄存器 D、运算器、指令译码器 27、在单片机中,通常将一些中间计算结果放在( A )中 A 、 累 加 器 B 、 控 制 器 C 、 程 序 存 储 器 D、数据存储器 28、数据指针 DPTR 在( A )中 A、CPU 控制器 B、CPU 运算器 C、外部程序存储器 D、外 部数据存储器 29、指令和程序是以( C )形式存放在程序存储器中 A、源程序 B、汇编程序 C、二进制编码 D、 BCD 码 30、单片机应用程序一般存放在( B ) A 、 RAM B 、 ROM C 、 寄 存 器 D、CPU 31、单片机上电后或复位后,工作寄存器 R0 是在( A ) A、0 区 00H 单元 B、0 区 01H 单元 C、0 区 09H 单 元 D、SFR 32、进位标志 CY 在( C )中 A 、累加器 B 、算逻运算部件 ALU C 、程序状态字寄存器 PSW D、DPTR 33、单片机 8051 的 XTAL1 和 XTAL2 引脚是( D )引脚 A、外接定时器 B、外接串行口 C、外接中 断 D、外接晶振 34、8031 复位后,PC 与 SP 的值为( B ) A 、 0000H , 00H B 、 0000H , 07H C 、 0003H , 07H 寄 存 器 D、0800H,00H 35、单片机的堆栈指针 SP 始终是( B ) A、 指示堆栈底 B、 指示堆栈顶 C、 指示堆栈地址 D、 指示堆栈长度 36、P0、P1 口作输入用途之前必须( A ) A、 相应端口先置 1 B、 相应端口先置 0 C、 外接高电平 D、 外接上拉电阻 37、一个 EPROM 的地址有 A0----A11 引脚,它的容量为( B ) A 、 2KB B 、 4KB C 、 11KB D、12KB 40、执行指令 MOVX A,DPTR 时,WR.RD 脚的电平为( A ) A、WR 高电平,RD 低电平 B、WR 低电平,RD 高电 平 C、WR 高电平,RD 高电平 D、WR 低电平,RD 低电 平 41、INTEL 8031 的 PO□,当使用外部存储器时它是一个( D ) A、传输高 8 位地址□ B、传输低 8 位地址□ C、传输低 8 位数据□ D、传输低 8 位地址/数据总线□ 43、下列指令中错误的是( C ) A、 MOV A, R4 B、 MOV 20H, R4 C 、 MOV R4, R3 D、 MOV R4,R3 44、下列指令中不影响标志位 CY 的指令有( D ) A 、 ADD A , 20H B 、 CLR C 、 RRC A D、INC A 47、8051 单片机共有( A )个中断优先级 A 、 2 B 、 3 C 、 4 D、5 48、设累加器 A 的内容为 0C9H,寄存器 R2 的内容为 54H,CY=1,执行指令 SUBB A,R2 后 结果为( A ) A、 (A) =74H B、 (R2) =74H C 、 (A) =75H D、 (R2)=75H 49、设(A)=0C3H,(R0)=0AAH,执行指令 ANL A,R0 后,结果( A ) A、 (A) =82H B、 (A) =6CH C 、 (R0) =82 D、 (R0)=6CH 50、8051 的程序计数器 PC 为 16 位计数器,其寻址范围是( D ) A 、 8K B 、 16K C 、 32K D、64K 51、提高单片机的晶振频率,则机器周期( C ) A 、 不 变 B 、 变 长 C 、 变 短 D、不定 52、在堆栈操作中,当进栈数据全部弹出后,这时 SP 应指向( C ) A、栈底单元 B、7FH 单元 C 、栈底单元地址加 1 D、栈底单元地址减 1 53、8051 单片机中,唯一一个用户不能直接使用的寄存器是( C ) A、PSW B、DPTR C 、PC D、B 54、8051 单片机中,唯一一个用户可使用的 16 位寄存器是( B ) A、 PSW B、 DPTR C 、 ACC D、 PC 55、执行如下三条指令后,30H 单元的内容是( C ) MOV R1,#30H MOV 40H,#0EH MOV R1,40H A、 40H B、 30H C 、 0EH D、 FFH 56、有如下程序段: MOV R0,#30H SETB C CLR A ADDC A,#00H MOV R0,A 执行结果是( B ) A、 (30H) =00H B、 (30H) =01H C 、 (00H) =00H D、 (00H) =01H 57、中断是一种( D ) A、资源共享技术 B、数据转换技术 C 、数据共享技术 D、并行处 理技术 58、执行 MOV IE,#81H 指令的意义是:( B ) A、屏蔽中断源 B、开放外部中断源 0 C 、开放外部中断源 1 D、开放外部中断源 0 和 1 59.寄存器间接寻址可用于( )。 ①乘法 ②查表 ③堆栈 ④除法 60.8051 定时计数器的启/停应由( )位控制。 ①THI ②TLI ③TI ④TRI 61.堆栈指针 SP 的值应该是( )范围内。 ①内部 80H-FFH ②外部 80H-FFH ③内部 00H-7FH ④外部 00H-7FH 62.直接寻址的寻址范围是( )。 ①内部 00H-FFH ②外部 00H-FFH ③内部 0000H-FFFFH ④外部 0000H-FFFFH 63.SJMP 执行后,SP 的值会( )。 ①+2 ②-2 ③+1 ④不变 64.以下( )指令是非法指令。 ①MOVX A,@R0 ②MOVC A,@A+PC ③MOV @DPTR,A ④DEC R0 65.MCS-51 系列单片机属高档 8 位单片机,其指令系统中共有( )条指令。 ①96 ②111 ③127 ④256 66.指令 JNZ rel 的寻址方式是( )。 ①位寻址 ②寄存器寻址 ③寄存器间接寻址 ④相对寻址 67.外部中断请求信号 INT1 是从( )并行 I/O 口进入 8051 单片机内部的。 ①P0 口 ②P1 口 ③P2 口 ④P3 口 68.下列寄存器中哪一个寄存器与 51 单片机的定时计数器的启/停控制位有关。 ①TMOD ②TCON ③TH0,TL0 ④TH1,TL1 69.从 P3 口读入外部状态应该采用以下( )段程序。 ①MOV P3,#00 ②MOV P3,#0 ③MOV P3,#FFH ④MOV P3,#0FFH MOV A,P3 MOV P3,A MOV A,P3 MOV A,P3 70.SFR 的地址范围是( )。 ①外部 00-FFH ②外部 80-FFH ③内部 00-FFH ④内部 80-FFH 71.INT1 的中断服务程序的入口地址是( )。 ①000BH ②0003H ③0013H ④001BH 72.ACALL 指令执行后,SP 的值会( )。 ①+2 ②-2 ③+1 ④不变 73.用译码法进行外部程序存储器扩展时,译码器输出应接到存储器( )引脚上。 ① WR ②CS ③RD ④VCC 74.8031 定时计数器的启/停应由( )位控制。 ①THI ②TLI ③TI ④TRI 75.堆栈指针 SP 的值应该是( )范围内。 3. 内部 80H-FFH ②外部 80H-FFH ③内部 00H-7FH ④外部 00H-7FH 76.直接寻址的寻址范围是( )。 3. 内部 00H-FFH ②外部 00H-FFH ③内部 0000H-FFFFH ④外部 0000H-FFFFH 77.SJMP 执行后,SP 的值会( )。 ①+2 ②-2 ③+1 ④不变 78.以下( )指令是非法指令。 3. MOVX A,@R0 ②MOVC A,@A+PC ③MOV @DPTR,A ④DEC R0 79.MCS-51 系列单片机属高档 8 位单片机,其指令系统中共有( )条指令。 ①96 ②111 ③127 ④256 80.指令 JNZ rel 的寻址方式是( )。 ①位寻址 ②寄存器寻址 ③寄存器间接寻址 ④相对寻址 81.外部中断请求信号 INT 是从( )并行 I/O 口进入 8031 单片机内部的。 ①P0 口 ②P1 口 ③P2 口 ④P3 口 82.由 8031 芯片组成的单片机专用模块中,那一个 I/O 口在单片机运行时由内部控制电路 自动转换为数据总线口及地址总线复用功能口。 ①P0 口 ②P1 口 ③P2 口 ④P3 口 83.下列寄存器中哪一个寄存器与 51 单片机的定时计数器的启/停控制位有关。 ①TMOD ②TCON ③TH0,TL0 ④TH1,TL1 84.从 P3 口读入外部状态应该采用以下( )段程序。 ①MOV P3,#00 ②MOV P3,#0 ③MOV P3,#FFH ④MOV P3,#0FFH MOV A,P3 MOV P3,A MOV A,P3 MOV A,P3 85.AJMP addr11 是无条件转移指令,它的转移范围可以在( )。 ①0000-00FFH 之间 ②0000-FFFFH 之间 ③000H-FFFH 之间 ④1000H-17FFH 之间 86.SFR 的地址范围是( )。 3. 外部 00-FFH ②外部 80-FFH ③内部 00-FFH ④内部 80-FFH 87.INT1 的中断服务程序的入口地址是( )。 ①000BH ②0003H ③0013H ④001BH 88、EPROM 是指( )。 A. 随机存储器 C.只读存储器 B.电擦除的只读存储器 D.紫外线可擦除的只读存储器 89、MCS-51 系列单片机的 CPU 是( A.4 位 B.8 位)位的。 C.16 位 D.32 位 )。90、8051 的内部 RAM 中,用作位寻址的单元地址是( A.00H-1FH B.20H-2FH C.30H-4FHD.50H-6FH )91、12MHz 晶振的单片机在定时方式下,定时器可能实现的最小定时时间是( A.8us B.4us C.2us D.1us92、在单片机扩展系统中,8051 地址总线和数据总线分时复用所用端口是( A. P3 口 B. P1 口 C. P2 口 D. P0 口 ))93、在 MCS-51 单片机中,惟一一个可供用户使用的 16 位寄存器是( A.PWS B.ACC C.DPTR D.PC94、JZ rel 指令中,是判断( A.A B.B)中的内容是否为 0。 C.C D.PC )。95、访问扩展的外部程序存储器的时候,应在程序中使用( A.MOV 指令 B.MOVX 指令16C.MOVC 指令D.SWAP 指令 )。96、若要求最大定时时间为 2 ×机器周期,则应使定时器工作于( A.工作方式 0 C.工作方式 2 B.工作方式 l D.工作方式 3 )。97.8051 单片机的两个定时器/计数器是( A.14 位加法计数器 C.16 位加法计数器B.14 位减法计数器 D.16 位减法计数器 )。98.执行 LCALL 4000H 指令时,MCS-51 所完成的操作是( A.保护 PC C.保护现场 99.下面哪一条指令产生 WR 信号( A.MOVX C.MOVC A,@DPTR @A+DPTR,A B.4000H→PCD.PC+3 入栈,4000H→PC )。B.MOVC A,@A+DPTR D.MOVX )。 @DPTR, A100、使用 T1 时,有几种工作模式( A.1B.2C.3D.4101、MCS-51 单片机各中断源的优先级别设定是利用寄存器() A.TMOD B.IP C.PCON D.SCON102、指令 AJMP 的跳转范围是()。 A.256B B.1KB C.2KB D.64KB103、执行返回指令时,返回的断点是()。 A.调用指令的首地址 C.调用指令下一条指令的首地址 B.调用指令的末地址 D.返回指令的末地址105、在中断服务程序中,至少应该有一条( D )。 A、传送指令 B、转移指令 C、加法指令 D、中断返回指令 106、某存储器芯片地址线为 12 根,那么它的存储容量为( C )。 A、1KB B、2KB C、4KB D、8KB 107、8051 是( C ) A、CPU B、微处理器 C、单片微机 D、控制器 108、要访问 MCS-51 的特殊功能寄存器应使用的寻址方式是( C ) A、寄存器间接寻址 B、变址寻址 C、直接寻址 D、相对寻址填空题 1、若不使用 MCS-51 片内的存储器,引脚 EA 必须接 地或“0”电平 。 2、MCS-51 有 4 个并行 I/O 口,其中 P1~P3 口是准双向口,所以由输出转输入时必须先写 入 1 。 3、 MCS-51 系统中, 当 PSEN 信号有效时, 表示 CPU 要从 程序 存储器中读取信息。 4、MCS-51 中有 4 组工作寄存器,它们的地址范围是 00H~1FH 。 5、在 MCS-51 系统中,若用传送指令访问程序存储器,它的操作码助记符是 MOVC 。 6、在 MCS-51 系统中,若用传送指令访问片外 RAM,它的操作码助记符是 MOVX 。 7、累加器(A)=80H,执行完 ADD A,#83H 后,标志 Cy= 1 。 8、MOV PSW,#10H 是将 MCS-51 的工作寄存器组置为第 2 组。 9、设 DPTR=2000H,(A)=80H,则 MOVC A,@A+DPTR 源操作数的实际地址为 2080H 。 10、PSW 中的 RS0 RS1=11H 时,R2 的地址为 1AH 。 11、MOV C,20H 源寻址方式为 直接位 寻址。 12、若单片机的使用的频率为 6MHz 的晶振,那么状态周期为 0.333μ s ;机器周期为 2μ s ;指令周期为 2μ s~8μ s 。 13、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行下列指令后,A 的内容为 34H ;Cy 的内容为 1 ;AC 的内容为 1 ;OV 的内容为 1 ;P 的内容为 1 。 ADD A,@R0 14、MCS-51 的两条查表指令是 MOVC A,@A+DPTR 和 MOVC A,@A+PC 。 15、欲使 P1 口的高 4 位输出 1,而低 4 位不变,应执行一条 ORL P1,0F0H 指令。 16、P0 口作地址/数据总线,传送地址码的 低 8 位;P2 口作地址/数据总线,传送地址 码的 高 8 位。 17、MCS-51 中 21 个特殊功能寄存器凡是能被 8 整除的都有 位 寻址功能。 19、MCS-51 片内 20H~2FH 范围内的数据存储器,既可以字节寻址又可以 位 寻址。 20、在 MCS-51 系统中,若用传送指令访问片内 RAM,它的操作码助记符是 MOV 。 21、计算机的系统总线分别由 地址 总线、 控制 总线和 数据 总线组成。 22、执行 ANL A,#0FH 指令后,累加器 A 的高 4 位= 00H 。 23、ORL A,#0F0H 是将 A 的高 4 位置 1,而低 4 位 不变 。 25、12 根地址线可寻址 4 KB 的存储单元。 26、MOVX A,@DPTR 源操作数寻址方式为 寄存器间接寻址 。 27、假定(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP 的内容为 62H ;61H 单 元的内容为 30H ;62H 单元的内容为 70H 。 PUSH A PUSH B 28、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,执行了下指令后,A 的内容为 00H ;R3 的内容为 10H ;30H 的内容为 0F1H ;40H 的内容为 01H 。 INC A INC R3 INC 30H INC @R0 29、8051 的 EA =1 意味着访问前 4K 是程序存储器,超过 4K 后访问的是程序存储器。 30、执行 ANL A,#0FH 后,累加器 A 的内容高 4 位是。 31、在立即寻址方式中,在数前使用号来表示立即数。 32、要利用共阳极八段数码管显示数字“2” ,则该数码管的字型码为。 33、8051 单片机有个中断源,分成个优先级。 34、欲使 P1 口的低 4 位输出 0,而高 4 位不变,应执行一条 ANL P1,#0F0H 指令。 35、8051 的异步通信口为全双工(单工/半双工/全双工)。 36、如果(A)=34H,(R7)=0ABH,执行 XCH A, R7;结果(A)=0ABH,(R7)=34H 。33、如果 (DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后: POP DPH; POP DPL; POP SP; 则:(DPH)= ___3CH___;(DPL)=_____5FH_____;(SP)=_____50H_____; 37.MCS-51 单片机是( 8 )位的单片机。 38.MCS-51 单片机有( 5 )个中断源,( 2 )级优先级中断。 39.串行口方式 3 发送的第 9 位数据要事先写入( SCON )寄存器的( TB8 )位。 40.串行口的方式 0 的波特率为 (FOSC/12 )。 41.8051 内部数据存储器的地址范围是( 00~7FH ),位地址空间的字节地址范围是 ( 20~2FH ),对应的位地址范围是( 00~7FH),外部数据存储器的最大可扩展容量是 (64KB )。 42. 在内部 RAM 中可位寻址区中, 位地址为 40H 的位, 该位所在字节的字节地址为 ( 28H ) 。 43. 如果(A)=58H, (R1)= 49H, (49H)= 79H, 执行指令 XCH A, @R1 后; 结果(A)=( 49 ) , (49H)=( 58H )。 44.已知 fosc=12MHz,T0 作为定时器使用时,其定时时间间隔为( 1us )。 45、如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则 执行下列指令后: POP DPH POP DPL RET 则:(PCH) =__34H__;(PCL)=___12H____ ;(DPH)=__80H__;(DPL)=___50H__; 46、累加器(A)=80H,执行完指令 ADD A,#83H 后,进位位 C=。 47、当 MCS-51 引脚 ALE 信号有效时,表示从 P0 口稳定地送出了地址。 48、若用传送指令访问 MCS-51 的程序存储器,它的操作码助记符应为。 49、MCS-51 串行口有 4 种工作方式,这可在初始化程序中用软件填写特殊功能寄存器 加 以选择。 50、MCS-51 单片机复位后,执行第一条指令的地址为: 。 51、假定(SP=60H),(ACC=30H),(B=70H)。执行下列指令: PUSH PUSH ACC B后,SP 的内容为,61H 单元的内容为,62H 的内容为。 52、8051 单片机堆栈遵循数据的原则。 53、8051 单片机使用电源为。 54、MOVX A, @DPTR 源操作数寻址方式为。 55、单片机的三总线可以分为总线、总线和控制总线。 56.串行口方式 2 接收到的第 9 位数据送( SCON )寄存器的( RB8 )位中保存。 57.当单片机复位时 PSW=( 00 )H,这时当前的工作寄存器区是( 0 )区,R6 所对应 的存储单元地址为( 06 )H。 58.若 A 中的内容为 67H,那么,P 标志位为( 1 )。 59.MCS-51 单片机的通讯接口有(串行)和(并行)两种型式。在串行通讯中,发送时要 把(并行)数据转换成(串行)数据。接收时又需把(串行)数据转换成(并行)数据。 60.MCS-51 内部提供( 2 )个可编程的( 16 )位定时/计数器,定时器有( 4 ) 种工作方式。 61、已知下程序已全部执行完毕,请在注释里面填写下程序的执行结果。 MOV A,#10H; (A)=10H MOV B,A ; (B)= 10H . MOV PSW,A; (PSW)= 11H . 62.MCS-8051 系列单片机字长是 8 位,有 40 根引脚。单片机的特点有 体积小、价格低、 功能全。 63.MCS-51 中,T0 中断服务程序入口地址为 000BH 。 64、 MCS-51 复位后, A 的内容为 00H ; SP 的内容为 07H ; P0~P3 的内容为 0FFH 。 65、 INT 0 和 INT1的中断标志位分别是IE0和IE1。简答题、计算题、综合题 1。试用数据传送指令编制一个初始化程序。 设定:采用定时器 T0 产生 50Hz 的方波,由 P1.0 输出此方波(设时钟频率为 12MHz)。 试确定其初值、允许中断、采用定时方式而且在工作方式 1。最后再用位操作指令启动定时 器。要有注释。 解:MOV TMOD,#01H ;将 T0 设置为:由 TR0 启动、定时方式、工作方式 1 MOV TH0,#0D8H ;给定时器中计数器的高 8 位送入初值 MOV TL0,#0F0H ;给定时器中计数器的低 8 位送入初值 MOV IE,#82H ;中断允许总控位 EA=1、T0 中断允许 ET0=1,允许 T0 中断 SETB TR0 ;将 TR0 位置 1,启动 T0 工作 2.试用位操作指令编制一个初始化程序。 设定:外部中断源 INT 0 为下降沿触发的低优先级中断源。要有注释。 解:SETB IT0 ;将 TCON 中“外部中断信号请求方式位 IT0”(8AH)置 1, 即:设为下降沿触发方式。 SETB EX0 ;将 IE 中“外部中断 0 中断允许位 EX0”(AAH)置 1, 即:设外部中断源 INT 0 为允许中断。 CLR PX0 ;将 IP“外部中断 0 优先级设定位 PX0”(BAH)置 0, 即:设外部中断源 INT 0 为低优先级中断源。 SETB EA ;将 IE“中断允许总控制位 EA”(AFH)置 1, 即:将中断允许总控制位开启,让上面的各项设置全部生效。 3、采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请给出计算过程) 解:∵采用 6MHZ 晶振 ∴机器周期为 2us 13 -6 -3 (2 -X)×2×10 =1×10 ∴X=7692(D)=1E0CH=1 00(B), 化成方式 0 要求格式为 00 B 即 0F00CH 综上可知:TLX=0CH, THX=0F0H 4、分析下列程序的功能 PUSH ACC PUSH B POP ACC POP B 解:该程序的功能是通过累加器 ACC 与寄存器 B 数据交换。 5.MCS-51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突, 为什么? 答:不发生数据冲突的原因是: MCS-51 中访问程序存储器和数据存储器的指令不一样。 选通信号不同,前者为 PSEN,后者为 WR 与 RD。 程序存储器访问指令为 movc A,@DPTR; movc A,@A+pc。 数据存储器访问指令为:movx A,@DPTR; movx A,@Ri; movx @DPTR,A。 6.下面查表程序中有一个数据表,一个数 3 在 R0 中,运行下面查表程序后 R1 的值。 地址源程序 ORG H:MOV A, R0 0001H:MOV DPTR, #TAB 0004H:MOVC A, @A+DPTR 0005H:MOV R1, A 0006H:SJMP $ 0008H:TAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END 7. 写出 MCS-51 的所有中断源, 并说明说明哪些中断源在响应中断时, 由硬件自动清除, 哪些中断源必须用软件清除,为什么? 答:外部中断 INTO 定时器/计数器中断 T0 外部中断 INT1 定时器/计数器中断 T1 串行口中断其中串行口中断 TI 与 RI 必须用软件清“0”,因为串口中断的输出中断为 TI,输入中断为 RI, 必须用软件清“0”。 8.MCS-51 采用 12MHz 的晶振,定时 1ms,如用定时器方式 1 时的初值(16 进制数)应为多 少?(写出计算过程) -6 解:采用 12MHZ 的晶振,Tcy=1/fosc×12=1/12×10 ×12=1us 采用定时器方式 1(为 16 位) 16 -6 -3 定时 1ms 设初值为 X,则:(2 -X)×1×10 =1×10 则=&X=64536 将其转换成二进的为:1000 再将其转化为 16 进制数为:FC18 初值为 TXH=FCH TXL=18H 9.写出 8051 单片机中 5 个中断源的名称和对应的中断服务程序入口地址。 10.写出 8051 单片机 4 个并行接口 P0 口、P1 口、P2 口和 P3 口各自的功能(5 分) 11、按下列要求写出相应的指令。 ①将外部 RAM 5000H 内容送内部寄存器 R2 中。 ② 交换内部 RAM 30H 和 31H 中的内容。12.已知 A=A6H,(50H)=30H,CY=1,执行 SUBB 及 PSW 的有关标志位的内容。 结果 A= CY= AC= OV= P= A,50H 指令进行两个数相减,说明差的值16.使用定时/计数器 0 以工作方式 2 实现定时,在 P1.0 输出周期为 200μ s 的连续方波。已 知晶振频率 fosc=6MH。求计数初值,方式控制字,编制相应程序(查询方式),要有注释。 17.将 8031 单片机片外 RAM 1000H~1030H 单元中的数据顺序传送到片内 RAM 从 30H 开始 的地址单元中。 18、 试编写程序, 查找在内部 RAM 的 30H~3FH 单元中出现 0AH 的次数, 并将查找的结果存入 50H单元。 19.设内部 RAM 存有一无符号数数据块, 长度为 128 字节, 在以 30H 单元为首址的连续单元中。试编程找出其中最小的数,并放在 20H 单元。20.编写一个程序,把片外 RAM 从 2000H 开始存放的 8 个数传送到片内 30H 开始的单元中。 21、程序分析 1.阅读下列程序,并要求: 1)说明程序的功能; 2)写出涉及的寄存器及片内 RAM 单元(如图所示)的最后结果。 地 内 址 容 ?? ?? MOV R0,#40H MOV A,@R0 INC R0 ADD A,@R0 INC R0 MOV @R0,A CLR A ADDC A,#00H INC R0 MOV @R0,A SJMP $ 功能: 结果: 22、利用定时器 T0 产生定时脉冲。每隔 2ms 产生宽度为 2 个机器周期的正脉冲,由 P1.0 输出此定时序列脉冲信号(设时钟频率为 6MHZ)。 解:首先求出定时器 T0 初值。由于时钟频率为 6MHZ,所以,机器周期为 2?s。 因为:t=(213-T0 初值)?机器周期 所以,当 t=2ms 时,则:(213-T0 初值)? 2?10-6=2?10-3 解得:T0 初值=1 11000B,其中将高 8 位
B=DDH 赋给 TH0,低 5 位 11000B=18H 赋给 TL0。 方法一: 采用查询工作方式,编程如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: CLR P1.0 MOV TMOD , #00H ;设定 T0 的工作方式 MOV TH0 , #0DDH ;给定时器 T0 送初值 MOV TL0 , #18H SETB TR0 ;启动 T0 工作 LOOP: JNB TF0 , $ ;$为当前指令指针地址 40H 98H 41H AFH 42H 43H CY A ?? ?? CLR TF0 SETB P1.0 ;产生 2?s 正脉冲 CLR P1.0 MOV TH0 , #0DDH ;重装载 TH0 和 TL0 MOV TL0 , #18H SJMP LOOP END 方法二: 采用中断工作方式,编程如下: ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0100H MAIN: CLR P1.0 MOV TH0 , #0DDH ;给定时器 T0 送初值 MOV TL0 , #18H MOV IE , #82H ;允许 T0 中断 SETB TR0 ;启动 T0 SJMP $ 中断服务程序: ORG 0300H T0INT: SETB P1.0 CLR P1.0 MOV TH0 , #0DDH ;重装载 TH0 和 TL0 MOV TL0 , #18H RETI 23、设单片机晶振频率为 12MHz,使用定时器 T1 以方式 1 产生频率为 500Hz 的方波,并由 P1.0 输出,以中断方式完成。(要求计算定时器的初值,编写完整程序。) 24、如何区别不同空间的寻址? 解:MOV 访问片内 RAM 8 位地址 MOVX 访问片外 RAM 16 位地址 MOVC 读访问片外 ROM 16 位地址 PC 是执行 ROM 中程序的地址指针, PC 不可寻址,一般是自动加 1,或者跳转 25、如何简捷地判断 8051 正在工作? 解:用示波器查看 ALE 是否有 focs/6 的脉冲输出 26、开机时 8051 使用哪个工作寄存器组? 解:如何确定和改变当前工作寄存器组? 开机时间使用第一个工作寄存器组 改变 PSW 中的 RS1、RS0 两位 例如:选择第一组,可以执行:set rs0 选择第二组,可以执行:clr rs0 set rs1 27、8051 内部 RAM 分为哪四个部分? 解:00H-1FH 工作寄存器组(R0~R7)*4 20H-2FH 128 个位寻址空间(00H-7FH) 30H-7FH 用户 RAM 区和 SP 数据缓冲 80H 以上: SFR(地址不连续的) 28、使单片机复位有哪几种方式?单片机复后的初始状态如何? 解:复位操作有两种: 1、上电自动复位:通过复位电路的电容充电来实现 2、按键手动复位:按键电平复位,按键脉冲复位 复位后的初始状态:大多数寄存器清零,SP=07H,四个 P 口为 FFH 下面几个寄存器有不确定的位: IP: **000000B IE: 0*000000B PCON: 0***00000B 根本不确定的是:SCON 29、PSW 的作用是什么?常用标志位有哪些? 解:PSW 提供了程序执行后的状态信号,供程序查询和判别使用。 常用的标志位有: CY,AC,RS0 和 RS1,OV,P。 30、如何区别位地址 7cH 和字地址 7cH?位地址 7cH 在片内 RAM 中的什么位置? 解:采用不同的寻址方式来区别:128 个位地址用位寻址方式,低 128B 单元用直接寻址和 间接寻址,位地址 7CH 在片内 RAM 中的 2FH 的 D4 位,(可以查表,最好是掌握计算方法) 31、8051 的时钟周期和振荡周期有什么关系? 解:由于时钟信号是由振荡信号 2 分频得到的:时钟频率为振荡频率的 1/2,时钟周期是振 荡周期的 2 倍,时钟周期又叫机器状态时间 S 32、一个机器周期的时序如何划分? 解:一个机器周期的时序包括 12 振荡周期 分为六个状态 S 每个状态 S 分为两拍 P1P2 共 12 个拍:S1P1,S1P2,S2P1,SP2P2???...S6P2 机器周期:CPU 访问存储器一次所需要的时间。 执行一条指令所需要的时间至少一个机器周期, 也有 2 个机器周期的命令,还有 4 周期的命令 没有 3 周期的指令。 33、什么叫堆栈?有什么用?8051 最大的堆栈容量为多少? 解: 堆栈是从片内 00H-7FH 中专门开辟的一个存储区域, 具有“先进后出, 后进先出的特点”。 堆栈的作用:在中断服务程序和子程序调用时用于保护现场。 最大容量是 128 个字(全部的用户 RAM) 34、8051 的存储器分哪几个空间?如何区别不同空间的寻址? 解:8051 的存储器分为 4 个空间,即片内数据存储器、片内程序存储器、片外数据存储器、 片外程序存储器。 但逻辑上只有 3 个独立的存储空间, 片内程序存储器和片外程序存储器是 统一编址的,共 64KB。程序存储器用 MOVC 指令、片内数据存储器用 MOV 指令、片外数据存 储器用 MOVX 指令。 35、计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。MOV R3,#15H ;1 个机器周期 DL1:MOV DL2:MOV DJNZ DJNZ RET 答:15348usR4,#255 P1,R3 R4,DL2 R3,DL1;1 个机器周期 ;2 个机器周期 ;2 个机器周期 ;2 个机器周期 ;2 个机器周期析:((2+2)×255+1+2)×15+1+2=15348us36、8051 片内 RAM 中包含哪些可位寻址的单元。 解:片内 RAM 中 20H~2FH 中 16 个单元共 128 个位可位寻址,SFR 中映象字节地址能被 8 整 除的也可位寻址,字节地址即为最低位地址,其他高位地址依次加 1。 37、在 8051 片内 RAM 中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。 解:MOV A,40H;直接寻址,(A)=48H MOV R0,A;寄存器寻址,(R0)=48H MOV P1,#0F0H;立即数寻址,(P1)=F0H MOV @R0,30H;直接寻址,(48H)=38H MOV DPTR,#3848H;立即数,(DPTR)=3848H MOV 40H,38H;直接寻址,(40H)=40H MOV R0,30H;直接寻址,(R0)=38H MOV P0,R0;寄存器寻址,(P0)=38H MOV 18H,#30H;立即数,(18H)或(R0)=30H MOV A,@R0;寄存器间接,(A)=40H MOV P2,P1;直接寻址,(P2)=F0H 程序执行前:(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H 程序执行后:(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H 39、设 R0 的内容为 32H,A 的内容为 48H,片内 RAM 的 32H 单元的内容为 80H,40H 单元的 内容为 08H,请指出在执行下列程序段后上述各单元内容的变化。 MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H 解:(A)=80H,(R0)=35H,(32H)=08H, (40H)=80H 40、试编写一段对中断系统初始化的程序,使之允许 INT0、INT1,T0 和串行口中断,且使 T0 中断为高优先级中断 解:IP = B = 02H 地址 = B8H IE = B = 97H 地址 = A8H ORG 0000H AJMP MAIN MAIN:MOV B8H,#02H MOV A8H,#97H HERE:SJMP HERE 程序是多种多样的,还可用位操作指令。 41、当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情 况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 解:响应:第一中断开放,第二新中断的优先级更高。 不响应:中断屏蔽,或新中断的优先级较低或同级。 43、 已知 8051 单片机的 fosc = 6MHZ, 请利用 T0 和 P1.0 输出矩形波, 矩形波高电平宽 50us, 低电平宽度为 300us。 解: fosc = 6MHZ,1 个机器周期 T=2us,低电平宽度为高电平宽度的 6 倍,因此以 50us 产生中断,采用方式 2,其初始值为 231D。 ORG 0000H LJMP MAIN ORG 000BH LJMP T0INT ORG 0050H MAIN:MOV TMOD,#02H MOV TH0,#231 MOV TL0,#231 SETB P1.0 SETB #00H MOV R1,#06H SETB TR0 SETB ET0 SETB EA SJMP $ ORG 0200H T0INT: JB 00H ,LOOP1 SJMP LOOP3 LOOP1: CLR 00H CLR P1.0 LOOP3: DJNZ R1,LOOP2 MOV R1,#06H SETB P1.0 SETB 00H LOOP2: RETI 45、设变量 X 的值存放在内部 RAM 的 50H 单元中,编程求解下列函数式,将求得的函数值 Y 存入 40H 单元。? x ? 10 ( x ? 10) ? y ? ? x (10 ? x ? 100) ? x ? 10 ( x ? 100) ?ORG LJMP ORG START:MOV 0000H START 0030H A,50H CJNE LOOP1:JC CJNE LOOP2:MOV SJMP LOOP3:ADD MOV SJMP LOOP4:JC SUBB MOV EXIT: SJMP EXIT ENDA,#10,LOOP1 LOOP3 A,#100,LOOP4 40H,A EXIT A,#10 40H,A EXIT LOOP2 A,#10 40H,A46.试编写程序,查找在内部 RAM 的 30H~3FH 单元中出现 0AH 的次数,并将查找的结果存 入 50H 单元。ORG 0000H LJMP START ORG 0030H START:MOV R0,#30H MOV R7,#16 MOV 50H,#00H LL2: MOV A,@R0 CJNE A,#0AH,LL1 INC 50H LL1: INC R0 DJNZ R7,LL2 SJMP $END47、设变量 x 以补码形式存放在片内 RAM 30H 单元中,变量 y 与 x 的关系是:? x, ? y ? ? 20 H , ? x ? 5, ?x?0 x?0 x?0编程根据 x 的值求 y 值并放回原单元。 ORG 0000H LJMP START ORG 0030H START:MOV A,30H JZ NEXT ANL A,#80H JZ ED MOV A,#05H ADD A,30H;x=0,转移 ;保留符号位 ;x&0,转移 ;x&0,不转移 MOV 30H,A SJMP ED NEXT:MOV 30H,#20H ED:SJMP $END48、AT89C51 的 P1.0~P1.3 引脚上接了四个发光二极管 D1~D4,在外部中断 0 上接了一个按键P1,外部中断 1 上接了一个按键 P2,此时单片机工作频率为 12MHZ。要求程序工作于中断方式 (含定时器和外部中断) , 按下按键 P1 后, 四个 LED 循环闪烁, 每个指示闪烁的频率为 0.2 秒, 每当 2 秒定时到来时,更换指示灯闪烁,按 P2 键暂停闪烁,再按 P1 键可继续闪烁。 (写出解题 思路,计算定时器初值过程,最后编写完整程序)49、AT89C52 的 P1.1 脚上接了一个发光二极管,在外部中断 1 上接了一个按键 SW-PB,此时单片机工作频率为 11.0592MHZ。 要求程序工作于中断方式 (含定时器和外部中断) , 按下按键 SW-PB 后,LED 点亮,1.5 秒后自动熄灭。(写出解题思路,计算定时器初值过程,最后编写完整程序)50. 一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时? 答: 方式一, 在第一个定时器的中断程序里关闭本定时器的中断程序, 设置和打开另一个定时器; 在另一个定时器的中断程序中关闭本定时中断, 设置和打开另一个定时器。 这种方式的定时时间 为两个定时器定时时间的和。 方式二,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由 P1.0 接 INT0 产 生),另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以 另一个定时器的计数值。
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 增强型8051单片机 的文章

 

随机推荐