`

MCS-51单片机原理与接口技术--阅读笔记(原创)

 
阅读更多

         MCS-51单片机原理与接口技术--阅读笔记(原创)

 

由  王宇 原创并发布


第1章 单片机概述

    MSC-51美国Intel公司

第2章 基本机构

    制造工艺为HMOS

    MSC-51外部引脚,40引脚

        2.1外部引脚及功能

            时钟引脚 XTAL1(19脚)、XTAL2(18脚)

            Vcc(+540脚)、Vss(-520脚)电源引脚

            RST/Vpd(RESET9脚)复位信号输入端 ,备用电源保持内部RAM数据

            ALE/PROG(地址锁存允许30脚)

            PSEN(程序存储器允许输出控制端 29脚)

            EA/Vpp(内外程序存储器选择控制端 31脚)

            P0 P1 P2 P3 输入输出引脚

                P0三态双向I/O口,通用I/O,访问外部存储器时,分时复用口

                P18位准双向I/O

                P2地址总线高8位复用

                P3双功能口

                    通用I/O

                    控制口,参考功能表

                ARM9A-J9组130个

    2.2内部结构

        处理器(CPU

            运算器ALU

            定时控制器


                程序计算器(PC)

                指令寄存器IR

                指令译码器

                定时控制逻辑

                    OSC配合下产生指令的时序脉冲

                振荡器

            专用寄存器

                程序计数器(PC)

                    专门用来存放下一条需要执行的指令在程序存储器中的地址

              工作方式

                        程序计数器自动加1

                        执行有条件或无条件转移指令时,放入新的数值使程序流向发生改变

                        执行子程序或响应中断

                            下一条指令地址自动送入堆栈

                            将程序入口地址或中断向量地址送入PC,程序流向发生改变

                            子程序结束后,将栈顶的断点值弹到PC中。程序又返回到原来的地址

                    16个触发器构成,编码范围:0000H~FFFFH,即程序存储器寻址范围64k

                累加器(A,ACC)

                    专门存放操作数或运算结果

                    作用

                        是ALU单元的输入一,是数据处理器之一。同时它还是ALU运算结果的存放单元

                        相当数据的中转站

                通用寄存器 (B)

                    专门为乘法和除法设置的寄存器

                程序状态字寄存器 (PSW)

                    CY进位标志位

                    AC辅助进位标志

                    F0用户标志位

                    RSI、SR0寄存器选择位

                    OV溢出标志位

                    P奇偶标志位

                堆栈指针 (SP,StackPointor)

                    指示堆栈的位置

                    先进后出或后进先出

                数据指针(DPTRDataPointer)

                端口 P0-P3

                串行数据缓冲器 SBUF

                定时器计数器

                其他控制寄存器

        存储器结构

            MCS-51有4个存储器空间:

                片内程序存储器

                片外程序存储器

                片内数据存储器

                片外数据存储器


            程序存储器

                EA引脚接高电平时,程序将从片内程序存储器开始执行

                EA引脚接低电平时,程序将从片外程序存储器开始执行

                8051和8751内部有4KBROM/EPROM程序存储器,1000H-FFFFH为外部扩展程序存储器空间。总共是64K0000H-FFFFH

                系统从0000H单元开始取指令,执行程序

            片内数据存储器(片内RAM)

                RAM有片外和片内之分

                    片外RAM可有64KB,地址范围为:0000H-FFFFH

                    片内RAM(255b)分为3个不同的块

                        工作寄存器区

                            00H-1FH32B

                            分为4个通用工作寄存器区,每个区含8个寄存器,编号为R0-R7

                        位寻址区

                            20H-2FH

                            16个RAM单元具有双重功能。它们既可以像普通RAM单元一样按字节存取,也可以对每个RAM单元中的任何一位单独存取,这就是位寻址

                        数据缓冲区

                            30H-7FH

                            总共80个RAM单元

                            用于存放用户数据或做堆栈操作使用

                            中断系统中的堆栈一般都设在这一区域内

                            51对数据缓冲区中的每个RAM单元是按字节存取的

                RAM主要是用来存放数据的,又称数据存储器

            特殊功能寄存器

                80H-FFH

                特殊功能寄存器是指有特殊用途的寄存器集合,本质上是一些具有特殊功能的片内RAM单元,它离散地分布在地址范围:80H-FFH

            位地址空间

            外部数据存储器

        I/O端口

            并行I/O端口

            串行I/O端口

        定时器/计算器

        中断系统

        布尔(位)处理器


    2.3 工作方式

        复位方式

        程序执行方式


            单步执行方式

            连续执行方式

        省电工作方式

            空闲方式

            掉电模式

        EPROM编程和校验方式

            EPROM的编程方式

            EPROM程序校验方式

            EPROM加密方式

    2.4 时钟电路

        内部方式时钟电路

        外部方式时钟电路

    2.5 工作时序

        机器周期和指令周期

        指令的取指/执行时序(51111指令共6类)


            单字节单周期指令时序

            双字节单周期指令时序

            单字节双周期指令时序

        访问片外ROM/RAM的指令时序

        读写片外RAM指令时序


第3章 指令系统

    3.1 指令系统(111条指令)

        基本概念

        指令分类


            按字节分类

            按执行时间分类

            按功能分类

        指令格式

            单字节指令:操作码和操作数同在一个字节中

            双字节指令:操作码和操作数各占一个字节

            三字节指令:操作码占一个字节,操作数占两个字节

        符号说明(参考表)

        指令过程


            取指令

            执行指令

    3.2 7种寻址方式

        立即寻址

            前缀#同地址区别

        寄存器寻址

        直接寻址

        寄存器间接寻址

        基址寄存器加变址寄存器间接寻址

        相对寻址

        位寻址


    3.3 指令系统详解

        数据传送指令(28条)

            MOV

            PUSH入栈

            POP出栈


        算数运算指令(24条)

            ADD

            ADDC带进位加法

            SUBB带带借位减法

            MUL乘法

            DIV除法

            INC加1指令

            DEC减一指令


        逻辑运算指令(25条)

            CLR清零

            CPL取反

            RL逻辑左移

            RLC加上进位位逻辑左移

            RRC加上进位位逻辑右移

            SWAP低4位交换

            ANLA,RnA与Rn中的值按位与,结果存放在累加器A中

            ORLA,RnA与Rn中的值按位或,结果存放在累加器A中


            XRLA,RnA与Rn中的值按位异或,结果存放在累加器A中

            SETB进位标志位指令

        控制转移指令(17条)


            无条件转移

                AJMP2K

                LJMP64K

                SJMP256K

            间接转移

                JMP

            条件转移

                JZ按顺序执行指令

                    判断A内容是否为零

                JNZ跳转后,执行下一条指令

                    判断A内容是否不是零

            比较转移

                CJNE

            环转移

                DJNZ

            调用与返回

                LCALL(长调用指令)调用子程序,子程序结束使用RET

                ACALL

            空操作指令

                NOP

        布尔变量操作类指令(17条)

第4章 汇编语言设计

    4.1 汇编语言概述

    4.2 汇编语言


        格式

            标号:操作数操作码;注释

        伪指令

            ORG汇编起始地址伪指令

            END汇编结束伪指令

            EQU赋值伪指令

            DL定义标号值伪指令

            DB定义字节伪指令

            DW定义字伪指令

            DS定义存储区伪指令

            BIT位定义伪指令


    4.3 汇编程序设计

        顺序结构程序设计

        分支程序设计

        散转程序设计

        循环程序设计

        查表程序设计

        子程序设计


    4.4 实验程序设计


        数码转换类程序

        查找与排序

第5章 中断系统原理与应用

    5.1系统概述

        基本概念

            中断:暂停当前处理过程,转去处理所发生事件,处理后再回到原来被中止地方

            中断优先级

            中断嵌套

        主要功能

            实现CPU与外部设备的速度配合

            实现实时控制

            实现过账及时发现和处理

            实现人机联系

    5.2 中断系统结构(图)

        5个中断源

            两个外部中断

            两个定时器、计数器中断

            一个串口中断

        ARM730个中断源

        ARM960个中断源

    5.3 中断请求源

        TCON简介(锁存外部中断请求)

            地址:88H

            IT0跳沿触发方式(1)或电平触发方式(0)

            IT1外部1跳沿触发方式或电平触发方式,同IT0类似

            IE0中断请求标志位

            IE1外部中断请求标志位

            TF0T0溢出中断请求标志位

            TF1T1溢出中断请求标志位


        SCON简介(串口控制寄存器,锁存串行口接收中断和发送中断标志)

            地址:98H

            T1:串行口发送中断请求标志位

            RI:串行口接收中断请求标志位

        5个中断源

            INT0外部中断0请求INT0引脚输入中断请求IE0

            INT1外部中断0请求INT1引脚输入中断请求IE1

            定时器、计时器T0溢出中断请求,中断标志:TF0

            定时器、计时器T1溢出中断请求,中断标志:TF1

            串行口中断请求,中断请求标志为T1或RI


    5.4 中断控制

        中断允许寄存器IE

            EA:中断允许总控制位0关中断,1开中断

            ES:串行口中断允许位0关中断,1开中断

            ET1:定时器计算器T1溢出中断允许位

            EX1:外部中断1中断允许位

            ET0:定时器计算器T0溢出中断允许位

            EX0:外部中断0中断允许位


        中断优先级寄存器IP,1高优先级、0低优先级

            PS:串口中断优先级控制位

            PT1:定时器T1中断优先级控制位

            PX1:外部中断1中断优先级控制位

            PT0:定时器T0中断优先级控制位

            PX0:外部中断0中断优先级控制位

    5.5 中断响应过程

        中断响应条件

            该中断源发出中断请求

            CPU开中断,EA=1

            申请中断的中断源的中断允许=1

            无同级或更高级中断正在被服务

        中断响应封锁条件

            CPU正在处理优先级相同或更高的中断

            所查询的机器周期不是所执行指令的最后一个机器周期

            正在执行的指令是RETI或访问IE、IP寄存器的指令

    5.6 外部中断的响应时间

   5.7 外部中断的触发方式选择


        跳沿触发方式

        电平触发方式

    5.8 中断请求撤销

        定时器计数器中断请求的撤销

        外部中断请求的撤销

        串行口中断请求的撤销

    5.9 中断服务程序设计

        中断服务程序设计的任务

            设置中断允许控制寄存器IE,允许相应的中断请求源中断

            设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级

            若是外部中断,设置请求的触发方式IT1或IT0

            编写中断服务程序

        主程序结构

        程序流程

            关中断

            现场保护

            开中断

            中断处理

            关中断

            现场恢复

            开中断

            中断返回


    5.10 多个外部中断源系统设计

        定时器计算器作为外部中断源的使用方法

        中断和查询结合的方法

        用优先权编码器扩展外部中断源

    5.11 中断编程实例

第6章 定时器计数器

    6.1 概述

        T0 T1两个定时器计数器

        定时计数计算机控制中两个重要功能

        定时器计数器结构

            工作模式控制寄存器TMOD

            控制寄存器TCON

        初始化

            初始化的步骤

            计算初值的计算

        工作方式

    6.2 应用举例

第7章 串行口

    7.1 概念

        传输方式

            单工传输

            半双工传输

            全双工传输

            多工传输

        通讯方式

        传送速率

            bit/s每秒传送的位数

            波特率每秒传送的符号数

            PC输出串口终端信号是并行

            串口终端传送PC信号是串行

    7.2 工作方式

        方式0

        方式1

        方式2

    7.3 波特率的设计

    7.4 多机通讯

    7.5 编程和应用


第8章 单片机的存储器扩展

第9章 I/O接口扩展及应用

第10章 D/AA/D的接口设计

第11章 应用系统设计及开发

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics