1、单片机复习答案总结防灾科技学院课程考试大纲学年/学期课程名称考试用时考试方式专 业2013-2014-1单片机原理及应用120分钟闭卷电气工程及其自动化考试内容及所占比例一、 硬件结构 (20%左右) 单片机的组成;单片机的I/O口作用及其应用编程;时钟及机器周期; 单片机的存储器;单片机的控制总线、地址总线及地址总线等。二、 C51程序设计(20左右) C51的指令规则;C51编程语句及规则;顺序程序、分支程序及循环程序设计;C51的函数;中断函数。三、 中断系统(20左右)中断的定义、中断源及其优先级;中断过程及中断应用编程。四、 定时/计数器(30左右)定时/计数器的组成、工作方式及应用
2、编程。五、 串行接口(10左右) 串行接口的组成、串行通信过程;通信方式及应用编程。第一部分 硬件基础1、单片机的组成;2、单片机的并行I/O口在使用时,有哪些注意的地方?3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区;4、时钟及机器周期;5、单片机的控制总线、地址总线及地址总线等。例:一、填空1MCS-51单片机有4个存储空间,它们分别是: 片内RAM 、 片内ROM 、 片外RAM 、 片外R0M 。2、MCS-51单片机的一个机器周期包括 6 个状态周期, 12 个振荡周期。设外接12MHz晶振,则一个机器周期为
3、 1 s。3程序状态字PSW由 8 位组成。4在MCS-51单片机内部,其RAM高端128个字节的地址空间称为特殊寄存器 区,但其中仅有21 个字节有实际意义。5. MCS-51 系列单片机为 8 位单片机,其数据总线为 8 位,地址总线为 16 位。6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是 读引脚 。7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为 不可位寻址 ,TMOD 为 可位寻址 。8通常MCS-51单片机上电复位时PC= 0000 H、SP=07 H、通用
4、寄存器采用第0 组,这一组寄存器的地址范围是00-07 H。9MCS-51单片机堆栈遵循先进后出后进先出 的数据存储原则。10在MCS-51单片机中,使用P2、P0口传送 地址 信号,且使用P0口来传送 数据 信号,这里采用的是 分时复用 技术。11MCS-51单片机位地址区的起始字节地址为 20H 。12对于并行口在读取端口引脚信号时,必须先对端口写 FFH 。13PC的内容是 用来存放下一条要执行的指令地址 。14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过 24 个时钟周期的高电平。二、问答1.简述MCS-51 单片机的P0、P1、P2 和P3 口
5、的功能。51单片机共有P0-P3四个端口,他们除了可以做普通I/O口之外,P0口既可以作为8位数据总线还可以分时输出低8位地址,经锁存器锁存形成A0-A7;P1口仅作为I/O用;P2口还可以输出作为高8位地址A8-A15;P3口具有第二功能,P3.0-P3.7第二功能分别依次为RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD2MCS-51单片机的三总线是由哪些口线构成的。由P2、P0口组成16位地址总线;由P0口组成8位数据总线;由ALE、/PSEN、RST、/EA与P3口中的/INT0、/INT1、T0、T1、/WR、/RD共10个引脚组成控制总线。3MCS-51单片机的位
6、寻址区的字节地址范围是多少?位地址范围是多少?20H 2FH00H 7FH4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间?单片机的存储器采用的是程序存储器与数据存储器截然分开的哈佛结构,即程序存储器和数据存储器各有自己的寻址方式、寻址空间和控制系统。物理上分为4个存储器空间:片内程序存储器、片外程序存储器片内数据存储器、片外数据存储器逻辑上分为3个地址空间:片内、片外统一编址的64KB程序存储器空间、片内256B的数据存储器地址空间、片内64KB数据存储器空间5简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并
7、说明它们的控制方法和应用特性。(1)工作寄存器组() 这是一个用寄存器直接寻址的区域,内部数据区的,共个单元。它是个通用工作寄存器组,每个组包含个位寄存器,编号为。 (2)位寻址区()个字节单元,共包含位,这个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位操作。(3)堆栈与数据缓冲区()用于设置堆栈、存储数据6请写出MCS-51单片机的五个中断源的入口地址。INT0 0003h T0 000Bh INT1 0013h T1 001Bh 串口 0023h第二部分 C51程序设计1、C51的指令规则;C51编程语句及规则;2、C51表达式和运算符;3、顺序程序、分支程序及循环程序设计;4
8、、C51的函数;5、中断函数。例:1程序的基本结构有顺序、分支、循环结构。2C51的存储器模式有 SMALL 、COMPACT 、 LARGE 。3C51中int型变量的长度为 16 ,其值域为 -3276832767 。4C51中关键字sfr的作用定义51单片机内部一个字节的特殊功能寄存器 ,sbit的作用 定义51单片机片内可位寻址位 。5函数定义由函数体 和 函数头 两部分组成。6C51的表达式由 运算符 运算对象 组成。7C51表达式语句由表达式和 分号 组成。8C51中“!”运算符的作用是 逻辑非 ;运算符”的作用是 按位取反 。9若函数无返回值,用 void 关键字指定。10若局部
9、变量未初始化,其初值为 不确定 。11. C51 中,若定义8 位有符号类型的变量,可定义为 char 型变量,其值域为 -127128 ;unsigned int 型变量的长度为 16 ,其值域为 065535 。二、程序设计题1、电路如图所示,要求编程实现一个流水灯。#include#include#define uchar unsigned char#define uint unsigned intvoid delay(uchar z) uchar x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() uchar i; P2=0xfe; whi
10、le(1) for(i=0;i8;i+) delay(100); P2=_crol_(P2,1); 2、设全自动洗衣机控制面板上有8个按键,8个指示灯。按下一个按键,对应的指示灯点亮。第三部分 中断系统1、 中断的定义;2、 中断源及其优先级;3、 中断过程及中断应用编程。例:一、填空题1MCS-51单片机有5 个中断源。上电复位时,同级中断的自然优先级从高至低依次为INT0、T0、INT1、T1、串口 ,若IP=00010100B,优先级别最高者为 INT1 、最低者为 T1 。 2外部中断请求有电平 触发和 脉冲 触发两种触发方式。 3MCS-51单片机5个中断源的中断入口地址为:0003
11、H 000BH OO13HOO1BH 0023H 。4当定时器/计数器1申请中断时,TF1为 1 ,当中断响应后,TF1为 0 。当串口完成一帧字符接收时,RI为 1 ,当中断响应后,RI为 1 ,需要 软件 清零。5MCS-51 单片机定时器T0 的中断类型号是 1 。二、 简答题1.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中断源的中断矢量分别是什么?MCS-51单片机有5个中断源。外中断0/1电平触发方式,在对应引脚上检测到低电平将中断标志位IE0/1置1向CPU申请中断,边沿触发方式,在对应引脚上检测到负跳变将中断标志位IE0/1置1向CPU申请中断;定时器
12、/计数器0/1在计数溢出时将TF0/1置1向CPU申请中断;串行口发送1帧结束将TI置1或接收1帧数据将RI置1向CPU申请中断。对于T0/T1和边沿触发的INT0/INT1中断标志在进入中断服务程序后自动撤销;对于电平触发的INT0/INT1需在中断申请引脚处加硬件撤销电路;对于串行口中断标志TI/RI需在进入中断服务程序后用软件CLR RI或CLR TI,撤销。它们的中断矢量分别是:0003H、000BH、0013H、001BH、0023H。2.简述MCS-51中断过程。中断过程分中断申请、中断响应、中断处理、中断返回4个阶段。中断请求:各中断源根据自身特点施加合适的信号,将对应的中断标志
13、位置1向CPU申请中断。中断响应:CPU对中断请求进行判断,形成中断矢量,转入响应的中断服务程序。中断处理:根据各中断源要求执行响应中断服务程序。中断返回:中断服务程序结束后,返回主程序。3. MCS-51 单片机有哪几个中断源?它们的中断类型号分别是什么?自然优先级由高到低依次是什么?有5个中断源:/INT0外部中断0,中断类型号为0;定时/计数器0中断,中断类型号为1;/INT1外部中断1,中断类型号为2;定时/计数器1中断,中断类型号为3;串行中断,中断类型号为4。自然优先级由高到低依次是:/INT0外部中断0、定时/计数器0中断、/INT1外部中断1、定时/计数器1中断、串行中断。三、
14、程序设计题1、没有外部中断时,七段数码管显示8,当有外部中断时,七段数码管上显示的8连续闪烁8次,然后继续显示8。要求编写程序实现上述功能。#include#define uchar unsigned char #define uint unsigned intvoid delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() EA=1; EX0=1; IT0=0; while(1) P1=0x7f; void intt() interrupt 0 uchar i; P1=0; for(i=0;i16;i+) del
15、ay(300); P1=P1; 2、没有中断发生时,发光二极管闪烁,有中断发生时,发光二极管变为流水灯。要求编写程序实现上述功能。第四部分 定时/计数器1.定时/计数器的组成;2.工作方式3.应用编程。例:一、填空1. MCS-51单片机中有 2 个 16 位的定时器/计数器,定时/计数器的核心是一个 加1 计数器。2. 定时器/计数器T0可以工作于方式0 1 2 3 。 3. 方式0为 13 位定时器/计数器。4. 若系统晶振频率为12MHz,则T0工作于定时方式1时最多可以定时65536 s。5. 若MCS-51 晶振频率为12MHz,则T0 工作于计数方式时,可以接受的计数脉冲频率范围为
16、 00.5 。6. TMOD中的M1M0= 11时,定时器工作于方式 3 。7. 若系统晶振频率为6MHz,则定时器可以实现的最小定时时间为 2 s。8. MCS-51单片机工作于定时状态时,计数脉冲来自 单片机内部时钟周期 。9. MCS-51单片机工作于计数状态时,计数脉冲来自 外部引脚脉冲信号 。10. 当GATE=0时, TR0=1 启动T0开始工作。11欲对300个外部事件计数,可以选用定时器/计数器T1的模式 0 或模式 1 。 二、简答题1、定时器/计数器T0和T1各有几种工作方式?简述每种工作方式的特点。如何控制定时器/计数器的工作方式?T0可以工作于方式0,1,2,3;T1可
17、以工作于方式0,1,2 方式0:是13位定时/计数器,由TLX的低5位(TLX的高3位未用)和THX高8位组成。 方式1:TLX和THX组成16位定时/计数器。 方式2:方式2为自动重装初值的8位定时/计数器。方式3只适用于定时/计数器T0,当T0工作在方式3时,TH0和TL0被分为两个独立的8位计数器。 TMOD用来控制定时计数器的工作方式,位结构如下: D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATA C/T M1 M0 C/T:定时或计数功能选择位。1为计数方式,0为定时方式。GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。
18、GATE=0,软件控制位TR0(TR1)1启动定时/计数器开始计数。GATE=1,软件控制位TR0(TR1)1,INT0(INT1)引脚为高电平时启动定时/计数器开始计数。 M1、M0:定时/计数器工作方式选择位,如下表所示。M1M0工作方式方式说明00方式013位定时/计数器01方式116位定时/计数器10方式2具有自动重装初值的8位定时/计数器11方式3T0为两个独立的8位计数器,T1为波特率发生器2、设MCS-51单片机的晶振频率fOSC=12MHz,分别讨论定时器/计数器0在各种工作方式下的最长定时时间。若定时100ms,则计算各种方式下的定时初值。由fosc =12MHz可知,一个机
19、器周期T=1us,由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。最长定时时间:方式0:8.192ms方式1:65.536ms方式2、3:0.256ms初值:方式0:0C78(5ms)方式1:3CB0(50ms)方式2、3:0038(0.2ms)三、程序设计题1、设单片机晶振频率fosc=6MHZ,使用定时器0以方式0产生周期为600s的等宽方波脉冲,并由P1.7输出,以查询方式完成。2、利用单片机定时09s,一位数码管显示。要求T0用方式2实现。晶振频率为12MHz。#include#define uchar unsigned char #define uint uns
20、igned intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar ss,i,a,b;void delay(uchar z) uchar x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() TMOD=0x01; EA=1; ET0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; ss=0; i=0; P0=0x03; while(1) P1=tabless; delay(10); if(i=
21、20) i=0; ss+; if(ss=9) ss=0; void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; i+;4、 利用定时器T0定时中断控制P1.7驱动LED发光二极管亮1s灭1s的闪烁,设时钟频率为12MHz。#include#define uchar unsigned char #define uint unsigned intsbit led=P17;uchar aa;void main() TMOD=0x01; EA=1; ET0=1; TH0=(65536-50000)/256; TL
22、0=(65536-50000)%256; TR0=1; while(1) if(aa=20) aa=0; led=led; void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa+; 第五部分 串行通信1、串行接口的组成;2、串行通信过程;3、通信方式及应用编程。例:一、填空题1在串行通信中,把每秒中传送的二进制数的位数叫 波特率 。2当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fose/32 fose/64 。3SCON中的REN=1表示 允许串行接受 。4PCON 中的SM
23、OD=1表示 波特率加倍 。5SCON中的TI=1表示 允许串行发送 。6MCS-51单片机串行通信时,先发送 低 位,后发送 高 位。7MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。8设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 0FAH 。9MCS-51单片机串行通信时,通常用指令 MOVE SBUF ,A 启动串行发送。10MCS-51 单片机的串行口工作于方式0 时用于 同步 移位寄存器。MCS-51单片机串行方式0通信时,数据从 RXD 引脚发送/接收。二、简答题1、串行口设有几个控制寄存器?它
24、们的作用是什么?串行口设有2个控制寄存器,串行通信控制寄存器SCON和电源控制寄存器PCON。其中PCON中只有PCON.7的SMOD与串行口的波特率有关。在SCON中各位的作用见下表:SCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式选择多机通信控制接收允许发送第9位接收第9位发送中断接收中断2、简述MCS-51 单片机串行口的数据发送和数据接收过程。MCS-51串行口具有两条独立的数据线:发送端TXD、接收端RXD,允许数据同时往两个相反的方向传输。一般通信时发送数据由TXD端输出,接
25、收数据由RXD端输入。在串行通信时,用串行通信控制寄存器SCON和电源控制寄存器PCON控制串行接口的工作方式和波特率。指令MOV SBUF,A将A中的数据送入发送缓冲寄存器SBUF,并启动一次数据发送。指令MOV A,SBUF将接收缓冲寄存器SBUF的数据送入A中,并启动一次数据接收。每接收/发送一个数据都必须用指令对串行中断标志RI/TI清0,以备下一次接收/发送。3、MCS-51单片机串行口有几种工作方式?各自的特点是什么?怎样确定其工作方式? 、有4种工作方式。各自的特点为:SMOSM1工作方式功能波特率00方式0移位寄存器方式fosc/1201方式18位异步通信方式可变10方式29位异步通信方式fosc/32、fosc/6411方式39位异步通信方式可变5、 MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值?串行口各种工作方式的波特率设置:工作方式O:波特率固定不变,它与系统的振荡频率fosc的大小有关,其值为fosc/12。工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)定时器T1的溢出率工作方式2:波特率有两种固定值。 当SM0D=1时,波特率=(2SM0D/64)fosc=fosc/32 当SM0D=0时,波特率=(2SM0D/64)fosc=fosc/64 计算定时器的初值计算:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2