您的位置:首页 > 其它

初步认识 51 芯片

2017-10-11 12:04 169 查看

 初步认识 51 芯片

C 语言只是一种程序语言的统称,针对不同的处理器相关的 C 语言都会有一些细节的改变。编写 PC 机的 C 程序时,如要对硬件编程您就必须对硬件要有一定的认识,51 单片机编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下 51 苾片的结构和引脚功能。MSC51 架构的芯片种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些 51 芯片的资料列表),在此后的教程中就以 Atmel 公司的 AT89C51 和 AT89C2051 为中心对象来进行学习,两者是AT89
系列的典型代表,在爱好者中使用相当的多,应用资料很多,价格便宜,是初学 51 的首选芯片。

 
图 2-1 AT89C51 和 AT89C2051 引脚功能图
 

AT89C51  AT89C2051

AT89C51  AT89C2051

4KB 可编程 Flash 存储器(可擦写 1000 次) 2KB 可编程 Flash 存储器(可擦写 1000 次)

4KB 可编程 Flash 存储器(可擦写 1000 次) 2KB 可编程 Flash 存储器(可擦写 1000 次)

三级程序存储器保密  两级程序存储器保密

三级程序存储器保密  两级程序存储器保密

静态工作频率:0Hz-24MHz  静态工作频率:0Hz-24MHz

静态工作频率:0Hz-24MHz  静态工作频率:0Hz-24MHz

128 字节内部 RAM  128 字节内部 RAM

128 字节内部 RAM  128 字节内部 RAM

2 个 16 位定时/计数器  2 个 16 位定时/计数器

2 个 16 位定时/计数器  2 个 16 位定时/计数器

一个串行通讯口  一个串行通讯口

一个串行通讯口  一个串行通讯口

6 个中断源  6 个中断源

6 个中断源  6 个中断源

32 条 I/O 引线  15 条 I/O 引线

32 条 I/O 引线  15 条 I/O 引线

片内时种振荡器  1 个片内模拟比较器

片内时种振荡器  1 个片内模拟比较器

表 2-1 AT89C51 和 AT89C2051 主要性能表

以上可以看出它们是大体相同的,由于 AT89C2051 的 IO 线很少,导致它无法外加 RAM 和程序 ROM,片内 Flash 存储器也少,但它的体积比 AT89C51 小很多,以后大家可根据实际需要来选用。它们各有其特点但其核心是一样的,下面就来看看 AT89C51 的引脚具体功能。

 

1.电源引脚

Vcc 40 电源端

GND 20 接地端

 

*工作电压为 5V,另有 AT89LV51 工作电压则是 2.7-6V, 引脚功能一样。

 

2. 外接晶体引脚

 
 

图 2-2 外接晶体引脚
XTAL1 19

XTAL2 18

XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取 30PF 左右。

 

*型号同样为 AT89C51 的芯片,在其后面还有频率编号,有 12,16,20,24MHz 可选。大家在购买和选用时要注意了。如 AT89C51 24PC 就是最高振荡频率为 24MHz,40P6 封装的普通商用芯片。

 

3.复位 RST 9

在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后 P0-P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序。常用的复位电路如图 2-3 所示。

 

*复位操作不会对内部 RAM 有所影响。

 
图 2-3 常用复位电路
4.输入输出引脚

(1) P0 端口[P0.0-P0.7] P0 是一个 8 位漏极开路型双向 I/O 端口,端口置 1(对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。

对内部 Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低 8 位)/数据总线,访问期间内部的上拉电阻起作用。

(2) P1 端口[P1.0-P1.7] P1 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接收低 8 位地址信息。

(3) P2 端口[P2.0-P2.7] P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接收高 8 位地址和控制信息。在访问外部程序和 16 位外部数据存储器时,P2 口送出高 8 位地址。而在访问 8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。

(4) P3 端口[P3.0-P3.7] P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接控制信息。除此之外 P3 端口还用于一些专门功能,具体请看 表 2-2。

 

*P1-3 端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。

 

P3 引脚  兼用功能
P3 引脚  兼用功能
P3.0  串行通讯输入(RXD)
P3.0  串行通讯输入(RXD)
P3.1  串行通讯输出(TXD)
P3.1  串行通讯输出(TXD)
P3.2  外部中断 0( INT0)
P3.2  外部中断 0( INT0)
P3.3  外部中断 1(INT1)
P3.3  外部中断 1(INT1)
P3.4  定时器 0 输入(T0)
P3.4  定时器 0 输入(T0)
P3.5  定时器 1 输入(T1)
P3.5  定时器 1 输入(T1)
P3.6  外部数据存储器写选通 WR
P3.6  外部数据存储器写选通 WR
P3.7  外部数据存储器写选通 RD
P3.7  外部数据存储器写选通 RD
P3 引脚  兼用功能
P3 引脚  兼用功能
表 2-2 P3 端口引脚兼用功能表
呼!一口气说了那么多,停一下吧。嗯,什么?什么叫上拉电阻?上拉电阻简单来说就是把电平拉高,通常用 4.7-10K 的电阻接到 Vcc 电源,下拉电阻则是把电平拉低,电阻接到 GND 地线上。具体说明也不是这里要讨论的,接下来还是接着看其它的引脚功能吧。

5.其它的控制或复用引脚

(1) ALE/PROG 30 访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE 端仍以不变的频率输出脉冲信号(此

频率是振荡器频率的 1/6)。在访问外部数据存储器时,出现一个 ALE 脉冲。对

Flash 存储器编程时,这个引脚用于输入编程脉冲 PROG

(2) PSEN 29 该引是外部程序存储器的选通信号输出端。当 AT89C51 由外部程序存储器取指令或常数时,每个机器周期输出 2 个脉冲即两次有效。但访问外部数据存储器时,将不会有脉冲输出。

(3) EA/Vpp 31 外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。要使 AT89C51 只访问外部程序存储器(地址为 0000H-FFFFH),这时该引脚必须保持低电平。对 Flash 存储器编程时,用于施加 Vpp 编程电压。Vpp 电压有两种,类似芯片最大频率值要根据附加的编号或芯片内的特征字决定。具体如表2-3 所列。

 

Vpp = 12V

Vpp = 5V

印刷在芯片面上的型号

 

AT89C51

xxxx

YYWW

 

AT89LV51

xxxx

YYWW

 

AT89C51

xxxx-5

YYWW

 

AT89LV51

xxxx-5

YYWW

片内特征字

030H=1EH

030H=1EH

030H=1EH

030H=1EH

031H=51H

031H=61H

031H=51H

031H=61H

032H=FFH

032H=FFH

032H=05H

032H=05H

表 2-3 Vpp 与芯片型号和片内特征字的关系

看到这您对 AT89C51 引脚的功能应该有了一定的了解了,引脚在编程和校验时的时序我们在这里就不做详细的探讨,通常情况下我们也没有必要去撑握它,除非您想自己开发编程器。下来的课程我们要开始以一些简单的实例来讲述 C 程序的语法和编写方法技巧,中间穿插相关的硬件知识如串口,中断的用法等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: