您现在的位置是:首页 >技术教程 >C51单片机介绍网站首页技术教程
C51单片机介绍
本文为学习51单片机的学习的基础,先介绍单片机是什么。所使用的单片机有什么资源。每一个功能的作用是什么。本文使用的是STC89C52RC 40I-PDIO40,故以此为基础研究学习。
C51单片机介绍
单片机的概述
单片机(单片微型计算机)是一种集成中央处理器(Central Processing Unit,CPU)、只读存储器(Read Only Memory,ROM)、随机存取储存器(Random Access Memory,RAM)、定时器/计数器以及I/O输入输出接口等功能于一体的小型计算机芯片。从4位,8位甚至到后来的32位,性能越来越强,价格越来越低。其中51系列单片机是指由Intel公司发展起来的MCS-51系列以及和其具有兼容内核的单片机。
80C51 是 MCS-51 系列中的一个典型品种; 其它厂商以 8051 为基核开发出的CMOS 工艺单片机产品统称为 80C51 系列。 当前常用的 80C51 系列单片机主要产品有:
Intel(英特尔)的: i80C31、 i80C51、 i87C51, i80C32、 i80C52、 i87C52 等;
ATMEL(艾德梅尔)的: AT89C51、 AT89C52、 AT89C2051, AT89S51(RC) , AT89S52(RC) 等;
Philips(飞利浦)、 华邦、 Dallas(达拉斯)、 Siemens(西门子)等公司的许多产品;
STC(国产宏晶)单片机: STC89C51、 STC89C52、 STC89C516、 STC90C516 等众多品牌
单片机的组成部分
中央处理器
中央处理器中央处理器(CPU)是整个单片机的核心部件。CPU主要由算术逻辑部件、控制器和专用寄存器3部分电路组成。它负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。
程序存储器
程序存储器(ROM)用于存放用户程序、原始数据或表格等。8051单片机共有4096个8位ROM,有些增强型的单片机提供了更大的程序存储器,有些甚至还采用的是Flash程序存储器。
数据存储器
数据存储器(RAM)可存放读写的数据、CPU运算的中间结果或用户定义的字型表等。8O51单片机内部有128个8位用户数据存储单元和128个专用寄存器单元。专用寄存器只能用于存放控制指令数据,只能访问而不能用于存放用户数据。对于一些新推出的单片机,其内部RAM单元可能更多,例如AT89S52单片机内部有256个RAM数据存储单元。
定时器/计数器
定时器/计数器用于单片机硬件的定时或者计数。一般包含两个16位的可编程定时器/计数器,以实现定时或计数功能。它也可以产生中断,从而在程序中控制程序转向。部分新推出的单片机可能拥有更多的定时器/计数器。
并行I/O
单片机的并行/O口主要用于和外部设备进行并行的输入和输出通信,以便于处理外部的输入和将运算结果反馈到外部设备。
全双工串行口UART
全双工串行通信口UART主要用于与其他设备间的串行数据传送。一般均内置一个全双工串行通信口,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。部分新推出的单片机可能拥有更多的全双工串行口。
中断系统
8051单片机具备较完善的中断功能,包含两个外部中断、两个定时器/计数器中断和一个串行中断。8051单片机的中断系统具有两级的优先级别选择。部分新推出的单片机可能拥有更多的中断源。
时钟振荡电路
时钟振荡电路主要用于为单片机提供CU时钟源。单片机可以采用内部时钟振汤电路或者田9外是供时钟源。其最大工作频率根据单片机型号的不同而有所差别,例如AT89S52单片机的时钟振荡频率为0~33MHz。
STC89C51RCRD+系列单片机介绍
结构图
STC89C51RC/RD+系列单片机的内部结构框图如下图所示。STC89C51RC/RD+单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块。STC89C51RC/RD+系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。相关系列的单片机结构都是类似的,区别只有资源的大小。
管脚图与资源介绍
丝印介绍
STC–表示芯片为 STC 公司生产的产品, 其他公司的也有 AT、 i、 SST 等。8–表示该芯片为 8051 内核芯片。9–表示内部含有 Flash EEPROM 存储器, 还有如 80C51 中 0 表内部含有MaskROM(掩模 ROM) 存储器; 如 87C51 中 7 表示内部含有 EPROM(紫外线可擦除ROM) 存储器。C–表示该器件为 CMOS 产品。 还有如 89LV52 和 89LE58 中的 LV 和 LE 都表示该芯片为低电压产品(通常为 3.3V 电压供电) ; 而 89S52 中 S 表示该芯片含有可串行下载功能的 Flash 存储器, 即具有 ISP 可在线编程功能。5–固定不变。2–表示该芯片内部程序存储(FLASH) 空间大小, 1 为 4KB, 2 为 8KB, 3 为12KB, 即该数乘以 4KB 就是芯片内部的程序存储空间大小。 程序空间大小决定了一个芯片所能装入执行代码的多少。 一般来说, 程序存储空间越大, 芯片价格也越高, 所以我们再选择芯片的时候要根据自己需求选择合适芯片。RC–STC 单片机内部 RAM(随机读写存储器) 为 512B。 还有如 RD+表示内部RAM 为 1280B。 还有芯片会省略此部分。40–表示芯片外部晶振最高可接入 40MHz。 对 AT 单片机数值一般为 24, 表示外部晶振最高位 24MHz。I–产品级别, 表示芯片使用温度范围。C 表示商业级, 温度范围为 0~+70 度。I 表示工业级, 温度范围为-40~+85 度。A 表示汽车级, 温度范围为-40~+125 度。M 表示军用级, 温度范围为-55~+150 度。PDIP40–产品封装型号。 PDIP 表示双列直插式。1947–表示本批芯片生产日期为 19 年第 47 周。
管脚说明
最小系统图
51系列单片机的最小硬件系统是指能让单片机正常工作的最小硬件电路。对于8051系列单片机及其兼容的型号,其电路的最小系统大致相同,这里以AT89S52为例,介绍典型的51系列单片机最小硬件电路。
需要关注的是振荡电路,复位电路,上拉电阻部分这三个部分。其中P0口需要接一个10K的上拉电阻。另外振荡电路的电容不宜太大,导致不能起震。