单片机期末考试总复习
- 格式:doc
- 大小:214.00 KB
- 文档页数:7
单片机总复习
1.什么是单片机?
答:单片机就是在一片半导体硅片上集成了中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O口、定时器/计时器、中断系统、系统时钟电路及系统总线的微型计算机。
2.单片机AT89C52的硬件结构(P16图2-1):
答:硬件组成:CPU、数据存储器(RAM)、程序存储器(ROM)、4个8位可编程并行I/O口、串行口、2个16位定时器/计数器、1个看门狗定时器、中断系统(5个中断源和中断向量)、特殊功能寄存器(26个)、低功耗节电模式、3个程序加密锁定位。
3.单片机的引脚及其所对应的功能:
答:电源引脚:VCC、VSS
时钟引脚:XTAL1(19脚,输入端)
XTAL2(18脚,输出端)
控制引脚:RST(9脚),复位信号输入端,高电平有效
/VPP(31脚):接低电平时,为外部程序存储器访问允许控制端;接高电平时,单片机读片内程序存储器的程序。
并行I/O口引脚:(P1、P2、P3、P4)(注:P0口一定要外接上拉电阻,P3口的第二功能一定要掌握)
P3口第二功能如下:
P3.0(RXD):串行数据输入口
P3.1(TXD):串行数据输出口
P3.2(INT0):外部中断0输入
P3.3(INT1):外部中断1输入
P3.4(T0):定时器0外部计数输入
P3.5(T1):定时器1外部计数输入
P3.6(WR):外部数据存储器写选通输出
P3.7(RD):外部数据存储器读选通输出
4.AT89S51存储器的结构:(P22)
答:(5个)
(1)(内部,外部)程序存储器(4KB):5个入口地址(P24表2-3)
1)外部中断0,入口地址:0003H;
2)定时器T0, 入口地址:000BH;
3)外部中断1,入口地址:0013H;
4)定时器T1, 入口地址:001BH;
5)串行口, 入口地址:0023H;
6)(AT89S52) 定时器T2, 入口地址:002BH;
(2)(内部,外部)数据存储器(3个大块):4组寄存器区、位地址区、用户RAM区;
(3)特殊功能寄存器(范围:80H-FFH,只能用间接寻址方式进行访问)具体功能见P25表2-4位地址空间.
5. 四组并行I/O端口区别:
答:P0口为漏极开路的双向I/O端口,分为地址/数据复用口和通用的I/O端口,当作为通用的I/O端口时,必须要加上拉电阻;
P1口为准双向I/O端口,具有内部上拉电阻,专为用户使用;
P2口为准双向I/O端口,具有内部上拉电阻,当AT89S51扩展外部存储器及I/O端口时,可作为高8位地址总线;
P3口为准双向I/O端口,具有内部上拉电阻,除可作通用的I/O端口外,还具有第二功能的输出/输入。
6.机器周期、指令周期和时钟周期的概念:
答:机器周期:指的是计算机完成一次完整的、基本的操作所需要的时间,MCS-51一个机器周期由六个状态周期组成,共12个振荡周期。
指令周期:执行完一条指令所需要的时间,一般为1-4个机器周期。
时钟周期:它是输入时钟信号频率fOSC的倒数。如果时钟信号或晶体振荡器的频率为12 MHz,则振荡周期T=1/12=83 ns。 7.时钟电路:(P35)
8.单片机最小系统电路图:
9.复位操作、复位电路:(P37表2-7)
答,复位操作(只记特殊的2个):SP(复位状态:07H);P0-P3(复位状态:FFH)
复位电路:(上电复位电路)
10.Keil软件和Proteus软件的使用方法:
答:(1).新建工程目录:最好是英文名称,如e盘的sy1
(2).打开Proteus软件(桌面上的ISIS.EXE)
(3).添加元件
(4).放置元件,设置参数,连线,绘制原理图
(5).保存到工程目录sy1
(6).打开keil软件
(7).新建工程 :
右击Target 1
新建源程序文件并保存,注意,后缀要是asm
添加源程序到工程
编写程序并编译生成hex文件
目录下生成了hex文件
回到Proteus界面,双击单片机添加hex文件
运行,查看结果
11.中断的概念:
答.中断:单片机能及时地响应中断源提出的服务请求,并作出快速响应和及时处理。
12.中断系统结构:
答:5个中断请求源,两个中断优先级;
5个中断请求源:(1)——外部中断请求0,中断请求信号由引脚输入,中断请求标志为IE0。 2204K722uRSTVCC上电复位(2) ——外部中断请求1,中断请求信号由引脚输入,中断请求标志为IE1。
(3)定时器/计数器T0计数溢出发出的中断请求,中断请求标志为TF0。
(4)定时器/计数器T1计数溢出发出的中断请求,中断请求标志为TF1。
(5)串行口中断请求,中断请求标志为发送中断TI或接收中断RI。
13.5(6)个中断向量号是什么?
(1)中断向量号0:外部中断请求;
(2)中断向量号1;定时器/计数器T0;
(3)中断向量号2:外部中断请求;
(4)中断向量号3:定时器/计数器T1;
(5)中断向量号4:TX和RX寄存器;
(S52所具有)(6)中断向量号5:定时器/计数器T2;
14.中断初始化设置和中断服务程序的设计:
答:中断初始化设置:IT0=1;
IT1=0;
EX0=1;
EX1=1;
EA=1;
(T0优先级设置则再加) PT0=1;
(优先级设置则再加) PX0=1;
(优先级设置则再加) PX1=1;
(T1优先级设置则再加) PT1=1;
(T2优先级设置则再加) PT2=1;★以上需按要求进行设置
中断服务程序:void main()
{IT0=1;
EX0=1;
EA=1;
while(1) ;}
void int0(void) interrupt0
{P1=0x0;
delay(50000);
P1=0xff;}
15.定时器/计数器的结构:
答:定时器/计数器T0由特殊功能寄存器TH0、TL0构成;
定时器/计数器T1由特殊功能寄存器TH1、TL1构成;
特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式;
特殊功能寄存器TCON用于控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
16. TMOD、TCON寄存器:
C/T=0为定时器工作模式;
C/T=1为计数器工作模式;
例如:T0方式段进行计数,采用工作方式2,则TMOD=0x06(0110);若为定时,则TOMD=0x02(0010);
17.定时器/计数器四种工作方式的特点(表6-1)
(注:只记方式1和方式2即可)
18.定时初值的计算:
答:定时初值计算公式:TC=M-T定时时间/T机器周期(注:若采用工作方式1,M=216;若采用工作方式2,M=28)
例如:定时108us,TC=M-108us/1.08us。
19.编写程序使P1.0端口上输出频率为2KHz的方波:
答:由f=2KHz,得到周期T=500us,则1/2T=250us;进而得到TC=28-250=6;程序如下:
若采用工作方式2:void main()
{TMOD=0x20;
TL1=6;
TH1=6;
ET1=1;
EA=1;
TR1=1;
while(1);
}
void T1INT() interrupt3
{P1=P1^0x01;}
若采用工作方式1:TMOD=0x10;
TL1=0x06;
TH1=0xff;
ET1=1;
EA=1;
TR1=1;
void T1INT() interrupt3
{TL1=0x06;
TH1=0xff;
P1=P1^0x01;}
20.单片机与数码管动态显示接口技术程序如下:
#include
unsigned char code tab[6]={0x06,0x5b,0x4f,0x66,0x6d,0x7d}; unsigned char data ram[6]={0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned int cnt)
{
while(--cnt);
}
void main()
{
unsigned char k,j;
while(1)
{
for(j=0,k=0;k<6;k++,j++)
{
P2=ram[j];
P0=tab[k];
delay(60000);
P2=0xff;
}
}
}
21.单片机独立键盘接口技术程序如下:
include
sbit key1 = P3^4;
sbit key2 = P3^5;
sbit key3 = P3^6;
sbit key4 = P3^7;
unsigned char data displayram[6];
unsigned char code displaytab[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xff,0x00,0x40,
};
void display(unsigned char data displayram[6])
{
unsigned char i,m,j=0x00;
for(i=0;i<6;i++)
{
P2=j;
P0=displaytab[displayram[i]];
m=2000;
while(--m);
P2=0xff;
j=(j>>1)|0x80;
}