单片机原理及应用第二次作业答案
- 格式: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内部只有一个堆栈,且存储空间有限,传统的利用堆栈传递参数的方法难以奏效。