单片机原理及应用——基于C51和Proteus仿真(微课版)

单片机原理及应用——基于C51和Proteus仿真(微课版)


    主  编:张同光
    出版单位:清华大学出版社
    ISBN:978-7-302-64734-8
    ISBN:9787302647348
    出版时间:2023.10
    CIP:2023186392
    定价:¥59
    丛书名:计算机类技能型理实一体化新形态系列
 
内 容 简 介

        本书坚持理论够用、侧重实用的原则,以Proteus虚拟仿真技术和Keil C51为基础,用案例/示例来讲解每个知识点,对8051单片机的软硬件做了较为详尽的阐述,内容充实、结构清晰、通俗易懂,力争做到使单片机初学者在兴趣中学习8051单片机技术。本书共包括11章:8051单片机基本结构、单片机仿真环境、指令系统与汇编语言程序设计、C51语言程序设计、键盘与显示器接口技术、中断系统、定时器/计数器、串行口、数模与模数转换接口技术、单片机系统扩展和Proteus仿真设计实例。其中,8051单片机基本结构、指令系统与汇编语言程序设计、C51语言程序设计为本书最基础最重要的3章,全面而详细地介绍了8051单片机硬件和软件两方面的知识。第5~11章介绍了各种常见I/O接口的原理与使用。本书所有示例均在Proteus上调试通过,可以直接运行。书中所有源代码及各种配套资源可在清华大学出版社网站下载。
       本书适合作为高等院校计算机类、电气类、自动化类、通信类、电子信息类、机械类、仪器仪表类及其他相关专业的单片机教材使用,也可作为从事单片机应用系统开发的工程技术人员、单片机技术爱好者及各类自学人员的参考书。


前   言

        随着物联网和人工智能等技术的不断纵深发展,单片机的重要性也更加凸显。单片机是单片微型计算机的简称,是把组成微型计算机的各功能部件(中央处理单元CPU、随机存取存储器RAM、只读存储器ROM、并行I/O接口、串行通信接口、定时器/计数器、中断系统、系统时钟及系统总线等)封装在一块尺寸有限的集成电路芯片中。由于单片机具有可靠性高、体积小、性价比高、应用灵活性强等特点,因而在工业自动检测与控制、机器人、数据采集、智能仪器仪表、机电一体化产品、汽车电子设备、武器装备、办公自动化设备、武器装备、智能终端、通信设备、导航系统、智能家用电器、计算机外部设备、通讯产品、玩具等领域获得广泛应用。
       单片机经历了8位机、16位机和32位机3个发展阶段。8位机以Intel公司的MCS-51为代表。16位机以Intel公司的MCS-96为代表。32位机以意法半导体(ST)公司的采用ARM核的STM32为代表。自从Intel公司于20世纪80年代初推出MCS-51系列单片机以后,几乎所有MCS-51系列单片机都以Intel公司最早的典型产品8051为核心,增加一定的功能部件后构成的,所以人们习惯于用8051来称呼MCS-51系列单片机。MCS-51系列是最早进入我国,并在我国得到广泛应用的单片机主流品种。
       因为8051单片机结构简单、指令易学,因此是单片机初学者的首选。如果不学8051单片机,而是直接学STM32,通常会遇到很多难题和困惑,要费很大精力。如果学了8051单片机,则较容易对硬件架构、软件设计、软硬件结合等相关知识和技术进行总体把握和认知,此时再学STM32,会发现很容易上手,能够更深刻理解和掌握STM32,达到事半功倍的效果。因此通过学习8051单片机可以对其他类型单片机的学习打下坚实的基础。在目前的单片机应用市场中,8位机和32位机各有各的应用场合,会共存很长时间。
       为了提高读者学习8051单片机的效率,本书以仿真实验代替实物实验,基于Proteus仿真软件进行电路设计及程序仿真,使8051单片机的抽象概念直观化、编程效果可视化。
       本书共包括11章,第1、3、4章是本书最基础最重要的3章,全面而详细地介绍了8051单片机硬件和软件两方面的知识。第1章介绍了8051单片机的内部结构、存储器结构、引脚功能和并行I/O口等硬件的主要知识点。第3章介绍了指令系统的基本概念、寻址方式、5大类共111条指令,并且通过多个示例介绍了51单片机汇编语言程序设计技术。第4章介绍了C51的数据类型和存储器类型、将变量定义在不同类型存储器中的方法、使用关键字_at_和预定义宏指定变量的绝对地址、C51指针、C51函数定义的一般形式、C51与汇编混合编程。第2章介绍了Proteus仿真软件和C51开发工具Keil uVision5,为后续各个实验打下基础。第5~11章介绍了各种常见I/O接口的原理与使用,比如键盘与显示器接口技术、中断系统、定时器/计数器、串行口、数模与模数转换接口技术、程序存储器扩展、数据存储器扩展、8155可编程并行I/O端口扩展、利用I2C总线进行串行I/O端口扩展等。通过这11章的学习,可以提高读者单片机软、硬件系统的整体设计意识和设计能力,为以后深入学习嵌入式技术打下坚实的基础。
       本书对应的电子课件、源代码文件、Proteus仿真电路文件、虚拟机文件等各种配套教学资源可在清华大学出版社网站(http://www.tup.tsinghua.edu.cn)下载。本书配套提供了68个教学视频,读者在学习的过程中,扫描教学视频二维码可以观看视频。


三级目录

第1章  8051单片机基本结构    1
        1.1  单片机概述    1
        1.2  单片机入门首选8051单片机    4
        1.3  8051单片机的内部结构    4
        1.4  CPU    5
                1.4.1  运算器    5
                1.4.2  控制器    6
                1.4.3  位处理器    7
        1.5  8051单片机的存储器结构    7
                1.5.1  8051存储器结构    7
                1.5.2  程序存储器    8
                1.5.3  片内数据存储器    9
                1.5.4  片外数据存储器    10
                1.5.5  特殊功能寄存器    10
        1.6  8051单片机的引脚功能    12
                1.6.1  8051单片机的引脚    12
                1.6.2  电源及外接晶振    13
                1.6.3  控制引脚    13
                1.6.4 单片机最小系统    15
        1.7  并行I/O口    15
                1.7.1  P0口    15
                1.7.2  P1口    16
                1.7.3  P2口    17
                1.7.4  P3口    18
        1.8  时钟电路与时序    19
                1.8.1  时钟电路    20
                1.8.2  CPU时序    20
        1.9  单片机应用系统的开发过程    22
        1.10  习题    23

第2章  单片机仿真环境    1
        2.1  Proteus和Keil uVision5    1
                2.1.1 Proteus简介    1
                2.1.2 Keil uVision5简介    2
                2.1.3 本书实验环境    2
        2.2  流水灯    2
                2.2.1  使用Proteus设计电路原理图    3
                2.2.2  使用Keil uVision5建立工程文件(汇编语言)    6
                2.2.3  使用Keil uVision5建立工程文件(C语言)    10
        2.3  Proteus与Keil uVision5联合仿真调试    11
        2.4  习题    13

第3章  指令系统与汇编语言程序设计    1
        3.1  指令系统概述    1
                3.1.1  指令格式    1
                3.1.2  指令分类    2
                3.1.3  执行指令的过程    2
        3.2  寻址方式    3
                3.2.1  寄存器寻址    3
                3.2.2  直接寻址    4
                3.2.3  立即寻址    4
                3.2.4  寄存器间接寻址    5
                3.2.5  基址变址寻址    5
                3.2.6  相对寻址    6
                3.2.7  位寻址    7
                3.2.8  7种寻址方式总结    8
        3.3  指令分类详解    8
                3.3.1  指令中的符号及其含义    8
                3.3.2  数据传送类指令    9
                3.3.3  算术运算类指令    11
                3.3.4  逻辑运算及移位类指令    14
                3.3.5  控制转移类指令    16
                3.3.6  位操作类指令    18
        3.4  51单片机汇编语言程序设计    20
                3.4.1  汇编语言的特点    20
                3.4.2  汇编语言的语句格式    20
                3.4.3  汇编语言的伪指令    21
                3.4.4  电路原理图    23
                3.4.5  顺序程序设计    23
                3.4.6  分支程序设计    25
                3.4.7  循环程序设计    26
                3.4.8  查表程序设计    29
                3.4.9  汇编语言程序的框架    30
        3.5 习题    31

第4章  C51语言程序设计    1
        4.1 C51编程语言简介    1
        4.2  本章所有示例使用的电路原理图    2
        4.3  C51程序设计基础    2
                4.3.1  数据类型    3
                4.3.2  存储器类型    3
                4.3.3  bit、sbit、sfr、sfr16数据类型    5
                4.3.4  存储模式(编译模式)和存储器类型    7
                4.3.5  使用关键字_at_指定变量的绝对地址    9
                4.3.6  使用预定义宏指定变量的绝对地址    10
                4.3.7 C51指针    11
        4.4  C51函数    12
                4.4.1 函数定义的一般形式    12
                4.4.2 函数的调用    13
                4.4.3  本征库函数    13
        4.5  C51程序的一般结构    13
        4.6  C51与汇编混合编程    14
                4.6.1  混合编程的必要性    14
                4.6.2  混合编程的要点    14
                4.6.3  C51程序中直接嵌入汇编代码    16
                4.6.4  C51程序调用汇编子程序——无参数传递的函数调用    17
                4.6.5  C51程序带参调用汇编子程序——自动产生汇编源文件    18
                4.6.6  C51程序带参调用汇编子程序——自动产生汇编源文件    20
        4.7  习题    22

第5章  键盘与显示器接口技术    1
        5.1  LED数码管显示器接口技术    1
                5.1.1  LED数码管显示器    1
                5.1.2  LED数码管显示器的工作方式    2
                5.1.3  使用LED数码管显示器    3
                5.1.4  使用74HC595驱动8位LED数码管    6
                5.1.5  使用MAX7219驱动多位LED数码管    8
        5.2  键盘接口技术    13
                5.2.1  编码键盘接口技术    13
                5.2.2  非编码键盘接口技术    14
        5.3  8279可编程键盘/显示器芯片接口技术    16
                5.3.1  8279内部结构及工作原理    16
                5.3.2  8279的寄存器    18
                5.3.3  使用8279芯片    21
        5.4  LCD液晶显示器接口技术    24
                5.4.1  LCD显示器的工作原理    24
                5.4.2  LM016L液晶显示屏简介    24
                5.4.3  点阵字符型液晶模块的直接访问方式    30
                5.4.4  点阵字符型液晶模块的间接访问方式    32
                5.4.5  4位数据总线接口    34
                5.4.6  使用12864点阵图形LCD显示模块    36
        5.5 习题    38

第6章  中断系统    1
        6.1  中断简介    1
        6.2  中断系统结构与中断控制    2
                6.2.1  中断系统结构图    2
                6.2.2  中断控制    2
        6.3  中断函数    5
        6.4  中断应用举例    6
                6.4.1  中断源扩展    7
                6.4.2  中断嵌套    8
        6.5  习题    10

第7章  定时器/计数器    1
        7.1  定时器/计数器的工作方式与控制    1
                7.1.1  定时器/计数器的功能    1
                7.1.2  工作方式控制寄存器TMOD    1
                7.1.3  定时器/计数器控制寄存器TCON    2
        7.2  定时器/计数器的工作方式    3
                7.2.1  工作方式0和工作方式1    3
                7.2.2  工作方式2    5
                7.2.3  工作方式3    6
        7.3  定时器/计数器应用举例    6
                7.3.1  定时功能    6
                7.3.2  计数功能    13
        7.4 习题    15

第8章  串行口    1
        8.1  异步串行通信    1
                8.1.1  字符的帧格式    1
                8.1.2  数据传送速率    2
                8.1.3  数据通路方式    2
                8.1.4  串行口结构    3
        8.2  串行通信控制寄存器    4
                8.2.1  SCON    4
                8.2.2  PCON和波特率    5
                8.2.3  IE和IP    6
                8.2.4  中断请求的撤销    6
        8.3 串行口的4种工作方式    6
                8.3.1  工作方式0    6
                8.3.2  工作方式1    9
                8.3.3  工作方式2和方式3    10
        8.4 习题    17

第9章  数模与模数转换接口技术    1
        9.1  ADC及DAC的主要性能指标    1
        9.2  DAC接口技术    2
                9.2.1  DAC0832与8051单片机的接口方法    2
                9.2.2  DAC1208与8051单片机的接口方法    8
                9.2.3  串行DAC与8051单片机的接口方法    10
                9.2.4  利用DAC接口实现波形发生器    12
        9.3  ADC接口技术    14
                9.3.1  比较式ADC0809与8051单片机的接口方法    14
                9.3.2  串行ADC与8051单片机的接口方法    18
        9.4 习题    19

第10章  单片机系统扩展    1
        10.1  线选法和译码法    1
        10.2  程序存储器扩展    2
        10.3  数据存储器扩展    4
        10.4  8155可编程并行I/O端口扩展    7
                10.4.1  8155引脚和内部结构    7
                10.4.2  8155控制字及其工作方式    8
                10.4.3  8155外部扩展举例    9
        10.5  利用I2C总线进行串行I/O端口扩展    12
                10.5.1  I2C串行总线系统的基本结构    12
                10.5.2  I2C总线的数据传送规定    13
                10.5.3  I2C接口存储器芯片24C04    16
                10.5.4  I2C接口A/D-D/A芯片PCF8591    19
        10.6  习题    23

第11章  Proteus仿真设计实例    1
        11.1  DS18B20多点温度监测系统设计    1
                11.1.1  功能要求    1
                11.1.2  硬件电路设计    1
                11.1.3  软件程序设计    5
        11.2  带农历的电子万年历设计    11
                11.2.1  功能要求    11
                11.2.2  硬件电路设计    11
                11.2.3  软件程序设计    14
        11.3  电子密码锁设计    20
                11.3.1  功能要求    20
                11.3.2  硬件电路设计    20
                11.3.3  软件程序设计    21
        11.4  习题    27

 

posted @ 2023-05-03 17:14  张同光  阅读(251)  评论(0编辑  收藏  举报