您的位置 首页 IC

单片机C言语教程(二)

上一课我们的第一个项目完成了,可能有懂C语言的朋友会说,这和PC机上的C语言没有多大的区别呀。的确没有太大的区别,C语言只是一种程序

上一课咱们的第一个项目完成了,可能有懂C言语的朋友会说,”这和PC机上的C言语没有多大的差异呀”。

确实没有太大的差异,C言语仅仅一种程序言语的总称,针对不同的处理器相关的C言语都会有一些细节的

改动。

编写PC机的C程序时,如要对硬件编程你就有必要对硬件要有必定的知道,51单片机编程就更是如此,因它

的开发运用是不行与硬件脱节的,所以咱们先要来开端知道一下51苾片的结构和引脚功用。MSC51架构的芯片

品种许多,具体特色和功用不尽相同(在今后编写的附录中会参加常用的一些51芯片的材料列表),在尔后

的教程中就以Atmel公司的AT89C51和AT89C2051为中心目标来进行学习,两者是AT89系列的典型代表,

在爱好者中运用适当的多,运用材料许多,价格便宜,是初学51的首选芯片。嘿嘿,口水多多有点卖广告之嫌

了。:P

图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.外接晶体引脚

图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.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程序的语法和编写办法技巧,中心交叉相关的硬件常识如串口,中止的用法等等。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/260144.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部