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

下载本文档

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

文档简介

11试比较MCS51,MSP430,EM78,PIC,M6800及AVP等系列单片机的特点。2MCS51系列单片机在片内集成了哪些主要逻辑功能部件各个逻辑部件的主要功能是什么3MCS51系列单片机的引脚中有多少根I/O线它们与单片机对外的地址总线和数据总线之间有什么关系其地址总线和数据总线各有多少位对外可寻址的地址空间有多大48051单片机的控制总线信号有哪些各有何作用5什么是指令什么是程序简述程序在计算机中的执行过程。68051单片机的存储器组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何使用上有何特点7何为堆栈指针堆栈操作有何规定88051单片机有多少个特殊功能寄存器这些特殊功能寄存器能够完成什么功能特殊功能寄存器中的哪些寄存器可以进行位寻址9MCS51单片机的I/O口有什么特点10DPTR是什么寄存器它的作用是什么118051单片机的PSW寄存器各位标志的意义如何12开机复位后,CPU使用的是哪组工作寄存器它们的地址是什么CPU如何确定和改变当前工作寄存器组138051片内数据存储器有多少字节存储空间地址范围为多少148051片内RAM低128单元划分为哪三个主要部分各部分主要功能是什么158051单片机的片内,片外存储器如何选择16MCS51单片机的时钟周期,机器周期,指令周期是如何定义的当主频为12MHZ的时候,一个机器周期是多长时间执行一条最长的指令需要多长时间178051单片机复位后,各寄存器的初始状态如何复位方法有几种1解MCS51为主流产品。MSP430的功能较强。是一种特低功耗的FLASH微控制器。主要用于三表及超低功耗场合。EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、ROPTION功能、I/O唤醒功能、多功能I/O口等。具有优越的数据处理性能,采用RISC结构设计。PIC系列8位单片机是MICROCHIP公司的产品。CPU采用RISC结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。MOTOROLA是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。AVR是增强RISC内载FLASH的单片机,单片机内部32个寄存器全部与ALU直接连接,突破瓶颈限制,每1MHZ可实现1MIPS的处理能力,为高速、低功耗产品。端口有较强的负载能力,可以直接驱动LED。支持ISP、IAP,I/O口驱动能力较强。22解MCS51单片机在片内集成了中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O接口、串行I/O接口和中断系统等几大单元。CPU是整个单片机的核心部件,由运算器和控制器组成。运算器可以完成算术运算和逻辑运算,其操作顺序在控制器控制下进行。控制器是由程序计数器PC(PROGRAMCOUNTER)、指令寄存器IR(INSTRUCTIONREGISTER)、指令译码器ID(INSTRUCTIONDECODER)、定时控制逻辑和振荡器OSC等电路组成。CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。程序存储器(ROM)用于存储程序、常数、表格等。数据存储器(RAM)用于存储数据。8051内部有两个16位可编程序的定时器/计数器T0和T1,均为二进制加1计数器。可用于定时和对外部输入脉冲的计数。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。可实现对5个中断源的管理。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。其中,IE用于控制5个中断源中哪些中断请求被允许向CPU提出,哪些中断源的中断请求被禁止;IP用于控制5个中断源的中断请求的优先权级别。I/O接口是MCS51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。可分为串行和并行I/O接口。3解80C51单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0P3)、一个输入驱动器和输入缓冲器。通常把4个端口称为P0P3。在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。4解控制线一共有6条(1)ALE/地址锁存允许/编程线,配合P0口引脚的第二功能使用。在访问片外存PROG储器时,8051在P07P00引脚上输出片外存储器低位地址的同时在ALE/上输出一个高电位脉冲,用于把这个片外存储器低位地址锁存到外部专用地址锁存器,以便空出P07P00引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,8051自动在ALE/上输出频率为FOSC/6的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用。(2)/VPP允许访问片外存储器编程电源线,可以控制8051使用片内还是使EA用片外。若,则允许使用片内;若则允许使用片外。EA(3)片外选通线,在执行访问片外的指令时,8051自动在PSN上产生一个负脉冲,用于为片外芯片的选通。其他情况下线均为高电平PSEN封锁状态。(4)RST/VPD复位备用电源线,可以使处于复位工作状态。35解指令人为输入计算机,由计算机识别并执行一步步操作的命令的形式称为指令。程序一系列指令的有序集合称为程序。程序在计算机中是按序执行的,CPU通过程序计数器PC控制程序的执行顺序,一般情况下程序是按序执行的,当执行转移、调用、返回等指令时,程序转移到相应的目的地址处执行。CPU根据程序计数器PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,产生执行本条指令所需的全部信号,完成本条指令的执行。6解(1)在结构上的特点采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为HARVARD结构。(2)在物理和逻辑上的地址空间存储器上设有个存储器空间片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有个存储器地址空间片内、片外统一的程序存储器地址空间,片内数据存储器地址空间,片外的数据存储器地址空间。(3)访问格式访问片内采用格式访问片外采用格式7解堆栈是一个特殊的存储区。主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照“先进后出”的存取数据。堆栈指针SP是一个8位寄存器,是用于指示堆栈的栈顶地址的寄存器,它决定了堆栈在内部RAM中的物理位置。8解有21个特殊功能寄存器(PC除外),它们被离散地分布在内部RAM的80HFFH地址单元中,共占据了128个存储单元,其中有83位可以位寻址。特殊功能寄存器SFR的分布和功能见教材P18表122。9解单片机的个口在结构上是基本相同的,但又各具特点。这四个端口都是位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中,这四个端口的每一位都可以作为双向通用端口使用。在作为一般的通用输入时,都必须先向锁存器写入“”,使输出驱动场效应管截止,以免误读数据。各自特点如下(1)P0口为双向8位三态I/O口,它既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。作为通用I/O口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8个TTL负载。(2)P1口为8位准双向I/O口,内部具有上拉电阻,一般作通用I/O口使用,它的每4一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动4个TTL负载。(3)P2口为8位准双向I/O口,内部具有上拉电阻,可直接连接外部I/O设备。它与地址总线高8位复用,可驱动4个TTL负载。一般作为外部扩展时的高8位地址总线使用。(4)P3口为8位准双向I/O口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。作为通用I/O口时,功能与P1口相同,常用第二功能。作为第二功能使用时,各位的作用见教材P23表125所示。10解数据指针DPTR是16位的专用寄存器,它由两个8位的寄存器DPH(高8位)和DPL(低8位)组成。专门用来寄存片外RAM及扩展I/O口进行数据存取时的地址。编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用(即高位字节寄存器DPH和低位字节寄存器DPL)。DPTR主要是用来保存16位地址,当对64KB外部数据存储器寻址时,可作为间址寄存器使用。11解程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下PSW7(CY)进位标志位。PSW6(AC)辅助进位标志位,又称为半进位标志位。PSW5(F0)用户标志位。PSW4、PSW3(RS1和RS0)寄存器组选择位。PSW2(OV)溢出标志位。PSW1(空缺位)此位未定义。PSW0(P)奇偶校验位12解开机复位后,使用的是第组工作寄存器。它们的地址是。通过对程序状态字中和的设置来确定和改变当前工作寄存器组。13解8051片内数据存储器有寻址空间。存储器空间的地址范围为00FF在这个存储器空间又可分为基本的数据存储区,可划分为工作寄存器、位寻址区、堆栈与数据缓冲区。14解片内低单元划分及主要功能如下(1)工作寄存器组()5这是一个用寄存器直接寻址的区域,内部数据区的,共个单元。它是个通用工作寄存器组,每个组包含个位寄存器,编号为。(2)位寻址区()个字节单元,共包含位,这个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位寻址。(3)堆栈与数据缓冲区()用于设置堆栈、存储数据。15解程序存储器通过/VPP引脚选择。若,则允许使用片内;若EAEA则允许使用片外。EA数据存储器通过指令区分访问片内采用指令,访问片外采用指令。16解时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。时钟周期又称为节拍(用P表示)。时钟周期是时序中的最小单位。一个状态有两个节拍,机器周期定义为实现特定功能所需的时间。MCS51的机器周期由12个时钟周期构成。执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS51的指令可能包括14个不等的机器周期。当MCS51的主频为12MHZ时,一个机器周期为1S。执行一条指令需要的最长时间为4S。17解8051单片机复位后机器的初始状态,即各寄存器的状态之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如下寄存器复位时内容寄存器复位时内容PC0000TCON0000000BACC00HTL000HB00HTH000HPSW00HTH100HSP07HTH100HDPTR0000HSCON00HP0P3FFHSBUF不确定TMOD000000BPCON00000B单片机复位方法有上电自动复位,按键电平复位和外部脉冲三种方式。18051单片机的指令系统有何特点28051单片机指令系统按功能可分为几类具有几种寻址方式它们的寻址范围如何3访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式64“DAA”指令的作用是什么怎样使用5片内RAM20H2FH单元中的128个位地址与直接地址00H7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作68051单片机指令系统中有长跳转LJMP,长调用LCALL指令,为何还没有设置了绝对跳转AJMP,绝对调用ACALL指令在实际使用是应怎样考虑7SJMP,AJMP和LJMP指令在功能上有何不同8MOVCA,DPTR与MOVXA,DPTR指令有何不同9在“MOVCA,ADPTR”和“MOVCA,APC”中,分别使用了DPTR和PC作基址,请问这两个基址代表什么地址使用中有何不同10设片内RAM中的(40H)50H,写出执行下列程序段后寄存器A和R0,以及片内RAM中50H和51H单元的内容为何值MOVA,40HMOVR0,AMOVA,00MOVR0,AMOVA,30HMOV51H,AMOV52H,70H11设堆栈指针(SP)60H,片内RAM中的(30H)24H,(31H)10H。执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化12在8051的片内RAM中,已知(20H)30H,(30H)40H,(40H)50H,(50H)55H。分析下面各条指令,说明源操作数的寻址方式,分析按顺序执行各条指令后的结果。MOVA,40HMOVR0,AMOVP1,0F0HMOVR0,20HMOV50H,R0MOVA,R0MOVP2,P113完成以下的数据传送过程。(1)R1的内容传送到R0。(2)片外RAM20H单元的内容送R0。(3)片外RAM20H单元的内容送片内RAM20H(4)片外RAM1000H单元的内容送片内RAM20H(5)片外RAM20H单元的内容送R0。(6)片外RAM2000H单元的内容送片内RAM20H(7)片外RAM20H单元的内容送片外RAM20H14设有两个4位BCD码,分别存放在片内RAM的23H,22H单元和33H,32H单元中,7求它们的和,并送入43H,42H单元中去。(以上均为低位字节,高位在高字节)。15编程将片内RAM的40H60H单元中内容送到片外RAM以3000H开始的单元中。16编程计算片内RAM区30H37H的8个单元中数的算术平均值,结果存在3AH单元中。17编写计算下式的程序,设乘积的结果均小于255,A,B值分别存放在片外RAM的2001H和2002H单元中,结果存于2000H单元中。(AB(AB)10若(AB)(AB)10Y(AB)(AB)若(AB)(AB)10(AB)(AB)10若(AB)(AB)1019设有100个有符号数,连续存放在片外RAM以2200H为首地址的存储区中,试片成统计其中正数|、负数、零的个数。22试编一查表程序,从首地址为2000H、长度为9FH的数据块中找出第一个ASCII码A,将其地址送到20A0H和20A1H单元中。1解8051的指令系统由111条指令组成。如果按字节数分类,有49条单字节指令46条双字节指令和16条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64条单周期指令、45条双周期指令和条四周期指令,以单周期指令为主。8051的指令系统具有以下特点(1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行I/O口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器RN。这样可以大大提高传送速度和缓解累加器A的瓶颈效应。(2)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定常数或表格字节内容传送到累加器A中。这为编成翻译算法提供了方便。(3)在算术运算指令中设有乘法和除法指令(4)指令系统中一些对I/O口进行操作的指令具有“读修改写”的功能。这一功能指在执行读锁存器的指令时,CPU首先完成将锁存器的值通过缓冲器BUF2度入内部,进行修改、改变,然后重新写到锁存器中去。这种类型指令包含所有的逻辑操作和位操作指令。(5)8051单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。布尔操作类指令有17条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布尔条件转移指令。2解MCS51单片机指令系统按功能可分为5类(1)数据传送指令(2)算术运算指令(3)逻辑运算和移位指令(4)控制转移指令(5)位操作指令MCS51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表寻址方式使用的变量寻址范围83解访问特殊功能寄存器,应采用直接寻址、位寻址方式。访问外部数据存储器,应采用寄存器间接寻址方式。在0255B范围内,可用寄存器R0、R1间接寻址MOVXA,R0或MOVXA,R1MOVXR0,A或MOVXR1,A在064KB范围内,可用16位寄存器DPTR间接寻址MOVXA,DPTRMOVXDPTR,A4解这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD码的加法运算结果自动进行修正的,使其仍为BCD码表达形式。在计算机中,遇到十进制调整指令时,中间结果的修正是由ALU硬件中的十进制修正电路自动进行的。用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DAA”指令即可。5解虽然内部RAM位寻址区的位地址范围00H7FH与低128个单元的单元地址范围00H7FH形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。MOVC,BITMOVBIT,CCLRBITSETBBITCPLBITANLC,BITANLC,/BITJBBIT,RELJNBBIT,REL6解在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指令AJMP、长调用指令LCALL和短调用指令ACALL。长跳转LJMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。长调用LCALL调用位于64KB程序空间的子程序,而短调用ACALL调用位于2KB程序空间范围立即寻址程序存储器直接寻址内部RAM低128个字节;特殊功能寄存器SFR寄存器寻址R0R7;A、B、DPTR、CR0、R1、SP内部RAM、堆栈指针SP寄存器间接寻址R0、R1、DPTR外部RAM变址寻址APC、ADPTR程序存储器相对寻址PC偏移量程序存储器位寻址内部RAM低128B位寻址区可位寻址的特殊功能寄存器位9的子程序。AJMP、ACALL指令代码长度为个字节;LJMP、LCALL指令代码长度为个字节。7解指令的转移范围不同。SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP是64KB范围内的无条件长跳转指令。8解指令的转移范围不同。SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP是64KB范围内的无条件长跳转指令。9解使用ADPTR基址变址寻址时,DPTR为常数且是表格的首地址,A为从表格首址到被访问字节地址的偏移量。使用APC基址变址寻址时,PC仍是下条指令首地址,而A则是从下条指令首地址到常数表格中的被访问字节的偏移量。10解结果为(A)30H(R0)50H(50H)00H(51H)30H11解结果为61H24H62H10H30H00H31H0FFHDPTR2410HSP60H12解指令源操作数的寻址方式执行指令后的结果MOVA,40H直接寻址A50HMOVR0,A寄存器寻址R050HMOVP1,80H立即寻址P180HMOVR0,20H寄存器间接寻址50H30HMOVDPTR,2000H立即寻址DPTR2000HMOV40H,30H直接寻址40H40HMOVR0,30H直接寻址R040HMOVD0H,R0直接寻址D0H40HMOV10H,10H立即寻址10H10HMOVA,R0寄存器间接寻址A50HMOVP2,P1寄存器寻址P280H13解(1)R1的内容传送到R0;MOVA,R1MOVR0,A(2)片外RAM20H单元内容送R0;10MOVDPTR,0020HMOVXA,DPTRMOVR0,A(3)片外RAM20H单元的内容送片内RAM20H单元;MOVDPTR,0020HMOVXA,DPTRMOV20H,A(4)片外RAM1000H单元的内容送片内RAM20H单元;MOVDPTR,1000HMOVXA,DPTRMOV20H,A(5)ROM2000H单元的内容送R0单元;MOVA,00HMOVDPTR,2000HMOVCA,ADPTRMOVR0H,A(6)ROM2000H单元的内容送片内RAM20H单元;MOVA,00HMOVDPTR,2000HMOVCA,ADPTRMOV20H,A(7)ROM2000H单元的内容送片外RAM20H单元。MOVA,00HMOVDPTR,2000HMOVCA,ADPTRMOVDPTR,0020HMOVXDPTR,A14解ORG0000HLJMPSTARTORG0030HSTARTMOVA,22HADDA,32HDAAMOV42H,AMOVA,23HADDCA,33HDAAMOV43H,ASJMPEND11315解ORG0000HLJMPMAINORG0030HMAINMOVR7,20HMOVR1,40HMOVDPTR,3000HLOOPMOVA,R1MOVXDPTR,AINCR1INCDPTRDJNZR7,LOOPSJMPEND16解ORG0000HLJMPMAINORG0030HMAINMOVR0,30HMOVR1,00HMOVR2,00HMOVR3,07HLP2MOVA,R0ADDA,R2MOVR2,AJNCLP1INCR1LP1INCR0DJNZR3,LP2MOVR3,03HLP3CLRCMOVA,R1RRCAMOVR1,AMOVA,R2RRCAMOVR2,ADJNZR3,LP3MOV3AH,R2SJMPEND17解ORG0000HLJMPSTARTORG0030HSTARTMOVDPTR,2001H12MOVXA,DPTRMOV30H,AMOVDPTR,2002HMOVXA,DPTRADDA,30HMOVB,AMULABMOVR1,ACJNEA,10,NET1MOVDPTR,2000HMOVXDPTR,ASJMPNET3NET1JNCNET2CLRCMOVA,R1SUBBA,10MOVDPTR,2000HMOVXDPTR,ASJMPNET3NET2MOVA,R1ADDA,10MOVDPTR,2000HMOVXDPTR,ANET3SJMPEND19解13ORG0000HLJMPMAINORG0030HMAINMOVR2,100MOVR3,00HMOVR4,00HMOVR5,00HMOVDPTR,2000HLOOPMOVXA,DPTRCJNEA,00H,NET1INCR3INCDPTRDJNZR2,LOOPSJMPNET3NET1JCNET2INCR4INCDPTRDJNZR2,LOOPSJMPNET3NET2INCR5INCDPTRDJNZR2,LOOPNET3SJMPEND22解ORG0000HLJMPMAINORG0030HMAINLCALLSUBONEAJMPSUBONEUSEDPTR,A,30H,31HSUBONEMOVDPTR,2000HLOOPMOVXA,DPTRXRLA,41HJNZTTMOVA,30HMOVDPTR,20A0HMOVXDPTR,AMOVDPTR,20A1HMOVA,31HMOVXDPTR,ARETTTINCDPTRMOV30H,DPHMOV31H,DPLMOVA,31H14CJNEA,00H,LOOPRETEND1什么是中断和中断系统其主要功能是什么2什么是是中断优先级中断优先级处理的原则是什么38051有哪些中断级如何对各中断请求进行控制5简述MCS51单片机的中断响应过程。68051怎么管理中断怎样开放和禁止中断怎么设置优先级78051在什么条件下可响应中断8请写出为低电平触发的中断系统初始化程序。1INT9说明MCS51单片机响应中断后,中断服务的入口地址。118051单片机外部中断源有几种触发中断请求的方法如何实现中断请求12MCS51的中断服务程序能否存放在64KB程序存储器的任意区域如何实现148051单片机内部有几个定时器/计数器它们是由哪些特殊功能寄存器组成158051单片机定时器/计数器作定时和计数使用时,其计数脉冲分别由谁提供17定时器/计数器的4种工作方式个有何特点如何选择、设定18使用一个定时器,如何通过软硬结合方法实现较长时间的定时20一直8051单片机系统的时钟频率为6MHZ,请利用定时器T0和P12输出矩形脉冲,其波形如图P31所示,试编程实现之。350US50US图P31例320的波形图21在8051单片机中,已知时钟频率为12MHZ,请编程使P10和P11分别输出周期为2MS和500US的方波。22利用8051单片机定时器/计数器测量某正脉冲宽度,已知此脉冲宽度小于10MS,主机频率为12MHZ。编程测量脉冲宽度,并把结果转换为BCD码,顺序存放在以片内50H单元为首地址的内存单元中(50H单元存各位)。23波特率、比特率和数据传送的含义是什么24什么是串行异步通信它有哪些特征27简述串行接口接收和发送数据的过程32利用8051串行口控制8位发光二极管工作,要求发光二极管每1S交替地亮、灭,画出电路图并编写程序。33试编写一串行通讯的数据发送程序,发送片内RAM的20H2FH单元的16字节数据,串行接口方式设定为方式2,采用偶校验方式。设晶振频率为6MHZ。34试编写一串行通讯的数据接收发送程序,将接收到的16字节数据送入片内RAM30H3FH单元中。串行接口设定为方式3,波特率为1200BPS,晶振频率为6MHZ。1解15当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,CPU暂时中止当前的工作,转去处理所发生的事件,处理完该事件以后,再回到原来被中止的地方,继续原来的工作。这种过程为中断,实现这种服务的部件称为中断系统。功能实时处理,能对外界异步发生的事件作出及时的处理。完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。实现实时控制。2解中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是1先响应优先级高的中断请求,再响应优先级低的中断请求。2如果一个中断请求己被响应,同级的其他中断请求将被禁止。3如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。单片机内部自然优先级顺序(由高到低)为外部中断0定时器0中断外部中断L定时器1中断串行接口中断。3解(1)80C51有以下中断源外部中断0()请求,低电平有效。INT外部中断1()请求,低电平有效。T0定时器/计数器0溢出中断请求。T1定时器/计数器1溢出中断请求。TI/RI串行接口中断请求。(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现对各种中断的控制功能。5解单片机一旦响应中断请求,就由硬件完成以下功能(1)根据响应的中断源的中断优先级,使相应的优先级状态触发器置1;(2)执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈,保护断点,寻找中断源;(3)清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);(4)把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。(5)中断返回,程序返回断点处继续执行。6解(1)由中断源提出中断请求,由中断控制允许控制决定是否响应中断,如果允许响应中断,则CPU按设定好的优先级的顺序响应中断。如果是同一优先级的中断,则按单片机内部的自然优先级顺序(外部中断0定时器0中断外部中断L定时器1中断串行接口中断)响应中断。CPU响应中断请求后,就立即转入执行中断服务程序。保护断点、寻找中断源、中断处理、中断返回,程序返回断点处继续执行。2由中断允许寄存器IE控制开放和禁止中断。欲开放某一中断,则应先开放总中断16允许(EA置1),然后开放相应中断的中断允许(相应位置1);若要要禁止中断,则EA置O即可。3由中断优先级控制寄存器IP控制中断优先级,相应位置1,则设为高级中断,置0则为低级。其中PS为串行中断优先级,PTL0为定时中断10优先级,PXL0外部中断10优先级。7解1有中断源发出中断请求。2中断总允许控制位EAL,CPU开放总中断。3申请中断的中断源的中断允许位为1,即该中断没有被屏蔽。4无同级或更高级中断正在服务。5当前指令周期已经结束。6若现行指令为RETI或访问IE或IP指令时,读指令以及紧接着的另一条指令已执行完毕。满足以上条件,则CPU响应响应中断元的中断请求。8解ORG0000HLJMPMAINORG0013HLJMPINT1ORG0030HMIANSETBEASETBEX1SETBPX1CLRIT1END9解中断服务程序的入口地址如下表中断源中断矢量外部中断0()INT0003H定时器T0中断000BH外部中断1()0013H定时器T1中断001BH串行口中断0023H11解有两种方式电平触发和边沿触发。(1)电平触发方式CPU在每个机器周期的S5P2期间采样外部中断引脚的输人电平。若为低电平,便置IELIEO为“1”,申请中断;若外部中断引脚为高电平,则IELIEO清零。(2)边沿触发方式CPU在每个机器周期的S5P2期间采样外部中断请求引脚的输人电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,17接着下一个机器周期采样到外部中断请求为低电平,则使IELIEO置1,申请中断否则,IEL1E0置0。12解可以。在相应的中断源的中断程序入口地址处,用一条长跳转指令(LJMPADD16),转到相应64K程序存储器的任意地址(ADD16)处,执行相应的中断程序。14解80C51单片机片内设有2个定时器计数器定时器计数器T0和定时器计数器T1,T0由TH0、TL0组成,T1由TH1、TLL组成。T0、T1由特殊功能寄存器TMOD、TCON控制。15解作定时器时,计数脉冲来自单片机内部,是由单片机晶振经过12分频后获得的脉冲。作为计数器时,计数脉冲来自单片机的外部,即T0与T1两个引用的输入脉冲。17解1工作方式O13位定时器/计数器工作方式。工作方式0由TH0的全部8位和TL0的低5位构成13位加1计数器,此时TL0的高3位未用。在计数过程中,当TL0的低5位溢出时,都会向TH0进位,而全部13位计数器溢出时,则计数器溢出标志位TF0置位。2工作方式L16位的定时器/计数器方式。工作方式1由TH0作为高8位,TL0为低8位,在计数过程中,当全部16位计数器溢出时,则计数器溢出标志位TF0置位。3工作方式2自动重新装入计数初值的8位定时器/计数器工作方式。工作方式2的16位定时器/计数器被拆成两个8位寄存器TH0和TL0,CPU在对它们初始化时必须装入相同的定时器/计数器初值。定时器/计数器启动后,TL0按8位加1计数器计数,当TL0计数溢出时,置位TF0的同时又从预置寄存器TH0中重新获得计数初值并启动计数。如此反复。适合于需要重复计数的应用场合,也可以当做串行数据通信的波特率发生器使用。4工作方式3两个8位定时器/计数器(仅适用于T0)。在工作方式3时,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中,TL0既可以作计数器使用,也可以作为定时器使用,定时器/计数器0的各控制位和引脚信号全归它使用。其功能和操作与方式0或方式1完全相同。TH0只能作为简单的定时器使用,只能借用定时器/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制TH0定时的启动和停止。一般情况下,只有在T1以工作方式2运行(当波特率发生器用)时,才允许T0工作于方式3。TMOD用于控制定时器/计数器T0和T1的工作方式,M1M0为工作方式选择位。M1M000方式0,13位定时器/计数器;M1M001方式1,16位定时器/计数器;M1M010方式2,自动重新装入计数初值的8位定时器/计数器;18M1M011方式3,两个8位定时器/计数器(仅适用于T0)。为定时方式/计数方式选择位。若设定0,则选择定时器工作方式;若设定TCT/C1,则选择计数器工作方式。一个定时器/计数器同一时刻或者作定时用,或者作计数用,不能同时既作定时又作计数用。GATE门控位。它的状态决定了定时器/计数器启/停控制取决于TR0还是取决于TR0和引脚两个条件的组合。若GATE0,则只由TCON中的启/停控制位TR0控制定时IN0器/计数器的启/停。此时,只要TR01,则接通模拟开关,使计数器进行加法计数,定时器/计数器启动工作。而如果TR00,则断开模拟开关,定时器/计数器停止工作。若GATE1,由外部中断请求信号和TCON中的启/停控制位TR0组合状态控制定时器/INT0计数器的启/停。只有TR01,且引脚也是高电平,才能启动定时器/计数器工作,否则,定时器/计数器停止工作。定时器/计数器的定时器/计数器范围为工作方式013位定时器/计数器方式,因此,最多可以计到213,也就是8192次。工作方式116位定时器/计数器方式,因此,最多可以计到216,也就是65536次。工作方式2和工作方式3都是8位的定时器/计数器方式,因此,最多可以计到28,也说是256次。18解设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。20解ORG0000HLJMPSTARTORG0100HSTARTMOVSP,60HMOVTMOD,02HMOVTH0,0E7HMOVTL0,0E7HCLRP12SETBTR0HIGH0SETBP12HIGH1JBCTF0,LOW0AJMPHIGH1LOW0MOVR7,7CLRP12LOW1JBCTF0,LOW2AJMPLOW1LOW2DJNZR7,LOW1AJMPHIGH019END21解选择定时器T0,工作方式1,定时500US,则机器周期T1US则(216X)500,X65036D0FEOCH程序ORG0000HMOVTMOD,01HMOVTH0,0FEHMOVTL0,OCHSETBTR0DELMOVR7,4D500JBCTF0,D2AJMPD500D2CPLP10MOVTH0,0FEHMOVTL0,OCHDJNZR7,D500CPLP11AJMPDELSJMPEND22解ORG0000HLJMPSTARTORG0030HSTARTMOVTMOD,09H;T0方式1,GATE1MOVTH0,00HMOVTL0,00HMOVR0,4EHWAIT1JBP32,WAIT1;等待变低INT0SETBTR0;启动T0计数WAIT2JNBP32,WAIT2;等待变高IWAIT3JBP32,WAIT3;等待变低1TCLRTR0MOVR0,TL0INCR0MOVR0,TH0MOVR1,50HMOVR5,3HCLRA20LOOP1MOVR1,AINCR1DJNZR5,LOOP1MOVR7,10HLOOP2MOVR0,4EHMOVR6,2HCLRCLOOP3MOVA,R0CLRAMOVR0,AINCR0DJNZR6,LOOP3MOVR5,3MOVR1,50HLOOP4MOVA,R1ADDCA,R1DAAMOVR1,AINCR1DJNZR5,LOOP4DJNZR7,LOOP2SJMPEND23解为了衡量串行通信的速度,应该有一个测量单位,在数据通信中,描述数据传送速度的方式有3种波特率定义为每秒传送信号的数量,单位为波特(BAUD)。比特率定义为每秒传送二进制数的信号数(或每秒传送二进制码元的个数),单位是BPS(BITPERSECOND)或写成B/S(位/秒)。数据传送速率或字符传送速率定义为每秒传送多少个字符或单位时间内平均数据传移速率,单位是字符/秒。在串行通信中,传送的信号可能是二进制、八进制或十进制等。只有在传送的信号是二进制信号时,波特率才与比特率数值上相等。而在采用调制技术进行串行通信时,波特率是描述载波信号每秒钟变化为信号的数量(又称为调制速率)。在这种情况下,波特率与比特率在数值上可能不相等。24解异步通信中,接收器和发送器有各自的时钟,数据常以字符为单位组成字符帧传送,用一帧来表示一个字符,其字符帧的数据格式为在一帧格式中,先是一个起始位“0”(低电平),然后是58个数据位,规定低位在前,高位在后,接下来是1位奇偶校验位(可以省略),最后是12位的停止位“1”(高电平)。异步通信的优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。2127解串行接口的接收和发送是对同一地址99H两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写“命令时执行“MOVSBUF,A“指令,即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完使发送中断标志位TI1。在满足串行接口接收中断标志位RISCONO0的条件下,置允许接收位RENSCON41,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使R11。当发读SBUF命令时执行“MOVA,SBUF“指令,便从接收缓冲器SBUF读取信息通过80C5L内部总线送CPU。32解主程序框图如下程序如下ORG0040HMOVSCON,00HMOVSBUF,0FFHSETBCMOV00H,CAAACALLDELAYCPL00HMOVC,00HJCBBMOVSBUF,00HSJMPCCBBMOVSBUF,0FFHCCAJMPAADELAYMOVR7,8D1MOVR6,250D2MOVR5,250串口初始化FFH送SBUF设标志调延时程序标志位取反标志为零标志为1FF送SBUF标志为零OOH送SBUF22D3DJNZR5,D3DJNZR6,D2DJNZR7,D1RETEND33解采用查询方式编写发送程序如下ORG0000HLJMPSTARTORG0030HSTARTMOVSCON,80H;设定方式2发送MOVPCON,80HMOVR0,20H;给待发送数据块地址指针R0置初值MOVR7,16;给数据块长度计数器R7置初值LSMOVA,R0;取一字节数据送AMOVC,PMOVTB8,C;P随A变,PTB8MOVSBUF,A;启动发送JNBTI,;查询发送标志,等待一字节发送完CLRTI;清TI标志位DJNZR7,LSRETEND34解程序如下ORG0000HLJMPSTARTORG0100HSTARTMOVTMOD,20H;设定T1为模式2定时MOVTH1,0F3H;送时间常数MOVTL1,0F3HSETBTR1;启动定时器T1MOVSCON,0D0H;串行接口设定为方式3,并允许接收MOVR0,30HMOVR7,16JNBRI,;查询等待接收CLRRIMOVA,SUBF;从串行接口中读取数据JNBP,PN;对该字节进行查错处理若PRB8无错,否则有错JNBRB8,PER;若P1,RB80,有错,转出错处理LJMPRIG;若P1,RB81,无错,转保存数据PNJBRB8,PER;若P0,RB81,有错,转出错处理RIGMOVR0,A;若P0,RB80,无错,保存接收到的数据INCR0DJNZR7,LOOP;16字节未接收完,则继续CLR7F;正确接收完16位数据,清出错标志位7FSJMPPERSETB7F;校验有错,置位7FSJMPEND231解释三总线的概念2I/O接口和I/O端口有区别I/O接口的作用是什么3I/O数据有几种传送方式各有什么特点4外设端口有几种传送方式各有什么特点6为什么当P2口作为地址总线后,如有剩余口线也不再适合做通用I/O口7MCS51系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线为何不会产生冲突8某一单片机应用系统,需扩展4KB的EPROM和2KB的RAM,还需外扩一片8255并行接口芯片,采用线选法,画出硬件连接图,并指出各芯片的地址范围。9某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。10I/O扩展方法有那几种20何谓“看门狗”它如何实现对系统程序的监控21说明I2C总线的特点,以及在单片机中实现该总线的方法。1解MCS51系列单片机具有很强的外部扩展功能。其外部引脚可构成三总线结构,即地址总线、数据总线和控制总线。单片机所有的外部扩展都是通过三总线进行的。(1)地址总线(AB)地址总线用于传送单片机输出的地址信号,宽度为16位,可寻址的地址范围为21664KB。地址总线是单向的,只能由单片机向外发出。P0口提供低8位地址,P2口提供高8位地址。由于P0口既做地址线又做数据线,分时复用,所以,P0口提供的低8位地址是由P0口经锁存器提供的。锁存信号是由CPU的ALE引脚提供的。(2)数据总线(DB)数据总线是由P0口提供的,宽度为8位。P0口是双向三态口,是单片机应用系统中使用最频繁的通道。P0口提供的数据总线上要连接多个扩展的外围芯片,而某一时刻只能有一个有效的数据传输通道。具体哪一个芯片的数据通道有效,是由各个芯片的片选信号控制选择的。欲使CPU与某个外部芯片交换数据,则CPU必须先通过地址总线发出该芯片的地址,使该芯片的片选信号有效,则此时P0口数据总线上的数据只能在CPU和该芯片之间进行传送。(3)控制总线(CB)控制总线实际上是CPU输出的一组控制信号。每条控制信号都是单向的,但是由多条不同的控制信号组合而成的控制总线则是双向的。MCS51系列单片机中用于系统扩展的控制信号有,ALE和。RDWPSENA2解接口(也称为I/O接口)是指连接CPU与外部输入/输出设备之间的部件,这些部件是CPU与外设之间进行信息传送的媒介。I/O接口芯片都有一个或几个端口,一个端口对应于接口芯片内部的一个寄存器或一组寄存器,计算机系统要为每个端口分配一个地址,各个端口的地址是唯一的,不能重复。在信息传送过程中,接口起着数据锁存、数据缓冲、输入/输出、联络、数据转换、中断管理、时序控制、可编程、电器特征匹配等作用。3解CPU与外设之间传输数据的控制方式通常有三种程序方式、中断方式和DMA方式。24程序方式指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。无条件传送方式接口简单,适用于那些能随时读写的设备。条件传送方式(查询方式)的特点是接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。中断方式当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序

温馨提示

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

评论

0/150

提交评论