上一课我们的第一个项目完成了,可能有懂C语言的朋友会说,"这和PC机上的C语言没有多大的区别呀"。 的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的 改变。 编写PC机的C程序时,如要对硬件编程你就必须对硬件要有一定的认识,51单片机编程就更是如此,因它 的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片 种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后 的教程中就以Atmel公司的AT89C51和AT89C2051为中心对象来进行学习,两者是AT89系列的典型代表, 在爱好者中使用相当的多,应用资料很多,价格便宜,是初学51的首选芯片。嘿嘿,口水多多有点卖广告之嫌 了。:P |
|||||||||||||||||||||||
|
|||||||||||||||||||||||
图2-1 AT89C51和AT89C2051引脚功能图
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
表2-1 AT89C51和AT89C2051主要性能表
|
|||||||||||||||||||||||
图2-1中是AT89C51和AT89C2051的引脚功能图。而表2-1中则是它们的主要性能表。以上可以看出它们 是大体相同的,由于AT89C2051的IO线很少,导致它无法外加RAM和程序ROM,片内Flash存储器也少,但它的 体积比AT89C51小很多,以后大家可根据实际需要来选用。它们各有其特点但其核心是一样的,下面就来看 看AT89C51的引脚具体功能。 2.外接晶体引脚 |
|||||||||||||||||||||||
|
|||||||||||||||||||||||
图2-2 外接晶体引脚
|
|||||||||||||||||||||||
XTAL1 19 直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频 率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。 注意了。如AT89C51 24PC就是最高振荡频率为24MHz,40P6封装的普通商用芯片。 3.复位 RST 9 位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器 和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。 常用的复位电路如图2-3所示。 |
|||||||||||||||||||||||
|
|||||||||||||||||||||||
图2-3 常用复位电路
|
|||||||||||||||||||||||
4.输入输出引脚 抗输入端。作为输出口时能驱动8个TTL。 上拉电阻起作用。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 据存储器时其引脚上的内容在此期间不会改变。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 请看表2-2.。 |
|||||||||||||||||||||||
|
|||||||||||||||||||||||
表2-2 P3端口引脚兼用功能表
|
|||||||||||||||||||||||
呼!一口气说了那么多,停一下吧。嗯,什么?什么叫上拉电阻?上拉电阻简单来说就是把电平拉高, 通常用4.7-10K的电阻接到Vcc电源,下拉电阻则是把电平拉低,电阻接到GND地线上。具体说明也不是这 里要讨论的,接下来还是接着看其它的引脚功能吧。 使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存 储器时,出现一个ALE脉冲。对Flash存储器编程时,这个引脚用于输入编程脉冲PROG 常数时,每个机器周期输出2个脉冲即两次有效。但访问外部数据存储器时,将不会有脉冲输出。 只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。对Flash存储器编程时,用于 施加Vpp编程电压。Vpp电压有两种,类似芯片最大频率值要根据附加的编号或芯片内的特征字决定。具体 如表2-3所列。 |
|||||||||||||||||||||||
|
|||||||||||||||||||||||
表2-3 Vpp与芯片型号和片内特征字的关系
|
|||||||||||||||||||||||
看到这您对AT89C51引脚的功能应该有了一定的了解了,引脚在编程和校验时的时序我们在这里就不做 详细的探讨,通常情况下我们也没有必要去撑握它,除非你想自己开发编程器。下来的课程我们要开始以 一些简单的实例来讲述C程序的语法和编写方法技巧,中间穿插相关的硬件知识如串口,中断的用法等等。 |
上一篇:单片机C语言教程(四)
下一篇:单片机C语言教程(三)
推荐阅读最新更新时间:2024-03-16 14:41