单片机原理及应用_第1页
单片机原理及应用_第2页
单片机原理及应用_第3页
单片机原理及应用_第4页
单片机原理及应用_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.第2章 MCS-51单片机结构及原理习题第2章 MCS-51单片机的结构及原理补充习题一、填空题1MCS-51单片机是 8 位单片机。2MCS-51的产品8051与8031的区别是: 8位、四位 。3单片机的CPU从功能上可分为运算器和控制器 。4MCS-51的 指令 寄存器,用于暂存待执行指令,等待译码。58051的累加器ACC是一个8位的寄存器,简称为A,用来 存放一个数或中间结果 。68051的程序状态字寄存器PSW是一个8位的专用寄存器,用于 存放程序运行过程中的各种状态信息 。7MCS-51的程序存贮器用于存放 程序代码及程序中用到的常数 。8MCS-51的数据存贮器在物理上和逻辑

2、上都分为 2 个地址空间:分别是 片外RAM、片内RAM 。9单片机的复位 上电 和 按键复位 两种,当单片机运行进入死循环时,可通过 上电 重新启动。10设晶振频率为6MHz,则CPU的时钟周期是 1/6 ,状态周期是 1/3 ,机器周期是 2 ,指令周期是 2 至 8 。(us)11单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。12单片机扩展外部存储器时需要用锁存器,用于锁存 控制数据 地址。13. MCS-51单片机上电复位后,4个并行I/O端口对应的寄存器值为 FFH 。14当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉

3、冲。(1/6)158051单片机片工作寄存器分为_4_组,每组_8_个,占片内RAM_00H1FH_地址,寄存器组的选择通过特殊功能寄存器PSW中得RS1,RS2标志位进行实现_实现。16MCS-51单片机的特殊功能寄存器集中布置在片内数据存贮器80HFFH_地址范围内。17. MCS-51单片机既有字节地址又有位地址的片内RAM有_21_字节,地址范围是_80HFFH_。18. MCS-51单片机既有字节地址又有位地址的SFR是_特殊功能寄存器_,分布在地址范围_80HFFH_中。二、单项选择题1MCS-51单片机的CPU主要的组成部分为 A 。A运算器、控制器 B加法器、寄存器 C运算器、

4、加法器 D运算器、译码器2单片机中的程序计数器PC用来 C 。 A存放指令 B存放正在执行的指令地址 C存放下一条指令地址D存放上一条指令地址3单片机上电复位后,PC的内容和SP的内容为 C 。A0000H,00H B0000H,07H C0003H,07H D0800H,08H4单片机8031的ALE引脚是 B 。A 输出高电平 B输出矩形脉冲,频率为fosc的1/6C输出低电平 D输出矩形脉冲,频率为fosc的1/25单片机8031的引脚 D 。A必须接地 B必须接+5V C可悬空 D以上三种视需要而定6访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是 A 。AP0口 BP1口

5、CP2口 DP0口 和 P2口7PSW中的RS1和RS0用来 A 。A 选择工作寄存器组 B指示复位 C选择定时器 D选择工作方式8上电复位后,PSW的值为 D 。 A1 B07H CFFH D09单片机上电复位后,堆栈区的最大允许范围是 C 个单元。A64 B120 C128 D25610单片机上电复位后,堆栈区的最大允许范围是内部RAM的 C 。A00HFFH B00H07H C07H7FH D08H7FH118031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于 C µS。A1/12 B1/2 C1 D212MCS-51单片机的数据指针DPTR是一个16位的专用地

6、址指针寄存器,主要用来 B 。 A存放指令 B存放16位地址,作间址寄存器使用 C存放下一条指令地址D存放上一条指令地址13单片机上电后或复位后,工作寄存器R0是在 A 。 A0组00H单元 B0组01H单元 C1区08H单元 D1组09H单元14单片机8051的XTAL1和XTAL2引脚是 D 引脚。 A外接定时器 B外接串行口 C外接中断 D外接晶振158051单片机的VSS(20)引脚是 B 引脚。 A电源 B接地 C备用电源 D访问片外存贮器168051单片机的Vcc(40)引脚是 A 引脚。 A电源 B接地 C备用电源 D访问片外存贮器178051单片机 A 口在用作I/O端口时,是

7、一个8位漏极型开路型准双向I/O端口。 AP0 BP1 CP2 DP3188051单片机中,输入/输出引脚中用于专门的第二功能的引脚是 D 。 AP0 BP1 CP2 DP319MCS-51复位后,程序计数器PC= B 。即程序从 开始执行指令。A0001H B0000H C0003H D0023H20MCS-51的片内外的ROM是统一编址的,如果端保持高电平,8051的程序计数器PC在 A 地址范围内访问片内ROM。 A1000HFFFFH B0000HFFFFH C0001H0FFFH D0000H0FFFH21MCS-51的专用寄存器SFR中的堆栈指针SP是指向一个特殊的存贮区,用来 C

8、 ,它是按后进先出的原则存取数据的。 A存放运算中间结果 B存放标志位 C暂存数据和地址 D存放待调试的程序22单片机的堆栈指针SP始终是指示 C 。 A堆栈底 B堆栈顶 C堆栈地址 D堆栈中间位置23MCS-51并行I/O端口用作输入用途之前必须 A 。 A在相应端口先置1 B在相应端口先置0 C外接高电平 D外接上拉电阻248051的程序计数器PC为16位计数器,其寻址范围是 D 。 A8K B16K C32K D64K1 MSC51单片机内部由哪些功能部件组成,各有什么功能?答:以80C51单片机为例,其内部功能部件有:控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作

9、所需的控制信号,完成指令所规定的功能;运算器:根据控制器发来的信号,执行算术逻辑运算操作;存储器:包括程序存储和数据存储器;定时器计数器:2个16位定时器/计数器,可对机器周期计数,也可对外部输入脉冲计数;中断系统:可响应三个内部中断源和两个外部中断源的中断请求;输入输出接口:4个8位并行口和一个全双工串行口;2MSC51单片机外部引脚的名称是什么?各有什么功能?答:(1) 电源及晶振引脚VCC(40脚):+5V电源引脚VSS(20脚): 接地引脚XTAL1(19脚);外接晶振引脚(内置放大器输入端)XTAL2(18脚):外接晶振引脚(内置放大器输出端)(2) 控制引脚RST/VPD(9)为复

10、位/ 备用电源引脚 ALE/PROG(30)为地址锁存使能输出/ 编程脉冲输入 PSEN(29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/ 编程电源输入 (3) 并行I/O口引脚P0.0P0.7(3932脚)P0口;P1.0P1.7(18脚)P1口;P2.0P2.7(2128脚)P2口;P3.0P3.7(1017脚)P3口。351系列单片机的封装有哪些类型?请说明每一种封装引脚之间的距离。答:51系列单片机的封装有:40引脚双列直插封装(DIPdual in-line package),引脚之间的距离是100mil(2.54mm);44引脚方形扁平封装(

11、QFP quad flat package)方式,引脚之间的距离是2.54mm;44引脚带引线的塑料芯片载体PLCC(Plastic Leaded Chip Carrier)。4什么是复位?单片机复位电路有哪几种,工作原理分别是什么?答:复位使单片机恢复原始默认状态的操作。单片机复位电路有:上电复位电路,由电阻和电容构成,通过上电时,电容相当于短路而使复位引脚在晶振有效的情况下保持2个机器周期的高电平;按钮开关复位电路,由两个电阻的分压构成,通过手工按下按钮,使复位引脚在晶振有效的情况下保持2个机器周期的高电平。5通常的微机系统存储器结构有哪几种?MCS-51单片机存储器属于哪一类?CS-51

12、可寻址多大空间?答:通常的微机系统存储器结构有两种结构,即哈佛结构和冯诺依曼结构(也叫普林斯顿结构),MCS-51单片机存储器属于,MCS-51可寻址空间是两个64KB,即64KB的程序存储空间和64KB的数据存储空间。6片内RAM中低128个单元划分为哪三个主要部分?各部分的主要功能是什么?答:片内RAM中低128个单元划分为三个部分:工作寄存器区(00H-1FH),四组,每组8个,可作用工作寄存器切换使用;可位寻址区(20H-2FH),16B,位地址为00H-7FH,用作为按位寻址的空间;用户RAM区(30H-7FH),80B,用作普通RAM单元或堆栈。7程序状态字寄存器PSW各位的定义是

13、什么?答:程序状态字寄存器PSW各位的定义如下:CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1;PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1;PSW.5、PSW.1:用户标志位F0和用户标志位F1,保存用户的位数据;PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器PSW.2 :溢出标

14、志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1PSW.0:奇偶标志位P,累加器A中1的个数为奇数时置1。8什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?答:时钟周期又叫振荡周期或拍,用P表示,是MCS-51单片机中最小的时间单位,在一个时钟周期内,CPU完成一个最基本的动作。机器周期:由12个时钟周期构成,完成一个基本操作指令周期:是执行一条指令所需的时间,根据指令的复杂性,可由14个机器周期构成。当振荡频率为12MHz时,一个机器周期为1微秒。9P0、P1、P2和P3

15、口的结构和功能分别是什么?答:P0口的每一位由1个锁存器 、2个三态缓冲器 、1个输出控制电路(非门 X、与门、电子开关MUX、输出驱动电路构成,其功能既可以作为通用I/O口实现输入/输出功能,也可作为单片机地址线的低8位和数据线实现外部扩展功能。在用作输入输出口时,需外接上拉电阻。P1口的每一位由1个锁存器 、1个场效应管驱动器V和2个三态门缓冲器构成,其作用是用作输入输出口P2口的每一位由1个锁存器、2个三态缓冲器、1个输出控制单元、1个输出驱动单元构成,其功能是用作输入输出口,或地址总线的高8位。P3口的每一位由1个锁存器、2个三态缓冲器、1个第二功能控制单元 、1个输出驱动单元构成,其

16、作用是用作输入输出口或第二功能。1080C51单片机引脚ALE的作用是什么?当80C51不外接存储器时,ALE上的输出的脉冲频率是多少?答:80C51单片机引脚ALE的作用是对外部存储寻址时锁存P0口输出的低8位地址,当80C51不外接存储器时,ALE上的输出的脉冲频率是fosc/6。第3章 单片机的汇编语言与程序设计习题MCS51单片机指令系统补充习题一单项选择题,从供选择的答案中选出正确的选项,并将标号填写到答题册中,每小题1分。1MCS-51汇编语言指令格式中,唯一不可缺少的部分是 B 。A标号 B操作码 C操作数 D注释2MCS-51的立即寻址方式中,立即数前面 D 。 A应加前缀“/

17、:”号 B不加前缀号 C应加前缀“”号D应加前缀“#”号3下列完成8031单片机内部RAM数据传送的指令是 C 。AMOVX A,DPTR BMOVC A, A+PC CMOV A,#data DMOV direct,direct4MCS-51的立即寻址的指令中,立即数就是 B 。 A放在寄存器R0中的内容 B放在程序中的常数C放在A中的内容 D放在B中的内容5单片机中PUSH和POP指令常用来 D 。 A保护断点 B保护现场 C保护现场,恢复现场 D保护断点,恢复断点6MCS-51寻址方式中,操作数Ri加前缀“”号的寻址方式是 A 。 A寄存器间接寻址 B寄存器寻址 C基址加变址寻址 D立即

18、寻址7MCS-51寻址方式中,位寻址的寻址空间是 B 。 A工作寄存器R0R7 B专用寄存器SFR C程序存贮器ROM 片内RAM的20H2FH字节中的所有位和地址可被8整除的SFR的有效位8MCS-51寻址方式中,直接寻址的寻址空间是 D 。 A工作寄存器R0R7 B专用寄存器SFR C程序存贮器ROM 片内RAM 00H-7FH的128字节和80H-FFH中的SFR9执行指令MOVX A,DPTR时,、脚的电平为 B 。 A高电平,高电平 B低电平,高电平C高电平,低电平 D低电平,低电平10主程序执行完ACALL后返回主程序后,堆栈指针SP的值 B 。A不变 B加2 C加4 D减211单

19、片机中使用MOVX A,R1指令 A 寻址数据存贮器1050H单元。A能直接 B不能 C与P2口配合能 D与P1口配合能 12下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 B 。 AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP13指令JB OEOH,LP中的OEOH是指 A 。 A累加器A B累加器A的最高位 C累加器A的最低位 D一个单元的地址 14下列指令中比较转移指令是指 B 。A DJNZ Rn,rel BCJNE Rn,#data,rel CDJNZ direct,rel DJBC bit,rel 15指令MOV

20、 R0,#20H执行前(R0)=30H,(20H)=38H,执行后(R0)= B 。A00H B20H C30H D38H16指令MOV R0, 20H执行前(R0)=30H,(20H)=38H,执行后(R0)= D 。A20H B30H C50H D38H17执行如下三条指令后,30H单元的内容是 B 。MOV R1,#30H MOV 40H,#0EHMOV R1,40H A40H B0EH C30H DFFH18MCS-51指令包括操作码和操作数,其中操作数是指 D 。 A参与操作的立即数 B寄存器 C操作数 D操作数或操作数地址19MCS-51指令MOV R0,#20H中的20H是指 C

21、 。 A立即数 B内部RAM20H C一个数的初值 D以上三种均有可能,视该指令的在程序中的作用20MCS-51单片机在执行MOVX A,DPTR或MOVC A,A+DPTR指令时,其寻址单元的地址是由 B 。 AP0口送高8位,P2口送高8位 BP0口送低8位,P2口送高8位CP0口送低8位,P2口送低8位 DP0口送高8位,P2口送低8位21在MCS-51指令中,下列指令中 C 是无条件转移指令。ALCALL addr16 BDJNZ direct,rel CSJMP rel DACALL addr1122.下列指令中影响堆栈指针的指令是 D 。ALJMP BADD CMOVC A,A+P

22、C DLCALL23设A=AFH (20H)=81H,指令:ADDC A, 20H执行后的结果是 B 。 AA=81H BA=30H CA=AFH DA=20H24已知:A=DBH R4=73H CY=1,指令:SUBB A, R4 执行后的结果是 C 。AA=73H BA=DBH CA=67H D以上都不对25将内部数据存储单元的内容传送到累加器A中的指令是 C 。 AMOVX A,R0 BMOV A, #data CMOV A,R0 DMOVX A, DPTR26下列指令执行时,不修改PC中内容的指令是 C 。ASJMP BLJMP CMOVC A, A+PC DLCALL27下列指令执行

23、时,修改PC中内容的指令是 A 。AAJMP BMOVC A, A+PC CMOVC A, A+DPTR DMOVX A,Ri28已知:A=D2H,(40H)=77H,执行指令:ORL A,40H后,其结果是: B 。AA=77H BA=F7H CA=D2H D以上都不对29指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是 D 。A90H,05H B90H,00H C78H,05H D78H,00H30MCS-51指令系统中,清零指令是 C 。ACPL A BRLC A CCLR A DRRC A31MCS-51指令系统中,求反指令是 A 。ACPL A BRL

24、C A CCLR A DRRC A32MCS-51指令系统中,指令MOV A,R0,执行前(A)=86H,(R0)=20H,(20H)=18H,执行后 C 。A(A)=86H B(A)=20H C(A)=18H D(A)=00H33MCS-51指令系统中,指令CLR A ;表示 A 。A将A的内容清0 B将A的内容置1 C将A的内容各位取反,结果送回A中 D循环移位指令34已知A=87H ,(30H)=76H,执行 XRL A,30H 后,其结果为: C 。 AA=F1H (30H)=76H P=0 BA=87H (30H)=76H P=1 CA=F1H (30H)=76H P=1 DA=76

25、H (30H)=87H P=135MCS-51指令系统中,指令ADD A,R0 执行前(A)=38H,(R0)=54H,(C)=1 执行后,其结果为 B 。 A(A)=92H (C)=1 B(A)=92H (C)=0 C(A)=8CH (C)=1 D(A)=8CH (C)=036MCS-51指令系统中,指令ADD A,R0 执行前(A)=86H,(R0)=7AH,(C)=0 执行后,其结果为 B 。 A(A)=00H (C)=1 B(A)=00H (C)=1 C(A)=7AH (C)=1 D(A)=7AH (C)=037MCS-51指令系统中,指令ADDC A,R0 执行前(A)=38H,(R

26、0)=30H,(30H)=FOH,(C)=1 执行后,其结果为 B 。 A(A)=28H (C)=1 B(A)=29H (C)=1 C(A)=68H (C)=0 D(A)=29H (C)=038下列指令能能使累加器A低4位不变,高4位置F的是 D 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H 39下列指令能能使累加器A高4位不变,低4位置F的是 C 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H40下列指令能能使累加器A低4位不变,高4位置0的是 A 。AANL A,#OFH BANL

27、 A,#OFOH CORL A,#OFH DORL A,#OF0H 41下列指令能能使累加器A高4位不变,低4位置0的是 B 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H42下列指令能能使累加器A低4位不变,高4位取反的是 B 。AANL A,#OFH BXRL A,#OFOH CORL A,#OFH DORL A,#OF0H 43下列指令能能使累加器A高4位不变,低4位取反的是 C 。AANL A,#OFH BANL A,#OFOH CXRL A,#OFH DORL A,#OF0H44下列指令能能使累加器A的最高位置1的是 D 。AAN

28、L A,#7FH BANL A,#80H CORL A,#7FH DORL A,#80H 45下列指令能能使累加器A的最低位置1的是 C 。ASETB A,#01H BSETB A,0 CORL A,#01H DSETB A,#00H 46下列指令能使P1口的最低位置1的是 B 。AANL P1,#80H BSETB 90H CORL P1,#0FFH DORL P1,#80H47下列指令能能使P1口的第3位置1的是 C 。AANL P1,#0F7H BANL P1,#7FH CORL P1,#08H DSETB 9348下列指令判断若P1口的最低位为高电平就转LP,否则就执行下一句的是 B

29、。AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP 49下列指令判断若累加器A的内容不为0就转LP的是 BD 。AJB A,LP BJNZ A,LP CJNZ LP DCJNE A,#0,LP 50设累加器A中为无符号数,B中数为2,下列指令 A 的作用与其它几条不同。AADD A,0E0H BMUL AB CRL A DRLC A 51MCS-51指令系统中,执行下列程序,当执行到MOV A,R0指令处时恰好有中断请求,则 A 。MOV R1,#10H MOV R0,#30HMOV A, R0XCH A, R1INC R0INC R1 A若有

30、同级的中断请求已被挂起,则返回到调用处 B转入中断服务程序 C继续执行下一条指令 D直接执行INC R152MCS-51指令系统中,格式为:ORG 16位地址 的指令功能是 C 。A用于定义字节 B用于定义字 C用来定义汇编程序的起始地址 D用于定义某特定位的标识符53MCS-51指令系统中,执行下列程序后,堆栈指针SP的内容为 B 。MOV SP,#30HMOV A,20HLCALL 1000MOV 20H,ASJMP $ A00H B30H C32H D07H54MCS-51指令系统中,指令DA A是 D 。A除法指令 B加1指令 C加法指令 D十进制调整指令55MCS-51指令系统中,指

31、令DA A应跟在 A 。A加法指令后 BBCD码的加法指令后C减法指令后 DBCD码的减法指令后56在单片机算术运算过程中,指令DA A常用于 B 运算。A二进制 B加法 CBCD码加法 D十六进制578051单片机传送外部存贮器地址信号的端口是 D 。AP0口和P1口 BP1口和P2口 CP1口和P3口 DP0口和P2口588051单片机能分时传送地址信号和数据的端口是 C 。AP0口 BP2口 CP0口和P2口 DP3口598051单片机具有双功能的端口是 B 。 AP0口和P1口 BP3口 CP0口和P2口 DP1口60能访问内部数据存贮器的传送指令是 B 。 AMOVC 指令 BMOV

32、 指令 CMOVX 指令 DADD61能访问外部数据存贮器的传送指令是 C 。 AMOV 指令 BMOVC 指令 CMOVX 指令 DADD62将内部数据存贮单元内容传送到累加器A中的指令是 B 。 AMOV direct, R0 BMOV A, Ri CMOV A, #data DMOV A, R063.指令ANL A,R0的功能是 A 。 A将A与寄存器R0的内部容按位逻辑与 B将A与寄存器R0的内部容按位逻辑异或C将A与寄存器R0的内部容按位逻辑非 D将A与寄存器R0的内部容按位逻辑或64能将A的内容向左循环移一位,第七位进第0位的指令是 C 。ARLC A BRRC A CRR A D

33、RL A65能将A按位取反的指令是 A 。ACPL A BCLR A CRL A DSWAP A66将A与立即数按位逻辑异或的指令是 C 。AANL A,#data BORL A,#data CXRL A,#data DXRL A,direct67.可以控制程序转向64K程序存贮器地址空间的任何单元的无条件转移指令是 B 。AAJMP addr11 BLJMP addr16 CSJMP rel DJC rel68.比较转移指令是 B 。ADJNZ R0 rel BCJNE A, direct rel CDJNZ direct rel DJBC bit rel69.将内部数据存贮器53H单元的内

34、容传送至累加器,其指令是 C 。 AMOV A, 53H BMOV A, #53H CMOVC A, 53H DMOVX A, #53H70将外部数据存贮器083AH单元的内容传送至累加器,必须使用指令 A 。AMOVX A,Ri BMOVX A,DPTR CMOVX A,directDMOVC A,A+DPTR71欲将P1口的高4位保留不变,低4位置1,可用指令 B 。AANL P1,#0F0H BORL P1,#0FH CXRL P1,#FH D以上三句都对72LJMP跳转空间最大可达到 D 。 A2KB B256B C128B D64KB73跳转指令SJMP的转移范围为 B 。 A2KB

35、 B256B C128B D64KB74在编程中使用伪指令的目的是 C 。A指示和引导如何进行手工汇编 B指示和引导编译程序如何汇编C指示和引导汇编程序进行汇编 D指示和引导程序员进行汇编75欲将P1口的高4位保留不变,低4位取反,可用指令 C 。 AANL P1,#0F0H BORL P1,#0FH CXRL P1,#0FH D以上三句都不行1MCS-51单片机有哪几种寻址方式?适用于什么地址空间?答:MCS-51单片机有7种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。直接寻址方式:操作数的地址由指令直接给出,适用于片内RAM的所有地址空间;如MOV

36、A,68HMOVA,PSW寄存器寻址方式:指令给出的是寄存器的编码,操作数在编码指定的寄存器中,适用于片内00H至1FH的32个字节,用R0,R7表示,通过PSW的RS1和RS0选择组号确定对应32个字节中的其中8个,还有累加器A,以及乘除法指令中的A和B寄存器,位寻址方式中的布尔累加器C;MOVA,R1MULABINCDPTR寄存器间接寻址方式:指令给出的是寄存器的编码,操作数地址在编码指定的寄存器中,适用于片内RAM的全部空间,其中52系列中的80H至FFH只能用寄存器间接寻址;如MOVA,R0MOVA,R1MOVXA,DPTR立即寻址方式:操作数本身在指令中直接,给出适用于用8位立即数对

37、片内RAM所有地址单元赋值,也可用16位立即数对DPTR赋值; 如MOVA,#0E2HMOVDPTR,#2000H变址寻址方式:以DPTR或PC作为基地址寄存器,以累加器A作为变址寄存器,将基址寄存器与变址寄存器的内容相加形成操作数的实际地址的一种寻址方式,变址寻址方式适用于程序存储器ROM,仅有三条指令如下:MOVCA,A+DPTRMOVCA,A+PCJMPA+DPTR位寻址方式:指令中直接给出操作数所在单元的位地址,适用于片内RAM中地址20H至2FH中的16个字节中的128个位地址空间和80H至FFH中地址中可以被8整除的所有SFR中的每个位地址空间;如MOVC,7FHMOVF0,CMO

38、VC,ACC.7相对寻址方式:为相对转移指令而设,指令中直接给出转移的相对偏移量,其转移目标在当前指令-128至127字节范围内的地址空间。如SJMPSTARTHERE:SJMPHERE;等效于:SJMP$2MCS-51单片机的PSW程序状态字中无ZERO(零)标志位,怎样判断某内部数据单元的内容是否为零?答:MCS-51单片机的PSW程序状态字中无ZERO(零)标志位,判断某内部数据单元的内容是否为零是能通过取数到A累加器,再判断A中的每一位是否为零来确定其值是否为零。3编程将内部RAM的20H-30H单元内容清零。解:设一个片内RAM指针R0,先指向首地址20H,通过累加器A清零,然后采用

39、间接寻址方式依次将A中的零值传送到指针所指的片内RAM单元,每传送一个字节,地址指针加1,直到达到地址为30H或达到计数器规定的17个字节为止。程序1:MOVR0,#20H;设地址指针初值CLRA;累加器清0CONT:MOVR0,A;置0指针所指单元INCR0;地址指针加1CJNER0,#31H,CONT;指针未超过终点则继续SJMP$;暂停程序2:MOVR0,#20H;设地址指针初值CLRA;累加器清0MOVR7,#17;计数器赋初值,从20H到30H共17个字节CONT:MOVR0,A;置0指针所指单元INCR0;地址指针加1DJNZR7, CONT;计数器减1,非0,则继续SJMP$;暂

40、停4编程查找内部RAM的32H41H单元中是否有0AAH这个数据,若有这一数据,则将50H单元置为0FFH,否则将50H单元清零。解:设一个片内RAM指针R0,先指向首地址32H,比较R0与#0AAH,若相等,则退出循环,给50H单元赋0FFH,若不相等,则R0加1为继续比较下一个字节做准备,直到达到地址为41H或达到计数器规定的16个字节为止还没找到,则给50H单元赋00H程序1:MOVR0,#32H;设地址指针初值CONT:CJNER0,#0AAH,NEXT;比较查找值与指针所指单元的值,不相等转移MOVA,#0FFH;相等,则准备好要赋的标志值0FFHSJMPDOWN;转存到保存结果处N

41、EXT:INCR0;修改地址指针CJNER0,#42H,CONT;若指针未越过终点,则继续MOVA,#00H;查找失败,则将00H存入结果标志单元DOWN:MOV50H,A;将比较结果标志存入50H单元SJMP$;暂停END程序2:MOVR7,#16;计数器赋初值,从20H到30H共16个字节MOVR0,#32H;设地址指针初值CONT:CJNER0,#0AAH,NEXT;比较查找值与指针所指单元的值,不相等转移MOVA,#0FFH;相等,则准备好要赋的标志值0FFHSJMPDOWN;转存到保存结果处NEXT:INCR0;修改地址指针DJNZR7,CONT;计数器减1,非0,则继续MOVA,#

42、00H;查找失败,则将00H存入结果标志单元DOWN:MOV50H,A;将比较结果标志存入50H单元SJMP$;暂停END5查找20H4FH单元中出现00H的次数,并将查找结果存入50H单元。解:从20H到4FH共48个字节MOVR7,#48;字节计数器赋初值MOVR0,#20H;设地址指针初值CONT:CJNER0,#00H,NEXT;比较查找值与指针所指单元的值,不相等转移INCR6;相等,0的个数计数器加1NEXT:INCR0;修改地址指针DJNZR7,CONT;计数器减1,非0,则继续MOV50H,R6;保存O的个数计数值到50H单元SJMP$;暂停ENDEND6已知A=83H,R0=

43、17H,(17H)=34H,写出下列程序段执行之后的A中的内容。 ANLA,#17H ORL17H,A XRLA,R0 CPLAEND答:ANLA,#17H;A=03HORL17H,A ;(17H)=0011 0100 0000 0011=0011 0111 XRLA,R0;A= 0000 0011 0011 0111 =0011 0100 CPLA;A=1100 10117已知单片机的晶振频率为12MHz,分别设计延时为0.1s、1s的子程序。答:已知单片机的晶振频率为12MHz,则机器周期为1us,延时子程序是通过执行指令序列中机器周期数来达到,如果要0.1s,即100ms,也就是1000

44、00us,所以需要机器周期数达到100000。要延时达到1S,可通过对延时为0.1秒的子程序调用10次来实现。DELAY100MS:MOV R6,#200 ;1个机器周期D1: MOV R7,#250 ;1个机器周期D2:NOP;1个机器周期DJNZ R7,D2 ;2个机器周期,3*251=753DJNZ R6,D1 ;2个机器周期,(1+753+2)*132=99792RET ;2个机器周期,1+99792+2=99795,约100msDELAY1S:MOVR7,#10;计数10次1LOOP:ACALLDELAY100MS;延时100ms子程序99795+2DJNZR7,LOOP;未达到10

45、次则继续10*(2+99795+2)RET;返回2+10*(2+99795+2)=9979928内部RAM从20H单元开始处有一数据块,以ODH为结束标志,试统计该数据块的长度,将该数据块送到外部数据存储器7E01H开始的单元,并将长度存入7E00H单元。解:从20H的指针用R0,从外部RAM7E01开始的指针用DPTR,计数器用R7MOVR7,#0;字节计数器赋初值MOVR0,#20H;设片内RAM地址指针初值MOVDPTR,#7E01H;设片外RAM地址指针初值CONT:MOVA,R0;取片内RAM中的一个字节MOVXDPTR,A;存入片外RAM指针所指单元INCR7;长度计数器加1INCR0;片内RAM地址指针加1INCDPTR;片外RAM地址指针加1CJNEA,#0DH,CONT;未达到结束标志MOVA,R7;取块计数长度值MOVXDPTR,A;保存SJMP$;暂停

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论