单片机又称微处理器(MCU),属于芯片级的微型计算机系统,可以嵌入到各种应用系统中,以实现智能化控制。在众多单片机产品中,51系列单片机具有结构清晰、简单易学等特点,是目前单片机初学者最容易掌握的机型之一。
本书第1版于2012年5月出版以来,已被许多学校或培训机构作为单片机课程的实践教材,得到了众多教师、学生和其他读者的认可,在此我们表示衷心的感谢。
鉴于单片机及嵌入式系统技术发展迅速,决定对本书进行第2次修订。本书第3版在继承前两版所有优点的基础上,将单片机仿真软件Proteus的版本更新为8.10版;对相关内容也进行更新优化,使之更适合读者学习。
1.项目为载体,任务带动教学
本书是“以项目为载体,采用任务驱动方式”编写而成的,强调“教、学、做”一体化,坚持理论知识够用的原则,并将知识点分散到多个任务中,使读者能够边学边做,轻松完成单片机学习之旅。
2.软硬结合,虚拟仿真
沿用传统单片机学习与开发经验,通过相关编译软件(如Keil)编写程序并生成*.Hex文件,然后在Proteus中绘制硬件电路图(这一过程相当于硬件电路的焊接),调用*.Hex文件进行虚拟仿真(这一过程相当于硬件调试)。对于单片机初学者来讲,这样可节约学习成本,提高学习积极性;对于单片机系统开发人员来讲,可缩短开发时间,提高设计效率,降低开发成本。
3.C语言编程,增强可读性
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。使用C语言编写程序可缩短开发周期,且明显增加程序的可读性,便于改进和扩充;使用C语言进行编程也不必对单片机的硬件结构有很深入的了解,编写程序相对简单,且程序的可移植性很强。
4.兼顾原理,注重实用
基本原理、基本实例一直是学习和掌握单片机应用技术的基本要求,本书侧重于实际应用,因此很少讲解相关理论知识,这样避免了知识的重复讲解。为适应技术的发展,在编写过程中还注重知识的新颖性和实用性,因此在本书中讲解了SPI总线、I 2 C总线、1-Wire总线芯片的使用方法,使读者学习的知识能够紧跟时代发展的步伐。
项目一单片机系统的软、硬件开发环境。本项目是单片机入门基础,首先讲解了单片机最小应用系统的组成,然后介绍了单片机开发软件Keil C51和Proteus仿真软件的使用方法。
项目二 C51程序设计语言基础。本项目是软件编程的基础,通过5个任务讲解了C51程序组成的识读、运算符和表达式、程序结构及流程控制、数组与指针、函数与编译预处理。
项目三 LED灯光设计。本项目首先介绍了LED控制原理,然后通过两个任务讲解了流水灯设计和“爱心”灯光设计。
项目四按键控制与数码管显示。本项目首先介绍了键盘控制原理和LED数码管显示原理,然后通过4个任务讲解了按键与数码管显示的应用设计。
项目五中断控制应用设计。本项目首先介绍了中断控制原理,然后通过3个任务讲解了外部中断的应用。
项目六定时器/计数器控制应用设计。本项目首先介绍了定时器/计数器控制原理,然后通过6个任务讲解了定时器/计数器在内部定时与外部计数方面的应用。
项目七单片机串行通信设计。本项目首先介绍了单片机串行通信原理,然后通过6个任务讲解了单片机之间的通信、单片机与PC之间的RS-232和RS-485通信的应用设计。
项目八 LED点阵显示器设计。本项目首先介绍了LED点阵显示器控制原理,然后通过5个任务讲解了8×8LED点阵显示器、16×16LED点阵显示器的显示应用设计。
项目九 LCD液晶显示设计。本项目首先介绍了LCD液晶显示器原理,然后通过6个任务讲解了SMC1602A和SMG12864A的应用设计。
项目十 A/D与D/A转换。本项目通过6个任务介绍了并行和串行ADC与DAC的应用设计。每个任务首先介绍各芯片的基本知识,然后讲解它们的具体应用。
项目十一串行总线扩展及应用设计。本项目通过5个任务,分别讲解了I 2 C总线、SPI总线和单总线的芯片应用设计。每个任务首先介绍各芯片的基本知识,然后讲解它们的具体应用。
项目十二综合应用设计实例。本项目通过5个综合实例讲述了单片机的应用,这些实例有采用LED数码管进行显示的,也有采用LCD液晶进行显示的。
本书由湖南工程职业技术学院陈忠平和湖南航天管理局7801研究所刘琼编著。参加本书修订工作的还有湖南软件职业学院苏秀芝,湖南工程职业技术学院龚亮、李锐敏、陈建忠、龙晓庆,湖南涉外经济学院侯玉宝、高金定、廖亦凡,衡阳技师学院胡彦伦等。全书由湖南工程职业技术学院徐刚强教授主审。
编著者
2021年2月