单片机_单片机八月 - CSDN
单片机 订阅
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。 展开全文
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
信息
外文名
Microcontrollers
类    别
电路芯片
中文名
单片机
应    用
工业生产、电子设备等
单片机简介
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。 [1]  从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期,无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用,让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。 [2]  单片机也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。简单地说,单片机就是一块芯片,这块芯片组成了一个系统,通过集成电路技术的应用,将数据运算与处理能力集成到芯片中,实现对数据的高速化处理。 [2] 
收起全文
  • 这是大二我做某实验室管理员,为了方便自己管理整理,都是一些51单片机的小作品,适合给刚学完51单片机的新手练手 一目录 1基于51单片机的火灾温度烟雾报警器 2基于51单片机的声光电子琴 3基于51单片机的音乐喷泉 4...

            这是我大二做某实验室管理员,为了方便自己管理整理,都是一些51单片机的小作品,适合给刚学完51单片机的新手练手!

                  时间好快,目前我已经研二了,没有想到底下会有这么多评论,谢谢各位学弟学妹捧场!我在这统一回复,这些是我总结的可以用来练手的关于51单片机的小项目,不过我自己没有做过,真的没有资料。          

    一目录

    1基于51单片机的火灾温度烟雾报警器

    2基于51单片机的声光电子琴

    3基于51单片机的音乐喷泉

    4基于51单片机的智能温控风扇

    5基于51单片机的超声波测距

    6基于51单片机的无线温湿度控制系统设计

    7基于51单片机脉搏心率计

    8.基于51单片机led音乐频谱

    9.基于51单片机的智能充电器

    10.基于51单片机的贪吃蛇游戏

    11.基于51单片机的电子秤

    12.基于51单片机的视力保护器

    13.基于51单片机防人水位检测报警系统

    14.基于51单片机的声光控制器设计

    15.基于51单片机的红外计数器

    16.基于51单片机的自行车码表设计

    17.基于51单片机的计算器的设计

    18.基于51单片机的酒精浓度测试仪设计

    19.基于51单片机的智能台灯设计

    20.基于51单片机的卫星定位

    21.基于51单片机防尘PM2.5灰尘设计

    22.基于51单片机的无线音乐门铃

    23基于51单片机的短信收发控制器

    24.基于51单片机的智能插座定时开关设计

    25.基于51单片机的4*4*4单片机的光立方设计

     

    二.作品参考图

     

    1基于51单片机的火灾温度烟雾报警器

     

     

     

     

     

    2基于51单片机的声光电子琴

     

     

     

     

    3基于51单片机的音乐喷泉

     

     

     

     

    4基于51单片机的智能温控风扇

     

     

     

     

    5基于51单片机的超声波测距

     

     

    6基于51单片机的无线温湿度控制系统设计

    7基于51单片机脉搏心率计

    8.基于51单片机led音乐频谱

    9.基于51单片机的智能充电器

    10.基于51单片机的贪吃蛇游戏

    11.基于51单片机的电子秤

    12.基于51单片机的视力保护器

    13.基于51单片机防人水位检测报警系统

    14.基于51单片机的声光控制器设计

    15.基于51单片机的红外计数器

    16.基于51单片机的自行车码表设计

    17.基于51单片机的计算器的设计

    18.基于51单片机的酒精浓度测试仪设计

    19.基于51单片机的智能台灯设计

    20.基于51单片机的卫星定位

    21.基于51单片机防尘PM2.5灰尘设计

    22.基于51单片机的无线音乐门铃

    23基于51单片机的短信收发控制器

     

    24.基于51单片机的智能插座定时开关设计

     

    25.基于51单片机的4*4*4单片机的光立方设计

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 单片机:基础知识

    2019-07-20 08:43:19
    单片机内部结构 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、...

    单片机内部结构

    单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统

    分类:

    • 1、通用型
      按单片机(Microcontrollers)适用范围来区分。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
    • 2、总线型
      按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
    • 3、控制型
      按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。

    51单片机的结构与功能

    基本功能:
    1.8位数据总线,16位地址总线的CPU;
    2.具有布尔处理能力和位处理能力;
    3.采用哈佛结构,程序存储器与数据存储器地址空间各自独立,便于程序设计;
    4.相同地址的64KB程序存储器和64KB数据存储器;
    5.0-8KB片内程序存储器(8031无,8051有4KB,8052有8KB,89C55有20KB);
    6.128字节片内数据存储器(8051有256字节);
    7.32根双向并可以按位寻址的I/O线;
    8.两个16位定时/计数器(8052有3个);
    9.一个全双工的串行I/O接口;
    10.多个中断源的中断结构,具有两个中断优先级;
    11.片内时钟振荡器 。

    特点:
    1.以微处理器(CPU)为核心;
    2.CPU与其他部件间通过三总线连接。
    总线: 指能为多个部件服务的信息传送线 。

    内部结构
    在这里插入图片描述
    在这里插入图片描述

    单片机外部结构

    在这里插入图片描述

    一共40根外部引脚如图:

    在这里插入图片描述
    引脚功能介绍

    引脚号 引脚名称 说明
    1~8 P1.0~P1.7 端口P1
    9 RST 复位信号输入端
    10~17 P3.0~P3.7 端口P3,该端口具备第二功能
    18 XTAL2 时钟震荡器输出端,内部震荡器输出段
    19 XTAL1 时钟震荡器输入端,内部震荡器输入段
    20 GND 电源地
    21~28 P2.0~P2.7 端口P2
    29 PSEN(低) 外部程序存储器从程序存储器中取指令或读取数据时,该信号有效
    30 ALE/PROG(低) 地址锁存信号访问外部存储器时,该信号锁存低8位地址;无RAM时,此引脚输出晶振的6分频信号
    31 EA(低)/VPP 程序存储器有效地址,EA=1时从内部开始执行程序;EA=0时从外部开始执行程序
    32~39 P0.7~P0.0 端口P0
    40 VCC 电源正

    1、P0口的结构

    P0口字节地址为80H,位地址80H~87H。
    如图,一个端口由锁存器、输入缓冲器、多路开关、一个非门、一个与门及场效应管驱动电路构成。

    P0位结构:
    在这里插入图片描述

    • 输入缓冲器
      在P0口中,有两个三态的缓冲器,三态门有3个状态,即在其输出端可以是高电平、低电平,同时还有一种高阻状态(或称为禁止状态),要读取D锁存器输出端Q的数据,需要使读锁存器中这个缓冲器的三态控制端有效,下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为“读引脚”的三态缓冲器的控制端有效,引脚上的数据才会传输到单片机的内部数据总线上。
    • D锁存器
      构成一个锁存器,通常要用一个时序电路,一个触发器可以保存一位二进制数(即具有保持功能),在51单片机的32根I/O口线中,都是用一个D触发器来构成锁存器的。图1-4中的D锁存器,D端是数据输入端,CP是控制端(即时序控制信号输入端),Q是输出端,Q非是反向输出端。
      对于D锁存器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(即时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端的。如果时序控制端CP的时序脉冲到达,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来)。如果下一个时序控制脉冲信号到来,这时D端的数据才再次传送到Q端,从而改变Q端的状态。
    • 多路开关
      在51单片机中,当内部的存储器够用时(即不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器),P0口可以作为通用的输入/输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机,或者编写的程序超过了单片机内部的存储器容量需要外扩存储器时,P0口就作为地址/数据总线使用。那么这个多路选择开关就是用于选择是作为普通I/O口使用还是作为地址/数据总线使用的选择开关了。从图1-4可知,当多路开关与下端接通时,P0口作为普通的I/O口使用;当多路开关是与上端接通时,P0口作为地址/数据总线使用。

    利用P0口进行扩展外部存储器和I/O时,P0口将作为地址和数据分时复用,CPU发控制信号,打开与门,使MUX打向上边,形成推拉式结构,数据信号可直接读入或输出到内部总线。利用P0作为通用I/O时,此时P0口是一个准双向口,CPU发控制信号,封锁与门,使上拉管截止,MUX打向下边,与D触发器Q连接。

    2、P1口的结构

    P1口字节地址为90H,位地址为90H~97H。

    P1位结构:
    在这里插入图片描述

    与P0不同,P1口只能作为I/O口使用,无MUX,但其内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻,这一点P1、P2、P3都一样。

    3、P2口的结构

    P2口字节地址为A0H,位地址为A0H~A7H

    P2位结构:
    在这里插入图片描述

    P2口作为I/O口线时用法与P0口一样,当内部开关拨向另一个方向,即作地址输出时,可以输出程序存储器或外部数据存储器的高8位地址,并与P0口输出的低地址一起构成16位的地址线。

    4、P3口的结构

    P3口字节地址为B0H,位地址为B0H~B7H。

    在这里插入图片描述

    P3口作为I/O口线用时同其他的端口相同,也是准双向口,不同的是,P3口的每一位都有另一种功能,也叫第二功能,具体作用在用到时将详细解释。当P3口作为通用I/O口时,准双向口第二功能端保持高电平。

    当P3口作为第二功能时,锁存器输出Q=1,如图为P3口第二功能列表:
    在这里插入图片描述

    5、注意

    • (1)在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口作为双向总线,分时作为低8位地址和数据的输入/输出线。
    • (2)P0口作为通用双向I/O口使用时,必须外接上拉电阻。
    • (3)P3口除了作通用I/O口使用外,各位还具有第二功能。当P3口某一位用于第二功能作输出时,则不能再作通用I/O口使用。
    • (4)当P0~P4端口用作输入时,为了避免误读,都必须先向对应的输出锁存器写入1,使FET截止,然后再读端口引脚,例如以下程序:
      MOV P1, #0FFH
      MOV A, P1

    51的程序存储器和数据存储器是独立分开的,数据寄存器除内部数据寄存器外,还可以扩展数据寄存器,并存但访问指令不同

    程序寄存器

    当EA引脚接高电平,CPU将使用内部程序寄存器,若程序超过内部程序存储器空间时,则CPU会自动从外部程序存储器重读取超过部分的程序代码

    数据寄存器

    0000H ~ 007FH
    1、寄存器组区
    0000H~001FH共有32个地址位寄存器组区
    每组寄存器组都包括R0、R1、R2、R3、R4、R5、R6、R7等8个寄存器,任何一个时间,都只能使用其中一个寄存器组。
    寄存器组的切换,可由程序状态字(PSW)中的RS1、RS0来决定
    RS0 RS1 寄存器组 位址
    0 0 RB0 0000H~0007H
    0 1 RB1 0008H~000FH
    1 0 RB2 0010H~0017H
    1 1 RB3 0018H~001FH

    2、可位寻址区
    0020H~002FH 共16字节的存储区为可位寻址区
    设置20H存储器地址的位5设置为1:SETB 20H.5
    设置20H存储器地址的位5设置为0:CLR 20H.5

    3、一般数据与堆栈区
    0030H~007FH的80字节为一般数据访问及堆栈区
    0080H~00FFH之间的128B位特殊功能寄存器(SFR)
    特殊功能寄存器
    P0、P1、P2、P3
    它们是51的4个输入/输出端口,其地址分别为80H、90H、A0H及B0H。
    P0口:该8位都为漏级开路输出,每个引脚可以驱动8个LS型TTL负载;且内部没有上拉电阻,执行输出功能时,外部必须接上拉电阻(10千欧即可);若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;若系统连接外部存储器,则P0可作为地址总线(A0A7)及数据总线(D0D7)的多功能引脚。
    P1口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;
    P2口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;若系统连接外部存储器,而外部存储器的地址线超过8条时,则P0口可作为地址总线(A8~A15)引脚。
    P3口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;
    P3口其他功能:
    P3 其它功能 说明
    P3.0 RXD 串行口的接收引脚
    P3.1 RTD 串行口的传送引脚
    P3.2 INT0 INT0中断输入
    P3.3 INT1 INT1中断输入
    P3.4 T0 timer 0输入
    P3.5 T1 Timer 1输入
    P3.6 WR 写入外部存储器控制引脚
    P3.7 RD 读取外部存储器控制引脚

    SP
    SP为堆栈指针寄存器,其地址为81H。

    DPL、DPH
    DPL与DPH均为8位的数据指针寄存器,其地址分别为82H、83H。若以DPL为低8位、DPH为高8位,即可组成一个16位的数据指针寄存器,简称DPTR,如此将可寻址到64KB的数据地址。

    PCON
    PCON作为电源控制寄存器,其地址位87H,其功能是设定CPU的电源方式。
    它是一个不可位寻址的寄存器。如图所示:
    SMOD ― ― ― GF1 GF0 PD IDL
    Bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
    其中各位说明如下:
    SMOD位为比特率倍增位。当串行端口工作于模式1、模式2、模式3,且使用定时器1为其比特率产生器时,若其为1,这比特率加倍,若为0,这比特率正常。
    GF1、GF0位为一般用途标志位,用户可自行设定或清除这两个标志。通常使用这个两个标志作为有中断唤醒闲置模式中的8051系统。
    PD位为功率下降模式位。为1时,进入功率下降模式;为0时,结束功率下降模式。
    IDL位为闲置模式位。为1时,进入闲置模式;为0时,结束闲置模式。

    TCON
    TCON为定时器/计数器控制寄存器,其地址为88H

    TMOD
    TMOD为计数器/计数方式控制寄存器,其地址为89H,其功能是设置它的方式

    TL0、TL1、TH0、TH1
    TL0、TH0为第一组定时器、计数器的计量寄存器,其地址为8AH、8CH,将TL0与TH0组合即可进行16位的定时/计数。TL1、TH1为第二组定时器、计数器的计量寄存器,其地址为8BH、8DH,将TL1与TH1组合即可进行16位的定时/计数。

    SCON
    SCON为串行端口控制寄存器,其地址为98H,其功能是设定串行端口工作方式与标志。

    SBUF
    SBUF为串行端口缓冲器,其地址为99H, 这是由使用同一个地址的两个寄存器所构成,其中一个寄存器作为传送数据用的缓冲器,另一个寄存器作为接收数据用的缓冲器。至于如何分辨同一个地址的两个寄 存器,则视指令而定,若是数据传送指令,则自动定位到传送数据用的缓冲器;若是接受数据指令,则自动定位到接收数据用的缓冲器。详细以后再讲咯。IE
    IE为中断使能寄存器,其地址为A8H。

    IP
    IP为中断优先级寄存器。

    T2CON
    T2CON为Timer 2的定时器/计数器控制寄存器,其地址为C8H,其功能死设定Timer 2的启动、记录定时/计数溢出,以及外部中断触发方式等。

    RCAP、RCAP2H
    RCAP、RCAP2H为捕捉寄存器,其地址为CAH、CBH。当Timer 2在捕捉方式时,若T2EX(P1.1)引脚上的输入信号有高电平转为低电平时,TL2与TH2的内容将被载入RCAP与RCAP2H,就像是把Timer 2的内容捉进RCAP寄存器一样。

    TL2、TH2
    TL2、TH2为第三组定时器、计数器的计量寄存器,其地址为CCH、CDH,将TL2与TH2组合即可进行16位的定时/计数。

    PSW
    PSW为CPU的程序状态字寄存器,其地址为D0H,其内容如下:
    7 6 5 4 3 2 1 0
    PSW CY AC F0 RS1 RS0 OV P
    PSW.7:本位为进位位(CY),加减法时产生进位或错位,将自行设定为1,否则为0。
    PSW.6:本位为辅助进位位(AC),进行加减法运算产生进位或错位,将自行设定为1,否则为0。
    PSW.5:本位为用户标志位,用户自行设定。
    PSW.4与PSW.3:这两个位为寄存器组选择位(RS1、RS0),其功能如下表所示。
    RS1 RS0 寄存器组
    0 0 RB0
    0 1 RB1
    1 0 RB2
    1 1 RB3
    PSW.2:本位为溢出标志位(OV),运行时,若发生溢出,为1,否则为0。
    PSW.1:本位为保留位,没有提供服务。
    PSW.0:本位位奇偶位(P),8051采用偶同位,若ACC中奇数个1,则为1,偶数个1,则为0。

    ACC
    ACC累加器又称为A寄存器,其地址为E0H。
    B
    B寄存器的地址为F0H,主要功能是配合A寄存器进行乘法或除法运算。进行乘法运算时,乘数放在B寄存器,而运算结果,高8位放在B寄存器;进行除法运算时,除数放在B寄存器,而运算的结果,余数放在B寄存器。若不进行乘/除法运算,B寄存器也可当成一般寄存器使用。

    门电路

    • 与门
    • 或门
    • 非门
    • 同或门
    • 异或门
    • 门间的组合电路

    在这里插入图片描述

    门电路的实现TTL和MOS集成门电路

    寄存器和锁存器

    • 触发器分类:
      1、基本R-S触发器
      2、同步RS触发器、同步D触发器
      3、主从R-S触发器、主从JK触发器
      4、边沿触发器:
      上升沿触发器(D触发器、JK触发器)
      下降沿触发器(D触发器、JK触发器)

    • 触发器逻辑功能表示方法:
      特性表、卡洛图、特性方程、状态图、时序图

    • 各种触发器介绍
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    展开全文
  • MSC-51单片机指以8051为核心的单片机,由美国的Intel公司在1980年推出,80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。 单片机:在一片集成电路芯片上集成...

    第一部分。单片机简介

    MSC-51单片机指以8051为核心的单片机,由美国的Intel公司在1980年推出,80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。

    单片机:在一片集成电路芯片上集成微处理器(CPU)、存储器(ROM和RAM)、I/O接口电路,从而构成了单芯片微型计算机,即单片机(single chip Microcomputer)也叫微控制器(MCU)。

    CPU( Central Processing Unit ):由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

    RAM( Random-Access Memory ):用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

    ROM (Read-Only Memory):用以存放程序、一些原始数据和表格;

    I/O(input/output)口:四个8位并行I/O口,既可用作输入,也可用作输出;

    T/C (timer/counter):两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

     数字电路中只有两种电平:高和低

    单片机为TTL电平: +5V       0V

    RS232电平:计算机的串口    -12V     +12V

    所以计算机与单片机之间通讯时需要加电平转换芯片max232等其他芯片

    数字电路的点评特性据定了他只能用二级制:

    二进制逻辑运算,与或非和异或

    数据类型:

    因为51单片机是8位的,所以他的数据类型一般用unsigned char 

    第二部分。引脚简介

    1.  电源引脚:Vcc (40脚):电源端,接+5V电源。

    Vss(Gnd) (20脚):接地端,接+5V电源地端

    2. 外接晶体引脚:XTAL1和XTAL2

    89C51内部有一个振荡器和时钟产生电路。

    XTAL1(19脚):   片内振荡电路反相放大器输入

    XTAL2(18脚):片内振荡电路反相放大器输出 当采用内部时钟时,片外连接石 英晶体和微调电容,产生原始 的振荡脉冲信号。

    采用外部时钟时, XTAL1输入 外部时钟脉冲信号, XTAL2悬空.

    3. 控制信号引脚:RST、ALE、PSEN、EA

    RST (9脚) : 复位信号输入端,高电平有效。

              保持两个机器周期高电平时,完成复位操作。

    ALE/PROG (30脚) :

    地址锁存允许输出端/编程脉冲输入端

    正常时,连续输出振荡器频率的1/6正脉冲信号。

    访问片外存储器时:

    作为锁存P0口低8位地址的控制信号。

    对8751片内 ROM编程写入时:作为编程脉冲输入端。

    PSEN (29脚): 外部程序存储器读选通输出信号

    访问片外ROM时,输出负脉冲作为读ROM选通.

    常连接到片外ROM芯片的输出允许端(OE)作外部ROM的读选通信号。

    EA/Vpp (31脚):

    外部程序存储器地址使能输入/编程电压输入端.   平常,接“1”时,CPU访问片内4KB的ROM,当地址超4KB时,自动转向片外ROM中的程序。当接“0”时,CPU只访问片外ROM。 第2功能Vpp              对8051编程时,编程电压输入端。

    4. 输入/输出端口引脚 P0、P1、P2、P3

    4个8位的并行输入/输出端口,共32个引脚。作为通用输入/输出端口

    通用输入/输出端口

         准双向口:  作输入时要先对锁存器写“1”。默认启动初始化为高电平

    P0端口(P0.0—P0.7,第39—32脚):

          漏极开路的准双向口, 内部没有上拉电阻,为搞阻状态,不能正常输出高低电平,做I/O时需要接上拉电阻(10K)

    P1端口(P1.0—P1.7,第1—8脚):

          内部带上拉电阻的准双向口,在做输入时要先1

    P2端口(P2.0—P2.7,第21—28脚):

          内部带上拉电阻的准双向口,与P1相似

    P3端口(P3.0—P3.7,第10—17脚):

          内部带上拉电阻的准双向口,做I/O时与P1相似,另外有第二功能

    P3口的第二功能

     

    展开全文
  • 本课程是巫妖王51单片机开发板的配套视频课程,本课程的目标是用少的时间带大家初级入门51单片机。配合巫妖王51单片机开发板,让大家花费少的时间少的钱就能轻松开启单片机学习之路。
  • 单片机教程第一课:单片机概述 2 单片机教程第二课:单片机的内部、外部结构(一) 2 单片机教程第三课:几个基本概念 4 单片机教程第四课:第一个小程序 8 单片机教程第五课:延时程序分析 10 单片机教程第六课:...
  • 单片机:内部资源

    2020-02-25 14:41:18
    在这里我所讲到的单片机内部资源,和传统单片机书籍讲单片机内部结构不同,我这里讲到的内部资源,是指我们作为单片机用户,单片机提供给我们可使用的一些内容。总结起来,主要是三大资源: FLASH(程序存储空间,...

    原文地址:https://blog.csdn.net/Qingzhusshuiyun/article/details/78211567

    1.1 单片机的内部资源

    在这里我所讲到的单片机内部资源,和传统单片机书籍讲单片机内部结构不同,我这里讲到的内部资源,是指我们作为单片机用户,单片机提供给我们可使用的一些内容。总结起来,主要是三大资源:

    1. FLASH(程序存储空间,早期单片机是OTPROM)
    2. RAM(数据存储空间)
    3. SFR(特殊功能寄存器)

    在早期的技术里边,主要是用OTPROM(One Time Programable Read-Only Memory,即一次可编程只读存储器)来存储单片机的程序,随着技术的发展,FLASH的以其可重复擦写且大容量低成本的优点成为绝大多数单片机的程序存储器。对于单片机来说FLASH最大的意义是断电后数据不丢失,这个概念类似于我们电脑的硬盘,你看我们保存了电影、文档、音乐等文件,我们把电源关掉后,下次重新开电脑,所有的文件都还照样存在。

    RAM是单片机的数据存储空间,用来存储程序运行过程中产生的和需要的数据,和我们电脑的内存是一个概念,其实最典型的比喻是我们的计算器,我们用计算器计算个加减法,一些中间的数据都会保存在RAM里边,关电后数据丢失,所以我们每次打开计算器,都是从归零开始计算。但是他的优点第一是读写速度非常快,第二是理论上是可无限次写入的,即寿命无限,不管程序怎么运行怎么读写它都不会坏的。

    第三个资源是SFR,特殊功能寄存器。这个概念大家可能刚开始理解不了,但是一定要记住。单片机有很多很多功能,每个功能都会配一个或多个SFR,我们就是通过对SFR的读写来实现单片机的多种多样的功能的。

    讲到这里,我们来了解一下51单片机。通常我们一说到51单片机,指的都是兼容Intel MCS-51体系架构的一系列单片机。全球有众多的半导体厂商推出了无数款这一系列的单片机,比如Atmel的AT89C52,NXP(Philips)的P89V51,宏晶科技的STC89C52,具体型号千差万别,但他们的基本操作都是一样的,程序开发环境也是一样的。这里我们要分清楚51这个统称和具体的单片机型号之间的关系。

    单片机内部资源的三个主要部分我们清楚了,那么我们选择STC89C52RC这款单片机来进行学习。STC89C52RC单片机是宏晶科技出品的一款51内核的单片机,具有标准的51体系结构,全部的51标准功能,程序下载方式简单,方便学习,我们就用它来学习单片机。它的资源呢,Flash程序空间是8K字节(1K=1024字节,1字节= 8位),RAM数据空间是512字节,SFR我们后边需要逐一提到并且应用。

    1.2 单片机最小系统

    为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机最小应用系统,是指用最少的原件组成单片机可以工作的系统。单片机最小系统的三要素就是电源、晶振、复位电路,如图2-1所示。

    图片
    图2-1 单片机最小系统电路

    备注:本教材中的大部分电路图示例都节选自我们的KST-51开发板原理图,但也有部分电路图示例与KST-51开发板无关,而仅是用其来说明一些具体问题。读者可自行对照KST-51开发板原理图,以下不再做特殊说明。

    1.2.1 电源

    这个很好理解,电子设备都需要供电,就连我们的家用电器(手电筒_)也不例外。主流单片机的电源现在是5V和3.3V两个标准,当然现在还有对电压要求更低的单片机系统。

    我们所学的STC89C52RC,它需要5V的供电系统,我们的开发板是使用USB口出来的5V直流电压直接供电的。从图2-1可以看到,供电电路在40脚和20脚的位置上,40脚接的是VCC,代表的是电源正极,20脚接的是GND,代表的是电源的负极。VCC和GND之间还有个电容,作用我们下节课介绍。

    这个地方我们还要普及一个看原理图的知识。电路原理图是为了表达这个电路的工作原理而存在的,很多器件在绘制的时候更多考虑是方便分析原理,不是表达各个器件实际位置的。比如上边的单片机引脚图,引脚的位置我们是可以随意放的,但是每个引脚上有一个引脚标号(在表示芯片的方框的内部),这个引脚标号代表的才是单片机真正的引脚位置,如图2-2所示。一般情况下,这种双列直插的封装的芯片,左上角是1脚,逆时针旋转引脚号依次增加,一直到右上角是最大脚位,咱们现在选用的单片机一共40个引脚,因此右上角就是40。

    图片
    图2-2单片机封装图

    1.2.2 晶振

    晶振,又叫晶体振荡器,从这个名字我们就可以看出来,它注定一生都要不停振动的。他起到的作用是为单片机系统提供基准时钟信号,类似于我们部队训练时喊口令的人,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。STC89C52RC单片机的18脚和19脚是晶振的引脚,我们接了一个11.0592M的晶振(它每秒钟震荡11,059,200次),外加两个20pF的电容,电容的作用是帮助晶振起振,并维持震荡信号的稳定

    1.2.3 复位电路

    在图2-1左侧是一个复位电路,接到了单片机的9脚RST(Reset)复位引脚上,这个复位电路如何起到的作用我们后边再讲,现在着重讲一下复位对单片机的作用。单片机复位一般是3种情况,上电复位、手动复位、程序自动复位

    我们假如我们的单片机程序有100行,当某一次运行到第50行的时候,突然停电了,这个时候单片机内部有的区域数据会丢失掉,有的区域数据没丢失,那么下次打开设备的时候,我们希望单片机能正常运行。所以上电后,单片机要进行一个内部的初始化过程,这个过程就可以理解为上电复位,上电复位保证单片机每次都从一个固定的相同的状态开始工作。这个过程跟我们打开电脑电源开电脑的过程是一致的。

    当我们的程序运行,遭受到意外干扰而导致程序死机,或者程序跑飞的时候,我们就可以按下一个复位按键,让程序重新初始化重新运行,这个过程就叫做手动复位,最典型的就是我们电脑的重启按钮。

    当我们的程序死机或者跑飞的时候,我们的单片机往往有一套自动复位机制,比如看门狗,具体应用以后再了解。在这种情况下,如果程序长时间失去响应,单片机看门狗模块会自动复位重启单片机。还有一些情况是我们程序故意重启复位单片机。

    电源、晶振、复位构成了单片机最小系统的三要素,也就是说,一个单片机具备了这三个条件,就可以运行我们下载的程序了,其他的比如LED小灯、数码管、液晶等设备都是属于单片机的外设,我们最终完成我们想要的功能就是通过对单片机编程来控制这些外设实现的。

    1.3 LED小灯

    LED小灯通常我们也叫做发光二极管,它的种类很多,参数也不尽相同,我们板子上用的是最普通的贴片发光二极管。这种二极管通常的正向导通电压是1.8V到2.2V之间工作电流一般在1mA~20mA之间。其中,当电流在1mA~5mA之间变化时,随着通过发光二极管(LED)的电流越来越大,我们的肉眼会感觉到这个小灯越来越亮,当电流从5mA~20mA之间变化时,我们看到的发光二极管的亮度基本上没有什么太大变化了当电流超过20mA时,LED就会有烧坏的危险了,电流越大,烧坏的也就越快。所以我们在使用过程中应该特别注意他在电流参数上的设计要求。

    那么下面我们来看一下这个发光二极管在我们的开发板上的设计应用。

    图片
    图2-3 USB接口电路

    图2-3是我们开发板上的USB接口电路,通过USB线,电脑给我们的开发板供电和下载程序以及实现电脑和开发板之间的通信。从图上可以看出,USB座共有6个接口,其中2脚和3脚是数据通信引脚,1脚和4脚是电源引脚,1脚是VCC正电源,4脚是GND即地线。5脚和6脚是外壳,我们直接接到了GND上,大家可以观察一下开发板上的这个USB口的座的6个引脚。

    我们现在主要来看1脚VCC和4脚GND。1脚通过F1(自恢复保险丝)接到右侧,在正常工作的情况下,保险丝可以直接看成导线,因此左右两边都是USB电源+5V,自恢复保险丝的作用是,当你后级电路哪个地方有发生短路的时候,保险丝会自动切断电路,保护我们的板子以及电脑的USB口,当电路正常后,保险丝会恢复畅通,正常工作。

    右侧有2条支路,第一条是在+5V和GND接了一个470uF的电容,电容是隔离直流的,所以这条支路是没有电流的,电容的作用,我们下节课再介绍,这节课我们主要看第二条支路。我们把第二条支路摘取出来就是这个样子了。

    图片
    图2-4 Led小灯电路(1)

    发光二极管是二极管中的一种,因此和普通二极管一样,这个二极管有阴极和阳极,习惯上也称之为正极和负极,这样方便在电路上观察,方向必须接对了才会有电流通过让LED小灯发光。刚才我提到了我们接入的VCC电压是5V,发光二极管自身压降大概可认为是2V,那么在右边RES这个电阻上承受的电压就是3V。那么现在我们要求电流范围是1~20mA的话,就可以根据伏安特性,把这个电阻的上限和下限值求出来。

    VCC2I=R \frac{VCC - 2}{I}= R

    当电流是1mA的时候,电阻值是3K;当电流是20mA的时候,电阻值是150欧,也就是RES的取值范围是150~3000欧姆。这个电阻值大小的变化,直接可以限制整条通路的电流的大小,因此这个电阻我们通常称之为“限流电阻”。在图2-3中,我们用的电阻是1K,这条支路电流的大小,我想大家可以轻松计算出来了,而这个发光二极管在这里的作用,就是个电源指示灯,使用USB线将开发板和电脑连起来,这个灯就会亮了。

    同理,我们在板子后级开关控制的地方,又添加了一个LED10发光二极管,作用就是当我们打开开关时,这个二极管才会亮起。

    图片
    图2-5 USB供电电路

    大家注意,这里的开关虽然只有一个,但是是2路的,2路开关并联更能确保给后级提供更大的电流。电容C19和C10,都是隔离断开直流的,作用我们下节课介绍,这里大家可以忽略。

    那么下面呢,我们把图2-4进行一下变化,把右侧的GND去掉,改成一个单片机的IO口,如图2-6所示。

    图片
    图2-6 LED小灯电路(2)

    图2-4由于电源从正极到负极有电压差,并且电路是导通的,所以就会有电流通过,LED小灯因为有了电流通过,所以就会直接发光。我们把右侧的原GND处接到单片机P0.0引脚上,那么如果我们单片机输出一个低电平,也就是跟GND一样的0V电压,就可以让LED小灯和图2-4一样发光。

    因为我们的单片机是可以编程控制的,我们可以让P0.0这个引脚输出一个高电平,就是跟VCC一样的5V电压,那么这个时候,左侧VCC电压和右侧的P0.0的电压是一致的,那就没有电压差,没有电压差就不会产生电流,没有电流LED小灯就不会亮,也就是会处于熄灭状态。下面,我们就用我们的编程软件来实现控制小灯的亮和灭。

    1.4 程序代码编写

    这是我们第一个实验程序,因此大家还是得耐心点,先来了解一下一些51单片机特有的程序语法以及Keil软件的基本操作步骤。

    1.4.1 特殊功能寄存器和位定义

    我们主要是用C语言来对单片机编程,有的单片机也有那么几条很特殊的独有的编程语句,51单片机就有,先介绍2条。

    第一条语句是:  sfr  P0 = 0x80;
    

    SFR这个关键字,是51单片机特有的,他的作用是定义一个单片机特殊功能寄存器(special function register)。51单片机内部有很多个小模块,每个模块有8个开关。每个模块呢,都有一个房间和唯一的房间号。那么P0就是一个功能模块,就住在了0x80这个房间里,我们就是通过设置P0的内部这个模块的8个开关,来让单片机的P0这8个IO口输出高电平或者低电平的。

    第二条语句是: sbit  LED = P0^0;
    

    这个sbit,就是对刚才所说的SFR里边的8个开关其中的一个进行定义。经过上边第二条语句后,以后只要在程序里写LED,就代表了P0.0口(“^”这个符号在数字键6上边),注意这个P必须大写,也就是说我们给P0.0又取了一个更形象的名字叫做LED。

    了解了这两个语句后,我们来大概看一下单片机的特殊功能寄存器。注意,每个型号的单片机都会配有生产厂商所写的数据手册(Datasheet),所以我们来看一下STC89C52RC的数据手册,从21页到24页,全部是对特殊功能寄存器的介绍以及地址映射列表。我们在使用这个寄存器之前,必须对这个寄存器的地址进行说明。是不是花花绿绿的太多了,记不住啊,这个没关系的,不需要你记住,了解一下,后边大部分我会慢慢给大家解释,少部分需要用到的时候,自己过来查手册就可以了,做技术不是为了应付考试,你可以随时翻阅手册查找你需要的资料。

    继续往下看,在22页最下边有一个表格
    图片
    表2-1 IO口特殊功能寄存器

    我们来看一下表2-1,其中P4口是扩展出来的功能,我们暂时先不看,只看前边的P0,P1,P2,P3这4个,每个Px口本身又有8个控制端口。大家可以结合我们的开发板原理图或者图2-1来看,那么这样就确定了我们的单片机一共有32个IO口(IO,Input和Output,分别是输入和输出)。

    其中P0口所在的地址是0x80,一共有从7到0这8个IO口控制位,后边有个Reset Value(复位值),这个很重要,我们看寄存器必看的一个参数,8个控制位复位值全部都是1。这里也就告诉了我们,这个单片机上电复位的时候,所有的引脚的值默认是高电平,我们在设计电路的时候也要充分的考虑这个问题。

    那么上边那2条语句,我们写sfr的时候,必须要根据手册里的这个地址(add)去写,sbit的时候,就可以直接将一个字节其中某一位取出来。我们编程的时候,也有现成的写好寄存器地址的头文件,我们直接包含该头文件就可以了,不需要逐一去写了。

    展开全文
  • 单片机基础汇总

    2018-10-30 11:50:30
    单片机基础教程     一、单片机概念   1、单片机:在一片集成电路芯片上集成微处理器(CPU)、存储器(ROM和RAM)、I/O接口电路,从而构成了单芯片微型计算机,即单片机...
  • 单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机……目前已投放市场的主要单片机产品多达70 多个系列,500多个品种。...
  • 单片机笔记(1)

    2020-04-17 16:14:12
    第2章 89C51单片机的结构与原理 2.1 89C51单片机的主要特性 89C51具有如下特性: (1)面向控制的8位CPU; (2)一个片内振荡器和时钟产生的电路; (3)片内4 KB Flash ROM 程序存储器; (4)128B的片内数据存储器...
  • 单片机的基本概念 1.1单片机的组成* 由CPU、RAM(随机存储器)、ROM(只读存储器)、I/O接口、以及内部功能部件组成。 1.2单片机内部数据传输* 单片机内部数据传输通过总线完成,输入数据时会经过三态门,三态门挂在...
  • 单片机和cpu的区别

    2019-04-08 10:09:09
    很多人都认为,单机片和CPU不是属于两种不同的东西吗?...单片机简称为单片微控制器(Microcontroler),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计...
  • 开发单片机最小系统,并且在开发利用中学会晶振电路,以及复位电路的工作原理和使用方法,会单片机最小系统的一些原理和应用,再者学会89s52单片机的四个接口的功能和用途,并且利用单片机的最小系统来控制led灯,...
  • 十天学完51单片机

    2020-03-27 20:19:30
    51单片机学习第一天 第一讲 单片机预备知识,如何点亮一个发光管 电平特性:高电平和低电平 常用进制有:二进制,十六进制 相关运算:1.与运算 同时为1才为1,其他为0。 2.或运算 一边为1,就为1。 3.非运算 1的非...
  • 第1季课程的主要内容包括:《朱有鹏老师单片机系列课程》的整体规划、课程设计、学习路线介绍,单片机学习的意义、单片机与物联网的关系,51单片机工作原理、电路原理图识别、C语言基础知识等学习单片机软件开发必备...
  • 单片机简介单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、RAM、...
  • 51单片机汇编教程

    2018-03-23 18:59:28
    很多电子爱好者,都想学习单片机这门技术。下面的这一系列教程是 www.51hei.com 专门为初学者入门而准备的,从底层硬件入手基于汇编和c两种语言,详细的介绍了单片机的原理,指令,寄存器,以及接口等,后面还为你...
  • 手机APP通过ESP8266 WIFI模块与51单片机通信控制LED灯的开关。下位机由单片机、ESP8266模块和LED灯组成,上位机由Android手机APP承担。我们在APP上发送LED灯的开关控制指令,ESP8266将收到的数据发送给单片机,从而...
  • 单片机毕业设计不用愁!!30篇单片机毕业设计参考案例 30篇单片机毕业设计参考案例   这篇文章分享给大四的小伙伴,是时候该准备毕业设计了吧,别偷懒了,第二学期就准备实习了喔,所以小编我就开始为你们准备...
  • 不久前开始学习使用蓝牙模块,在模块与51单片机连接的过程中出现了非常多的问题,我想应该也是很多新手和我一样会遇到这样的问题,因此特地写这篇文章,想分享下在学习过程中遇到的问题以及解决方法。此次学习用到...
  • 利用51单片机制作一个秒表的详细过程 前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大家...
1 2 3 4 5 ... 20
收藏数 153,551
精华内容 61,420
关键字:

单片机