单片机知识点
- 格式: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.位地址空间