1.何谓单片机?单片机与一般微型计算机相比,具有哪些特点?
答:单片机是在一块集成电路上把CPU、存储器、定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点:
(1) 单片机的程序存储器和数据存储器是分工的,前者为ROM,后者为RAM;
(2) 采用面向控制的指令系统,控制功能强;
(3) 多样化的I/O接口,多功能的I/O引脚;
(4) 产品系列齐全,功能扩展性强;
(5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。
2 单片机主要应用在哪些领域?
答:单片机的应用范围很广泛,诸如智能化家用电器、仪器仪表、工业控制、计算机外部设备、智能机器人、电信及导航等方面。
3 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用?
答:各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:
(1) 掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的
程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。例如:MCS—51系列的8051。
掩膜ROM单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。
(2) EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。例如:MCS—51系列的8751。
EPROM型单片机使用比较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。
(3) 无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。例如:MCS—51系列的8031。
无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。
(4) E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。例如:MCS—51的派生型89C51单片机。
(5) OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。例如:NEC公司的μPD75P308GF—3B9。这种芯片的价格也较低。
4.控制器的组成和作用
答:控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。
5. 微型计算机组成
答:微型计算机组成由微处理器(CPU)、存储器、接口适配器(I\O接口电路)及输入/输出设备组成。通过系统总线将它们连接起来,以完成某些特定的运算与控制。
6.什么叫寻址方式
答: 寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。
7. 什么叫堆栈:
答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以\"后进先出\"的结构方式处理的。实质上,堆栈就是一个按照\"后进先出\"原则组织的一段内存区域。
8.什么是汇编语言?什么叫指令周期?
答: 汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。
指令周期:指执行一条指令所占用的全部时间。通常一个指令周期含1~4个机器周期。
9.什么是进位和溢出
答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。例如将正数3FH和负数D0H相加,其结果不会超出8位字长的表示范围,所以其结果10FH中的进位是正常进位(也就是模)。但是,若正数3FH与正数70H相加,其结果为AFH,最高位为\"1\",成了负数的含义,这就不合理了,这种情况称为溢出。
2-4问答题
1 8051单片机内部包含哪些主要逻辑功能部件?
答:8051单片机是个完整的单片微型计算机。芯片内部包括下列硬件资源:
(1) 8位CPU;
(2) 4KB的片内程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器;
(3) 128B内部 RAM;
(4) 21个 SFR;
(5) 4个8位并行I/O口(共32位I/O线);
(6) 一个全双工的异步串行口;
(7) 两个16位定时器/计数器;
(8) 5个中断源,两个中断优先级;
(9) 内部时钟发生器。
2 EA/VPP引脚有何功用?8031的引脚应如何处理?为什么?
答:EA/VPP是双功能引脚,功能如下:
(1) EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超出低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。
(2) EA接低电平时,CPU只能执行外部程序存储器的指令。
8031单片机内部无ROM,必须外接程序存储器。因此,8031的EA引脚必须接低电平。
在对8751单片机内部的 EPROM编程时,此引脚VPP外接+12V电压,用于固化EPROM程序。
3 8051单片机存储器的组织结构是怎样的?
答:8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:
(1) 64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM地址空间;
(2) 256B的内部数据存储器地址空间,00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;
(3) 64KB的外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间。
4.片内数据存储器分为哪几个性质和用途不同的区域?
答:8051内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:
(1) 00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。
(2) 20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。
当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。
(3)30H~7FH为堆栈、数据缓冲区。
5 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?
答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:
(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 Counter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC。PC是专门用于在CPU取指令期间寻址程序存储器。PC总是保存着下一条要执行的指令的16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC。
7 DPTR是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?
答:DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。
3-3简答题
1 简述MCS-51汇编语言指令格式。
答:MCS-51汇编语言格式如下:
[标号:]操作码助记符[操作数1] [操作数2] [操作数3][注释]标号是用户定义的符号,其值代表这条指令的地址。操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码记符。指令的操作数最多有3个,也有无操作数的指令。注释字段是用户对程序的说明,便于对程序的阅读和理解。
简答
2 MCS-51指令系统主要有哪几种寻址方式?试举例说明。
答:MCS-51指令操作数主要有以下7种寻址方式:
寻址方式 举例
立即寻址 MOV A,#16
直接寻址 MOV 20H,P1
寄存器寻址 MOV A,R0
寄存器间接寻址 MOVX A, @DPTR
变址寻址 MOVC A, @A+DPRT
相对寻址 SJMP LOOP
位寻址 ANL C,70H
3对访问内部RAM和外部RAM,各应采用哪些寻址方式?
答:对内部RAM的寻址方式有直接寻址、寄存器间接寻址和可对位寻址的位寻址。对外部RAM的寻址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)间接寻址。
4设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?
MOV R0,#30H ;R0=30H
MOV A,@R0 ;A=5AH
MOV R1,A ;R1=5AH
MOV B,R1 ;B=5AH
MOV @R1,P1 ;(5AH)=7FH
MOV A,P1 ;A=7FH
MOV 40H,#20H ;(40H)=20H
MOV 30H,40H ;(30H)=20H
解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。
5 SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。
前者提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127),后者的转移目标地址必须在与AJMP的下一条指令的第一字节相同的2KB区的程序储存器中。短转移方便了可重定位编码。SJMP方便了PC可重定位编码,但转移范围小。而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最后2个字节处时,才可跳到下一个区去。因此用AJMP指令来代替SJMP指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个2KB区域内。
1、2、4章的编程
1. 8225A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出,C口低位输入,确定8225A控制字并编初始化程序.
解:控制字为 10010101=95H
初始化程序:MOV DPTR ,#300FH
MOV A,#95H
MOVX @DPTR ,A
2. 编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。
解:(1)1S=2US*5*100000
5*100000=250*200*10
(2) ORG 1000H
TIME:MOV R7,#10
T3: MOV R6,#200
T2: MOV R6,#250
T1: DJNZ R5,T1
DJNZ R6,T2
DJNZ R7,T3
RET
(2)1min=60,调用上面1s子程序60次
ORG 0030H
MOV R0,#60
LOOP:LCALL TIME
DJNZ R0,LOOP
RET
3. 请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。设晶振频率为6MHz。
解:查询方式发送程序如下
MOV SCON,#8OH
M OV PCON,#80H
MOV R0,#50H
MOV R7,#16H
LOOP: MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A
JNB T1,$
CLR T1
INC R0
DJNZ R7,LOOP
RET
4.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
解:X=216-t(F/12)
=216-1*10-3*6*106/12
=OFEOCH
ORG 3000H
START:MOV TMOD,#01H
MOV TL0,#OCH
MOV THO,#OFEH
SETB TR0
LOOP: JBC TFO,DONE
SJMP LOOP
DONE: MOV TL0,#OCH
MOV THO,#OFEH
CPL P1.0
SJMP LOOP
5.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
解:解:X=216-t(F/12)
=216-0.5*10-3*6*106/12
=FF06H
ORG 3000H
START:MOV TMOD,#01H
MOV TL0,#06H
MOV THO,#FFH
SETB TR0
LOOP: JBC TFO,DONE
SJMP LOOP
DONE: MOV TL0,#06H
MOV THO,#FFH
CPL P1.0
SJMP LOOP
5-3简答题
1 8031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接?
答:这是因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。
2 在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突?
答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、
写控制线,所以不会发生地址冲突。
因篇幅问题不能全部显示,请点此查看更多更全内容