51 单片机 C 语言入门教程(磁动力工作室)
- 10 -
P3.3
外部中断 1(INT1)
P3.4
定时器 0 输入(T0)
P3.5
定时器 1 输入(T1)
P3.6
外部数据存储器写选通 WR
P3.7
外部数据存储器写选通 RD
表 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 程序的语法和编写方法技巧,中间穿
插相关的硬件知识如串口,中断的用法等等。
第三课 生成 HEX 文件和最小化系统
在开始C语言的主要内容时,我们先来看看如何用KEIL uVISION2来编译生成用于烧写
芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字
节,所有数据使用16进制数字表示,
常用来保存单片机或其他处理器的目标程序代码。它保
存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一课