• 230.11 KB
  • 2022-04-22 11:36:24 发布

王雷《单片机系统设计基础》课后答案_.doc

  • 14页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'注黑体的题要重点掌握。练习题一1.选择(1)单片机片内集成了基本功能单元(③)①微处理器②运算器③中央处理单元(2)工业自动化设备采用工控机实现自动控制,工控机属于(①)①通用计算机②嵌入式计算机③微处理器(3)单片机的英文缩写为(②)①SCM②MCU③PCL2.叙述单片机的含义答:利用大规模集成技术,将计算机的各个基本功能单元集成在一块硅片上,这块芯片就具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。3.叙述计算机发展的两大分支及其特点。答:计算机形成了通用计算机系统和嵌入式计算机系统两大分支。通用计算机系统以高速数值计算为已任,不必兼顾控制功能,其数据总线宽度不断更新,通用操作系统不断完善,以突出发展海量、高速数值计算能力。以单片机为代表的嵌入式系统,以面向对象控制为已任,不断增加控制功能,提高可靠性,降低成本,减小体积,改善开发环境。4.叙述半导体工艺MOS、HMOS、CMOS和HCMOS的特点,说明新型单片机广泛采用HCMOS工艺的目的。提示:从速度、密度和功耗三个方面比较。答:HMOS工艺(高速MOS),即高密度短沟道MOS工艺,虽然有较高的集成度和速度,但其功耗较大。HCMOS工艺,即互补金属氧化物的HMOS工艺,是CMOS和HMOS的结合,除了具有HMOS的高速高密度之外,还具有CMOS的低功耗的特点。5.试述单片机应用系统低功耗设计的主要内容。答:(1)对于那些采用电池供电的单片机应用系统,降低功耗尤为必要。降低功耗的重要手段是采用CMOS技术。新型单片机广泛采用了HCMOS工艺,大大降低了功耗。(2)降低单片机的工作电源电压也可降低功耗。(3)选用低功耗的外围芯片及设备,也是降低功耗的措施之一。过去单片机的外围扩展多采用74TTL芯片,其功耗较大。为了降低功耗,应选用CMOS(HCMOS)工艺外围芯片。6.MCS-51、80C51、80C51系列这三个概念有何区别?答:(1)MCS-51指Intel公司推出的利用HMOS或HCMOS工艺制造的一个单片机系列,它又分成51和52两个子系列,其中51子系列是基本型,而52子系列属于增强型。每个子系列包含三种单片机。一般MCS-51常指51子系列。(2)80C51一般指MCS-51系列中采用HCMOS工艺的单片机。(3)80C51系列包括Intel公司采用HCMOS工艺的MCS-51系列,也包括其它公司以80C51作为内核与MCS-51完全兼容的单片机。7.单片机与经典电子技术在实施控制方法上有何不同?答:从前必须由模拟或数字等经典电子线路实现的控制功能,现在可以使用单片机通过软件方法实现。这种以软件取代传统电子电路并能提高系统性能的控制技术,称为微控制技术。8.填空单片机应用系统设计的主要内容包括:外围扩展电路的硬件结构设计、低功耗设计、应用软件设计、抗干扰技术设计。练习题二 1.填空80C51单片机内部基本组成包括CPU、存储器、中断系统、定时器/计数器、串行口和并行口。2.填空分述80C51下列引脚的功能:①RST的功能是在RST引脚上施加两个机器周期以上的高电平,将单片机复位。②的功能是片外程序存储器读选通信号,低电平有效。③/Vpp的功能是是片内外程序存储器选择信号,当为低电平,单片机只能从0000H单元开始执行片外程序存储器程序,当为高电平,单片机只能从0000H单元开始执行片内程序存储器程序,当执行片内程序的地址超过0FFFH,便自动转向片外程序存储器中的程序继续执行。Vpp为本引脚的第二功能,在对EPROM型单片机片内EPROM固化编程时,用于施加较高的编程电压。④ALE/的功能是ALE端总是不间断地连续输出一个正脉冲信号,其频率固定为晶振频率的1/6,ALE引脚输出的脉冲信号可作为地址锁存信号。为本引脚的第二功能,在对EPROM型单片机片内EPROM固化编程时,作为编程脉冲输入端。3.当使用80C31时,引脚如何处理?答:将引脚接地。4.在80C51扩展系统中,片外ROM和片外RAM共同处于同一个地址空间,为什么不会发生总线冲突?答:因为它们的读选通信号线不同。5.片内RAM低128个单元划分为哪三个部分?各部分主要功能是什么?答:片内RAM低128个单元共划分为通用工作寄存器区、可位寻址区、以及用户RAM区等三部分。地址为00H~1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,为R0~R7,用户可以通过指令改变PSW中的RS1、RS0这二位来切换工作寄存器;地址为20H~2FH的16个单元可进行共128位的位寻址,也可以进行字节寻址;地址为30H~7FH的单元为用户RAM区,只能进行字节寻址。6.位地址7CH与字节地址7CH有何区别?位地址7CH具体在片内RAM中什么位置?答:位地址7CH是片内RAM可位寻址区20H~2FH这128个位中某一位的地址编号,而字节地址7CH是片内RAM低128个单元中某一个单元的地址。位地址7CH位于字节2FH的b4位。7.判断并填空根据下列SFR的地址,判断是否可位寻址?①81H(否),其符号名称是SP;②83H(否),其符号名称是DPH;③80H(是),其符号名称是P0;④98H(是),其符号名称是SCON;⑤89H(否),其符号名称是TMOD;8.填空为体现“面向控制”功能,80C51除了设置布尔处理器外,另一个硬件结构是SFR。9.程序状态字PSW作用是什么?常用的状态标志位有哪几位?答:PSW主要用作程序运行状态标志。常用的状态标志位有CY、AC、OV、P。10.填空若PSW的内容为18H,通用工作寄存器R0的地址是18H;R1的地址是19H;R5的地址是1DH;R7的地址是1FH。 11.程序计数器PC和数据指针DPTR有哪些异同?答:PC与DPTR的相同点是都是16位的;不同点是PC只能用来寻址程序存储空间,而DPTR常用来寻址片外数据存储空间,又可分为DPH、DPL两个8位的SFR。12.填空①当CPU从片外ROM中读取指令或常数表格时,信号电平为低;在读取片内ROM指令或常数表格时,信号电平为高;在访问片外RAM时,信号电平为高。②在访问片外RAM时,或信号电平为低,但信号电平为高。③在访问片外RAM情况下,ALE将丢失一个脉冲,ALE信号的作用是片外地址锁存器的锁存信号和外围芯片的定时脉冲。13.计算当振荡频率为8MHz时,试计算:①时钟周期为0.125μs;②机器周期为1.5μs;③执行一条最长的指令周期为6μs;④ALE的周期为0.75μs。14.比较8051与80C51外部时钟方式的不同,为什么?答:对于8051单片机,外部时钟工作方式时将片外振荡器信号接到XTAL2引脚,XTAL1引脚接地;对于80C51单片机,外部时钟工作方式时的片外振荡器信号接到XTAL1引脚,而XTAL2引脚悬空。上述两种接法不同的原因,是因为8051的内部时钟电路由XTAL2上的信号驱动;80C51的内部时钟电路由XTAL1上的信号驱动。15.复位的作用是什么?有几种复位方法?答:复位是单片机的初始化操作。其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。有两种复位方法,一种是上电复位、一种是利用复位按钮复位。16.SBUF、SP和P0~P3等特殊功能寄存器的复位值有什么特点?答:SBUF复位值不定,SP复位值为07H,P0~P3复位值为FFH。17.80C51有几种低功耗方式?如何实现?答:80C51有两种低功耗方式:空闲方式和掉电方式。用指令使PCON中IDL位置1,系统便可进入空闲方式。空闲方式的退出有两种方法,即中断方式和硬件复位方式。执行一条PCON寄存器的PD位置1的指令(是运行程序中的最后一条指令),单片机便可进入掉电方式。退出掉电方式的唯一方法是硬件复位。18.判断对PCON中的PCON.0位,若要置1或清0,采取的操作为:①可采用位可寻址的位操作指令();②可采用字节操作的方法(√);③可采用位寻址的位操作或字节操作()。19.80C51单片机的工作方式分为几种?/Vpp和ALE/引脚在程序执行方式和编程方式时作用有何不同?(第二问略掉,答案可参见第2题填空。)答:80C51具有四种工作方式:程序执行方式、复位方式、低功耗方式和编程方式。20.单片机外围扩展电路硬件结构设计的主要内容包括哪些?(略)练习题三 1.问答题(1)80C51指令系统有哪几种寻址方式?访问特殊功能寄存器采用什么寻址方式?答:80C51指令系统中字节操作中的寻址方式有:寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、立即寻址方式、相对寻址方式;位操作中的寻址方式有:位直接地址寻址方式、位寄存器寻址方式。(2)指令系统中的间接寻址范围是多少?答:64K。(3)变址寻址主要用于什么场合?其寻址范围是多少?答:查表,64K。(4)相对寻址方式有什么特点?其寻址范围是多少?答:相对寻址方式是指根据指令机器码中现的相对偏移量,从而计算出程序的转移目的地址。转移目的地址可向前,或向后,rel的取值范围为-128~+127。(5)CPU读程序存储器ROM、CPU读写片外RAM,以及片内RAM之间的信号传送的指令在操作助记符,寻址方式有什么不同?答:CPU读程序存储器ROM的指令操作助记符是MOVC,寻址方式为间接寻址;CPU读写片外RAM的指令操作助记符是MOVX,寻址方式为间接寻址;片内RAM之间信号传送的指令操作助记符是MOV,寻址方式为直接寻址。(6)“DAA”指令的作用是什么?怎样使用?答:用于对BCD码十进制加法运算结果的修正。跟在ADD指令后即可。(7)压栈指令和出栈指令的作用是什么?SP如何变化?答:压栈指令:将direct中的数据压入堆栈,SP变化方式如下所示:PUSHdirect;(SP)←((SP)+1),(SP)←(direct)。出栈指令:将堆栈中的数据弹入direct中,SP变化方式如下所示:POPdirect;(direct)←((SP)),(SP)←((SP)-1)。(8)立即数为什么不能作目的操作数?答:因为一个立即数只存在于指令代码中,不能用它来定位一个存储单元。2.判断下列指令是否正确。(1)MOVR0,@R1错(2)MOV#25H,A错(3)MOVA,#25H对(4)MOVA,@R2错(5)MOV@R1,A对(6)MOVXA,1234H错(7)MOVXR0,@DPTR错(8)MOVX@DPTR,A对(9)PUSHDPTR错(10)PUSHDPH对(11)PUSHDPL对(12)PUSHR7错(13)PUSH07H对(14)POPA错(15)POPACC对(16)通过加法实现2×A运算,判断下列指令的正误●ADDA,A错●ADDA,ACC对(17)在程序存储器0010H处分别存放下列指令,判断其正误 ●AJMP001AH对●AJMP0800H错●AJMP07FFH对●AJMP0980H错3.计算题(1)已知如下一段程序:2100HMOVCA,@A+PC;单字节2101HRET;单字节2102HNOP;单字节DB……试确定变址寄存器A的取值范围;计算所能读出的字节数的地址区间;利用该程序能否读出2200H单元的字节常数。答:A的取值范围为:2-255;所能读出的字节数的地址区间为:2103H-2200H;利用该程序能读出2200H单元的字节常数。(2)在程序存储器2000H处存有“SJMPLOOP”指令,试求指令的机器码。(略)●当LOOPEQU2060H时;●当LOOPEQU1FA2H时。(3)在程序存储器2500H处存有“CJNEA,#25H,LOOP”指令,试求指令的机器码。(略)●当LOOPEQU2550H时;●当LOOPEQU24B2H时。(4)已知如下一段程序,试求“SJMPLOOP”的机器码。(略)ORG1000HSJMPLOOP……RETLOOPEQU0FA0H(5)已知调用指令如下所示:ORG1000HMOVSP,#50HLCALL5431HNOPNOPRET试写出执行“LCALL5431H”后,(51H)=?(52H)=?(PC)=?答:(51H)=06H,(52H)=10H,(PC)=5431H。(6)已知绝对转移指令如下所示,试求“AJMPTRAN”的机器码。(略)ORG97FEHAJMPTRAN……RETTRANEQU9A00H4.指令分析与编程 (1)已知(A)=7AH,(R0)=30H,(30H)=A5H,(PSW)=80H,请填写每条指令的执行结果(各指令互不影响)。①XCHA,R0;(A)=30H②XCHA,30H;(A)=A5H③XCHA,@R0;(A)=A5H④XCHDA,@R0;(A)=75H⑤SWAPA;(A)=A7H⑥ADDA,R0;(A)=AAH⑦ADDA,30H;(A)=1FH⑧ADDA,#30H;(A)=AAH⑨ADDCA,30H;(A)=20H⑩SUBBA,30H;(A)=D4H⑾SUBBA,#30H;(A)=49H(2)已知(A)=83H,(R0)=17H,(17H)=34H,试写出执行下列程序段后A的内容。ANLA,#17HORL17H,AXRLA,@R0CPLA结果:(A)=CBH(3)已知两个十进制数分别在内部RAM40H和50H单元开始存放(低位在前),其字节长度存放在内RAM30H单元。编写程序实现两个十进制数求和,并把求和结果存放在40H开始的单元中。答:ORG0000HMOVR0,#40HMOVR1,#50HMOVA,#40HADDA,30HMOVR2,ALCALLSJZAMOVA,R2MOVR0,AJCOVER1MOV@R0,#00HSJMPOVER2OVER1:MOV@R0,#01HSJMPOVER2SJZA:CLRCSJZB:MOVA,@R0ADDCA,@R1DAAMOV@R0,AINCR0INCR1DJNZ30H,SJZB RETOVER2:NOPEND(4)在外RAM中把8000H单元开始的30H字节数据传送到8100H开始的单元中去,用编程实现。答案一:ORG0000HMOVR2,#00HMOVR3,#80HMOVR4,#00HMOVR5,#81HMOVR7,#30HLOOP:MOVDPL,R2MOVDPH,R3MOVXA,@DPTRINCDPTRMOVR2,DPLMOVR3,DPHMOVDPL,R4MOVDPH,R5MOVX@DPTR,AINCDPTRMOVR4,DPLMOVR5,DPHDJNZR7,LOOPEND答案二:ORG0000HMOVDPTR,#8000HMOVP2,#81HMOVR0,#00HMOVR7,30HLOOP:MOVXA,@DPTRMOVX@R0,AINCDPTRINCR0DJNZR7,LOOPEND(5)若片外RAM的容量不超过256个字节,试编写程序将片外RAM50H中的内容传送到片内RAM30H单元中。答:ORG0000HMOVDPTR,#0050H MOVXA,@DPTRMOV30H,AEND或:ORG0000HMOVR0,#50HMOVXA,@R0MOV30H,AEND(6)用两种方法将程序存储器20F0H单元中的常数读入累加器中,如下所示。方法1:2010HMOVA,#NNHMOVCA,@A+PC试写出NNH的具体值。答:由于“MOVA,#NNH”是2字节指令,“MOVCA,@A+PC”是1字节指令,因此PC中的值是2013H,20F0H-2013H=00DDH,NNH的具体值是DDH。方法2:MOVDPTR,#MMMMHMOVA,#NNHMOVCA,@A+DPTR试写出NNH、MMMMH的具体值。答:MMMMH=20F0H,NNH=00H练习题四1.问答题(1)什么是接口?接口的基本功能是什么?答:CPU执行程序具有快速的特点,而一些外围设备,如键盘、显示器等处理数据却呈现慢速的特性。为了使CPU和外围设备在信息传输和处理速度上匹配,在两者之间需要一种装置作媒介,这种媒介称为输入/输出(I/O)接口,简称接口。接口的基本功能有:输入/输出数据,扩展外部存儲器、D/A和A/D转换器、可编程I/O芯片等,作为三总线(AB,DB,CB)使用,作为串行通信线和外部中断输入线等。(2)P1口、P0口、P2口和P3口具有什么特点?答:P1口的特点:P1口为单功能口:通用I/O口。P1口由于有内部上拉电阻,引脚没有高阻抗状态,即引脚状态非0即1,称为准双向口。作输出口时,通过上拉电阻R可以向外输出高电平,不需要再在片外接上拉电阻。P1口读引脚时,必须先向输出锁存器写1。P1口能驱动4个TTL负载。CPU不占用P1口,完全由用户支配。P0口的特点:P0口为双功能口:通用I/O口和地址/数据复用线。一般情况下,如果P0已作地址/数据复用口,就不能再作通用I/O口使用。当P0口作地址/数据复用口时,是一个真正的双向口。 外接ROM和RAM时,不需要片外接上拉电阻。当P0口作通用I/O口时,需要在片外接上拉电阻,此时是一个准双向口。为保证引脚的正确读入,应首先向锁存器写1.P0口能驱动8个TTL负载。P2口的特点:P2口是双功能口:通用I/O口功能和高8位地址口。作为地址输出线时,与P0口输出的低8位地址一起构成16位地址线,可以寻址64KB的地址空间。当P2口作为高8位地址输出口时,由于地址不是来自输出锁存器,因此输出锁存器的内容保持不变。作通用I/O时,是准双向口。作输入时,应先向锁存器写1。P2口能驱动4个TTL负载。P3口的特点:P3口内部有上拉电阻,不存在高阻抗输入状态,为准双向口。P3口作为第一功能通用输入,或作为第二功能的输出/输入,均需将相应位的锁存器置1。实际应用中,由于上电复位后P3口锁存器自动置1,就可以进入功能操作。在某位不作为第二功能使用时,可作为第一功能I/O口使用。引脚的输入有两个缓冲器,第一功能的输入通过BUF2获取,第二功能的输入通过BUF3获取。(3)P0口作通用I/O口时,应注意什么问题?答:当P0口作通用I/O口时,需要在片外接上拉电阻。(4)并行I/O口在什么情况下为准双向口?为什么?答:如果一个并行I/O口作为通用I/O口使用时为准双向口,因为此时I/O口的输出只有高、低两状态,没有高阻态,且读入数据时需先对I/O口置1。(5)单片机对口进行读操作时,何时读锁存器?何时读引脚?答:如果单片机对口进行的读操作是“读-修改-写”则为读锁存器,其它读操作为读引脚。(6)试比较:MOV A,P1;MOV P1,A;ANL P1,A指令操作过程有何不同?答:MOV A,P1为读引脚操作;MOV P1,A为写端口操作,ANL P1,A为读锁存器操作。(7)80C51中断向量地址是怎样分配的?答:中断源向量地址外部中断0()0003H定时器0(T0)中断000BH外部中断1()0013H定时器1(T1)中断001BH串行口中断发送中断0023H接收中断(8)80C51共有几个中断源?它们对中断请求是如何控制的?答:中断源是向CPU发出中断请求的来源,80C51共有6个中断源:2个外部中断源、2个定时器/计数器溢出中断以及2个串行中断。中断源申请中断时,要将相应的中断请求标志置位。CPU 查询到这些有效标志位,便响应中断。单片机转入中断服务程序时,这些中断请求标志有的是由片内硬件自动清除,有的是由用户软件清除。中断控制主要包括中断请求触发方式的选择,中断是否允许以及中断优先级的确定等。(9)TCON中,哪些位用来表示中断标志、中断信号方式和启动定时器?答:TCON中的中断标志位有:TF1、TF0、IE1、IE0;中断信号方式位有:IT1、IT0;启动定时器位有:TR1、TR0。(10)SCON寄存器反映中断状态标志的是哪些位?答:SCON寄存器反映中断状态标志的是:TI、RI。(11)什么是中断优先级?中断优先级处理的原则是什么?答:80C51单片机具有高、低两个中断优先级。各中断源的优先级由IP寄存器有关位设定。设定为1时为高优先级;设定为0时为低优先级。中断优先级是为中断嵌套服务的。80C51单片机中断优先级的控制原则是:①低优先级中断请求不能打断高优先级的中断服务,但高优先级的中断请求可以打断低优先级的中断服务。②如果一个中断请求已被响应,则同级的中断响应将被禁止,即同级的中断不能相互打断。③如果同级的多个中断请求同时出现,则由单片机内部硬件直接查询,按自然响应顺序确定执行哪一个中断。(12)对于外部中断方式,怎样进行有关控制器的初始化?答:IT0(或IT1)=1时,(或)信号为脉冲触发方式,脉冲负跳变有效;IT0(或IT1)=0时,(或)信号为电平触发方式,低电平有效。(13)80C51在什么条件下可以响应中断?答:首先中断允许控制寄存器IE的相应位必须置1,然后按中断优先级寄存器IP相应位设定的优先级进行响应。中断查询在每个机器周期都要重复执行,但如果遇到下列条件之一时,虽然中断标志位为1,也不能立即产生中断。①CPU正在处理同级或高一级的中断。②查询周期不处于执行当前指令的最后一个机器周期。③当前正在执行返回指令(RET和RETI)或访问IE和IP指令。在执行完这些指令之后,还应再继续执行一条指令,方可响应中断。(14)中断响应标志位是怎样清除的?答:IE0和IE1、TF0和TF1当完成中断响应,并转向中断服务程序时,由片内硬件自动清0。TI和RI必须由软件清0(15)定时器/计数器有哪些功能?最高计数频率是多少?最长计时时间是多少?答:定时器/计数器具有定时和对输入脉冲进行计数的功能。最高计数频率为晶振频率的24分之1。最长计时时间是:216×机器周期。(16)TCON、SCON和TMOD寄存器的寻址方式有何不同?答:TCON、SCON既可字节寻址,也可位寻址。TMOD只能进行字节寻址。(17)若(TMOD)=6AH,定时器0和定时器1分别工作在什么方式?答:定时器0工作于计数器方式,定时器1工作于定时器方式2。(18)若fosc=8MHz,外部中断采用负脉冲触发方式,那么中断请求信号的低电平至少应持续多少时间?答:中断请求信号的低电平至少应持续1.5us。(19) 设fosc=12MHz,80C51定时器的工作方式0、方式1和方式2的最大定时时间间隔分别是多少?答:工作方式0的最大定时时间间隔是213us,工作方式1的最大定时时间间隔是216us,工作方式2的最大定时时间间隔是28us。(20)80C51定时器工作方式3中的T0和T1有何不同?答:在工作方式3,T0被分解成两个独立的8位定时器/计数器TL0和TH0;而T1在工作方式3时完全禁止工作。(21)并行通信和串行通信在识别信息方式上有何区别?答:并行通信就是数据的所有位同时传送,串行通信就是数据位按顺序传送。(22)串行同步通信和异步通信的主要区别是什么?答:串行同步通信的基本特点是要求发送与接收时钟严格保持同步,传送的数据位宽不存在误差累积。异步通信的基本特点是发送与接收时钟是相互独立的,不能保证完全相同,最多也不过是要求具有相同的标称频率值。(23)串行异步通信的帧格式是怎样规定的?答:异步串行通信的字符格式如图4.27所示。图中各位的功能及有关含义如下:起始位发送器通过发送起始位(使数据线处于0状态,又称space状态)而开始字符的传送。在发送器空闲时,数据线应保持在1状态(又称mark状态)。有效数据位起始位之后就开始传送数据位,低位在前,高位在后。串行异步通信的编码形式,可以是5,6,7或8位。奇偶校验位用于传送字符的差错校验,其方式为奇校验、偶校验或无校验。停止位停止位在最后,标志传送的结束,它对应于1状态。停止位可以是1,1.5或2位。位时间又称位宽度,指一个格式位的时间宽度。格式位包括有效数据位、起始位、校验位和停止位。一个格式位的宽度就是发送时钟的周期。帧(frame)从起始位开始到停止位结束的全部内容称之为一帧。异步通信是一帧一帧进行的,传送可以是连续的,也可以是断续的。按帧传送时数据位较少,因此对位宽的误差积累要求相对较低。(24)80C51串行工作方式共有几种?说明TI、RI和SMOD位的意义?答:80C51串行工作方式共有4种。串行控制寄存器SCON中TI为发送中断标志位,RI为接收中断标志位。电源控制寄存器PCON中的SMOD位是串行口波特率的倍增位,当SMOD=1时,串行口的波特率加倍。(25)80C51串行口方式0怎样启动发送和接收?波特率怎样规定的?帧格式怎样规定的?答:80C51串行口方式0执行任何一条写SBUF指令就开始发送,用软件使REN=1和RI=0,就会启动接收过程。其波特率固定为fosc/12。 帧格式如下:-------D0D1D2D3D4D5D6D7-------(26)80C51串行口方式1的帧格式怎样规定的?发送和接收如何启动?接收到的数据和停止位存于什么寄存器?波特率是怎样规定的?答:80C51串行口方式1的帧格式如下:起始D0D1D2D3D4D5D6D7停止执行任何一条写SBUF指令就启动发送,用软件使接收允许标志位REN=1和RI=0,就启动了接收过程。接收到的8位数据位进入SBUF,停止位进入RB8。数据传送的波特率取决于定时器1的溢出率:波特率=(T1的溢出率)。(27)80C51串行口方式2的帧格式是怎样规定的?接收到的数据存于什么寄存器?方式2的波特率是怎样规定的?答:80C51串行口方式2的帧格式如下:起始位D0D1D2D3D4D5D6D7D8停止位接收到的第9位数据(TB8)就进入RB8,前8位数据则进入SBUF。方式2的波特率是:波特率=(28)80C51串行口方式2和方式3的主要区别是什么?答:80C51串行口方式2和方式3的不同仅在于它们的波特率产生方式不同。方式2的波特率固定为fosc/32和fosc/64;方式3的波特率则由定时器1的溢出率决定,用程序设定,是可以改变的。(29)80C51实行串行口多机通信的过程是什么?答:串行口工作在方式2或方式3下,接收到的数据受SM2位控制。当SM2=1,只有接收到的第9位数据RB8=1时,才将接收到的数据装入SBUF,并置位RI,发出中断请求;若RB8=0时,接收到的数据被舍弃,RI仍为0,不发出中断申请。当SM2=0时,无论接收到的第9位数据是0还是1,都要把接收到的数据送入SBUF,并置位RI,发出中断申请。多机通信时,主机的TB8=1,表示发送的是地址;TB8=0,表示发送的是数据。通信开始时,主机首先发送地址,各从机的SM2=1,主机的TB8=1。各从机收到的RB8=1,便各自发出中断申请,并在中断服务程序中判断主机发送的地址是否与从机地址相符合。若地址相符,则说明主机要与其通信,以后该机的SM2=0,准备接收主机发来的数据;若地址不符,则仍然保持SM2=1。由于主机发送数据时TB8=0,因此没被选中的从机不会接收主机发出的数据。(30)串行同步通信每次传送一批数据,异步通信按帧传送,为什么?答:同步通信的基本特点是要求发送与接收时钟严格保持同步,传送的数据位宽不存在误差累积。同步通信是一次传送一批数据。每批数据的开始约定1~2个同步字符码(SYNC),用以表示传输数据流的开始,保证发送与接收的起始同步。异步通信的基本特点是发送与接收时钟是相互独立的,不能保证完全相同,最多也不过是要求具有相同的标称频率值。异步通信以帧为单位传送,每次传送的位信息量少,致使发送完最后一位字符时,发送与接收数据位宽的累积误差不会超过允许的范围。1.填空题(1)根据功耗和抗干扰性能,74HC系列芯片要好于74LS系列芯片。(2)对于P0口,执行“MOV”类指令,可实现通用I/O口 功能;执行“MOVX”类指令,可实现地址/数据总线功能。(1)80C51单片机响应中断时,程序断点地址保护由片内硬件自动完成;现场保护与恢复由用户软件完成;关中断与开中断由用户软件完成;中断返回由RETI指令完成。(2)80C51定时器的定时方式计数脉冲来自内部脉冲信号;计数方式的计数脉冲来自单片机外部。(3)中断优先级是为中断嵌套服务的,其控制原则是:低优先级中断请求不能打断高优先级的中断服务,但高优先级的中断请求可以打断低优先级的中断服务,从而实现中断嵌套;如果一个中断请求已被响应,则同级的中断响应将被禁止,即同级的中断不能相互打断;如果同级的多个中断请求同时出现,则由单片机内部硬件直接查询,按自然响应顺序确定执行哪一个中断。(4)80C51的SCON寄存器中的SM0、SM1用于串行口工作方式选择;SM2主要用于多机通信控制;在方式1时,SM2一般设置为0;在方式0时,SM2必须设置为0。(5)80C51串行通信工作方式1,指令写SBUF启动发送;标志TI=1结束发送。(6)80C51串行通信用的波特率设置成固定方式为;设置成可变方式为。1.判断题×√(1)只要EA=0,所有中断全禁止;( √ )EA=1,所有中断全开放。( × )(2)指令RETI只完成中断返回原程序功能。( × )(3)只有外部中断才存在中断采样问题。( √ )(4)80C51在执行完指令“RETI”后可立即响应中断。(×)(5)TCON和TMOD均可用于字节和位操作。(×)(6)定时器方式1时,最小定时计数初值为FFFFH。(√)(7)80C51串行通信传送数据是低位在前,高位在后。(√)(8)波特率也可由T0溢出率实现。(×)(9)SBUF寄存器在物理结构上是独立的,逻辑空间上是同一的。(√)(10)80C51串行通信工作方式0,发送方和接收方可同时为单片机。(×)(11)REN用软件设置,也可由硬件自动设置。(×)(12)RI置1由内部硬件自动完成,清0则必须由软件实现。(√)4.编程序(1)设fosc=6MHZ,利用定时器0的方式1在P1.6口产生一串50Hz的方波,定时器的溢出采用中断方式处理,试编制实现程序。答:50Hz方波的半个周期为10-2s,因此有:(216-X)×2×10-6=10-2求得:X=60536=EC78HORG0000HAJMPSTARTORG000BHAJMPT0INTORG0030H START:MOVSP,#60HMOVTH0,#0ECHMOVTL0,#78HMOVTMOD,#01HSETBTR0SETBET0SETBEAMAIN:AJMPMAINT0INT:CPLP1.6MOVTH0,#0ECHMOVTL0,#78HRETIEND(2)设单片机晶振频率fosc=6MHZ,使用定时器1以方式0产生周期为500μs的等宽正方波脉冲,并由P1.0口输出,以查询方式完成,试编制程序。答:(213-X)×2×10-6=250×10-6求得:X=8067=1F83H=0001111110000011BTL1的初值为03H,TH1的初值为FAH。ORG0000HMOVTMOD,#00HSETBTR1LOOP:MOVTH1,#0FAHMOVTL1,#03HLOOP1:JNBTF1,LOOP1CLRTF1CPLP1.0SJMPLOOPEND(3)用定时器0以工作方式1计数,每计500次累加一次,并将累加值存于以外RAM5000H为起始地址的4字节单元中,试编制程序实现。(略)(4)以80C51串行口按工作方式1进行串行数据通信。假定波特率为1200波特,以中断方式传送数据,试编写全双工通信程序。(略)(5)以80C51串行口按工作方式3进行串行数据通信。假定波特率为1200波特,第9位数据作寄偶校验位,以中断方式传送数据,试编写通信程序。(略)'