单片机C语言程序设计经典实例pdf下载pdf下载

单片机C语言程序设计经典实例百度网盘pdf下载

作者:
简介:本篇主要提供单片机C语言程序设计经典实例pdf下载
出版社:电子工业出版社
出版时间:2016-05
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

本书是“以项目为载体,采用任务驱动方式”编写而成的。本书以STC89C52RC单片机为蓝本,结合Keil C51、Proteus虚拟仿真软件,从实验、实践、实用的角度出发,通过丰富的实例详细介绍了51系列单片机C语言程序设计和单片机控制系统的应用技术。本书的主要内容包括单片机系统的软/硬件开发环境、C51程序设计语言基础、LED灯光设计、按键控制与数码管显示、中断控制应用设计、定时器/计数器控制应用设计、单片机串行通信设计、LED点阵显示器设计、LCD液晶显示设计、A/D与D/A转换、串行总线扩展及应用设计、综合应用设计实例共12个项目67个任务。

作者简介

侯玉宝副教授,全国大学生电子设计竞赛优秀指导教师,主要从事数字信号处理及嵌入式系统设计开发研究,曾获得发明专利和科研成果多项,具有丰富的教学和科研实践经验。

目录

项目一 单片机系统的软、硬件开发环境
任务1 单片机最小应用系统的组成
任务2 Keil C51编译软件的使用
任务3 Proteus 8?0仿真软件的使用
项目二 C51程序设计语言基础
任务1 C51程序组成的识读
任务2 运算符和表达式
任务3 程序结构及流程控制
任务4 数组与指针
任务5 函数与编译预处理
项目三 LED灯光设计
任务1 LED控制原理
任务2 流水灯的设计
任务3 拉幕式与闭幕式广告灯的设计
项目四 按键控制与数码管显示
任务1 键盘控制原理
任务2 LED数码管显示原理
任务3 查询式按键设计
任务4 8位数码管动态显示设计
任务5 数码管显示矩阵键盘按键的设计
任务6 简单拨号键盘的设计
项目五 中断控制应用设计
任务1 中断控制原理
任务2 采用外中断控制的条形LED彩灯设计
任务3 采用两个外中断实现LED键控移位
任务4 采用外中断实现计数
任务5 采用外中断进行计数和清零控制
项目六 定时器/计数器控制应用设计
任务1 定时器/计数器控制原理
任务2 简单计数器的设计
任务3 方波信号发生器
任务4 用T2实现流水灯控制
任务5 59s计时器的设计
任务6 简单门铃设计
任务7 速度可调流水灯控制
任务8 简单电子频率计
项目七 单片机串行通信设计
任务1 单片机串行通信原理
任务2 甲机通过串口控制乙机LED显示状态
任务3 甲机通过串口控制乙机计时
任务4 单片机双机通信
任务5 单片机向主机发送字符串
任务6 单片机与PC通信
项目八 LED点阵显示器设计
任务1 LED点阵显示器控制原理
任务2 一个8×8 LED点阵字符串显示
任务3 两个8×8 LED点阵字符串显示
任务4 两个8×8 LED点阵滚动显示
任务5 一个16×16 LED点阵汉字显示
任务6 一个16×16 LED点阵汉字移位显示
任务7 两个16×16 LED点阵汉字显示
任务8 两个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 TLC549模/数转换
任务4 TLC2543模/数转换
任务5 DAC0832数/模转换
任务6 TLC5615数/模转换
任务7 PCF8591的A/D及D/A转换
项目十一 串行总线扩展及应用设计
任务1 24C04开启次数统计
任务2 PCF8574串行总线扩展
任务3 MAX7219控制数码管动态显示
任务4 DS18B20测温
任务5 DS1302可调日历时钟
项目十二 综合应用设计实例
任务1 LCD数字钟的设计
任务2 篮球比赛计分器的设计
任务3 电子音乐播放器的设计
任务4 电子密码锁的设计
附录A Proteus常用快捷键
附录B C51库函数
参考文献

前言/序言

第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单片机原理及相关著作的作者表示深深的谢意!由于编者知识水平和经验的局限性,书中难免存在缺点和错误,敬请广大读者给予批评指正。

编著者