图书简介:
项目一 单片机系统的软、硬件开发环境
任务1 单片机最小应用系统的组成
任务2 Keil C51编译软件的使用
任务3 Proteus 8.10仿真软件的使用
项目二 C51程序设计语言基础
任务1 C51程序组成的识读
任务2 运算符和表达式
任务3 程序结构及流程控制
任务4 数组与指针
任务5 函数与编译预处理
项目三 LED灯光设计
任务1 LED控制原理
任务2 流水灯的设计
任务3 “爱心”灯光设计
项目四 按键控制与数码管显示
任务1 键盘控制原理
任务2 LED数码管显示原理
任务3 查询式按键值显示设计
任务4 8位数码管动态显示设计
任务5 数码管显示矩阵式键盘按键值设计
任务6 简易减法器的设计
项目五 中断控制应用设计
任务1 中断控制原理
任务2 采用外中断控制的条形LED彩灯设计
任务3 两个外部中断在游客流量统计中的应用
任务4 采用外中断进行计数和清零控制
项目六 定时器/计数器控制应用设计
任务1 定时器/计数器控制原理
任务2 计数器在啤酒生产线中的应用
任务3 方波信号发生器
任务4 倒计时秒表的设计
任务5 简单门铃设计
任务6 速度可调的流水灯控制
任务7 简单电子频率计设计
项目七 单片机串行通信设计
任务1 单片机串行通信原理
任务2 甲机通过串口控制乙机LED显示状态
任务3 甲机通过串口控制乙机计时
任务4 单片机双机通信
任务5 单片机向主机发送字符串
任务6 单片机与PC之间的RS-232通信
任务7 单片机与PC之间的RS-485通信
项目八 LED点阵显示器设计
任务1 LED点阵显示器控制原理
任务2 一个8×8 LED点阵显示器字符串显示
任务3 两个8×8 LED点阵显示器字符串显示
任务4 一个16×16 LED点阵显示器汉字显示
任务5 两个16×16 LED点阵显示器汉字显示
任务6 两个16×16 LED点阵显示器汉字移位显示
项目九LCD液晶显示设计
任务1 LCD液晶显示原理
任务2 字符式LCD静态显示
任务3 字符式LCD移位显示
任务4 汉字式LCD静态显示
任务5 汉字式LCD移位显示
任务6 汉字式LCD滚动显示
任务7 汉字式LCD图片显示
项目十 A/D与D/A转换
任务1 ADC0809模/数转换
任务2 ADC0832模/数转换
任务3 TLC2543模/数转换
任务4 DAC0832数/模转换
任务5 TLC5615数/模转换
任务6 PCF8591的A/D及D/A转换
项目十一 串行总线扩展及应用设计
任务1 24C04开启次数统计
任务2 PCF8574串行总线扩展
任务3 MAX7219控制数码管动态显示
任务4 DS18B20测温
任务5 DS1302可调日历时钟
项目十二 综合应用设计实例
任务1 LCD数字钟的设计
任务2 篮球比赛计分器的设计
任务3 电子音乐播放器的设计
任务4 电子密码锁的设计
任务5 手机拨号键盘的设计
附录A Proteus常用快捷键
附录B C51库函数
参考文献
展开
第3版前言
单片机又称微处理器(MCU),属于芯片级的微型计算机系统,可以嵌入到各种应用系统中,以实现智能化控制。在众多单片机产品中,51系列单片机具有结构清晰、简单易学等特点,是目前单片机初学者最容易掌握的机型之一。
本书第1版于2012年5月出版以来,已被许多学校或培训机构作为单片机课程的实践教材,得到了众多教师、学生和其他读者的认可,在此我们表示衷心的感谢。
鉴于单片机及嵌入式系统技术发展迅速,决定对本书进行第2次修订。本书第3版在继承前两版所有优点的基础上,将单片机仿真软件Proteus的版本更新为8.10版;对相关内容也进行更新优化,使之更适合读者学习。
本书特点
1.项目为载体,任务带动教学
本书是 “以项目为载体,采用任务驱动方式”编写而成的,强调“教、学、做”一体化,坚持理论知识够用的原则,并将知识点分散到多个任务中,使读者能够边学边做,轻松完成单片机学习之旅。
2.软硬结合,虚拟仿真
沿用传统单片机学习与开发经验,通过相关编译软件(如Keil)编写程序并生成*.Hex文件,然后在Proteus中绘制硬件电路图(这一过程相当于硬件电路的焊接),调用*.Hex文件进行虚拟仿真(这一过程相当于硬件调试)。对于单片机初学者来讲,这样可节约学习成本,提高学习积极性;对于单片机系统开发人员来讲,可缩短开发时间,提高设计效率,降低开发成本。
3. C语言编程,增强可读性
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。使用C语言编写程序可缩短开发周期,且明显增加程序的可读性,便于改进和扩充;使用C语言进行编程也不必对单片机的硬件结构有很深入的了解,编写程序相对简单,且程序的可移植性很强。
4.兼顾原理,注重实用
基本原理、基本实例一直是学习和掌握单片机应用技术的基本要求,本书侧重于实际应用,因此很少讲解相关理论知识,这样避免了知识的重复讲解。为适应技术的发展,在编写过程中还注重知识的新颖性和实用性,因此在本书中讲解了SPI总线、I2C总线、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个任务,分别讲解了I2C总线、SPI总线和单总线的芯片应用设计。每个任务首先介绍各芯片的基本知识,然后讲解它们的具体应用。
项目十二 综合应用设计实例。本项目通过5个综合实例讲述了单片机的应用,这些实例有采用LED数码管进行显示的,也有采用LCD液晶进行显示的。
本书由湖南工程职业技术学院陈忠平和湖南航天管理局7801研究所刘琼编著。参加本书修订工作的还有湖南软件职业学院苏秀芝,湖南工程职业技术学院龚亮、李锐敏、陈建忠、龙晓庆,湖南涉外经济学院侯玉宝、高金定、廖亦凡,衡阳技师学院胡彦伦等。全书由湖南工程职业技术学院徐刚强教授主审。
编著者2021年2月
第2版前言
单片机是芯片级的微型计算机系统,可以嵌入到各种应用系统中,以实现智能化控制。近30年来,8位单片机以其性价比高、功耗低、易于开发等优点,加上嵌入式C语言的推广普及,片载Flash程序存储器及其在系统内可编程(ISP)和在应用中编程(IAP)技术的广泛应用,使其越来越受到广大电子工程师的喜爱。
本书第1版自2012年5月出版以来,已被许多学校或培训机构作为单片机课程的实践教材来使用,受到众多教师、学生和读者的认可,在此我们表示衷心的感谢。该书以国内最流行的80C51系列单片机的硬件和软件的设计为背景,以C语言为基础,以项目为载体,采用任务驱动方式的教学方法,通过丰富的C程序实例,由浅入深地介绍了80C51系列单片机的基础知识及各种应用开发技术。
鉴于单片机及嵌入式系统技术发展迅速,决定对本书进行修订。第2版坚持原版“项目为载体,任务带动教学”、“软硬结合,虚拟仿真”、“C语言编程,增强可读性”、“兼顾原理,注重实用”的编写原则,并在此基础上,根据读者的建议对原版进行修订与补充。
与第1版相比,本书第2版主要在以下3个方面进行了修订。
—将第1版的项目一和项目二整合为一个项目,并精简为3个任务,使用的编译软件Keil和仿真软件Proteus均为最新版本。
—由于篇幅原因,仅第1版项目三中的内容全部保留,而第1版其余项目中均删除了部分任务。
—为了增强读者的综合实践能力,本书第2版新增加了综合应用设计实例项目。该项目中包含4个不同的综合实践任务,以进一步加强、巩固读者对定时器控制、中断控制、矩阵键盘控制、数码管动态显示控制、LCD液晶显示控制等知识的综合应用和实际设计能力。
本书由湖南涉外经济学院侯玉宝、湖南工程职业技术学院陈忠平和湖南涉外经济学院邬书跃编著。参加本书编写的还有湖南工程职业技术学院陈建忠、李锐敏、龚亮、龙晓庆、周少华,湖南航天诚远精密机械有限公司刘琼,湖南涉外经济学院高金定,湖南科技职业技术学院高见芳,湖南三一重工集团王汉其,湖南航天局7801研究所武娟梅、袁芳和葛建。全书由湖南工程职业技术学院徐刚强教授主审,在编写过程中还得到了湖南工程职业技术学院许睿等诸多高工和老师的大力支持及帮助,在此向他们表示衷心的感谢。同时,对在编写过程中参考的多部51单片机原理及相关著作的作者表示深深的谢意!由于编者知识水平和经验有限,书中难免存在缺点和错误,恳请广大读者给予批评指正。
编著者
第1版前言
单片机是芯片级的微型计算机系统,具有性价比高、功耗低、易于开发等优点,可以嵌入各种应用系统中,以实现智能化控制。近20年来,嵌入式C语言的推广普及,片载Flash程序存储器及其在系统内可编程(ISP)和在应用中编程(IAP)技术的广泛采用,使得单片机越来越受到广大电子工程师的欢迎。
本书以国内最流行的80C51系列单片机的硬件和软件设计为背景,以C语言为基础,以项目为载体,采用任务驱动方式的教学方法,通过丰富的C语言程序实例,由浅入深地介绍了80C51系列单片机的基础知识及各种应用开发技术。在编写过程中,作者注重题材的取舍,使本书具有以下4个特点。
1. 项目为载体,任务带动教学
本书是“以项目为载体,采用任务驱动方式”编写而成的,强调“教、学、做”一体化,坚持理论知识够用的原则,并将知识点分散到多个任务中,使读者能够边学边做,轻松完成单片机学习之旅。
2. 软硬结合,虚拟仿真
沿用传统单片机学习与开发经验,通过相关编译软件(如Keil)编写程序并生成*.Hex文件,然后在Proteus中绘制硬件电路图(这一过程相当于硬件电路的焊接),调用*.Hex文件进行虚拟仿真(这一过程相当于硬件调试)。对于单片机初学者来讲,这样可节约学习成本,提高学习积极性;对于单片机系统开发人员来讲,可缩短开发时间,提高设计效率,降低开发成本。
3. C语言编程,增强可读性
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写程序会大大缩短开发周期,可以明显地增加程序的可读性,便于改进和扩充。采用C语言进行单片机程序设计是单片机开发与应用的必然趋势。许多人员在学习MCS-51单片机时,均先学习了汇编语言,然后再学习用C语言编写MCS-51程序代码,通过这种历程他们深深地感悟:汇编指令太枯燥,学习起来费时费力,用汇编语言编写一个程序或读懂程序不是一件容易的事情;使用C语言进行编程时,不必对单片机的硬件结构有很深入的了解,编写程序相对简单,且程序的可读性和可移植性均很强。
4. 兼顾原理,注重实用
基本原理、基本实例一直是学习和掌握单片机应用技术的基本要求,本书侧重于实际应用,因此很少讲解相关理论知识,这样避免了知识的重复讲解。为紧随技术的发展,在编写过程中还注重知识的新颖性和实用性,因此本书介绍了SPI总线、I2C总线、1-Wire总线芯片的使用方法,使读者学习的知识能够紧随时代发展的步伐。
参加本书编写的有湖南工程职业技术学院陈忠平、徐刚强、李锐敏,湖南航天局7801研究所刘琼,湖南涉外经济学院侯玉宝、高金定,湖南科技职业技术学院高见芳,湖南三一重工集团王汉其等。全书由湖南工程职业技术学院陈建忠教授主审,在编写过程中还得到了湖南工程职业技术学院龚亮、龙晓庆、许睿等众位高工和老师的大力支持及帮助,在此向他们表示衷心的感谢。同时,对在编写过程中参考的多部51单片机原理及相关著作的作者表示深深的谢意!由于编者知识水平和经验的局限性,书中难免存在缺点和错误,敬请广大读者给予批评指正。
编著者
展开