打印
[51单片机]

零基础学嵌入式—单片机篇【第一课—单片机基础知识】

[复制链接]
8067|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 51armfpga 于 2014-3-16 22:16 编辑

零基础学嵌入式—单片机篇【第一课—单片机基础知识】

        本课程简单介绍一下单片机基础知识,使大家对单片机有个整体概念,有些知识点不一定非得记住,做到了解就行。本课程只是简单介绍,后面实验课程用到的知识点还会详细讲解。
1.1 8051单片机系统简介
    单片机(MICROCONTROLLER,又称微控制器)是在一块硅片上集成了各种部件的微型机算计,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路。
8051单片机的基本结构如图1-1所示。

                           1-1
    51系列单片机结构特点:
    Ø  8位CPU;
    Ø  片内振荡器及时钟电路;
    Ø  32根I/O线;
    Ø  外部存贮器寻址范围ROM、RAM各64K;
    Ø  2个l6位的定时器/计数器;
    Ø  5个中断源,2个中断优先级;
    Ø  全双工串行口;
    Ø  布尔处理器。
1.2 8051单片机内部结构
    图1-2是8051单片机片内部结构的总框图,它可以划分为CPU、存贮器、并行口、串行口、定时器/计数器、中断逻辑几部分。

                图1-2

    8051的中央处理器CPU由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
    1.2.1中央处理器(CPU)
    算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。
ALU只能进行运算,运算的操作数可以事先放到累加器ACC中或者暂存器TMP中,运算结果可以送回ACC、通用寄存器或存储单元中。累加器ACC可以简写成A。B寄存器在乘法指令中用来存放乘数,除法运算中用来存放除数,运算后B中为部分运算结果。
    程序状态字PSW是8位寄存器,是用来寄存本次运算的特征信息,用到其中的7位。PSW的格式如图1-3所示,其各位的含义是:

    CY:进位标志。有进位/借位时CY=1,否则CY=0;
    AC:半进位标志。当D3位向D4位产生进位/借位时AC=1,常用于十进制调整运算中;
    F0:用户可设定的标志位,可置位/复位,也可供测试。
    RS1、RS0:四个通用寄存器组的选择位,该两位的四种组合状态用来选择0~3寄存器组。
    OV:溢出标志。当带符号数运算结果超出-128—+127范围时OV=1,否则OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时,OV=1,否则OV=0。
    P:奇偶校验标志。每条指令执行完,若A中1的个数为奇数时P=1,即奇校验方式;否则P=0,即偶校验方式。
    控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DPTR和程序计数器PC等。
    时钟是时序的基础,8051片内由一个反相放大器构成振荡器,可以由它产生时钟。时钟可以由两种方式产生,即内部方式和外部方式,
    内部方式:在XTAL1和XTAL2之间外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对震荡脉冲二分频,即时钟频率=1/2*石英频率。
    外部方式:可以通过XTAL1和XTAL2接入外部时钟。
    8051的基本时序周期,一条指令译码产生的一系列微操作信号在时间上有严格的先后次序,这种次序就是计算机的时序。
    Ø  振荡周期:指振荡源的周期,若为内部产生方式时,为石英晶体的振荡周期。
    Ø  时钟周期:为振荡周期的两倍。
    Ø  机器周期:一个机器周期含6个时钟周期(S周期),基本时序周期12个震荡周期。
    Ø  指令周期:完成一条指令占用的全部时间。MCS-51的指令周期含1-4 个机器周期,其中多数为单周期指令,还有2周期和4周期指令。
          1.2.2 存储器结构
    计算机的存贮器的管理模式,大致可分为两类。第一类是将程序存贮器和数据存贮器分开,并有各自的寻址机构和寻址方式,这种结构形式称为哈佛型结构。另一类是存贮器逻辑空间统一管理,可随意安排ROM或RAM,访问时用同一种指令,这种结构形式称为普林斯顿型。8051单片机的存贮器结构属于前者,一般微机属于后者。
    程序:0000-0FFFFH
    内部00-7F:工作寄存区、通用数据区
    数据:
    存贮器结构80-FF:特殊功能寄存器、通用数据区
    程序:1000-FFFFH(或0000-FFFF)
    外部
    数据:0000-FFFFH
    存贮器组织结构:
    数据存贮器RAM也有64KB寻址区,在地址上是和ROM重叠的。8051通过不同的信号来选通ROM或RAM:当从外部ROM取指令时用选通信号PSEN,而从外部RAM读写数据时采用读写信号RD或WR来选通。因此不会因地址重叠而出现混乱。
1.3 8051单片机内部资源
      1.3.1 串行口
    8051单片机内部有一个可编程的、全双工的串行接口,串行收/发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据,SBUF占用RAM地址99H。但在机器内部,实际上有两个数据缓冲器:发送缓冲器和接收缓冲器。因此,可以同时保留收/发数据,进行收/发操作,但收/发操作都是对同一地址99H进行的。
      1.3.2 定时器/计数器
    8051内部有两个16位可编程定时器/计数器,记为T0和T1。16位是指它们都是由16个触发器构成,最大计数值为216-1。可编程是指他们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。
    在定时功能时,单片机的时钟由内部提供,即系统时钟经过12分频后作为定时器的时钟。在计数功能时,计数脉冲由T0(P3.4)和T1(P3.5)提供。
      1.3.3 中断系统
    8051的中断系统允许接受5个独立的中断源,即两个外部中断申请,两个定时器/计数器中断及一个串行口中断。
    外部中断申请通过 (P3.2)和 (P3.3)输入,输入方式可以是低电平触发,也可以是下降沿触发。两个定时器中断请求是当定时器溢出时向CPU提出的。第五个中断请求是由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可以提出一个中断申请。

1.4 8051单片机引脚分布
    8051单片机是采用40引脚的双列直插封装的芯片,有些引脚具有两种功能,引脚图见图1-3。

                 图1-3
        1.4.1 主电源引脚(2根)
    Ø  VSS(20):接地线
    Ø  Vcc(40):电源线,接5V电源
      1.4.2 外接晶体引脚(2根)
    Ø  XTAL1(19):接外部晶体的一个引脚或引入外部时钟,当采用内部振荡器时,接外部石英晶体的一个引脚。当采用外部振荡器时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型工艺的单片机,此引脚作为时钟输入端。
    Ø  XTAL2(18):接外部石英晶振的另一个引脚或引入外部时钟,当采用内部振荡器时,他接外部晶体的另一个引脚。当采用外部振荡器时,对HMOS型工艺的单片机,该引脚作为时钟输入端,对CHMOS型而言,此引脚悬浮。
      1.4.3 控制引脚(4根)
    Ø  RST/VPD(9):复位信号引脚
    当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单片机复位。一般将此引脚与Vss之间连接一个约8.2K的下拉电阻,与Vcc引脚之间连接一个约10uF的电容,以保证可靠的复位。
    Ø /ALE(30):地址锁存允许信号。
    当访问外部存储器时,ALE的输出用于锁存地址的低八位,即使不访问外部存储器,ALE端仍以不变的频率周期性的输出脉冲信号,此频率为石英晶体振荡频率的1/6。因此它可以用作对外输出的时钟,或用于定时的目的。每当访问外部数据存储器时,将跳过一个ALE脉冲。
    Ø /PSEN(29):外部程序存储器的读选通信号。
    在读外部ROM时, 有效(低电平),以实现对外部程序存储器的读操作。
    Ø /EA(31):访问程序储存器选择控制信号。
当EA为低电平时,对ROM的读操作限定在外部程序存储器;当EA为高电平时,对ROM的读操作从内部开始。   
      1.4.4 输入/输出引脚(32根)
    Ø  P0.0—P0.7(39—32):P0口的8位双向I/O口线
    P0口是一个8位漏极开路的双向I/O口。在访问外部存储器时,它是分时多路转换的地址和数据总线,P0口常用作此方式。在外部没有存储器时,它作为并行I/O口使用,但需外接上拉电阻。它的带负载能力是8个LSTTL门电路。
    Ø  P1.0—P1.7(1—8):P1口的8位准双向I/O口线
P1口是一个带有内部上拉电阻的8位准双向I/O口。它通常用作通用I/O口,能带动4个LSTTL门。
    Ø  P2.0—P2.7(21—28):P2口的8位准双向I/O口线
    P2口是一个带有内部上拉电阻的8位准双向I/O口。在访问外部存储器时,它送出地址的高8位;在没有外部存储器时,也可作为通用I/O使用,可带动4个LSTTL门。
    Ø  P3.0—P3.7(10-17):P3口的8位准双向I/O口线
    P3口是一个带有内部上拉电阻的8位准双向I/O口。作为通用I/O时与P1相同。P3口还具有第二功能,并且最常用的就是它的第二功能。P3.0,第二功能是RXD,是串行数据接收端。P3.1,第二功能是TXD,是串行数据发送端。P3.2第二功能是 ,外部中断0申请信号线。P3.3第二功能是 ,外部中断1申请信号线。P3.4第二功能是T0,定时器/计数器0计数输入端。P3.5第二功能是T1,定时器/计数器1计数输入端。P3.6第二功能是 ,外部RAM写选通信号。P3.7第二功能是 ,外部RAM读选通信号。


评分
参与人数 1威望 +1 收起 理由
wxyhv_ + 1 很给力!

相关帖子

沙发
51armfpga|  楼主 | 2014-3-16 22:28 | 只看该作者
本帖最后由 51armfpga 于 2014-3-16 22:30 编辑

1.5 8051单片机工作方式
单片机的工作方式包括:复位方式、程序执行方式、单步执行方式、低功耗操作方式以及EPROM编程及校验方式。
      1.5.1 复位方式
      单片机的第9RST是复位信号的输入端。复位信号是高电平有效。高电平有效的持续时间大于24个振荡周期时,复位。单片机复位方式有上电复位和手动复位两种。
      1.5.2 程序执行方式
      程序执行方式是单片机的基本工作方式,所执行的程序可以放在内部ROM、外部ROM或者同时都有。如果要使用内部ROM,单片机的第31EA要设置为高电平。若使用外部ROM,则EA管脚要设置为低电平。
      1.5.3 单步执行方式
      单步执行方式是使程序的执行处于外加脉冲的控制下,一条指令一条指令地执行,即按一次键,执行一条命令。
      1.5.4 低功耗操作方式
      CMOS型单片机有两种低功耗操作方式:节电方式和掉电方式。在节电方式下,CPU暂停工作,而RAM、定时器、串行口和中断系统继续工作;在掉电方式下,仅给片内RAM供电,片内所有其他电路均不工作。低功耗操作方式由寄存器PCON来控制。
1.6 8051单片机的系统扩展
       8051单片机自身的存储器或I/O资源不足时,需要进行系统扩展。目前存储器和I/O接口电路已经使用各种规模的集成电路工艺,制作成常规芯片。系统扩展就是实现单片机与这些集成芯片接口电路及程序编写。
      1.6.1 外部总线的扩展
      8051没有对外的专用地址总线和数据总线,对外进行扩展存储时,首先需要扩展对外总线。
      8051ALE为高电平期间P0口上输出A0-A7,通常在8051片外扩展一片地址锁存器,用ALE的有效电平边沿做锁存信号,将P0口上的地址信息锁存,直到ALE再次有效。在ALE无效期间,P0口传输数据,这样就把P0口扩展成了地址/数据总线复用口。
      P2口可用于输出高8A8-A15,对外16位地址总线A0-A15P0口锁存器和P2口组成,P0口兼做数据总线。数据总线用于传送指令和数据信息。
      1.6.2 外部程序存储器的扩展
      数据存储器与程序存储器的片外64K扩展地址空间完全重叠,它们并联挂在系统总线上,至于哪种存储器选通操作,由控制信号和片选信号确定。外部程序存储器的读信号为/PSEN ,由MOVC指令产生。外部程序存储器指针为程序计数器PC,数据指针为DPTR,外部程序存储器一般使用EPROM
      1.6.3 外部数据存储器的扩展      
        外部数据存储器的寻址范围是64KB,并与外部I/O接口统一编址。外部RAM和外部I/O接口的读写控制信号为/RD、/WR,由MOVX产生。外部RAM在64KB范围寻址时,地址指针为DPTR。若对外部RAM按页面寻址,则用R0或R1做页内地址指针,P2口做页地址指针。
1.7 基础知识总结        
        上述几个小节阐述了单片机基本知识,作为初学者不要求每个地方都精通掌握,但最基本的还是需要了解的,后面用到哪地方的知识再深究学习,基础知识一般都是一些概念性的东西,**性的东西,学习起来会枯燥一些,没关系,后面到实验的时候,你就能体验到学习单片机的快乐,**一下。

使用特权

评论回复
板凳
biyishijie| | 2014-3-16 22:44 | 只看该作者
弱弱问一下:本节课重点在哪里?

使用特权

评论回复
地板
51armfpga|  楼主 | 2014-3-16 22:48 | 只看该作者
biyishijie 发表于 2014-3-16 22:44
弱弱问一下:本节课重点在哪里?

本节是对单片机所有知识一个简单概括,整体介绍,让大家对单片机有个整体的认识,不区分重点部分,后面章节会有针对性重点。

使用特权

评论回复
5
十年一等待| | 2014-3-16 23:09 | 只看该作者

使用特权

评论回复
6
51armfpga|  楼主 | 2014-3-17 22:28 | 只看该作者
十年一等待 发表于 2014-3-16 23:09

欢迎一块学习

使用特权

评论回复
7
a平凡的世界| | 2014-3-17 22:56 | 只看该作者
学习了

使用特权

评论回复
8
51armfpga|  楼主 | 2014-3-18 13:20 | 只看该作者
a平凡的世界 发表于 2014-3-17 22:56
学习了

**哦

使用特权

评论回复
9
btliugtnavy| | 2014-3-18 13:40 | 只看该作者
**学习

使用特权

评论回复
10
lpcn2003| | 2014-3-18 14:12 | 只看该作者
等第二课

使用特权

评论回复
11
51armfpga|  楼主 | 2014-3-18 15:46 | 只看该作者
lpcn2003 发表于 2014-3-18 14:12
等第二课

第二课介绍一下单片机与C的关系及Protues应用

使用特权

评论回复
12
lpcn2003| | 2014-3-18 16:27 | 只看该作者
有可能的话多讲点Protues仿真

使用特权

评论回复
13
zbr3550| | 2014-3-18 20:45 | 只看该作者

使用特权

评论回复
14
Magina_xm| | 2014-4-3 16:26 | 只看该作者

使用特权

评论回复
15
等待戈多戈多| | 2014-4-3 17:15 | 只看该作者
楼主好人,我正需要资料

使用特权

评论回复
16
dj狂人| | 2014-4-6 21:35 | 只看该作者
学习

使用特权

评论回复
17
流月| | 2014-4-19 15:58 | 只看该作者
学习中、

使用特权

评论回复
18
yolo| | 2014-4-19 21:12 | 只看该作者
在此谢过楼主!!

使用特权

评论回复
19
zl07191016| | 2014-5-3 13:47 | 只看该作者
**下去!

使用特权

评论回复
20
zl07191016| | 2014-5-3 14:15 | 只看该作者
来了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:交流QQ:  2659533057 交流网址:http://shop111345649.taobao.com/

17

主题

150

帖子

38

粉丝