单片机C语言教程第二课-初步认识51芯片

发布时间:2023-05-24  

上一课我们的第一个项目完成了,可能有懂C语言的朋友会说,"这和PC机上的C语言没有多大的区别呀"。的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的改变。编写PC机的C程序时,如要对硬件编程你就必须对硬件要有一定的认识,51单片机编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后的教程中就以Atmel公司的AT89C51和AT89C2051为中心对象来进行学习,两者是AT89系列的典型代表,在爱好者中使用相当的多,应用资料很多,价格便宜,是初学51的首选芯片。嘿嘿,口水多多有点卖广告之嫌了。
第二课 初步认识51芯片
图2-1 AT89C51和AT89C2051引脚功能图
 

AT89C51

AT89C2051

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


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



三级程序存储器保密



两级程序存储器保密



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



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



128字节内部RAM



128字节内部RAM



2个16位定时/计数器



2个16位定时/计数器



一个串行通讯口



一个串行通讯口



6个中断源



6个中断源



32条I/O引线



15条I/O引线



片内时种振荡器



1个片内模拟比较器



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


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

1.电源引脚
Vcc 40 电源端
GND 20 接地端
*工作电压为5V,另有AT89LV51工作电压则是2.7-6V, 引脚功能一样。


2.外接晶体引脚
第二课 初步认识51芯片
图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有所影响。
第二课 初步认识51芯片
图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.0

串行通讯输入(RXD)

P3.1

串行通讯输出(TXD)

P3.2

外部中断0( INT0)

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程序的语法和编写方法技巧,中间穿插相关的硬件知识如串口,中断的用法等等.


    文章来源于:电子工程世界    原文链接
    本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

    相关文章

      一直没有用武之地。其实学习单片机很简单,第一步就是搞清楚编程环境。 入门单片机时,我们常用51型8051单片机和STM32单片机。这两种单片机比较典型,因为学校里单片机课程是基于51单片机的,而......
      ,很多年纪稍微大一点的教授、老师不太愿意,所以可以看到很多大学里的单片机课程还是一直以51为主。 51单片机资料丰富51单片机作为一款曾经风靡全球的单片机,早期入行的前辈们在使用上早已炉火纯青,所以......
      产品开发进程。 教育机构教学实验:由于51单片机开发板在硬件和软件方面都比较简单易懂,广泛应用于教育机构的微机原理和单片机课程的教学实验中,帮助学生理解和掌握嵌入式系统的原理和应用。 爱好者个人项目:单片机......
      你可以学的很好那就最好不过了,现在很多人用汇编对51单片机进行极限开发呢),但51单片机课程中主要是以C语言为基础,相对来说就好学很多了,再怎么说你大一也有一个学期的C语言基础了吧。学会使用它之后你再去学习其他16位芯......
      stc51单片机怎么学, 先掌握STC单片机程序烧录方法!;今天我在这里和大家探讨一下关于51单片机怎么学这个话题。 08年我在大学里学习单片机课程的时候,学习内容主要包括单片机的发展历史,单片机......
      一.单片机概述;单片机课程目标 了解单片机的基本概念及应用; 熟练掌握单片机的软、硬件知识; 能应用单片机实验平台完成基本实验; 能应用单片机完成简单开发。 单片机简介 单片机即单片机微型单片机......
      作为智能电子产品开发设计及嵌入式基础,业内项目式入门资料包括:郭天祥老师的“新概念51单片机”,及相关的单片机开发经验与分享;以51 单片机课程为例的创客式项目教学在编程类课程中的应用研究;邵华老师以项目为导向的课程......
      语言了解;2、微机原理与接口技术了解;想要提升开发能力,就必须要不断地实践,建议小白可以在网上(某宝)买一块51单片机开发板,自己参照课程研究研究 下面我把我的经历给大家说一下,希望有志于单片机......
      直接学习。 这个教程是基于stc 51单片机的开发环境Keil C51给大家讲解的,可以帮助大家更有效的学习单片机C语言的同时,也能更好的衔接后面的课程学习。 为了帮助大家更好的理解课程,我们也有效的结合了单片机......
      从开发板学习开始。 从事单片机开发工作的大多数是电子相关专业毕业的,很多专业都有单片机原理与应用这门课程,但大学的单片机课程,我们又能学到什么? 大学课程学到的知识包括:单片机发展历史,单片机的内部寄存器,定时......

    我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

    利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

    充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

    我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

    我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

    凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

    我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>