单片机知识点

  • 格式:doc
  • 大小:2.81 MB
  • 文档页数:43

单片机知识点 周冰

1

1 微处理器:是小型计算机或微型计算机的控制和处理部分。又称中央处理单元CPU(Central

Processing Unit)。

微型计算机(Microcomputer,简称微机 )是具有完整运算及控制功能的计算机。包括:微处理器(CPU)、存储器、接口适配器(输入输出接口电路)、输入/输出(I/O)设备。

单片机SCM(Single-Chip Microcomputer)是将微处理器、一定容量RAM和ROM以及I/O口、定时器等电路集成在一块芯片上,构成单片微型计算机。也称为微控制器 MCU(MicroController Unit)【微处理器、RAM 、ROM、I/O口、定时器】

预备知识

数字电路中只有两种电平:高和低(本课程中)定义单片机为TTL电平:高 +5V 低 0V

RS232电平:计算机的串口高 -12V 低+12V

所以计算机与单片机之间通讯时需要加电平转换芯片max232(实验板上左下角)。

MCS-51单片机硬件结构及引脚

1、 MCS-51单片机的内部结构

MCS-51单片机的组成: CPU(进行运算、控制)、

RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、

并口)、内部总线和中断系统等。组成框图如右:

总线(BUS)是计算机各部件之间传送信息的公共通道。

微机中有内部总线和外部总线两类。内部总线是CPU内

部之间的连线。外部总线是指CPU与其它部件之间的连

线。 外部总线有三种: 数据总线DB(Data Bus), 地

址总线 AB(Address Bus)和控制总线 CBControl Bus)。

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

ROM:用以存放程序、一些原始数据和表格; 单片机知识点 周冰

2

2 I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;

T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

单片机引脚的功能:8051单片机有40个引脚,分为端口线、电源线和控制线三类。

1.电源线

GND:接地引脚。

VCC:正电源引脚。接+5V电源。

2.端口线

P0~P3口:4×8=32条。

(1)P0口( P0.0~P0.7 )

8位双向三态I/O口,可作为外部扩展时的数据总线/低

8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可

驱动8个TTL负载。对EPROM型芯片(如8751)进行编程和

校验时,P0口用于输入/输出数据。

(2)P1口(P1.0~P1.7)

8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。

每个引脚可驱动4个TTL负载。

(3)P2口(P2.0~P2.7)

8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时

的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个

TTL负载。对EPROM型芯片(如8751)进行编程和校验时,用

来接收高8位地址。

(4)P3口( P3.0~P3.7 )

8位准双向I/O口,内部具有上拉电阻。它是双功能复用口,作为通用I/O口时,功能与P1口相 单片机知识点 周冰

3

3 同,常用第二功能。每个引脚可驱动4个TTL负载。作为第二功能使用时,各位的作用如下页表所示。

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外部读控制

2.时钟引脚

(1)XTAL1(19脚):如果采用外接晶体振荡器时,此

引脚应接地。

(2)XTAL2(18脚):接外部晶体的另一端。

3.控制线

提供控制信号,有的引脚还具有复用功能。

(1) RST/VPD(9脚):复位与备用电源。

(2) ALE/PROG*(30脚):第一功能ALE为地址锁存允许,可驱动8个LS型TTL负载。

PROG*为本引脚的第二功能。为编程脉冲输入端。

(3) PSEN* (29脚):读外部程序存储器的选通信号。可以驱动8个LS型TTL负载。

(4) EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚)

EA*为内外程序存储器选择控制端。

EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。

EA*=0,单片机则只访问外部程序存储器。

VPP为本引脚的第二功能。对89S52,加在VPP脚的编程电压为+12V或+5V。

单片机主要掌握以下几点

最小系统能够运行起来的必要条件。1.电源 2.晶振 3.复位电路 单片机知识点 周冰

4

4 对单片机任意IO口的随意操作1.输出控制电平高低 2.输入检测电平高低。

定时器:重点掌握最常用的方式2 中断:外部中断、定时器中断、串口中断

串口通信:单片机之间、单片机与计算机

基本数据类型

sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明

例:sfr SCON = 0X98; sfr16 T2 = 0xCC; sbit OV = PSW^2;

常用有:reg51.h reg52.h(定义特殊功能寄存器和位寄存器);math.h (定义常用数学运算);

程序(一)点亮第一个发光二极管

#include

void main()

{

P1=0xfe;

while(1);

}

程序(二)让第一个发光二极管闪烁

#include

sbit led1=P1^0; void main()

{

unsigned int i;

while(1)

{

i=50000;

led1=0;

while(i--);

i=50000;

led1=1;

while(i--);

}

}

程序(三)

// 第一个发光二极管以间隔2000ms闪烁

#include

#define uint unsigned int

#define uchar unsigned char

sbit led1=P1^0;

void delay(uint z) //延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main() { 单片机知识点 周冰

5

5 while(1)

{

led1=0;

delay(2000);

led1=1;

delay(2000);

}

}

程序(四)

//8 个发光管由上至下间隔1s流动

//每个管亮500ms,灭500ms,亮时蜂鸣器响

//灭时关掉蜂鸣器,一直重复下去

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit beep=P2^3;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{ uchar a;

a=0xfe;

while(1)

{

P1=a;

beep=0;

delay(500);

P1=0xff;

beep=1;

delay(500);

a=_crol_(a,1);

}

}

程序(五)

//8 个发光管来回流动

//每个管亮100ms,流动时让蜂鸣器发声

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit beep=P2^3;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{ uchar a,i;

while(1)

{

a=0xfe;

for(i=0;i<8;i++)

{

P1=a;

beep=0;

delay(50);

beep=1;

delay(50);

a=_crol_(a,1);

}

a=0x7f;

for(i=0;i<8;i++)

{

P1=a;

beep=0;

delay(50);

beep=1;

delay(50);

a=_cror_(a,1);

}

}

}

运算器 对操作数进行算术、逻辑运算和位操作。

1.算术逻辑运算单元ALU 2.累加器A 3. 寄存器B 4. 程序状态寄存器PSW

控制器 1.程序计数器PC(Program Counter)2.指令寄存器IR、指令译码器及控制逻辑电路

存储器空间可划分为5类:

1.程序存储器 2.内部数据存储器 3.特殊功能寄存器(SFR-Special Function Register)4.位地址空间