单片机程序设计

本书是“以项目为载体采用任務驱动方式”编写而成的。本书以STC89C52RC单片机为蓝本结合Keil C51、Proteus虚拟仿真软件,从实验、实践、实用的角度出发通过丰富的实例详细介绍了51系列单片机C语言程序设计和单片机控制系统的应用技术。本书的主要内容包括单片机系统的软/硬件开发环境、C51程序设计语言基础、LED灯光设计、按键控制与数码管显示、中断控制应用设计、定时器/计数器控制应用设计、单片机串行通信设计、LED点阵显示器设计、LCD液晶显示设计、A/D与D/A轉换、串行总线扩展及应用设计、综合应用设计实例共12个项目67个任务 第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单片机原理及相关著作的作者表示深深的谢意!由于编者知识水平和经验的局限性,书中难免存在缺点和错误敬请广大读者给予批评指正。

项目一 单片机系统的软、硬件开发环境 任务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图片显示 项目十 MAX7219控制数码管动态显示 任务4 DS18B20测温 任务5 DS1302可调日历时钟 项目十二 综合应用设计实例 任务1 LCD数字钟的设計 任务2 篮球比赛计分器的设计 任务3 电子音乐播放器的设计 任务4 电子密码锁的设计 附录A Proteus常用快捷键 附录B C51库函数 参考文献

51单片机C语言程序设计經典实例(第2版) PDF格式高清电子书免费下载

看了 51单片机C语言程序设计经典实例(第2版) 的用户也看了:

我要回帖

 

随机推荐