单片机原理及应用第二次作业答案

  • 格式:doc
  • 大小:40.50 KB
  • 文档页数:6

《单片机原理及应用》第二次作业

一、填空

1、计算机可以直接理解的语言是 机器语言(二进制编码的指令),程序员编程最方便的语言是 汇编语言。

(出自第4章)

答:机器语言,高级语言。

2、程序模块间通信使用______________和______________语句。

(出自第4章)

答:PUBLIC,EXTRN。

3、根据结构化程序设计观点,程序有______________、______________、______________三种基本结构。

(出自第4章)

答:顺序结构,分支结构,循环结构。

4、单片机C语言常用的存储模式有______________、______________、______________三种。

(出自第5章)

答:SMALL、COMPACT、LARGE。

5、在有返回值的函数中切换工作寄存器组会导致_______________________的问题。

(出自第5章)

答:返回值无法正确传送。

6、MCS-51的四个I/O端口有______________、______________、______________三种操作方式。

(出自第6章)

答:输出数据,读端口数据,读端口引脚。

二、选择题 ( B )1、在MCS-51中,需双向传送信号的是____。

A)地址线 B)数据线 C)控制信号线 D)电源线

(出自第6章)

( A )2、在MCS-51中,为实现P0口线的数据和低位地址利用,应使用____。

A)地址销存器 B)地址寄存器 C)地址缓冲器 D)地址译码器

(出自第6章)

( D )3、在下列信号中,不是给程序存储器扩展使用的是____。

A)PSEN B)EA C)ALE D)WR

(出自第6章)

( A )4、在下列信号中,不是给数据存储器扩展使用的是____。

A)EA B)RD C)WR D)ALE

(出自第6章)

( C )5、如在系统中只扩展一片Intel2732(4K×8),除应使用P0口的8条口线外,至少还应使用P2口的口线____条。

A)4条 B)5条 C)6条 D)7条

(出自第6章)

( C )6、如在系统中只扩展两片Intel2732(4K×8),除应使用P0口的8条口线外,至少还应使用P2口的口线____条。

A)5条 B)6条 C)7条 D)8条

(出自第6章)

( B )7、在使用译码法同时扩展多片数据存储器芯片时,不能在各存储芯片间并行连接的信号是____。

A)RD和WR B)地址高雄输出信号 C)数据信号 D)高位地址信号

(出自第6章)

三、判断题

1、DS伪指令可用于定义程序存储器和数据存储器。 (出自第4章)

2、MCS-51单片机本身提供了4个8位的并行端口。

(出自第6章)

3、P0口既能按字节访问,又能按位访问。

(出自第6章)

4、P1口的位地址为80H~87H。

(出自第6章)

5、P2口是一个多功能的8位准双向并行端口。

(出自第6章)

四、简答题

1、什么是机器语言?

(出自第4章)

答:计算机能够直接识别和执行的只有二进制编码的指令,这种编码形式称作机器语言。机器语言包括操作码、操作数、转移地址等,一律都是二进制编码。

2、什么是汇编语言?

(出自第4章)

答:为了解决机器语言难以识别和记忆而采用的编程语言,它且助词符代替机器语言指令的操作码,操作数使用有意义的符号和符号地址表示,转移的目标地址也采用标号的形式。

3、什么是高级语言?

(出自第4章)

答:高级语言是面向过程和问题并能独立于机器的通用程序设计语言,是一种接近人类自然语言和常用数学表达式的计算机语言。

4、汇编语言程序的开发过程有哪几个阶段? (出自第4章)

答:有以下四个阶段:

(1)编写汇编语言源程序。

(2)每个源程序产生一个相应的浮动地址目标文件。

(3)生成相应的绝对地址目标文件。

(4)转换成相应的编程器可识别的格式的文件。

5、使用DATA、IDATA、BIT等伪指令与仅使用EQU伪指令相比有什么优势?

(出自第4章)

答:使用DATA、IDATA、BIT等伪指令不仅可以实现EQU伪指令为常数符号指定一个数值的功能,而且汇编器在汇编的同时会进行类型检查,可以帮助程序员发现逻辑错误。

五、论述题

1、论述手工汇编过程。

(出自第4章)

答:通常,源程序的手工汇编需要进行两次扫描源程序才能完成。对于包含转移、调用指令和标号的汇编语言源程序,第一次完成指令操作码的翻译,第二次完成地址操作的计算。

第一次扫描时,应先确定源程序在内存的起始地址,然后在指令码表中依次找出每条指令的操作码,从程序的起始地址开始,逐一将它们写出。对于一时无法确定实际值的位移量、目标地址等,应照原样写在操作数的相应位置上;对于已经定义过的符号名称应直接转换面数值。

第二次扫描时是第一次的继续,其任务是确定第一次扫描过程中未确定的标号或地址位移量值。由于每条指令操作码的起始地址在第一次扫描中已经确定,因此这些工作仅需进行一些简单的计算便可完成。

2、论述机器汇编过程。

(出自第4章)

答:手工汇编简单易行,但是效率低、易出错,特别是在源程序较长、较复杂时。实际应用中,编写的软件都是采用机器汇编完成的。机器汇编的过程通常也是两遍扫描汇编。

为完成两次扫描操作,需要以下基本数据:

(1)各个段的地址计数器LC——用以跟踪和确定符号和指令的地址。

(2)指令机器码表MOT——用以确定指令的长度和把助记符转换为机器码。

(3)符号表SYMBOL——在第一次扫描时,把各个标号、符号的值列入表中,以便第二次扫描时代入相应的符号地址中。

(4)伪指令操作表POT——汇编过程中遇到伪指令时执行相应的操作。

(5)输入的汇编语言源程序。

实现两次扫描汇编过程的算法可描述如下:

(1)读源程序。

(2)查找MOT或POT。

(3)分析源程序行的语法。

(4)跟踪地址计数器LC。

(5)建立符号表。

(6)计算地址。

(7)写出目标程序。

3、单片机C语言要解决哪些问题?

(出自第5章)

(出自第5章)

答:使用C语言进行软件开发有其独特的优势。20世纪80年代,C语言就已经开始向MCS-51单片机硬件平台移植。移植的难点,即单片机C语言要解决的问题有以下几个:

(1)MCS-51存储器的非冯·诺依曼结构,加上内部有位寻址空间,对存储器变量的使用提出了挑战。

(2)内部的数据存储器和程序存储器空间相对太小,而外部还可扩展存储容量,编译程序如何根据实际情况合理使用这些空间。

(3)内部各功能单元采用特殊功能寄存器中管理,在C语言中如何实现寄存器访问。 (4)MCS-51单片机溜派生种类多,硬件配置不统一,但是要求必须能够使用C语言操控所有硬件资源。

(5)MCS-51内部只有一个堆栈,且存储空间有限,传统的利用堆栈传递参数的方法难以奏效。