1、1何谓单片机?单片机与一般微型计算机相比,具有哪些特点?答:单片机是在一块集成电路上把 CPU、存储器、定时器/计数器及多种形式的 I/O 接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点:(1 ) 单片机的程序存储器和数据存储器是分工的,前者为 ROM,后者为 RAM;(2 ) 采用面向控制的指令系统,控制功能强;(3 ) 多样化的 I/O 接口,多功能的 I/O 引脚;(4 ) 产品系列齐全,功能扩展性强;(5 ) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。2 单片机主要应用在哪些领域?答:单片机的应用范围很广泛,诸如智能化家用电器、仪器仪表、工业控制、
2、计算机外部设备、智能机器人、电信及导航等方面。3 在各种系列的单片机中,片内 ROM 的配置有几种形式?用户应根据什么原则来选用?答:各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:(1 ) 掩膜(Msak)ROM 型单片机:内部具有工厂掩膜编程的 ROM,ROM 中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改 ROM 中的程序。例如:MCS51 系列的 8051。掩膜 ROM 单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的 ROM。(2 ) EPROM 型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内
3、部的 EPROM 中,也可以将 EPROM 中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。例如:MCS51 系列的8751。EPROM 型单片机使用比较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。(3 ) 无 ROM 型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。例如:MCS51 系列的 8031。无 ROM 型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。(4 ) E2ROM 型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。例如:MCS51 的派生型 89
4、C51 单片机。(5 ) OTP(One Time Programmable)ROM 单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。例如:NEC 公司的 PD75P308GF3B9 。这种芯片的价格也较低。4控制器的组成和作用答:控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。5 微型计算机组成答:微型计算机组成由微处理器(CPU) 、存储器、接口适配器(IO 接口电路)及输入/输出设备组成。通过系统总线将它们连接起来,以完成某些特定的运算与控制。6什么叫寻址方式答: 寻址方
5、式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。7 什么叫堆栈:答:堆栈是在片内 RAM 中专门开辟出来的一个区域,数据的存取是以“后进先出“ 的结构方式处理的。实质上,堆栈就是一个按照“后进先出“原则组织的一段内存区域。8什么是汇编语言?什么叫指令周期?答: 汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。指令周期:指执行一条指令所占用的全部时间。通常一个指令周期含 14 个机器周期。9什么是进位和溢出答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出
6、了字长的表示范围(即结果不合理) ,则称为溢出。例如将正数 3FH 和负数 D0H 相加,其结果不会超出 8 位字长的表示范围,所以其结果 10FH 中的进位是正常进位(也就是模) 。但是,若正数 3FH 与正数 70H 相加,其结果为 AFH,最高位为“1“,成了负数的含义,这就不合理了,这种情况称为溢出。1 8051 单片机内部包含哪些主要逻辑功能部件?答:8051 单片机是个完整的单片微型计算机。芯片内部包括下列硬件资源:(1 ) 8 位 CPU;(2 ) 4KB 的片内程序存储器 ROM。可寻址 64KB 程序存储器和 64KB 外部数据存储器;(3 ) 128B 内部 RAM;(4
7、) 21 个 SFR;(5 ) 4 个 8 位并行 I/O 口(共 32 位 I/O 线) ;(6 ) 一个全双工的异步串行口;(7 ) 两个 16 位定时器/计数器;(8 ) 5 个中断源,两个中断优先级;(9 ) 内部时钟发生器。2 EA/VPP 引脚有何功用?8031 的引脚应如何处理?为什么?答:EA/V PP 是双功能引脚,功能如下:(1 ) EA 接高电平时,在低 4KB 程序地址空间(0000H0FFFH) ,CPU 执行片内程序存储器的指令,当程序地址超出低 4KB 空间(1000HFFFFH )时,CPU 将自动执行片外程序存储器的指令。(2 ) EA 接低电平时, CPU
8、只能执行外部程序存储器的指令。8031 单片机内部无 ROM,必须外接程序存储器。因此,8031 的 EA 引脚必须接低电平。在对 8751 单片机内部的 EPROM 编程时,此引脚 VPP 外接+12V 电压,用于固化EPROM 程序。3 8051 单片机存储器的组织结构是怎样的?答:8051 存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:(1 ) 64KB 的程序存储器地址空间:0000HFFFFH,其中 0000H0FFFH 为片内 4KB 的ROM 地址空间,1000HFFFFH 为外部 ROM 地址空间;(2 ) 256B 的内部数据存储器地址空间,00H
9、FFH,分为两大部分,其中 00H7FH(共128B 单元)为内部静态 RAM 的地址空间,80HFFH 为特殊功能寄存器的地址空间,21 个特殊功能寄存器离散地分布在这个区域;(3 ) 64KB 的外部数据存储器地址空间:0000HFFFFH,包括扩展 I/O 地址空间。4片内数据存储器分为哪几个性质和用途不同的区域?答:8051 内部 128B 的数据 RAM 区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:(1 ) 00H1FH 为工作寄存器组区,共分 4 组,每组占用 8 个 RAM 字节单元,每个单元作为一个工作寄存器,每组的 8 个单元分别定义为 8 个工作
10、寄存器R0R7。当前工作寄存器组的选择是由程序状态字 PSW 的 RS1、RS0 两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用 4 组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用 Ri 的寄存器间接寻址来访问。(2 ) 20H2FH 为可位寻址区域,这 16 个字节的每一位都有一个地址,编址为00H7FH。当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。(3 ) 30H7FH 为堆栈、数据缓冲区。5 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?答:8051 单片机内部有 21 个特殊功能寄存器,在物理上是分散在片内各功能
11、部件中,在数学上把它们组织在内部数据存储器地址空间 80HFFH 中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:(1 ) CPU: ACC、B 、PSW、SP、DPTR (由 DPL 和 DPH 两个 8 位寄存器组成) ;(2 ) 中断系统:IP、IE;(3 ) 定时器/计数器:TMOD、TCOM 、TL0 、TH0、TL1、TH1;(4 ) 并行 I/O 口:P0、P1、P2、P3 ;(5 ) 串行口:SCON、SBUF、PCON。6 PC 是什么寄存器?是否属于特殊功能寄存器?它有什么作用?答:PC 是 16 位程序计数器( Program Count
12、er) ,它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问 PC。PC 是专门用于在 CPU 取指令期间寻址程序存储器。PC 总是保存着下一条要执行的指令的 16 位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC 自动加 1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给 PC。7 DPTR 是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?答:DPTR 是 16 位数据指针寄存器,它由两个 8 位特殊功能寄存器 DPL(数据指针低 8 位)和 DPH(数据指针高 8 位)组成,DPTR 用
13、于保存 16 位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。1 简述 MCS-51 汇编语言指令格式。答:MCS-51 汇编语言格式如下:标号:操作码助记符操作数 1 操作数 2 操作数 3注释 标号是用户定义的符号,其值代表这条指令的地址。操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码记符。指令的操作数最多有 3 个,也有无操作数的指令。注释字段是用户对程序的说明,便于对程序的阅读和理解。简答2 MCS-51 指令系统主要有哪几种寻址方式?试举例说明。答:MCS-51 指令操作数主要有以下 7 种寻址方式:寻址方式 举例立即寻址 MOV A,
14、#16直接寻址 MOV 20H,P1寄存器寻址 MOV A,R0寄存器间接寻址 MOVX A, DPTR变址寻址 MOVC A, A+DPRT相对寻址 SJMP LOOP位寻址 ANL C,70H3 对访问内部 RAM 和外部 RAM,各应采用哪些寻址方式?答:对内部 RAM 的寻址方式有直接寻址、寄存器间接寻址和可对位寻址的位寻址。对外部 RAM 的寻址方式只能用寄存器 R0/R1(8 位地址)或 DPTR(16 位地址)间接寻址。4 设内部 RAM(30H)=5AH, (5AH )=40H, (40H)=00H,端口 P1=7FH,问执行下列指令后,各有关存储单元(即 R0,R1,A ,
15、B,P1,30H,40H 及 5AH 单元)的内容如何?MOV R0,#30H ;R0=30HMOV A,R0 ;A=5AHMOV R1,A ;R1=5AHMOV B,R1 ;B=5AHMOV R1,P1 ;(5AH)=7FHMOV A,P1 ;A=7FHMOV 40H,#20H ;(40H)=20HMOV 30H,40H ;(30H)=20H解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH, (30H)=20H, (40H)=20H, (5AH)=7FH。5 SJMP(短转移)指令和 AJMP(绝对转移)指令的主要区别。前
16、者提供了以 SJMP 的下一条指令的起始地址为中心的 256 字节范围的转移(-128 +127) ,后者的转移目标地址必须在与 AJMP 的下一条指令的第一字节相同的 2KB 区的程序储存器中。短转移方便了可重定位编码。SJMP 方便了PC 可重定位编码,但转移范围小。而 ASJMP 转移范围大,但存在跳区的限制,AJMP 指令只能位于 2KB 区的最后 2 个字节处时,才可跳到下一个区去。因此用AJMP 指令来代替 SJMP 指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个 2KB 区域内。1 8031 的扩展储存器系统中,为什么 P0 口要接一个 8 位锁存器,而 P2
17、口却不接?答:这是因为 P0 口是扩展储存器系统的多路低 8 位地址和数据总线,在访问外部存储器时,P0 口分时用作输出外部储存器低 8 位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低 8 位地址信号,所以 P0口需要外接一个地址锁存器。ALE 信号就是用来把 P0 口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低 8 位地址。而 P2 口只用作扩展存储器系统的高 8 位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。2 在 8031 扩展系统中,外部程序存储器和数据存储器共用 16 位地址线和 8 位数据线,为什么两个存储空间
18、不会发生冲突?答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用 PSEN 控制线,而对外部数据存储器的读/写控制是用 RD 和 WR 读、写控制线,所以不会发生地址冲突。3 8031 单片机需要外接程序存储器,实际上它还有多少条 I/O 线可以用?当使用外部存储器时,还剩下多少条 I/O 线可用?答:8031 系统必须外接程序促成器,原则上说,P0 和 P2 口要用作数据和地址总线,所以只有 P1 和 P3 口可用作 I/O 口,共 16 条 I/O 线。在使用外部存储器时,除了占用 P0 和 P2 口外,还需要用 P3 口 RD(P3.7)和 WR
19、(P3.6 )两条控制线,所以这种情况下就只剩下 14 条 I/O 线可用了。4 试将 8031 单片机外接一片 2716 EPROM 和一片 6116 RAM 组成一个应用系统,请画出硬件连线图,并指出扩展存储器的地址范围。答:2716 是 2K8 位的 EPROM,6116 是 2K8 位的静态 RAM,两者都仅需要11 根地址线。由于没有规定地址范围,故可按最简单的方式来连接,即省去地址译码器,程序存储器的地址必须从 0 开始,基本地址为 0000H07FFH。数据存储器的地址为 0000H07FFH。控制线的连接为/PSEN 控制 EPROM 的读出,/RD 和/WR 控制 RAM 的读写,两个芯片的片选端都固定接地,5 简述可编程并行接口 8255 A 的内部结构?答:8255 A 的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。(1) 总线接口部分 其中有数据总线驱动器,读/写控制逻辑(2) 内部逻辑部分 由 A 组和 B 组控制电路。(3) 外部接口部分 该部分有 3 个 8 位并行 I/O 端口,即 A 口、B 口和 C 口。