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

发布者:电竞狂人最新更新时间:2023-05-24 来源: elecfans关键字:单片机  C语言  51芯片 手机看文章 扫描二维码
随时随地手机看文章

上一课我们的第一个项目完成了,可能有懂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程序的语法和编写方法技巧,中间穿插相关的硬件知识如串口,中断的用法等等.


    关键字:单片机  C语言  51芯片 引用地址:单片机C语言教程第二课-初步认识51芯片

    上一篇:如何用Keil来验证单片机变量占多少字节
    下一篇:ISD4004语音芯片C51驱动程序源代码

    推荐阅读最新更新时间:2024-11-12 16:54

    51单片机串口通讯uart笔记
    我需要设计一个夜晚蓝牙开关灯设计,采用的蓝牙芯片为JDY-30,刚开始不知道具体型号,后来连接蓝牙之后发现是JDY-30,查手册发现采用的是uart通讯,所以就进行了重新的温习。下面是uart串口通讯的笔记 使用串口通讯需要对相关寄存器进行配置 我这里需要将串口通讯工作在中断方式,那我肯定要用到中断有关的寄存器IE 还需要设置定时/计数器T1,可能有人会有疑问,为什么要用定时器呢,波特率是每秒传输二进制代码的位数,单位是 位/秒 即bps 而定时器是用来确定发送和发送执行每一位的时间的,所以需要对TCON与TMOD寄存器进行配置 使用串行通讯的话还需要确定串行通信的工作方式与控制功能,这就需要对SCON与PCON寄存器
    [单片机]
    <font color='red'>51</font><font color='red'>单片机</font>串口通讯uart笔记
    闪速存储器AT29C040与单片机的接口设计
    1 引言 自1984年第一块闪速存储器问世以来,闪速存储器就以其EPROM的可编程能力和EEPROM的电可擦除性能,以及在线电可改写特性而得到了广泛的应用和发展。随着制造工艺和材料的改进,闪速存储器比EPROM和EEPROM、SRAM及DRAM等存储器的优势越来越明显。 Atmel公司于1998年推出了新一代大容量快闪存储器AT29C040,由于它采用了Fowler-Nordheim隧道效应技术,使编程电流比第一代闪存降低了一个数量级。该芯片只需要+5V电源并支持分页编程,此外,还具有硬件数据保护、软件数据保护、数据查询和自举模块等其他功能。根据笔者的使用情况,本文对AT29C040闪速存储器的结构特点、使用方法等作了简
    [单片机]
    BCD 数转换为二进制数(义隆单片机)
    两字节压缩BCD 码转换为两字节 二进制 数。算法如下: BCD 码abcd=1000a+100b+10c+d=10{10 +c}+d,将各位BCD 码分离出之后,即可根据此式转换为二进制 数。涉及到乘法运算和多字节加法运算。 0X20,0X21 中为BCD 码,0X21 高4 位为最高位。转换结果放在0X30,0X31 中。 main: MOV a,@0x79 MOV 0x20,a MOV a,@0x54 MOV 0x21,a ;赋值 MOV a,0x20 and a,@0x0f MOV 0x22,a swapa 0x20 and a,@0x0f MOV 0x23,a MOV a,0x21 and a,@0x0f MOV 0x2
    [单片机]
    89C51单片机的接线及调试
    拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路    拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容
    [单片机]
    89C<font color='red'>51</font><font color='red'>单片机</font>的接线及调试
    51单片机与计算机进行通信的实现方法
    51单片机 与计算机 通信 首先我们先来了解一下51单片机与计算机进行通信的实现方法。先来看一个实现这个功能的基本电路。 图中的P1就是 仿真 用的一个串口 接口 ,这个仿真电路要实现与计算机通信功能需要用到其他两个软件,一个是虚拟串口驱动软件,另外一个是串口助手软件,这两个软件在网上都很容易找到。我使用的是Virtual Serial Port Driver和丁丁串口助手,你也可以使用自己熟悉的软件,如果找不到或使用,安装这两个软件有问题可以私信。 虚拟串口驱动软件安装后配置两个成对的虚拟串口一个对应仿真电路中的串口接口,一个对应在串口助手软件上,这样就相当于将两个软件通过虚拟串口连接在一起了,将他们配置成相同的串口
    [单片机]
    <font color='red'>51</font><font color='red'>单片机</font>与计算机进行通信的实现方法
    80C196KB单片机对灭菌器的控制设计方案
    灭菌器是保护人类生命健康的重要器材,发达国家无论是家用灭菌器还是商用灭菌器都很普及。 而灭菌器灭菌是否合格大部分取决于控制系统是否可靠,针对某医疗设备厂灭菌器控制系统不稳定、人机界面不友好等实际问题,作者采用80C196KB单片机为该厂设计灭菌控制系统,消除原有系统的缺陷并相应增加一些功能,相比51系列单片机,96系列片上资源更丰富,设计系统相对容易。 1 灭菌器控制分析 该灭菌器主要进行包裹类、器械类、乳胶类、液体类及其它类五项进行灭菌,其工艺大体相同,不同之处可由程序控制。通过其工作原理(图1)可知,根据里外锅的温度和压力是否达到规定值而进行各种动作控制。 模拟输入量共4个:外锅温度TW,外锅压力PW,里锅温度TL
    [单片机]
    80C196KB<font color='red'>单片机</font>对灭菌器的控制设计方案
    飞思卡尔Kinetis KV5x MCU推动电机控制进入物联网时代
    Kinetis V系列MCU支持新一代安全、互连、高效的电机控制应用 飞思卡尔半导体 (NYSE:FSL) 新Kinetis KV5x 系列MCU充分利用ARM Cortex-M7内核的所有性能潜力,为广阔、发展迅速的数字电机控制市场带来意义深远的超强设计能力。 电机仍然是全球耗电量最大的源头。目前大多数已部署的电机通常都基于过时、低效的技术,利用安全的网络功能向数字化控制系统迁移,可以大幅节省电能,同时还有助于推动终端产品功能的创新。 Kinetis KV5x MCU集领先的处理能力、复杂的模拟和定时外设,以及新连接、安全、安保等特性于一身,解决了这个问题。通过物联网(IoT)技术,它使各种应用,从家用电器到
    [单片机]
    基于单片机的低功耗甲烷检测系统设计
    1 引言 气体检测系统表是工矿企业、社会公用事业、环境保护等领域必备的安全装备。经过几十年的发展,在可测气体种类、测量范围、精度、稳定性、寿命等主要技术指标方面均有明显提高,随着大规模集成电路技术的发展,仪表向微型化、多参数组合与智能化方向发展。新型甲烷气体检测系统应具有智能化的特点,能在一定其他气体干扰的情况下工作,可以采用电子鼻。系统的结构,通过模式识别方法辨识甲烷气体。以小型化的电子鼻系统为基础的甲烷气体检测系统,在设计上应考虑减小系统的体积、简化气体的进样装置和改进电路以满足低功耗要求等问题;另外便携式检测系统的操作者通常情况下是现场人员,属于非专业人员,系统的操作不能复杂,因此对于系统的人机交互功能在设计上也应得到重视。
    [单片机]
    基于<font color='red'>单片机</font>的低功耗甲烷检测系统设计
    小广播
    设计资源 培训 开发板 精华推荐

    最新单片机文章
    何立民专栏 单片机及嵌入式宝典

    北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

    换一换 更多 相关热搜器件

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved