单片机原理及应用(合肥工业大学出版社)_第1页
单片机原理及应用(合肥工业大学出版社)_第2页
单片机原理及应用(合肥工业大学出版社)_第3页
单片机原理及应用(合肥工业大学出版社)_第4页
单片机原理及应用(合肥工业大学出版社)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用(合肥工业大学出版社)第1章习题参考答案1-1什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机SingleChipComputer,又称为微控制器(MCU即Micro-ControllerUnit。它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。1-2MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。答:MCS-51系列单片机内部资源配置型号程序存储器片内RAM8031/80C31无128B2×164×815/28751/87C514KBEPROM128B2×164×815/28052/80C524KBROM256B3×164×816/2定时/计数器并行I/O口串行口中断源/中断优先级8051/80C514KBROM128B2×164×815/28032/80C32无256B3×164×816/28051与51兼容的单片机的异同厂商型号程序存储器片内RAM定时/计数器并行I/O口串行口中断源/优先级其它特ATMELAT89C20512KB点Intel8051/80C514KBROM128B2×164×815/2FlashROM128B2×161516/2直接驱动LED输出,片上模拟比较器AT89S5312KBFlashROM256B3×163219/2SPI,WDT,2个数据指针W77E5832KBFlashROM256B+1024B3×1636212/2扩展了4位I/O口,双数据指针,WDTAnalogDevicesADuC8128KBEEPROM256B+640B2×163219/2WDT,SPI8通道12位ADC,2通道12位DAC,片上DMA控制器80C552无256B3×1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KBEEPROM256B3×1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/89CE55832KBEEPROM256B+1024B3×1640115/48通道10位ADC,捕捉/比较单元,PWM,双数据指针I2C总线,PLL(32kHz)。83C59216KBEEPROM256B+256B3×1648215/2CMOS型CAN微控制器SSTSST89E55432KB+8KBFlashROM1KB3×163228/440MHz,SPI,双数据指针,WDTTIMSC1210Y24KB+2KBFlashROM1280B3×163222132位累加器,WDT,SPI,低电压检测,16位PWM可编程串口83/87C51GB8KBEPROM256B3×1648115/4PWM,WDT,8通道8位ADC具有帧检测和识别的串口2-1MCS-51系列单片机内部有哪些主要的逻辑部件?一个8位CPU;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构2-2MCS-51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?实际应用中8位数据信息由口传送P0口输低8位地址P2口输出高8位地址A15A8。外部中断0输入线,P3.3―外部中断1输入线,P3.4―T0定时器0外部输入,P3.5―T1定时器1外部输入,P3.6―外部数据存储器写选通信号输出,P3.7―外部数据存储器读选通信号输入。2-3MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何用?MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统控制信号和功能程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量例如模/数转换时实时的数据等。2-4MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?MCS-51系列单片机内部数据存储器:00H7FH单元组成的128字节地址空间的RAM区工作寄存器位寻址区(20H2FH)数据缓冲区(0H~7FH)80H~FFH(128255)单元组成的高128字节地址空间的特殊功能寄存器又称SFR区。单片机组成的128字节地址空间的RAM区工作寄存区是由程序状态字PSW特殊功能寄存器,字节地址为0D0H中的D4、D3位(RS1和RS0)来的PSW.4RS1PSW.3RS0当前使用的工作寄存器区000区(0007H)R0R7011区(080FH)102区(1017H)113区(181FH)位寻址区域的字节地址范围20H~2FH(对应的位地址范围是00H~7FH)。2-5特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?2-6简述程序状态字PSW中各位的含义。CY(PSW??7)进位标志AC(PSW??6)辅助进位标志F0(PSW??5)用户标志位RS1RS0(PSW??4PSW??3)寄存器区选择控制位OV(PSW??2)溢出标志P(PSW.0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器A中1的位数的奇偶数2-7一个时钟频率为MHz的单片机应用系统,它的时钟周期、机器周期、指令周期分别是多少?2-8单片机有几种主要的工作方式?其特点是什么?有复位、程序执行、低功耗工作方式复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作复位操作后,程序将从0000H开始重新执行单片机的的执行过程分为取指令、译码、执行三个过程。待机方式,也称为空闲工作。系统进入待机工作方式时,振荡器继续工作,中断系统、串行口以及定时器模块由时钟驱动继续工作,但时钟不提供给CPU。单片机进入掉电工作方式,只有内部RAM单元的内容被保存,其它一切工作都停止2-9堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对SP重新赋值?堆栈的主要功能:保护断点和程序现场保存用户数据堆栈指针的作用是栈指针SP是一个8位特殊功能寄存器指示出堆栈顶部在内部RAM中的位置。SP的初始值越小,堆栈深度就越深系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。考虑到08H1FH单元分属于工作寄存器区13,若程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。@R0,A;50H00HMOVA,#25H;A25HMOV51H,A;51H25HMOV52H,#70H;52H70HA25HR050H50H00H51H25H3-2访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器指令有:MOVX@DPTR,AMOVDPTR,#0100HMOV@DPTR,AMOVXA,@DPTRMOVDPTR,#0200HMOVA,@DPTRMOVXA,@RiMOVX@Ri,AMOVCA,@A+PCMOVCA,@A+DPTR3-3设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSHPUSHPOP30H31H;61H24H;62H10HSP62H;DPL10HDPLDPHPOP;DPH24HSP60HMOVMOV30H,#00H;30H00H31H,#0FFH;31H0FFH3-4设(A)40H,(R1)23H,(40H)05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCHA,R1;A23HR140H;A25H40H03HXCHDA,@R13-5两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。ORG0000HLJMPSTARTORG0100HSTART:MOVA,53HADDA,51HDAAMOV55H,AMOVA,52HADDCA,50HDAAMOV56H,CSJMP$END3-6设(A)01010101B,(R5)10101010B,分别写出执行下列指令后结果。ANLA,R5;ORLA,R5;XRLA,R5;00000000B11111111B11111111B3-7指令SJMPrel中,设rel60H,并假设该指令存放在2114H和2115H单元中。当该条指令执行后,程序将跳转到何地址?答:2116H+60H2176H3-8简述转移指令AJMPaddr11、SJMPrel、LJMPaddr16及JMP@A+DPTR的应用场合。答:AJMPaddr11为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMPrel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC上,并计算出转向目标地址。转向的目标地址可以在这条指令前128字节到后127字节之间。LJMPaddr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。JMP@A+DPTR指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。3-9试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态?CLRMOVJCC;CY0;A66HA,#66HLOOP1CCPLSETB;CY1;20H.11C,ACC.0ACC.2,LOOP2;01HLOOP1:ORL;CY1JBCLR00HLOOP2:MOVP1,ASJMP$;P101100110B20H.0020H.11P166H3-10查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。MOV58H,80H858058直接寻址字节送直接寻址字节:汇编时源操作数在目标操作数之前。MOV58H,#80H755880立即数送直接寻址字节:汇编时目标操作数在原操作数之前。第4章习题参考答案4-1什么是单片机的程序设计语言。答:单片机的程序设计语言是指计算机能理解和执行的语言,人与CPU、MCU交流的语言。MCS-51系列单片机的程序设计语言,按照语言的结构及其功能可以分为三种:机器语言、汇编语言、高级语言。4-2单片机的程序设计包括哪几个步骤。答:程序设计步骤如下:(1)分析问题。即仔细分析任务书中要实现的功能和性能指标。(2)确定算法。即找到解决问题思路、方法。(3)分配内存单元。即确定数据结构。这一步往往与算法同时考虑。(4)根据算法和数据结构,画出程序流程图。(5)根据流程图编写汇编语言源程序。编辑录入,保存为*.ASM文件。(6)汇编。排除语法错误。(7)调试(DEBUG)。找出错误并更正,再调试,直至通过。(8)编写相关说明文档。4-3画出单片机的三种基本程序结构。答:顺序结构流程图分支结构流程图循环结构流程图4-4单片机的分支结构程序指令有哪几条?答:分支结构程序指令有JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC4-5什么是单片机的程序嵌套?生活中有哪些现象与单片机的嵌套类似?答:一个程序中还会调用别的程序,这称为程序嵌套。生活例子:在学习,有电话了,去接电话,水开了,放下电话去关掉电水壶,接着打电话,打完电话,接着学习。4-6能否从一个子程序内部使用转移指令直接跳转到另一个子程序执行?答:可以,为了保证正确地从子程序2返回子程序1,再从1返回主程序,每次调用子程序时必须将下条指令地址保存起来,返回时按后进先出原则依次取出旧PC值。4-7能否使用转移指令从主程序跳到子程序?答:不可以,当主程序需要执行某子程序的功能时,只需执行一条调用指令。而并非使用转移指令4-8能否使用转移指令从子程序跳到主程序?答:不可以,子程序的最后一条指令应该是返回指令RET或RETI,以确保子程序能够正确返回主程序。执行RET指令时单片机将原来存在堆栈中的断点地址弹出给PC,保证子程序返回主程序中调用子程序的地方继续执行主程序。子程序从子程序的标号开始,到RET或RETI指令结束。RET指令是一般子程序的返回指令。RETI指令是中断服务子程序的返回指令。4-9画出主程序的一般流程图。答:主程序流程图4-10画出子程序的一般流程图。答:子程序流程图4-11子程序的规范化设计包括那几个部分?答:子程序的规范化设计包括:(1)子程序名称。给子程序起名字,起名的原则是子程序名能够反映子程序功能,该名字就是子程序的入口地址标识符。(2)子程序功能,对子程序的功能给予简要的描述。(3)入口参数,子程序所要运算或处理的数据(加工前的原料),在调用子程序之前,主程序要先准备好入口参数。(4)出口参数,子程序运算或处理的结果(加工完成的数据),子程序结束之前,最终结果(出口参数)存放在约定的RAM单元,供主程序取用。(5)资源占用情况,指出该子程序运行时所使用的片内工作寄存器(R0~R7)、SFR(特殊功能寄存器)、片内RAM单元及片外RAM单元,以便在主程序调用该子程序之前,考虑将这些资源中的哪些字节保护入栈。4-12在片内RAM地址40H到4FH的存储单元中存有16个无符号数,找出其中的最大值,放入50H单元,请用“循环结构”和“分支结构”编程。答:流程图:N源程序:ORG0000HLJMPMAINORG0100HMAIN:MOVR2,#0FHMOVR0,#40HMOVA,@R0SUB:INCR0MOVB,@R0CJNEA,B,NEXTNEXT:JCNEXT1DJNZR2,SUBJMPLASTNEXT1:MOVA,BDJNZR2,SUBJMPLASTLAST:MOV50H,ASJMP$4-13将片内若干个RAM单元的内容复制到片外RAM单元,请用“主程序”调用“子程序”编程,要求子程序入口参数为:R0存放片内RAM起始地址,DPTR存放片外RAM起始地址,R1存放字节数。请分别编写主程序和子程序。答:流程图主程序子程序源程序:ORG0000HLJMPMAINORG0100HMAIN:MOVR1,#10HMOVR0,#40HMOVDPTR,#0000HLCALLCOPYSJMP$COPY:NEXT:MOVA,@R0MOVX@DPTR,AINCR0INCDPLDJNZR1,NEXTRET第5章习题参考答案5-1简述中断、中断源、中断源的优先级及中断嵌套的含义。答:当CPU正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。向CPU提出中断请求的源称为中断源。当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理中断优先高的请求。在实际应用系统中,当CPU正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。5-2MCS-51单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答:MCS-51单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器IP(特殊功能寄存器)控制的。PS:串行口中断优先级控制位。PS1,串行口定义为高优先级中断源;PS0,串行口定义为低优先级中断源。PT1:T1中断优先级控制位。PT11,定时器/计数器1定义为高优先级中断源;PT10,定时器/计数器1定义为低优先级中断源。PX1:外部中断1中断优先级控制位。PX11,外中断1定义为高优先级中断源;PX10,外中断1定义为低优先级中断源。PT0:定时器/计数器0(T0)中断优先级控制位,功能同PT1。PX0:外部中断0中断优先级控制位,功能同PX1。在同一优先级中,循环轮流排队。不分级别高低,所有中断源优先级都一律平等,CPU轮流响应各个中断源的中断请求。5-3简述MCS-51单片机中断响应过程。答:CPU在每个机器周期的S5P2时刻采样中断标志,而在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的S5P2有中断标志,则在查询周期内便会查询到并按优先级高低进行中断处理,中断系统将控制程序转入相应的中断服务程序。5-4MCS-51单片机外部中断有哪两种触发方式?如何选择?对外部中断源的触发脉冲或电平有何要求?答:MCS-51单片机外部中断有:负边沿触发方式和电平触发方式。外部中断1触发方式控制位。如果IT1为1,则外中断1为负边沿触发方式(CPU在每个机器周期的S5P2采样脚的输入电平,如果在一个周期中采样到高电平,在下个周期中采样到低电平,则硬件使IE1置1,向CPU请求中断);如果IT1为0,则外中断1为电平触发方式。采用电平触发时,输入到的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。5-5在MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有:(1)按优先级排队。(2)循环轮流排队。MCS-51单片机优先级比较简单,只有两级,可以通过优先级控制寄存器设置不同的优先级。当优先级相同时,约定有5个中断源优先级顺序由高到低分别为:外部中断0、定时器/计数器0溢出、外部中断1、定时器/计数器1溢出、串行口中断。5-6MCS-51有哪几种扩展外部中断源的方法?各有什么特点?答:1利用定时器作为外部中断使用特点:把MCS-51的两个定时器/计数器(T0和T1)选择为计数器方式,每当P3.4(T0)或P3.5(T1)引脚上发生负跳变时,T0和T1的计数器加1。可为外部中断请求输入线,而定时器的溢出中断作为外部中断请求标志。2)采用中断和查询相结合的方法扩充外部中断源特点:这种方法是把系统中多个外部中断源经过与门连接到一个外部中断输入端(例如),并同时还接到一个I/O口,中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序决定了中断源的优先级。5-7MCS-51单片机响应中断的典型时间是多少?在哪些情况下,CPU将推迟对中断请求的响应?和的电平在每个机器周期的S5P2时被采样并锁存到IE0和IE1中,这个置入到IE0和IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。2、没有满足响应的条件,CPU没有响应中断。3、没有由硬件生成一条长调用指令转到相应的服务程序入口。第6章习题参考答案6-18051单片机内设有几个可编程的定时器/计数器?它们可以有4种工作方式,如何选择和设定?MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1M1M0:定时器/计数器四种工作方式选择M1M0方式00013位定时器/计数器01116位定时器/计数器102自动装入时间常数的8位定时器/计数器式3时停止工作(无中断重装8位计数器)113对T0分为两个8位独立计数器;对T1置方-28051单片机内的定时/计数器T0、T1工作在模式3时,有何不同?方式3对定时器T0和定时器T1是不相同的。若T1设置为方式3,则停止工作方式3只适用于T0。当T0设置为方式3时,将使TL0和TH0成为两个相互独立的8位计数器,TL0利用了T0本身的一些控制方式,它的操作与方式0和方式1类似。而TH0被规定为用作定时器功能,对机器周期计数,并借用了T1的控制位TR1和TF1。在这种情况下TH0控制了T1的中断。-3已知单片机时钟振荡频率为6MHz,利用T0定时器,在P1.1引脚上输出连续方波,波形如下:计算定时常数:100us方式0TcFE0E;方式1TcFFCE;方式2TcCE150us方式0TcFD15;方式1TcFFB5;方式2TcB5方法一:采用方式一,定时器中断。源程序:ORG0000HLJMPSTARTORG000BHLJMPTINT0ORG0100HSTART:MOVTMOD,#01HMOVTL0,#0CEHMOVTH0,#0FFHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINT0:JNB20H.0,NEXTMOVTL0,#0B5HMOVTH0,#0FFHCLRP1.1CPL20H.0SJMPLASTNEXT:MOVTL0,#0CEHMOVTH0,#0FFHSETBP1.1CPL20H.0LAST:RETI方法二:采用方式2定时器中断加延时程序源程序:ORG0000HLJMPSTARTORG000BHLJMPTINT0ORG0100HSTART:MOVTMOD,#02HMOVTL0,#0CEHMOVTH0,#0CEHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINT0:JNB20H.0,NEXTCLRTR0CLRP1.1LCALLDELAYCPL20H.0SETBTR0SJMPLASTNEXT:SETBP1.1CPL20H.0LAST:RETIDELAY:MOVR7,#8DELAY1:DJNZR7,DELAY1RET6-4定时器/计数器的工作方式2有什么特点?适用于什么应用场合?方式2把TL0配置成一个可以自动恢复初值的8位计数器,TH0作为常数缓冲器,TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF0置1,同时把TH0中的8位数据重新装入TL0中。方式2常用于定时控制作串行口波特率发生器。-5定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?-6定时器/计数器作为外部中断源使用时,需要如何初始化,以T0为例通过程序说明。7-1波特率的含义是什么?所谓波特率是每秒钟传送信号的数量,单位为波特(Baud)。7-2什么是串行异步通信?它有哪些特征?通信接收器和发送器有各自的时钟。异步通信的优点是不需要传送同步脉冲,可靠性高,所需设备简单,缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率7-3单片机的串行接口由哪些功能部件组成?各有什么作用?MCS-51单片机串行口主要由两个物理上独立的串行数据缓冲寄存器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成SBUF为串行口的收发缓冲寄存器,它是可寻址的专用寄存器,其中包含了发送寄存器SBUF(发送)和接收寄存器SBUF(接收)可以实现全双工通信。7-4简述串行接口接收和发送数据的过程。:发送操作是在TI0下进行的,此时发送缓冲寄存器SBUF(发送)相当于一个并入串出的移位寄存器。CPU通过指令MOVSBUF,A,将数据写入“SBUF(发送)”,立即启动发送,将8位数据以波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位,并可向CPU发出中断请求。:接收过程是在RI0且REN1条件下启动的,此时接收缓冲寄存器SBUF(接收)相当于一个串入并出的移位寄存器。接收时,先置位允许接收控制位REN,此时,RXD为串行数据输入端。当RI0和REN1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收缓冲寄存器SBUF(接收),并由硬件置位RI,同时向CPU发出中断请求。CPU查到RI1或响应中断后,通过指令MOVA,SBUF将SBUF(接收)接收到的数据读入累加器A7-58051串行接口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?①方式0的波特率固定为系统晶振频率的1/12,其值为fosc/12。其中,fosc为系统主机晶振频率。②方式2的波特率由PCON中的选择位SMOD来决定,可由下式表示:即:当SMODl时,波特率为fosc/32;当脚SMOD0时,波特率为fosc/64。③方式1和方式3的波特率由定时器Tl的溢出率控制。因而波特率是可变的。定时器TI作为特率发生器,相应公式如下:波特率定时器溢出率溢出率计数率/产生溢出所需的周期数式中K定时器T1的位数,K的值等于8、13、16;TC定时器T1的预置初值。MCS-51单片机外部程序存储器和数据存储器地址范围都是0000H~FFFFH,在实际使用时如何区分?答:访问(读)ROM时(程序存储器),通过引脚有效选中程序存储器,PC指针指向程序存储器的地址指针。访问外部RAM(数据存储器),通过、引脚有效选中数据存储器(DPTR为外部RAM存储器的地址指针)8-2访问8051片外数据存储器MOVX指令采用的是间接采用的是基址加变址寻址方式。访问片外程序存储器MOVC指令寻址方式。8-3MCS-51单片机可以外接64KB的程序存储器和64KB数据存储器。这两种片外存储器地址重叠而不发生总线冲突,主要依靠单片机引脚上的那些信号来区分?答:同8-1.8-4给8031单片机扩展一片2716和6116,请画出系统连接图。方法一:地址自定:(其中一种解法如下)设2716地址:0000H―07FFH6116地址:0000H―07FFH(不用译码器)方法二:采用部分译码如:2716的地址0000H―07FFH6116的地址0800H―08FFH方法三:采用全译码如:2716的地址0000H―07FFH6116的地址0800H―08FFH8-5试画出MCS-51系列8051最小应用系统的原理结构图。答:8051最小应用系统如图所示。这种最小应用系统只要将单片机的时钟电路和复位电路接上,同时接高电平,系统就可以工作。此类应用系统只能用作一些小型的控制单元。其应用特点是:(1)全部I/O口线均可供用户用。(2)内部存储器容量有限(只有4KB地址空间)。(3)应用系统开发具有特殊性。8-6如何构造MCS-51单片机扩展的系统总线?见课本P129-P130第9章习题参考答案9-1设计用P1、P2口扩展4×4矩阵键盘、4位共阴极LED硬件电路。9-2已知一单片机应用系统如9-12图所示。试回答问题并编写显示程序,以1秒为间隔,亮暗相间,显示“88888888”。9-4若8255芯片的片选端与8051的P2.7相连,A1A0端与地址总线A1A0相连,现要求8255工作在方式0,A口作为输入,B口作为输出,且将C口的第6位PC5置1,请编写初始化工作程序。答:9-5已知系统的连接如图9-12所示,试编写程序实现下列功能:(1)编写上电显示程序,显示“123456”。(2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号;无键按下,保持原有显示状态。答:主程序流程图:流程图:键盘扫描方案二:(注意键值的不同)9-6如何消除键的抖动?对于一般的小键盘来说,为什么不能双键或多键同时按下?答:方法一:软件延时方法二:硬件防抖动电路(R-S触发器)因为单键按下,一个键只代表一个功能,当双键或多建同时按下时,程序视为非法按键。(除按键不够用,扩展双键或多键同时按下的功能)9-7什么是LED数码显示器?它有几种接法?如何得到显示段码?答:①施加电压有电流流过使之发光的二极管。(一个发光二极管发光时电流约为10~20mA,管压降2.0V左右)8个LED发光二极管封装在一起,组成一个8段码②8段码有两种接法按结构:共阳极,共阴极按显示:动态显示,静态显示③以共阴极为例,公共端接地,某段上加上高电平,则亮,否则灭,从而得到相应符号的段码9-8什么是D/A转换器?DAC0832主要特性参数有哪些?DAC0832与8051单片机连接时有哪些控制信号?其作用是什么?A/D转换器DAC0809的编程要点是什么?具有8位分辨率的A/D转换器,当输入05V电压时,其最大量化误差是多少?RDG2AG2B输入模块人机接口(键盘显示)模块上电/复位否是A条件成立吗?否是BA条件成立吗?BA初始化模块模块A模块B模块C返回开始Y输出模块结束A50HB@R0+1判断AB?R2-150?N开始A中放大值指针加1Y调用复制子程序结束初始化常数R0←40HDPTR←0200HR1←10H初始化:R215赋判断次数,R0指针指向40H单元开始R0单元送DPTR指针加1返回R1-10?YN100μsP1.1150μs开始主程序流程图:初始化T0,设置工作方式开T0中断,设置标志位20H.0开定时器T0,P1.11等待中断中断子程序流程图:开始20H.01?T0赋初值150usP1.10取反20H.0中断返回T0赋初值100usP1.11取反20H.0中断返回YN返回返回取反20H.0取反20H.0,开定时器CE调用50us延时P1.11P1.10,关定时器20H.01?开始中断子程序流程图等待中断开定时器T0,P1.11开T0中断,设置标志位20H.0初始化T0,设置工作方式主程序流程图开始NYOEPSENP2.0~P2.2P0.0~P0.72716D0~D7A0~A7A8~A10ALE地址锁存器373G8051WRWEOECED0-D76116A0-A7A8-A1074LS138Y0Y1CBA+5VRDP2.0-P2.2OEPSENP2.5P2.4P2.3P0.

温馨提示

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

评论

0/150

提交评论