MCS-51单片机原理和接口技术习题参考答案
更新时间:2024-07-06 14:30:01 阅读量: 综合文库 文档下载
- 单片机原理及接口技术推荐度:
- 相关推荐
MCS-51单片机原理及接口技术习题参考答案
第一章 绪 论
1-1解答:
第一台计算机的研制目的是为了计算复杂的数学难题。它的特点是:计算机字长为12位,运算速度为5 000次/s,使用18 800个电子管,1 500个继电器,占地面积为150 m2,重达30 t,其造价为100多万美元。它的诞生,标志着人类文明进入了一个新的历史阶段。
1-2解答:
单片微型计算机简称单片机。一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。
1-3解答:
单片机的发展大致经历了四个阶段: 第一阶段(1970—1974年),为4位单片机阶段; 第二阶段(1974—1978年),为低中档8位单片机阶段; 第三阶段(1978—1983年),为高档8位单片机阶段; 第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。 1-4解答:
Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品; Motorola公司的6801、6802、6803、6805、68HC11系列产品; Zilog公司的Z8、Super8系列产品; Atmel公司的AT89系列产品;
Fairchild公司的F8和3870系列产品; TI公司的TMS7000系列产品; NS公司的NS8070系列产品;
NEC公司的μCOM87(μPD7800)系列产品; National公司的MN6800系列产品;
Hitachi公司的HD6301、HD63L05、HD6305。 1-5解答: (1)8031/8051/8751三种型号,称为8051子系列。8031片内没有ROM,使用时需在片外接EPROM。8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。其中片内ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。
(3)80C31/80C51/87C51BH是8051子系列的CHMOS工艺芯片,80C32/80C52/87C52是8052子系列的CHMOS工艺芯片,两者芯片内的配置和功能兼容。
1-6解答:
8052子系列片内ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。
1-7解答:
AT89系列单片机是美国Atmel公司的8位Flash单片机产品。它的最大特点是在片内含有Flash存储器,在系统的开发过程中可以十分容易地进行程序的修改,使开发调试更为方便。AT89系列单片机以8031为内核,是与8051系列单片机兼容的系列。
1-8解答:
高档型单片机有AT89S51、AT89S52、AT89S53和AT89S8252等型号,其中AT89S51有4KB可下载Flash存储器,AT89S52、AT89S8252有8KB可下载Flash存储器,AT89S53有12KB可下载Flash存储器。
第二章 MCS-51系列单片机的结构及原理
2-1解答:
MCS-51单片机由8个部件组成:中央处理器(CPU),片内数据存储器(RAM),片内程序存储器(ROM/EPROM),输入/输出接口(I/O口,分为P0口、P1口、P2口和P3口),可编程串行口,定时/计数器,中断系统及特殊功能寄存器(SFR)。
中央处理器(CPU):单片机的核心部分,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。
片内数据存储器(RAM):存放各项操作的临时数据。 片内程序存储器(ROM/EPROM):存放单片机运行所需的程序。 输入/输出接口(I/O口):单片机与外设相互沟通的桥梁。
可编程串行口:可以实现与其它单片机或PC机之间的数据传送。
定时/计数器:具有可编程功能,可以完成对外部事件的计数,也可以完成定时功能。 中断系统:可以实现分时操作、实时处理、故障处理等功能。 特殊功能寄存器(SFR):反映单片机的运行状态,包含了单片机在运行中的各种状态字和控制字,以及各种初始值。
2-2解答:
EA引脚是片内外程序存储器的选择信号。当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对于8052)时,将自动转向访问外部程序存储器。当EA端保持低电平时,不管是否有内部程序存储器,则只访问外部程序存储器。
由于8031片内没有程序存储器,所以在使用8031时,EA引脚必须接低电平。 2-3解答:
在MCS-51单片机中,除P3口具有第二功能外,还有3条控制线具有第二功能。 P3口的第二功能:
P3.0—RXD:串行数据接收端 P3.1—TXD:串行数据发送端
P3.2—INT0:外部中断0申请输入端 P3.3—INT1:外部中断1申请输入端 P3.4—T0:定时器0计数输入端 P3.5—T1:定时器1计数输入端 P3.6—WR:外部RAM写选通 P3.7—RD:外部RAM读选通 3条控制线的第二功能:
ALE—PROG:片内EPROM编程脉冲。片内具有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
RESET—VPD:备用电源。VCC掉电期间,此引脚可接备用电源,以保持内部RAM数据不丢失。 EA—VPP:片内EPROM编程电源。在对片内具有EPROM的芯片进行编程时,此引脚用于施加21V编程电源。
2-4解答:
MCS-51单片机的内部存储空间分为数据存储器和程序存储器。
内部数据存储器:共256字节单元,包括低128个单元和高128个单元。低128字节又分成3个区域:工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区。
内部程序存储器:在8031片内无程序存储器,8051片内具有4KB掩模ROM,8751片内具有4KBEPROM。
2-5解答:
MCS-51单片机提供了4组工作寄存器,对于当前工作寄存器组的选择,是通过PSW中的RS1和RS0来进行选择。具体关系如下表:
RS1 0 0 1 1 RS0 0 1 0 1 当前寄存器组 第0组工作寄存器 第1组工作寄存器 第2组工作寄存器 第3组工作寄存器
2-6解答:
内部RAM低128个单元按用途分成3个区域:工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。
2-7解答:
DPTR是数据指针寄存器,是一个16位寄存器,用来存放16位存储器的地址,以便对外部数据存储器RAM中的数据进行操作。DPTR由高位字节DPH和低位字节DPL组成。
2-8解答:
所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。堆栈是在内存中专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM区域。堆栈的用途是保护现场和断点地址。在8051单片机复位后,堆栈指针SP总是初始化到内部RAM地址07H。从08H开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同。因此,在实际应用中,通常要根据需要在程序初始化时对SP重新赋值,以改变堆栈的位置。
2-9解答:
程序状态字寄存器PSW是8位寄存器,用于存放程序运行的状态信息。 CY(PSW.7):进位标志位。 AC(PSW.6):辅助进位标志位。 F0(PSW.5)、F1(PSW.1):用户标志位。 RS1(PSW.4)、RS0(PSW.3):工作寄存器组选择位。
OV(PSW.2):溢出标志位。 P(PSW.0):奇偶标志位。 2-10解答:
P0口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转换开关组成;作为输出口时,必须外接上拉电阻才能有高电平输出,作为输入口时,必须先向锁存器写“1”;作为普通I/O口使用或低8位地址/数据总线使用。
P1口内没有转换开关,但有上拉电阻;只用作普通I/O口使用。
P2口比P1口多了一个转换控制开关;作为普通I/O口使用或高8位地址线使用。 P3口比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能。 上述4个端口在作为输入口使用时,应注意必须先向端口写“1”。 2-11解答:
指令周期:执行一条指令所需要的时间。
机器周期:CPU完成一个基本操作所需要的时间。
状态:振荡脉冲经过二分频后,得到的单片机的时钟信号。 拍:振荡脉冲的周期。
当晶振频率为12MHz时,一个机器周期为1μs;当晶振频率为8MHz时,一个机器周期为3μs。 2-12解答:
在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟震荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。
复位后,CPU和系统都处于一个确定的初始状态,在这种状态下,所有的专用寄存器都被赋予默认值,除SP=07H,P0~P3口为FFH外,其余寄存器均为0。
2-13解答:
8051单片机应用系统的电压检测电路监测到电源下降时,触发外部中断,在中断服务子程序中将外部RAM中的有用数据送入内部RAM保存。(内部RAM由备用电源供电)
80C51单片机应用系统的电压检测电路监测到电源降低时,也出发外部中断,在中断服务子程序中,除了要将外部RAM中有用的数据保存以外,还要将特殊功能寄存器的有用内容保护起来,然后对电源控制寄存器PCON进行设置。
2-14解答:
单片机退出空闲状态有两种方法:中断退出和硬件复位退出。
第三章 MCS-51系列单片机的指令系统
3-1解答:
指令是规定计算机进行某种操作的命令,一台计算机所能执行的指令集合称为该计算机的指令系统。
计算机内部只识别二进制数,因此,能别计算机直接识别、执行的指令时使用二进制编码表示的指令,这种指令别称为机器语言指令。
以助记符表示的指令就是计算机的汇编语言指令。 3-2解答:
[标号:] <操作码> [操作数] [;注释] 3-3解答:
MCS-51系列单片机提供了7种寻址方式:
(1)立即寻址:操作数在指令中直接给出,立即数前面有“#”。
(2)直接寻址:在指令中直接给出操作数地址。对应片内低128个字节单元和特殊功能寄存器。 (3)寄存器寻址:以寄存器的内容作为操作数。对应的寄存器有:R0~R7、A、AB寄存器和数据指针DPTR。
(4)寄存器间接寻址:以寄存器的内容作为RAM地址,该地址中的内容才是操作数。对应片内RAM的低128个单元采用R0、R1作为间址寄存器,片外RAM低256个单元可用R0、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器。
(5)变址寻址:以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数地址。对应片内、片外的ROM空间。
(6)相对寻址:只在相对转移指令中使用。对应片内、片外的ROM空间。
(7)位寻址:对可寻址的位单独进行操作。对应位寻址区20H~2FH单元的128位和字节地址能被8整除的特殊功能寄存器的相应位。
3-4解答:
直接寻址方式。 3-5解答:
寄存器间接寻址方式。 3-6解答:
立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻址方式。 3-7解答: 变址寻址方式 3-8解答:
对于8052单片机内部RAM的高128B,必须采用寄存器间接寻址方式进行访问。 3-9解答:
外部数据传送指令有6条:
MOVX A,@DPTR MOVX @DPTR,A MOVX A,@Ri MOVX @Ri,A MOVC A,@A+DPTR MOVC A,@A+PC (1)MOVX A,@R1 MOVX A,@DPTR 都是访问片外RAM,但二者寻址范围不同。
前1条指令是对片外RAM低256个单元的“读”操作。 后1条指令是对片外RAM64KB空间的“读”操作。 (2)MOVX A,@DPTR MOVX @DPTR,A 访问空间相同,但数据传送方向不同。
前1条指令是对片外RAM64KB空间的“读”操作。 后1条指令是对片外RAM64KB空间的“写”操作。 (3)MOV @R0,A MOVX @R0,A 二者访问的空间不同。
前1条指令是对片内RAM低128个单元的“写”操作。 后1条指令是对片外RAM低256个单元的“写”操作。 (4)MOVC A,@A+DPTR MOVX A,@DPTR
二者访问的空间不同,寻址方式不同。
前1条指令是变址寻址方式,对ROM操作。
后1条指令是寄存器间接寻址方式,对片外RAM操作。 3-10解答: R0←30H,(R0)=30H A←((R0)),(A)=40H R1←(A),(R1)=40H B←((R1)),(B)=10H (R1)←(P1),((R1))=(40H)=EFH P2←(P1),(P2)=EFH 10H←20H,(10H)=20H 30H←(10H),(30H)=20H 结果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H
3-11解答:
(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器A。 MOV A,R1 MOV R0,A (2)片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器A。由于片外RAM是60H单元,地址小于FFH,所以间址寄存器使用Ri即可。 MOV R1,#60H MOVX A,@R1 MOV R0,A (3) MOV R1,#60H MOVX A,@R1 MOV 40H,A
(4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。 MOV DPTR,#1000H MOVX A,@DPTR MOV R1,#40H MOVX @R1,A
(5)ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送指令从ROM中读数据。
MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV R2,A (6) MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV 40H,A
(7) MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV DPTR,#0200H MOVX @DPTR,A 3-12解答:
片外RAM与片内RAM之间的数据传送不能直接进行,需要借助累加器A。数据交换需要使用数据交换指令XCH。 MOV DPTR,#1000H MOVX A,@DPTR XCH A,60H MOVX @DPTR,A 3-13解答:
本题需要采用查表指令。 ORG 0200H MOV DPTR,#TAB MOV A,R7
MOVC A,@A+DPTR ORG 0300H TAB: DB 0,1,4,9,16,25,36,49,64,81 3-14解答: (1)结果:(A)←→(R1),(A)=40H,(R1)=5BH,(PSW)=81H (2)结果:(A)←→(40H),(A)=C3H,(40H)=5BH,(PSW)=80H (3)结果:(A)←→((R1)),(A)=C3H,((R1))=(40H)=5BH,(PSW)=80H (4)结果:(A)0~3←→((R1))0~3,(A)=53H,((R1))=(40H)=CBH,(PSW)=80H (5)结果:(A)0~3←→(A)4~7,(A)=B5H,(PSW)=81H (6)结果:A←(A)+(R1),(A)=9BH,(PSW)=05H (7)结果:A←(A)+(40H),(A)=1EH,(PSW)=80H (8)结果:A←(A)+40H,(A)=9BH,(PSW)=05H (9)结果:A←(A)+(40H)+CY,(A)=1FH,(PSW)=81H (10)结果:A←(A)-(40H)-CY,(A)=97H,(PSW)=85H (11)结果:A←(A)- 40H - CY,(A)=1AH,(PSW)=01H 3-15解答:
(1)该组指令执行后(A)=00H,不影响CY位。 (2)该组指令执行后(A)=00H,影响CY位。
说明:单独执行INC指令,只影响奇偶标志位P,不影响半进位标志位AC和进位位CY位。执行ADD指令后,将影响CY、AC和P位。
3-16解答:
本题涉及的是16位数的减法运算,首先应让低8位相减,然后让高8位带着借位相减。注意:应在低8位相减前将进位位CY清空0。 CLR C
MOV A,#56H SUBB A,#78H MOV R0,A MOV A,#23H SUBB A,#45H MOV R1,A 3-17解答:
A←(A)∧23H,(A)=03H 42H←(42H)∨(A),(42H)=37H A←(A)?((R0)),(A)=34H A←(A),(A)=CBH 结果:(A)=CBH 3-18解答: (1) MOV DPTR,#1000H MOVX A,@DPTR CPL A
MOVX @DPTR,A (2) MOV R0,#60H MOVX A,@R0 ANL A,#3FH XRL A,#03H MOVX @R0,A 3-19解答:
DA A指令的作用是对A中刚进行的两个BCD码的加法结果进行修正,即继续使BCD码加法运算的结果保持为BCD码。使用时,DA A指令只能使用在加法指令后,即ADD指令和ADDC指令。
3-20解答: MOV DPTR,#1000H MOVX A,@DPTR MOV B,#10 MUL AB MOV 30H,A MOV 31H,B MOV DPTR,#2000H MOVX A,@DPTR MOV B,#32 MUL AB ADD A,30H MOV 30H,A MOV A,B ADDC A,31H MOV 31H,A
3-21解答: MOV R7,#10 MOV DPTR,#block1 MOV R0,#block2 LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0
DJNZ R7,LOOP 3-22解答: MOV A,#01H LOOP: MOV P0,A RL A
LCALL DELAY SJMP LOOP DELAY: MOV R7,#00H DELAY1: MOV R6,#00H DJNZ R6,$
DJNZ R7,DELAY1 RET 3-23解答: ORL C,11H MOV 11H,C MOV C,P1.0 ORL C,10H ANL C,11H MOV P1.0,C 3-24解答: (1)正确。
(2)错误。原因:清零指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。
(3)错误。原因:ACC是直接字节地址,不能用于清零指令。 (4)正确。ACC.0是一个位,可以应用到清零指令中。 (5)正确。
(6)错误。原因:取反指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。
(7)错误。原因:ACC是直接字节地址,不能用于取反指令。 (8)正确。ACC.0是一个位,可以应用到取反指令中。 3-25解答: ANL A,B ORL A,C
MOV F,C 3-26解答:
指令LJMP addr16是长转移指令,指令中提供了16位目的地址,寻址范围是64KB。
指令AJMP addr11是绝对转移指令,指令中11位目的地址,其中a7~a0在第二字节,a10~a8则占据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址+本条指令所占用的字节数2)在同一个2K的区域内。
3-27解答: (1) MOV P1,#0CAH ;P1←CAH,P1=CAH=11001010B MOV A,#56H ;A←56H,A=56H=01010110B JB P1.2,L1 ;若P1.2=1,则转移至L1 JNB ACC.3,L2 ;若ACC.3=0,则转移至L2 … L1: … L2: …
执行完本段程序后将转移至L2,因为P1.2=0,ACC.3=0,所以转至L2。 (2) MOV A,#43H ;A←43H,A=43H=01000011B JB ACC.2,L1 ;若ACC.2=1,则转移至L1 JBC ACC.6,L2 ;若ACC.6=1,则转移至L2,同时将ACC.6清零 … L1: … L2: …
执行完本段程序后将转移至L2,因为ACC.2=0,ACC.6=1,所以转至L2,并且将ACC.6清零。 3-28解答: (1) MOV A,P1 CPL A ANL A,#0F0H SWAP A MOV P1,A (2):
LOOP: JNB P1.4,L1 ; JNB P1.5,L2 ; JNB P1.6,L3 ; JNB P1.7,L4 ; LJMP LOOP ; L1: MOV P1,#01H ; LJMP LOOP ; L2: MOV P1,#02H ; LJMP LOOP ; L3: MOV P1,#03H ; LJMP LOOP ;
5-6解答:
单片机系统复位后(TMOD)=00H,即T0工作在模式0,使用的是TL0的低5位和TH0构成13位定时/计数器,由于(TH0)=06H,(TL0)=00H,所以定时的初值为:
X=0000011000000B=192
假设系统晶振频率为6MHz,机器周期T=2μs,则定时时间为:
5-7解答: ORG LJMP ORG START: MOV MOV SETB LOOP: SETB MOV LOP1: JBC SJMP LOP2: CLR MOV LOP3: JBC SJMP END 5-8解答: ORG LJMP ORG START: MOV LOOP: CLR MOV MOV SETB LOP1: JBC SJMP LOP2: CLR MOV MOV SETB LOP3: JBC SJMP END 5-9解答:
定时值=(M-X)T=(213-192)×2μs=16000μs=16ms
0000H START 0200H TMOD,#20H TL1,#231 TR1 P1.2 TH1,#81 TF1,LOP2 LOP1 P1.2 TH1,#231 TF1,LOOP LOP3 0000H START 0300H TMOD,#51H TR0 TL1,#18H TH1,#0E0H TR1 TF1,LOP2 LOP1 TR1 TL0,#18H TH0,#0E0H TR0 TF0,LOOP LOP3
TF0为定时/计数器T0的溢出标志位。 TF1为定时/计数器T1的溢出标志位。 TF2为定时/计数器T2的溢出中断标志位。
EXF2为定时/计数器T2的外部触发中断标志位。
当定时/计数器T0或T1溢出时TF0或TF1由硬件置1,使用查询方式时,此位做状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志位,进入中断服务后被硬件自动清零。
当定时/计数器T2计数溢出或外部触发时,TF2或EXF2置1,并申请中断,但该两位只能靠软件清除。
5-10解答:
RCLK为接收时钟选择位,靠软件置位或清除,用以选择定时/计数器2或1做串行口接收波特率发生器。
TCLK为发送时钟选择位,靠软件置位或清除,用以选择定时/计数器2或1做串行口发送波特率发生器。
如果两者都被清零,则T2工作在定时/计数器方式。此时当C/T2=0时,TH2和TL2计的是机器周期数,做定时器使用;当C/T2=1时,计数脉冲来自T2(P1.0)引脚,TH2和TL2做外部信号脉冲计数用。
5-11解答:
52系列单片机的T0、T1和T2对外来脉冲进行计数时,T0的外来脉冲引入引脚为P3.4;T1的外来脉冲引入引脚为P3.5;T2的外来脉冲引入引脚为P1.0。
5-12解答:
CP/RL2为捕获或重装载标志,由软件设置或清除。当CP/RL2=1时选择捕获功能,这时若EXEN2=1,且T2EX端的信号负跳变时,发生捕获操作,即把TH2和TL2的内容传递给RCAP2H和RCAP2L;当CP/RL2=0时,选择重装载功能,这时若定时器2溢出,或在EXEN2=1条件下T2EX端信号有负跳变,都会造成自动重装载操作,即把RCAP2H和RCAP2L的内容传送给TH2和TL2。
5-13解答:
初值=65 536-fose/(波特率×2×16)
=65 536-(11.059 2×106)/(19 200×2×16) =65 536-18 =65518 =FFEEH
即T2的重复装载常数为:TH2=0FFH,TL2=0EEH
第6章 串行接口
6.1解答:
计算机与外界信息交换的基本方式可分为并行通信与串行通信:并行通信是数据的各位同时传送,并行通信的特点是传送速度快,但不适用长距离传输;串行通信是数据的各位依次逐位传送,串行通信的特点是传送速度较慢,但传输距离较长。
并行通信适合近距离的CPU之间或设备之间快速进行数据交换;串行通信适合长距离的CPU之间或设备之间进行数据交换,或近距离的慢速数据交换。 6.2解答:
①异步通信依靠起始位、停止位、保持通信同步。
②特点是数据在线路上的传送不连续,传送时,字符间隔不固定,各个字符可以是连续传送,也可以间断传送,这完全取决于通信协议或约定。
③ 串行异步通信的数据帧格式如图6-1:一位起始位“0”电平;其后是5位、6位、7位或8位数据位,低位在前,高位在后;后面是一位奇偶校验位;最后是停止位“1”电平。
起始位 D0 D1 D2 D3 D4 D5 D6 D7 奇偶校验位 停止位 图6-1 异步通信的数据帧格式 6.3 解答:
串行通信有3种数据传送形式 单工方式:数据传送是单向的。
半双工方式:数据传送是双向的,在同一时间只能做一个方向的传送。 全双工方式:数据传送是双向的,即可同时发送,又可同时接收。
A B A B A B A单工方式 b半双工方式 C全双工方式 图6-2串行通信数据传送3种形式
6.4解答:
波特率表示每秒传输的二进制数据位数。
Fb=11×250=2750 其波特率应为2750bps。 6.5解答:
MCS-51单片机串行口有4种工作模式,由串行控制寄存器SCON 中的SM0、SM1 两位组合来确定。
模式0是同步位移寄存器方式,用于I/O口的串、并转换。
模式1是8位异步通信方式,桢格式10位,波特率可变,用于双机通信。 模式2是9位异步通信方式,桢格式11位,波特率固定,用于多机通信。
模式3是9位异步通信方式,桢格式11位,波特率可变,用于多机远距离通信。 模式1、2、3的区别主要表现在桢格式和波特率两个方面。 6.6解答:
模式0的波特率固定:fosc/12
模式2的波特率固定:fosc/n(n=64或32)
模式1、3的波特率可变:T1溢出率/n(n=32或16) 6.7解答:
定时器T1模式2是自动装载初值模式,波特率精度高。若已知系统晶振频率、通信选用的波特率,
其初值
x?256?fosc(smod?1)384*波特率
6.8解答:
MCS-51单片机串行口的模式0是同步位移寄存器方式,用于I/O口的串、并转换。扩展并行I/O口时,需要对串行控制寄存器SCON进行初始化设置;串行口需外接移位寄存器,串行口的TXD端作为同步时钟端,RXD作为串行数据的I/O端。 6.9解答:
多机通信时,主机发送的信息可传送到各个从机,而各从机发送的信息只能被主机接收,利用SCON
中的TB8/RB8和SM2可实现多机通信。
多机通信过程:
①所有从机在初始化时置SM2=1,都处于只能接收主机发送的地址桢(RB8=1)。 ②主机发送地址桢(TB8=1),指出接收从机的地址。 ③所有从机接收到主机发送的地址桢后,与自身地址相比较,相同则置SM2=0;相异则保持SM2=1不变。
④主机发送数据桢(TB8=0),由于指定的从机已将SM2=0,能接收主机发送的数据桢,而其它从机仍置SM2=1,对主机发送的数据桢不予理睬。
⑤被寻址的从机与主机通信完毕,重置SM2=1,恢复初始状态。 6.10 解答:
串行口工作在模式2,确定SMOD=1。未规定波特率,定时器初值任取,但两机要保持一致。 甲机发送子程序:
TXDA:MOV TMOD, #20H ;置T1定时器工作方式2 MOV TL1, #0FDH ;置初值 MOV TH1, #0FDH ;置初值 SETB TR1 ;启动T1
MOV SCON, #90H ;置串口方式2,允许接收,且SM2=0 MOV PCON, #80H ;置SMOD=1(SMOD不能位操作) CLR ES ;禁止串行中断
MOV DPTR, #2200H ;指发送数据区首地址 MOV R2, #51H ;指发送数据长度 TRSA:MOVX A, @DPTR ;读一个数据 MOV C,P MOV TB8,C ;置校验位
MOV SBUF, A ;发送
JNB TI, $ ;等待一桢数据发送完毕 CLR TI ;清发送中断标志 INC DPTR ;指向下一字节单元
DJNZ R2, TRSA ;判数据发完否?未完继续 RET ; 乙机接收子程序:
RXDB:MOV TMOD, #20H ;置T1定时器工作方式2 MOV TL1, #0FDH ;置初值 MOV TH1, #0FDH ;置初值 SETB TR1 ;启动T1
MOV SCON, #90H ;置串行方式2,允许接收,且SM2=0 MOV PCON, #80H ;置SMOD=1(SMOD不能位操作) CLR ES ;禁止串行中断
MOV DPTR, #1400H ;置接收数据区首地址 MOV R2, #51H ;置接收数据长度 SETB REN ;启动接收 SETB F0 ;先置出错标志F0为1。 RDSB:JNB RI, $ ;等待一桢数据接收完毕
CLR RI ;清接收中断标志 MOV A, SBUF ;读接收数据 MOVX @DPTR, A ;存接收数据 MOV C,RB8 ANL C,P
JC RDSB2 ;都是1,则正确 MOV C,RB8 ORL C,P
JNC RDSB2 ;都是0,则正确 LJMP RXDBD ;出错
RDSB2:INC DPTR ;指向下一数据存储单元
DJNZ R2, RDSB ;判数据接收完否?未完继续 CLR F0 ;正确接收,则清除出错标志F0
RXDBD:RET ;
第7章 中断系统
7.1解答:
①MCS-51系统有INT②INT00 、T0、INT1 、T1和串行口共五个中断源;
和INT1的中断标志是IE0和IE1,在电平方式下,当外部中断输入信号是低电平时,由硬
件置1;在边沿方式下,当外部中断输入信号是下降沿时,由硬件置1;定时计数器溢出中断T0和T1的中断标志位是TF0和TF1,当定时/计数器产生溢出时,该位由硬件置1;串行口中断标志是TI或RI,当单片机接收到或发送完一帧数据后,由硬件置1。
③外部中断INT0和INT1的电平方式,无法清除,需采取硬件和软件相结合的方法来清除;边沿方
式,在CPU响应中断后自动清除;定时/计数器0和1的溢出中断,在CPU响应中断后自动清除;串行口中断(包括串行接收中断RI和串行发送中断TI),由软件清零。
④INT0 、T0、INT1 、T1和串行口中断5个中断源分别对应的中断入口地址是:
0003H、000BH、0013H、001BH、0023H。 7.2 解答:
MCS-51的中断系统有两个中断优先级:高优先级和低优先级。 中断优先级的控制方式是:
①高优先级中断可以中断正在响应的低优先级中断,反之则不能。
②优先级中断不能互相中断。即某个中断(不论是高优先级或低优先级)一旦得到响应,与其同级的中断就不能再中断它。
③同一中断优先级中优先权由高到低的次序是INT0 、T0、INT1 、T1和串行口中断,若有多个中
断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。
通过中断优先级控制寄存器IP可以选择5个中断源的优先级别 7.3解答:
①MCS-51有IE0、TF0、IE1、TF1、TI和RI 共6个中断标志位。
正在阅读:
人教版3.4力的合成 教案 霍邱何伟06-24
购物的感受8篇高质量版05-22
个人不在职证明模板(精选7篇)03-31
第一次做家务活作文500字07-04
二级学院质量管理体系参考材料目录.03-08
转诊证明03-31
欧拉公式证明03-31
保证证明03-31
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 习题
- 接口
- 原理
- 答案
- 参考
- 技术
- MCS
- 51
- 大学语文B答案
- 科泽氨氮K301分析仪
- 电大个人理财网上作业答案策略
- 两度夭折的红海军超级航空母舰 - 图文
- 酒店财务管理总复习题
- 汽车维护与保养复习题
- 电压升高、降低时 - 电动机的转速
- 2017-2018学年贵州省铜仁一中高二(上)期末数学试卷(文科)
- 二年级数学《用7.8.9乘法口诀求商》教案
- 棉纺工艺设计
- “明显违背立法本意”之追问
- 艺术生就业情况调查报告
- Wells评分法在静脉血栓栓塞中的应用进展
- 土地整理项目过程管理全套表格 - secret
- 2014年六一前期准备工作要求
- 2015年山东临沂会计继续教育部分试题及答案
- 2011寒假社会实践调查报告
- 反诈骗系列宣传活动策划
- 人教版二年级语文上册第一次月考测试题B
- 中国洋娃娃装行业发展研究报告 - 图文