单片机原理及应用(饶志强)课后习题答案_第1页
单片机原理及应用(饶志强)课后习题答案_第2页
单片机原理及应用(饶志强)课后习题答案_第3页
单片机原理及应用(饶志强)课后习题答案_第4页
单片机原理及应用(饶志强)课后习题答案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、12.1 mcs-512.1 mcs-51单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是什么?什么?2.2 mcs-512.2 mcs-51的的eaea端有何用途?端有何用途?2.3 mcs-512.3 mcs-51单片机外部总线结构是怎样的?单片机外部总线结构是怎样的?2.4 mcs-512.4 mcs-51单片机存储器的组织结构是怎样的?单片机存储器的组织结构是怎样的?2.5 mcs-512.5 mcs-51系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少?系列单片机的存储器可划分为几个空间?各

2、自的地址范围和容量是多少?在使用上有什么不同?在使用上有什么不同?2.6 80512.6 8051如何确定和改变当前工作寄存器组?如何确定和改变当前工作寄存器组?2.7 mcs-512.7 mcs-51单片机的程序存储器中单片机的程序存储器中0000h0000h、0003h0003h、000bh000bh、0013h0013h、001bh001bh和和0023h0023h这几这几个地址具有什么特殊的功能?个地址具有什么特殊的功能?2.8 80512.8 8051单片机有哪几个特殊功能寄存器?可位寻址的单片机有哪几个特殊功能寄存器?可位寻址的sfrsfr有几个?有几个?2.9 2.9 程序状态寄

3、存器程序状态寄存器pswpsw的作用是什么?常用标志有哪些位?作用是什么?的作用是什么?常用标志有哪些位?作用是什么?2.10 2.10 (spsp)=30h =30h 指什么?指什么?2.11 mcs-512.11 mcs-51系列单片机的系列单片机的p0p0、p1p1、p2p2和和p3p3口各有什么特点?口各有什么特点?2.12 ale2.12 ale信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下aleale信号信号可用作外部设备的定时信号。可用作外部设备的定时信号。2.13 2.13 有那几种方法能使单片机复位?复

4、位后各寄存器的状态如何?复位对内部有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部ramram有有何影响?何影响?2.14 mcs-512.14 mcs-51的时钟振荡周期、机器周期和指令周期之间有何关系?的时钟振荡周期、机器周期和指令周期之间有何关系?22.1 mcs-512.1 mcs-51单片机内部包含那些主要逻辑功能部件?各个功能部件的最单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是什么?主要的功能是什么?答案:答案:mcs-51mcs-51单片机内部主要包括以下几个部分:单片机内部主要包括以下几个部分:1 1一个一个8 8位微处理器位微处理器cpuc

5、pu mcs-51 mcs-51单片机中有一个单片机中有一个8 8位的位的cpucpu,包括运算器和控制器两个部分,包括运算器和控制器两个部分,并且增加了面向控制的处理功能,不仅可以处理字节数据还可以进行位变并且增加了面向控制的处理功能,不仅可以处理字节数据还可以进行位变量的处理,如位处理、查表、状态检测、中断处理等。量的处理,如位处理、查表、状态检测、中断处理等。2 2数据存储器数据存储器ramram和特殊功能寄存器和特殊功能寄存器sfrsfr 片内具有片内具有128bytes128bytes(5252系列为系列为256bytes256bytes)的数据存储器,片外最多)的数据存储器,片外最

6、多可以扩展可以扩展64kb64kb。数据存储器用来存储单片机运行期间的工作变量、运算的。数据存储器用来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。中间结果、数据暂存和缓冲、标志位等。3 3内部程序存储器内部程序存储器romrom 内部具有内部具有4kb4kb(5151系列)系列)/8kb/8kb(5252系列)的程序存储器(系列)的程序存储器(flashflash),用),用来存储用户程序。如果片内程序存储器容量不够可以外部扩展程序存储器,来存储用户程序。如果片内程序存储器容量不够可以外部扩展程序存储器,最多可以扩展最多可以扩展64kb64kb。4 4两个定时两个定

7、时/ /计数器计数器 mcs-51mcs-51单片机内部具有单片机内部具有2 2个个1616位的定时器位的定时器/ /计数器。在使用中,这两个计数器。在使用中,这两个定时器定时器/ /计数器既可以进行精确的计时,又可以对外部事件进行计数,是最计数器既可以进行精确的计时,又可以对外部事件进行计数,是最常用和最基本的部件。常用和最基本的部件。5 5四个四个8 8位可编程的位可编程的i/oi/o(输入(输入/ /输出)并行端口输出)并行端口 四个四个8 8位的并行端口,其中位的并行端口,其中p0p0为双向口,为双向口,p1p1p3p3为准双向口。为准双向口。36 6一个串行通信端口一个串行通信端口

8、一个全双工的串行口,具有四种工作方式。可以用来进行串行一个全双工的串行口,具有四种工作方式。可以用来进行串行异步通信,与异步通信,与pcpc机或者多个单片机主从通信或者构成多机系统实现更机或者多个单片机主从通信或者构成多机系统实现更强大的功能。强大的功能。7 7中断控制系统中断控制系统 mcs-51mcs-51单片机具有单片机具有5 5个固定的可屏蔽中断源,个固定的可屏蔽中断源,3 3个在片内,个在片内,2 2个在个在片外,它们在程序存储器中有各自固定的中断入口地址,由此进入中片外,它们在程序存储器中有各自固定的中断入口地址,由此进入中断服务程序。断服务程序。5 5个中断源有两个中断优先级,可

9、形成中断嵌套。个中断源有两个中断优先级,可形成中断嵌套。8 8内部时钟电路内部时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准。单片机的时钟信号用来提供单片机片内各种微操作的时间基准。2.2 mcs-512.2 mcs-51的的eaea端有何用途?端有何用途?答案:答案:ea ea 访问外部程序存储器控制信号。对访问外部程序存储器控制信号。对80518051和和87518751,它们片内有,它们片内有4kb4kb的程序存储器,当的程序存储器,当ea ea 为高电平时,分两种情况。若访问的地址空为高电平时,分两种情况。若访问的地址空间在间在0-4k0-4k范围内,范围内,cpuc

10、pu访问片内程序存储器。访问的地址超出访问片内程序存储器。访问的地址超出4k4k时,时,cpucpu将自动执行外部程序存储器,即访问外部将自动执行外部程序存储器,即访问外部romrom。当。当eaea接低电平时,接低电平时,cpucpu只访问外部只访问外部eprom/romeprom/rom,而不管是否有片内程序存储器。对,而不管是否有片内程序存储器。对80318031,eaea必须接地。必须接地。 42.3 mcs-512.3 mcs-51单片机外部总线结构是怎样的?单片机外部总线结构是怎样的?答案:答案:1 1地址总线(地址总线(abab):): 地址总线宽度为地址总线宽度为1616位,由

11、位,由p0p0口经地址锁存器提供低口经地址锁存器提供低8 8位地址(位地址(a0-a0-a7a7););p2p2口直接提供高口直接提供高8 8位地址(位地址(a8a8a15a15)。地址信号是由)。地址信号是由cpucpu发出的,发出的,故地址总线是单方向的。故地址总线是单方向的。2 2数据总线(数据总线(dbdb):): 数据总线宽度为数据总线宽度为8 8位,用于传送数据和指令,由位,用于传送数据和指令,由p0p0口提供。口提供。3 3控制总线(控制总线(cbcb):): 控制总线随时掌握各种部件的状态,并根据需要向有关部件发出控制总线随时掌握各种部件的状态,并根据需要向有关部件发出命令。命

12、令。其中地址总线和数据总线,以及控制总线和其中地址总线和数据总线,以及控制总线和ioio都有部分功能上的重叠,都有部分功能上的重叠,也就是有些口线既是地址总线也是数据总线,而有些控制总线也是也就是有些口线既是地址总线也是数据总线,而有些控制总线也是ioio。2.4 mcs-512.4 mcs-51单片机存储器的组织结构是怎样的?单片机存储器的组织结构是怎样的?答案:答案:mcsmcs5151单片机的存储器采用的是哈佛(单片机的存储器采用的是哈佛(harvardharvard)结构,即程序)结构,即程序存储器和数据存储器分开编址,在空间上是各自独立的,两种存储器有存储器和数据存储器分开编址,在空

13、间上是各自独立的,两种存储器有自己的寻址方式和寻址空间。自己的寻址方式和寻址空间。 52.5 mcs-512.5 mcs-51系列单片机的存储器可划分为几个空间?各自的地址范围系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少?在使用上有什么不同?和容量是多少?在使用上有什么不同?答案:答案:mcsmcs5151的存储器空间可以划分为以下的存储器空间可以划分为以下4 4种,分别是:种,分别是:程序存储器;内部数据存储器;内部特殊功能寄存器;外部数据存储程序存储器;内部数据存储器;内部特殊功能寄存器;外部数据存储器;器; 对对89s5189s51来说,程序存储器分为片内程序存储器和片

14、外程序存储器,来说,程序存储器分为片内程序存储器和片外程序存储器,片内程序存储器地址范围为片内程序存储器地址范围为0000h-0fffh,4kb0000h-0fffh,4kb;片外程序存储器地址范;片外程序存储器地址范围围0000h0000hffffhffffh,64kb64kb。内部程序存储器与外部程序存储器统一编址,。内部程序存储器与外部程序存储器统一编址,当当eaea为高电平时,从内部程序存储器开始读取程序,达到为高电平时,从内部程序存储器开始读取程序,达到4kb4kb后跳到片后跳到片外程序存储器的外程序存储器的1000h1000h开始读取程序;当开始读取程序;当eaea为低电平时,直接

15、从片外程为低电平时,直接从片外程序存储器的序存储器的0000h0000h开始处读取程序。开始处读取程序。 内部数据存储器地址范围为内部数据存储器地址范围为00h00h7fh7fh,128b128b,在程序中做通用存,在程序中做通用存储器使用。储器使用。 内部特殊功能寄存器地址范围内部特殊功能寄存器地址范围80h80hffhffh,128b128b,专用于控制、管,专用于控制、管理片内算术逻辑部件、并行理片内算术逻辑部件、并行i/oi/o口、串行口、串行i/oi/o口、定时器口、定时器/ /计数器、中断计数器、中断系统等功能模块的工作。系统等功能模块的工作。 外部数据存储器地址范围外部数据存储器

16、地址范围0000h0000hffffhffffh,64kb64kb,又称为外部数据,又称为外部数据ramram,当单片机内部,当单片机内部128128个字节的数据个字节的数据ramram不能满足系统工作的需要时,不能满足系统工作的需要时,可以通过它的外部总线扩展外部数据存储器。可以通过它的外部总线扩展外部数据存储器。 62.6 80512.6 8051如何确定和改变当前工作寄存器组?如何确定和改变当前工作寄存器组?答案:状态寄存器答案:状态寄存器pswpsw中中rs1,rs0rs1,rs0两位进行寄存器组选择,两位进行寄存器组选择, 0 0 0 0 组组0 0(00h-07h00h-07h)

17、0 1 0 1 组组1 1(08h-0fh08h-0fh) 1 0 1 0 组组2 2(10h-17h10h-17h) 1 1 1 1 组组3 3(18h-1fh18h-1fh) 2.7 mcs-512.7 mcs-51单片机的程序存储器中单片机的程序存储器中0000h0000h、0003h0003h、000bh000bh、0013h0013h、001bh001bh和和0023h0023h这几个地址具有什么特殊的功能?这几个地址具有什么特殊的功能?答案:答案:0000h0000h:单片机复位后,:单片机复位后,pcpc0000h0000h,程序从,程序从0000h0000h开始执行开始执行 指

18、令,故系统必须从指令,故系统必须从0000h0000h单元开始取指令,执行程序。单元开始取指令,执行程序。 0003h0003h:外部中断:外部中断0 0入口地址。入口地址。 000bh000bh:定时器:定时器0 0中断入口地址。中断入口地址。 0013h0013h:外部中断:外部中断1 1入口地址。入口地址。 001bh001bh:定时器:定时器1 1中断入口地址。中断入口地址。 0023h0023h:串行口中断入口地址。:串行口中断入口地址。 在系统中断响应之后,将自动转到各中断入口地址处执行程在系统中断响应之后,将自动转到各中断入口地址处执行程序序。 72.8 80512.8 8051

19、单片机有哪几个特殊功能寄存器?可位寻址的单片机有哪几个特殊功能寄存器?可位寻址的sfrsfr有几个?有几个?答案:答案:80518051有有2121个特殊功能寄存器个特殊功能寄存器 ,包括:,包括:a a累加器,累加器,b b寄存器,寄存器, pswpsw程序状态字,程序状态字, spsp堆栈指针堆栈指针 ,dptrdptr数据指针寄存器数据指针寄存器 ,pcpc程序计数器(程序计数器(1616位)位) ,p0p0p3p3i/oi/o端口端口 ,ipip中断优先级控制寄存器,中断优先级控制寄存器,ieie中断允许控制寄存器,中断允许控制寄存器,tmodtmod定定时器时器/ /计数器方式控制寄

20、存器,计数器方式控制寄存器,tcontcon定时器定时器/ /计数器控制寄存器,计数器控制寄存器,th0th0,tl0tl0定时器定时器/ /计数器计数器0 0,th1th1,th1th1定时器定时器/ /计数器计数器1 1,sconscon串行串行端口控制寄存器,端口控制寄存器,sbufsbuf串行数据缓冲器,串行数据缓冲器,pconpcon电源控制寄存器。电源控制寄存器。 可可位位寻址的寻址的sfrsfr有有1111个。个。2.9 2.9 程序状态寄存器程序状态寄存器pswpsw的作用是什么?常用标志有哪些位?作用是什的作用是什么?常用标志有哪些位?作用是什么?么?答案:答案:pswpsw

21、程序状态字。主要起着标志寄存器的作用。常用标志位及其程序状态字。主要起着标志寄存器的作用。常用标志位及其作用如下:作用如下:cycy进(借)位标志,其主要作用是保存算术运算的进或借位并在进行进(借)位标志,其主要作用是保存算术运算的进或借位并在进行位操作时做累加器。位操作时做累加器。 在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。位与和位或等位操作中,都

22、要使用进位标志位。8acac辅助进位标志,当进行以辅助进位标志,当进行以a a为目的的运算时,运算结果从为目的的运算时,运算结果从d3d3位产生位产生进位或借位时进位或借位时ac=1ac=1,另外可用于,另外可用于bcdbcd码调整。码调整。 进行加法或减法操作时,当发生低四位向高四位进位或借位时,进行加法或减法操作时,当发生低四位向高四位进位或借位时,acac由硬件置位,否则由硬件置位,否则acac位被置位被置0 0。在进行十进制调整指令时,将借助。在进行十进制调整指令时,将借助acac状态状态进行判断。进行判断。 f0f0用户标志,是用户可以使用的位变量,可以随用户标志,是用户可以使用的位

23、变量,可以随pswpsw被保存。被保存。 该位为用户定义的状态标记,用户根据需要用软件对其置位或清零,该位为用户定义的状态标记,用户根据需要用软件对其置位或清零,也可以用软件测试也可以用软件测试f0f0来控制程序的跳转。来控制程序的跳转。rs1,rs0rs1,rs0寄存器组选择,寄存器组选择, ovov溢出标志位,在有符号数运算结果超出允许范围溢出标志位,在有符号数运算结果超出允许范围ov=1,ov=1,否则否则ov=0ov=0。p p奇偶标志位,主要作用是在每个机器周期根据累加器奇偶标志位,主要作用是在每个机器周期根据累加器a a中的内容的奇中的内容的奇偶性由硬件置偶性由硬件置/ /复位,当

24、复位,当a a中中1 1的个数为奇的个数为奇p=1p=1,否则为,否则为p=0p=0。2.10 2.10 (spsp)=30h =30h 指什么?指什么?答案:指的是将堆栈基地址指向答案:指的是将堆栈基地址指向30h30h。92.11 mcs-512.11 mcs-51系列单片机的系列单片机的p0p0、p1p1、p2p2和和p3p3口各有什么特点?口各有什么特点?答案:答案:p0p0口是一个三态双向口,可作为地址口是一个三态双向口,可作为地址/ /数据分时复用口;也可作数据分时复用口;也可作为通用为通用i/oi/o接口。接口。 p1p1口为准双向口口为准双向口 ,输出驱动部分由场效应管,输出驱

25、动部分由场效应管t t与内部上拉电阻组与内部上拉电阻组成。当其某位输出高电平时,可以提供拉电流负载,不必像成。当其某位输出高电平时,可以提供拉电流负载,不必像p0p0口那样口那样需要外接上拉电阻。需要外接上拉电阻。p1p1口是具有输出锁存的静态口。口是具有输出锁存的静态口。p1p1口在作为引脚口在作为引脚读入前,必须先对相应端口写入读入前,必须先对相应端口写入1 1 。 p2p2端口除了可以作为准双向通用端口除了可以作为准双向通用ioio外;还用作输出地址总线的高外;还用作输出地址总线的高8 8位,所以位,所以p2p2端口在功能上兼有端口在功能上兼有p0p0端口和端口和p1p1端口的特点。端口

26、的特点。p2p2端口是动态端口是动态的的ioio端口,输出数据虽然被锁存,但不是稳定地出现在端口线上。端口,输出数据虽然被锁存,但不是稳定地出现在端口线上。 p3p3口为双功能口,当口为双功能口,当p3p3口作为通用口作为通用i/oi/o口使用时,它为静态准双向口使用时,它为静态准双向口,且每位都可定义为输入或输出口,其工作原理同口,且每位都可定义为输入或输出口,其工作原理同p1p1口类似;当处口类似;当处于第二功能时,锁存器输出于第二功能时,锁存器输出1 1,通过第二输出功能线输出特定的第二功,通过第二输出功能线输出特定的第二功能信号,在输入方面,既可以通过缓冲器读入引脚信号,也可以通过能信

27、号,在输入方面,既可以通过缓冲器读入引脚信号,也可以通过第二输入功能读入片内的特定第二功能信号。第二输入功能读入片内的特定第二功能信号。 102.12 ale2.12 ale信号有何功用?一般情况下它与机器周期的关系如何?在什信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下么条件下aleale信号可用作外部设备的定时信号。信号可用作外部设备的定时信号。答案:答案:aleale是地址锁存使能信号,是机器周期的二倍。当不使用单字节是地址锁存使能信号,是机器周期的二倍。当不使用单字节双周期的指令,如双周期的指令,如movxmovx类指令时,可以作为外部设备的定时信号。类指令时,可以作为外

28、部设备的定时信号。2.13 2.13 有那几种方法能使单片机复位?复位后各寄存器的状态如何?有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部复位对内部ramram有何影响?有何影响?答案:可以有上电复位、手动复位和专用芯片复位三种方式。答案:可以有上电复位、手动复位和专用芯片复位三种方式。 复位操作使单片机进入初始化状态,复位操作使单片机进入初始化状态,pcpc初始化为初始化为0000h0000h,使,使mcsmcs5151单片机从单片机从0000h0000h开始执行程序开始执行程序 。 (psw)=00h(psw)=00h,由于,由于rs1(psw.4)=0rs1(psw.4

29、)=0,rs0(psw.3)=0rs0(psw.3)=0,复位后单片机选,复位后单片机选择工作寄存器择工作寄存器0 0组。组。 (sp)=07h(sp)=07h,复位后堆栈在片内,复位后堆栈在片内ramram的的08h08h单元处建立。单元处建立。 th1th1、tl1tl1、th0th0、tl0tl0的内容为的内容为00h00h,定时器,定时器/ /计数器的初值为计数器的初值为0 0。 (tmod)=00h(tmod)=00h,复位后定时器,复位后定时器/ /计数器计数器t0t0、t1t1为定时器方式为定时器方式0 0,非门控,非门控方式。方式。11 (tcon)=00h(tcon)=00h

30、,复位后定时器,复位后定时器/ /计数器计数器t0t0、t1t1停止工作,外部中断停止工作,外部中断0 0、1 1为为电平触发方式。电平触发方式。 (t2con)=00h(t2con)=00h,复位后定时器,复位后定时器/ /计数器计数器t2t2停止工作。停止工作。 (scon)=00h(scon)=00h,复位后串行口工作在移位寄存器方式,且禁止串行口接,复位后串行口工作在移位寄存器方式,且禁止串行口接收。收。 (ie)=00h(ie)=00h,复位后屏蔽所有中断。,复位后屏蔽所有中断。 (ip)=00h(ip)=00h,复位后所有中断源都设置为低优先级。,复位后所有中断源都设置为低优先级。

31、 p0p0p3p3口锁存器都是全口锁存器都是全1 1状态,说明复位后状态,说明复位后4 4个并行接口设置为输入口。个并行接口设置为输入口。 复位不影响内部复位不影响内部ramram的状态(包括通用寄存器的状态(包括通用寄存器rnrn) 。2.14 mcs-512.14 mcs-51的时钟振荡周期、机器周期和指令周期之间有何关系?的时钟振荡周期、机器周期和指令周期之间有何关系?答案:时钟周期是单片机的基本时间单位。若晶振的振荡频率为答案:时钟周期是单片机的基本时间单位。若晶振的振荡频率为12mhz12mhz,则,则时钟周期为时钟周期为1/12mhz=0.0833us1/12mhz=0.0833u

32、s。cpucpu完成一个基本操作所需要的时间称为机完成一个基本操作所需要的时间称为机器周期(器周期(mcmc)。)。 mcsmcs5151单片机每单片机每1212个振荡周期为一个机器周期。晶振频个振荡周期为一个机器周期。晶振频率为率为12mhz12mhz时,机器周期为时,机器周期为12/12mhz=1us12/12mhz=1us。指令周期是执行一条指令所需的。指令周期是执行一条指令所需的时间,可以包括时间,可以包括1 1,2 2,4 4个机器周期。个机器周期。 121.1.什么是寻址方式?什么是寻址方式?mcs-51mcs-51单片机有哪几种寻址方式?单片机有哪几种寻址方式?答案:答案:寻址方

33、式就是寻找地址的方式。包括指令的寻址方式和操作数的寻址寻址方式就是寻找地址的方式。包括指令的寻址方式和操作数的寻址方式。方式。 指令的一个重要的组成部分是操作数,指令给出参与运算的数据的方指令的一个重要的组成部分是操作数,指令给出参与运算的数据的方式称为式称为操作数的操作数的寻址方式。寻址方式。 mcs-51mcs-51系列单片机共有系列单片机共有7 7种种操作数的操作数的寻址方式:立即寻址、直接寻寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。2.2.什么是指令系统?什么是指令系统?mcs-51

34、mcs-51单片机共有多少种指令?单片机共有多少种指令?答案:答案:cpucpu所能执行的各种指令的集合称为指令系统。所能执行的各种指令的集合称为指令系统。mcs-51mcs-51系列单片机的系列单片机的指令系统是一种简明易掌握、效率较高的指令系统。在指令系统是一种简明易掌握、效率较高的指令系统。在mcs-51mcs-51系列单片系列单片机的指令系统中共使用了机的指令系统中共使用了7 7种寻址方式、种寻址方式、4242种助记符,这些助记符与寻址种助记符,这些助记符与寻址方式组合起来,共形成方式组合起来,共形成111111条指令,完成数据传送、算术运算、逻辑运算、条指令,完成数据传送、算术运算、

35、逻辑运算、控制转移以及位操作等方面的工作。控制转移以及位操作等方面的工作。133.3.汇编语言的语句格式是什么?使用标号有什么限制?注释段起什么作用?汇编语言的语句格式是什么?使用标号有什么限制?注释段起什么作用?答案:答案: mcs-51mcs-51汇编语言的语句格式应符合下列结构:汇编语言的语句格式应符合下列结构: 【标号:】【标号:】 操作码操作码 【操作数】【;注释【操作数】【;注释】 标号位于语句的开始,由以字母开头的字母和数字组成,它代表该语句标号位于语句的开始,由以字母开头的字母和数字组成,它代表该语句的地址。标号与操作码之间要用的地址。标号与操作码之间要用“:”隔开,标号与隔开

36、,标号与“:”之间不能有空格,之间不能有空格,“:”与与操作码之间可以有空格。操作码之间可以有空格。 注释在语句的最后,以注释在语句的最后,以“;”开始,是说明性的文字,与语句的具体功开始,是说明性的文字,与语句的具体功能能无关。无关。4.mcs-514.mcs-51汇编语言有哪几条常用伪指令?各起什么作用?汇编语言有哪几条常用伪指令?各起什么作用?答案:答案: orgorg:汇编程序起始地址,用来说明其后程序段在存储器中存放的起:汇编程序起始地址,用来说明其后程序段在存储器中存放的起始始地址;地址; equequ:赋值指令,用来给变量标号赋予一个确定的数值;:赋值指令,用来给变量标号赋予一个

37、确定的数值; dbdb:定义数据字节,指令按字节数的形式把数据存放在存储单元中;:定义数据字节,指令按字节数的形式把数据存放在存储单元中; dwdw:定义数据字,按字(双字节)的形式把数据存放在存储单元中;:定义数据字,按字(双字节)的形式把数据存放在存储单元中; dsds:定义存储区,从指定的地址单元开始,保留一定数量的存储单元;:定义存储区,从指定的地址单元开始,保留一定数量的存储单元; bitbit:位定义,其功能是把位地址赋给字符名称;:位定义,其功能是把位地址赋给字符名称; endend:汇编结束,表明汇编语言程序结束。:汇编结束,表明汇编语言程序结束。145.5.汇编语言程序设计分

38、哪几步?各步骤的任务是什么?汇编语言程序设计分哪几步?各步骤的任务是什么?答案:答案: 分析问题,抽象出描述问题的数学模型;分析问题,抽象出描述问题的数学模型; 确定解决问题的算法或解题思想;确定解决问题的算法或解题思想; 绘制流程图和结构图;绘制流程图和结构图; 分配存储空间和工作单元;分配存储空间和工作单元; 编制程序;编制程序; 程序静态检查,上机调试;程序静态检查,上机调试; 编写相关说明。编写相关说明。 6.6.将累加器将累加器a a中的压缩中的压缩bcdbcd码分为两个字节,形成非压缩码分为两个字节,形成非压缩bcdbcd码,放入码,放入20h20h和和21h21h单元中,写出源程

39、序。单元中,写出源程序。解:由题意,可将累加器解:由题意,可将累加器a a中的低中的低4 4位保留,高位保留,高4 4位清零放入位清零放入20h20h;高;高4 4位保位保留,低留,低4 4位清零,半字节交换后存入位清零,半字节交换后存入21h21h单元中。程序如下。单元中。程序如下。 mov r0mov r0,a a anl a anl a,#0fh#0fh mov 20h mov 20h,a a mov a mov a,r0r0 anl a anl a,#0f0h#0f0h swap a swap a mov 21h mov 21h,a a157.7.已知内部已知内部ramram的的20h

40、20h和和21h21h单元中各有一个无符号单元中各有一个无符号8 8位二进制数,试编程比位二进制数,试编程比较它们的大小,并把大数送到较它们的大小,并把大数送到30h30h单元。单元。解:解: mov amov a,20h20h cjne a cjne a,21h21h,looplooplooploop: jnc loop1jnc loop1 mov a mov a,21h21hloop1loop1:mov 30hmov 30h,a a ret ret168.8.编制一段程序,要求在端口线编制一段程序,要求在端口线p1.0p1.0和和p1.1p1.1上分别产生周期为上分别产生周期为200us2

41、00us和和400us400us的方的方波。设单片机的晶振频率为波。设单片机的晶振频率为12mhz12mhz。解:解: org 0000horg 0000h ajmp start ajmp start org 000bh org 000bh ajmp it0 ajmp it0 org 001bh org 001bh ajmp it1 ajmp it1 org 0100h org 0100h start start: mov tmodmov tmod,#03h ;#03h ;定时器定时器0 0工作在方式工作在方式3 3 mov tl0 mov tl0,#9ch#9ch mov th0 mov t

42、h0,#38h#38h mov tcon mov tcon,#50h #50h ;tr0tr0、tr1=1tr1=1 mov ie mov ie,#8ah #8ah ;全局中断和定时器;全局中断和定时器0 0、定时器、定时器1 1中断允许中断允许 sjmp $sjmp $ org 0130h org 0130h it0 it0: mov tl0mov tl0,#9ch#9ch cpl p1.0 cpl p1.0 reti reti it1 it1: mov th0mov th0,#38h#38h cpl p1.1 cpl p1.1 reti reti end end179.9.试编写一段程序,

43、将外部数据试编写一段程序,将外部数据ramram中从地址中从地址2000h2000h开始的开始的100100个补码数个补码数逐一取出,若为正数则放回原单元,若为负数则求反后放回原单元。逐一取出,若为正数则放回原单元,若为负数则求反后放回原单元。 解:解:startstart: mov dptrmov dptr,#2000h#2000h mov r0 mov r0,#64h#64hlooploop: movx amovx a,dptrdptr mov 20h mov 20h,a a jnb acc.7 jnb acc.7,nextnext mov a mov a,20h20h cpl a cpl

44、 a movx dptr movx dptr,a anextnext: inc dptrinc dptr djnz r0 djnz r0,looploop sjmp $ sjmp $1810.10.试编写一段延时程序,延时时长为试编写一段延时程序,延时时长为1s1s。设单片机的晶振频率为。设单片机的晶振频率为12mhz12mhz。main: mov r3,#64hmain: mov r3,#64h mov r4,#oah mov r4,#oahdelay:mov r2,#ofahdelay:mov r2,#ofahloop: noploop: nop nop nop djnz,r2,loop

45、djnz,r2,loop djnz,r3, delay djnz,r3, delay djnz,r4, delay djnz,r4, delay ret ret19一、填空题一、填空题 1.1.锁存,三态缓冲锁存,三态缓冲 2.2.三态控制三态控制 3.3.统一编址方式统一编址方式 4.4.无条无条件传送,查询,中断件传送,查询,中断 5.5.中断方式中断方式 6. pc6. pc,pcpc,程序存储器,程序存储器 7. 7. tf1tf1,查询的状态,查询的状态 8. 81928. 8192* *4=32768s 9. 1-8192 10. 4=32768s 9. 1-8192 10. 起始

46、,起始,数据,奇偶校检,停止数据,奇偶校检,停止 11. 11. 单工,全工,半双工单工,全工,半双工 12. 12. 同步移位,并同步移位,并行输出,并行输入行输出,并行输入 13. 13. 一样一样 14. 214. 2,自动重新加载,自动重新加载 二、简答题二、简答题1. 1. 答:有答:有5 5个中断源:个中断源:2 2个外部中断源、个外部中断源、2 2个定时器中断源和一个串行个定时器中断源和一个串行口中断源,具有两个中断优先级,可实现两级中断服务程序嵌套。口中断源,具有两个中断优先级,可实现两级中断服务程序嵌套。 2. 2. 答:常用的答:常用的i/oi/o编址方式有两种:独立编址方

47、式和统一编址方式。编址方式有两种:独立编址方式和统一编址方式。独立编址方式中,独立编址方式中,i/oi/o和存储器分开编址,有各自独立的地址空间,和存储器分开编址,有各自独立的地址空间,采用不同的控制总线,使用不同的指令分别寻址。采用不同的控制总线,使用不同的指令分别寻址。 203. 3. 答:答:gate=0gate=0,用,用tr1tr1的状态控制的状态控制t1t1的工作:的工作:tr1=1tr1=1,开关模拟闭合,开关模拟闭合,允许允许t1t1计数;计数;tr1=0tr1=0,模拟开关打开,停止,模拟开关打开,停止t1t1计数。计数。 当当gate=1gate=1,tr1=1tr1=1时

48、,时,t1t1能否计数由能否计数由int1int1引脚的输入状态控制。当引脚的输入状态控制。当 int1=0int1=0,t1t1不计数不计数;int1=1;int1=1时,允许时,允许t1t1计数。如果定时计数。如果定时/ /计数器工作在定计数器工作在定时方式,当时方式,当int1int1由由0 0变变1 1时启动时启动t1t1,当,当int1int1由由1 1变为变为0 0时,停止时,停止t1t1,则可以,则可以对对int1int1输入高电平脉冲宽度进行测量。输入高电平脉冲宽度进行测量。4.4.解:解:利用定时器利用定时器t0t0作作1ms1ms定时,每次中断在中断服务程序中使定时,每次中

49、断在中断服务程序中使p1.0p1.0的的状态取反输出。定时器初值计算:设状态取反输出。定时器初值计算:设t0t0为工作方式为工作方式1 1,则,则1ms1ms对应的机器对应的机器周期数为周期数为1000/21000/2(12/612/6)=500d=1f4h, =500d=1f4h, 定时器初值为定时器初值为(1f4h)(1f4h)求补求补(即(即2 21616-1f4h-1f4h)=fe0ch =fe0ch 程序如下:程序如下:orgorg0000h0000hsjmpsjmpstartstartorg org 000bh000bhajmpajmpist0ist0orgorg0030h0030

50、hstart:start: movmovtmod, #01htmod, #01h;t0t0工作方式工作方式1 1movmovtl0, #0chtl0, #0ch;t0t0定时器初值定时器初值movmovth0, #0fehth0, #0fehmovmovtcon, #10htcon, #10h;打开;打开t0 t0 setbsetbet0et0 ;允许;允许t0t0中断中断 21setbsetbeaea;允许全局中断;允许全局中断sjmpsjmp$ $ist0ist0: movmovtl0, #0chtl0, #0ch;重置;重置t0t0定时器初值定时器初值movmovth0, #0fehth

51、0, #0fehcplcplp1.0p1.0;p1.0p1.0取反取反retireti5. 5. 解:定时方式解:定时方式0 0:x=213-150=8042 x=213-150=8042 二进制二进制:1111101101010 :1111101101010 tl0=01010tl0=01010,th0=11111011th0=11111011 定时方式定时方式1:x=216-150=65386 1:x=216-150=65386 二进制二进制:1111111101101010 :1111111101101010 tl0=01101010tl0=01101010,th0=11111111th

52、0=11111111 定时方式定时方式2 2:x=28-150=106 x=28-150=106 二进制二进制:01101010 tl0=01101010:01101010 tl0=01101010,th0=01101010 th0=01101010 6.6.解:方式解:方式0 0:2s-16384s 2s-16384s 方式方式1 1:2s-131072s 2s-131072s 方式方式2 2:2s-510s 2s-510s 7.7.解:最高:解:最高:62500 62500 最低:最低:122.55 122.55 (详见(详见102102页题目后)页题目后)228.8.解:解:程序如下程序

53、如下: : org 0000h org 0000hljmp initout ljmp initout ; ;转到初始化程序转到初始化程序org 0023horg 0023hljmp erve ljmp erve ; ;串行口中断服务程序入口串行口中断服务程序入口 org 0050horg 0050hinitoutinitout:mov tmodmov tmod,#20h #20h ; ;定时器定时器t1t1初始化初始化 mov th1mov th1,#0f3h#0f3h mov tl1 mov tl1,#0f3h#0f3h mov scon mov scon,#50h #50h ; ;串行口初

54、始化串行口初始化 mov pconmov pcon,#80h #80h ;smod=1;smod=1 setb tr1 setb tr1 ; ;启动定时器启动定时器t1t1 setb ea setb ea ; ;开中断开中断 setb es setb es ; ;允许串行口中断允许串行口中断 ljmp main ljmp main ; ;转主程序转主程序 23serve: clr ea ;serve: clr ea ;关中断关中断 clr ri ;clr ri ;清接收中断标志清接收中断标志 push dph ;push dph ;保护现场保护现场 push dplpush dpl push a push areceive: mov areceive: mov a,sbuf ;sbuf ;接收接收pcpc机发过来的数据机发过来的数据sendback:mov sbufsendback:mov sbuf,a ;a ;将数据回送给将数据回送给pcpc机机wait: wait: jnb ti jnb ti,wait ;wait ;发送器不空则循环等待发送器不空则循环等待 clr ticlr tireturn: pop a ;return: p

温馨提示

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

评论

0/150

提交评论