01
前言
51单片机是最早最基础也是目前应用很广泛的一款8位单片机,在大学阶段,它是电子信息及自动化类相关专业的学生必学的一门课程。它是一种通用型的微控制器,英文中我们通常将微控制器统称为MCU。51单片机典型产品有Intel公司的MCS-51系列(如8051/8052、8031/8032、8751/8752等)和Atmel公司的89C51、89C52、89C2051等系列。
目前在国内以上这些单片机除了在学校实验室,市场上已经很难见得到了,一方面由于国外厂家停产了,比如Intel很早就不产8位芯片了,对于他们来说这点利润还不如做电脑CPU的零头;另外的原因是应为国产替代,进口芯片在国内市场完全没有价格优势了。其中国产51单片机芯片制造商最著名的就STC了,他们的51核单片机几乎占了国内51核单片机的半壁江山。国产51单片机价格足够便宜,一些简单型号批量价都降到1元内了,引脚和功能多一些的型号也有2~3元一片的。并且经过几十年的技术发展,现在的51单片机已不可同日而语了,不管是在外观还是在功能方面都比以前的芯片更有优势了。
因为51单片机具有这些优势所以在普通电子产品上很多商家都会选择使用51单片机来降低产品的成本。在知识体系中51单片机是对数字电路承接,因为它足够基础,相对现在复杂的芯片来说它是最合适的入门芯片,这也是它在高校课程安排中几十年了也一直没被淘汰的原因。如果你有志于进入电子行业,那无论如何也需要把这门课程掌握好,事实上它学起来也没什么难度。微机原理中的汇编学起来不一定很好掌握(如果你可以学的很好那就最好不过了,现在很多人用汇编对51单片机进行极限开发呢),但51单片机课程中主要是以C语言为基础,相对来说就好学很多了,再怎么说你大一也有一个学期的C语言基础了吧。学会使用它之后你再去学习其他16位芯片或者32位甚至64位的芯片时就简单多了。
02
51单片机引脚分布
51系列单片机,包括后面增强型52系列,他们的外观基本都是通用的,无论那家生产的大致都可以相互替换,当然是插件的替换插件的,贴片的替换贴片的!下面使用最基础的版本来介绍一些它是引脚分布。
它的40pin引脚按功能分可分为4种:
1、电源引脚,由VCC(+5V)和GND(接地)提供电源。
2、时钟信号引脚,由XTAL0和XTAL1接晶振产生系统时钟。
3、控制信号引脚,RESET,ALE/PROG ,PSEN 和EA /VPP。
RESET是复位信号输入端,高电平时触发芯片复位。
ALE/PROG为地址锁存允许信号端,在使用外部存储器时通过输出脉冲信号作为锁存低8位地址的控制信号,它也可以用作为带有片内EPROM的51单片机提供编程脉冲输入。
PSEN为程序存储允许输出信号端在使用外部存储器时用作片选信号。
EA /VPP是外部程序存储器地址允许输入控制信号,高电平时允许读取外部EPROM,低电平则禁止。它的另外一个功能是作为固化编程电压的输入端,此功能使用不多,了解即可。
4、通用输入输出引脚,端口P0~P3都可以用作输入输出端口。
P0口是一个漏极开路的8位准双向I/O端口,做输入时需要外接上拉电阻。
P1~P3口都是带有内部上拉电阻的准双向I/O端口,其中P3口的每个引脚还具有第二功能,如串口,外部中断,定时器计算器输入,外部RAM读写使能。在增强型芯片中P1.0和P1.1具有的第二功能分别为定时器2输出信号端和定时器2输入捕捉端。
温馨提示:以上这些信息除了教材,网络有之外,更多信息可以在芯片厂商官网或代理商网站上获取。这里再次强调一下学会获取芯片手册的重要性,很多教材里没有的或者作者不会告诉你的信息在芯片手册中可能能够查找到(现在是个人都可以出书,并且出书的人也不一定就实际应用过他写的内容,芯片工作环境也可能不一样,即使你们进行同样的操作,结果可能也未必就一样)。如果你使用的芯片有更新过那最好从官网下载一份数据手册来对比看看,平时使用时若遇到信息有差异时,应以官方数据手册为准,也可以向官方咨询确认!在工作中你肯定会遇到没接触过的芯片,甚至有时你可能找遍全网都不一定能找到丁点使用参考资料,这时数据手册就是你的指南,如果遇到国内连芯片数据手册都找不到的话,那就去另想办法,学会国外查找吧~
03
51单片机内部功能结构
51单片机内部的基本功能模块可以分为中央处理器CPU、存储器(RAM,ROM,FLASH)、I/O口、定时器/计数器和中断系统几部分。
这是Atmel官方数据手册中给出的内部结构示意图,大家可以先试着看一下它,英文基础好一点的应该能看懂个大概吧。
下图是STC数据手册中的内容,两者大同小异。
再简化一下就成这样了:
中央处理器:包括运算器ALU和控制逻辑构成,其中也包括若干特殊功能寄存器(SFR)。
存储器:51系列单片机存储器采用的是程序存储器和数据存储器完全分开的哈弗结构,二者各有自己的寻址方式、寻址空间和控制系统。内部数据存储器和程序存储器的大小与型号相关,还可以扩展外部数据存储器和程序存储器。
I/O口:上一节已做介绍它是芯片与外设进行通信和操作的基础。
定时器/计数器:定时/计数器是51单片机的重要部件,它就像课程表一样,什么时候让芯片执行什么程序,当然这只是它的一部分功能,它也可以输出脉冲信号,捕获外部脉冲等等。
中断系统:中断简单来说就是打断长在执行的程序转而去做另一件事,就像我们按照课程表上课,突然天气预报说台风要来了,学校都要提前下课。在51单片机里中断就是给我们提供设置一些比普通程序优先级更高的程序已处理一些对时效要求高的任务,执行完中断事件之后再恢复执行正常程序。