单片机系列介绍
1.什么是单片机
- 单片机,全称:单片微型计算机(Single Chip Microcomputer)
- 英文:Micro Controller unit,简称为 MCU
- 是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器、计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统
- 单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用
- 同时,学习使用单片机是了解计算机原理与结构的最佳选择
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有以下标准功能:
8位CPU
8/16/32/64k字节Flash(闪存)
512/1280字节SRAM
5KB EEPROM
内置系统ISP监控程序
4个8位并行双向可编程I/O端口
看门狗定时器
集成MAX810专用复位电路
3个16 位定时器/计数器
4路外部中断(支持掉电唤醒)
一个7向量4级中断结构
一个全双工作串行I/O口(UART)
SFR特殊功能寄存器
2.单片机最小系统
- 要使单片机工作起来,最基本的电路的构成包括:
2.1.电源电路
- 向单片机供电
2.2.时钟电路/振荡电路
- 单片机工作的时间基准,向单片机提供一个正弦波信号作为基准,决定单片机的工作/执行速度
- 89C51单片机时钟频率范围:0~33MHz
( a ) 内部时钟电路
( b ) HMOS型外部振荡源
( c ) CHMOS型外部振荡源
2.3.复位电路
- 确定单片机工作的起始状态,恢复单片机的启动过程
3.单片机标号信息部分
3.1.单片机芯片厂商产品列表
公司 | 产品 |
---|---|
AT(Atmel) | AT89C51,AT89C52,AT89C53,AT89C55,AT89LV52,AT89S51,AT89LS53 |
Philips(飞利浦) | P80C54,P80C58,P87C54,P87C58,P87C524,P87C528 |
Winbond(华邦) | W78C54,W78C58,W78E54,W78E58 |
Intel(英特尔) | i87C54,i87C58,i87L54,i87L58,i87C51FB,i87C51FC |
Siemens(西门子) | C501-1R,C501-1E,C513A-H,C503-1R,C504-2R |
STC | StC89C51RC,STC89C52RC,STC89LE51RC,STC12C5412AD |
3.2.单片机标识基本信息
标识 | 释义 |
---|---|
STC | 前缀,表示芯片为STC公司生产的产品 其他前缀还有如AT、i、Winbond、SST等 |
8 | 表示该芯片为8051内核芯片 |
9 | 表示内部含Flash E2PROM存储器 还有如80C中0表示内部含Mask POM(掩模ROM)存储器 如87C中7表示内部含EPROM存储器(紫外线可擦除ROM) |
C | 表示该器件为CMOS产品 还有如89LV52和89LE58中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电) 而89S52中的S表示该芯片含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能 |
5 | 固定不变 |
1 | 表示该芯片内部存储空间的大小 1为4KB,2为8KB,3为12KB 即该数乘上4KB就是该芯片内部的程序存储空间大小 |
RC | STC单片机内部RAW(随机读写存储器)为512B 还有如RD+表示内部RAM为1280B |
40 | 表示芯片外部晶振最高可接入40MHz 对AT单片机数值一般为24,表示其外部晶振最高为24MHz |
C | 产品级别,表示芯片使用温度范围 C表示商业级,温度范围为0℃~~+70℃ |
PDIP | 产品封装型号 PDIP表示双列直插式 |
0707 | 表示本批芯片生产日期为7年第7周 |
CU8138.00D | 不详 (有关资料显示,此标号表示芯片制造工艺或处理工艺) |
3.3.单片机芯片标号对应温度范围
标号 | 用途 | 温度范围 |
---|---|---|
C | 商业用产品 | 0℃~+70℃ |
I | 工业用产品 | -40℃~+85℃ |
A | 汽车用产品 | -40℃~+125℃ |
M | 军用产品 | -55℃~+150℃ |
3.4.单片机芯片封装分类
名称 | 英文 | 释义 |
---|---|---|
DIP | Dual In-Line Package | 双列直插式封装 |
PLCC | Plastic Leaded Chip Carrier | 带引线的塑料芯片封装 |
QFP | Quad Flat Package | 塑料方型扁平式封装 |
PFP | Plastic Flat Package | 料扁平组件式封装 |
PGA | Pin Grid Array Package | 插针网格阵列封装 |
BGA | Ball Grid Array Package | 球栅阵列封装 |
4.STC80C52芯片引脚
- P3口引脚第二功能介绍
标号 | 引脚 | 第二功能 | 说明 |
---|---|---|---|
P3.0 | 10 | RXD | 串行输入口 |
P3.1 | 11 | TXD | 串行输出口 |
P3.2 | 12 | INT0 | 外部中断0 |
P3.3 | 13 | INT1 | 外部中断1 |
P3.4 | 14 | T0 | 定时器/计数器0外部输入端 |
P3.5 | 15 | T1 | 定时器/计数器1外部输入端 |
P3.6 | 16 | WR* | 外部数据存储器写脉冲 |
P3.7 | 17 | RD* | 外部数据存储器****脉冲 |
5.其他常识
5.1.进制转换表
十进制 | 二进制 | 十六进制 | 十进制 | 二进制 | 十六进制 | |
---|---|---|---|---|---|---|
00 | 0000 0000 | 0x00 | 09 | 0000 1001 | 0x09 | |
01 | 0000 0001 | 0x01 | 10 | 0000 1010 | 0x0A | |
02 | 0000 0010 | 0x02 | 11 | 0000 1011 | 0x0B | |
03 | 0000 0011 | 0x03 | 12 | 0000 1100 | 0x0C | |
04 | 0000 0100 | 0x04 | 13 | 0000 1101 | 0x0D | |
05 | 0000 0101 | 0x05 | 1 | 0000 1110 | 0x0E | |
06 | 0000 0110 | 0x06 | 15 | 0000 1111 | 0x0F | |
07 | 0000 0111 | 0x07 | 16 | 0001 0000 | 0x10 | |
08 | 0000 1000 | 0x08 | … | … | … |
5.2.数据类型
类型 | 存储大小 | 值范围 |
---|---|---|
bit | 0~+1 | |
signed char | 1字节 | -128~+127 |
unsigned char | 1字节 | 0~+255 |
enum | 2字节 | -32,768~+32,767 |
signed short | 2字节 | -32,768~+32,767 |
unsigned short | 2字节 | 0~+65,535 |
signed int | 2字节 | -32,768~+32,767 |
unsigned int | 2字节 | 0~+65,535 |
signed long | 4字节 | -2,147,483,648~+2,147,483,647 |
unsigned long | 4字节 | 0~+4,294,967,295 |
float | 4字节 | ±1.175494E-38~±3.402823E+38 |
sbit | 0~+1 | |
sfr | 1字节 | 0~+255 |
sfr16 | 2字节 | 0~+65535 |
5.3.按位操作
符号 | 名称 | 原理说明 | 举例 |
---|---|---|---|
& | 与 | 无0不变 有0得0 | 1&1=1 1&0=0 0&0=0 |
l | 或 | 有1得1 无1全0 | 1l1=1 1l0=1 0l0=0 |
~ | 非 | 1非得0 0非得1 | ~1=0 ~0=1 |
^ | 异或 | 必须不同 否则没有(0) | 1^1=0 1^0=1 0^0=0 |
<< | 左移 | 左移一位 自动补0 | 0010 0011<<=0100 0110 |
>> | 右移 | 右移一位 自动补0 | 0010 0011>>=0001 0001 |
6.最后说明
6.1.原厂手册
- 对于系列单片机型号、功能等最好的了解办法是去对应厂家查看其对应的芯片数据手册!!!
- 指路STC89C52手册地址:STC宏晶官方数据网站
各种型号芯片相关资料在网页右下方查找
6.2.网站推荐
●电子技术设计网
● 芯片数据手册网站
●电子工程世界论坛
●电子发烧友
6.3.个人想法
- 不管怎么样,学习单片机最好的方法还是软硬件相结合,入手一块开发板,跟着编写程序烧录代码实现功能,这样才会学得更好更快