单片机程序设计实践教程

单片机程序设计实践教程"

作者:潘晓宁、朱耀东、杨敏等
ISBN:9787302199748
定价:¥32
字数:千字
页数:
出版时间:2009.08.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是一本介绍MCS51单片机及其系统设计实践知识的教学用书,书中简要介绍了MCS51单片机的基本结构、系统扩展方法、C51程序设计基础知识、STC单片机及项目用开发板功能、Keil C51及STCISP软件应用的相关知识,引入了14个单片机项目以介绍单片机应用系统设计方法,这些项目涵盖了数码管、LCD、A/D和D/A、串行通信、数字钟、温度计、直流电机和步进电机控制及红外数据传输等单片机系统的多个应用领域,最后列出了4个综合实例项目,并给出了详细的基于STC单片机的工业控制系统设计过程。

本书采用项目教学方法,可作为模拟单片机系统设计与研发的仿工作过程教学模式的教材或教学参考书,非常适合作为应用型本科高校及高职高专院校的自动化、测控、仪器仪表、电气、电子信息、机械电子和通信电子等专业的教材,也可作为单片机系统设计工程人员和爱好者的参考用书。

前言

这是一本关于如何用MCS51系列单片机进行具体项目设计的实践性教学用书,书中在引入了MCS51单片机和C51程序设计的一些必备基础知识之后,详细介绍了MCS51增强型STC单片机的特色及项目用开发板功能和Keil C51及STCISP软件使用知识。

全书的重点在于具体的项目设计方法和解决方案,项目的引入原则是由简入繁,从基本的单片机输入/输出控制到红外数据传输的14个单片机基础项目,都是按照“项目目标设计→项目任务→系统板上硬件连线设置→程序流程图→C语言源程序→系统构成和程序分析”的顺序进行组织和讲解。读者在使用本书时应将项目中的C语言源程序编译后下载到与本书配套的单片机开发板上进行验证,再通过观察开发板上系统运行时出现的物理现象,对照相应的单片机和C51程序设计基础知识,学习和分析项目中的软硬件设计方法。每个基础项目的最后都有“项目扩展任务”,供读者在掌握每个项目的基础之上,进行更深层次的能力和知识训练。

“综合项目提高篇”中的4个项目是建立在14个基础项目之上的综合运用实例,这些综合项目中的系统设计实例与我们的生活息息相关,具有很高的实用价值,希望能够对读者在实际应用中扩展自己的单片机应用系统的知识和技能起到抛砖引玉的作用。

现在很多高等学校使用的单片机教材基本上都是以单片机的结构为主线,展开的顺序依次为从单片机的硬件结构到指令,然后是简单的软件编程,再到中断的概念和应用,最后是单片机系统的扩展和各种外围器件的应用,同时结合一些实例,而对涉及硬件的综合性分析几乎不做讲解。教师在讲解过程中涉及很多抽象的理论知识,如总线、并行接口、中断、堆栈、地址、数据等,学生普遍感到难学,导致此类教材变成了“天书”,学生逐渐失去了学习的信心和兴趣。这类教材反映的教学方法造成了学生对单片机系统在实际工程项目中应用能力培养的缺失,也不利于他们开拓能力的培养,当走上工作岗位后,他们就会感觉到与相关工作岗位的能力要求存在一定的差距。

为了改善这种单片机课程的被动式教学模式,最佳的方法就是在教学过程中不断培养学生对这门课程的兴趣。以项目任务驱动为主的教学方式,视学生为主体,以项目达成为牵引,单片机系统设计能力培养为目标。学生在模仿工作过程的项目教学中,为了达成项目任务,必须反复动手尝试、积极思考,将学习的过程由被动转变为主动,最终达到训练自身专业能力的目的。实施这种面向“工作过程”的岗位训练,课程的重心更侧重学生综合素质的提高、岗位技能的培养以及专业知识的综合运用,为他们毕业之后与工作岗位的近距离连接创造了有利的条件。本教材就是为了探索这种模仿单片机系统设计与研发过程的项目教学模式而撰写的。

为了更好地介绍和分析项目中出现的各种知识点,全书给出了大量的插图,这些插图可以进一步帮助读者进行相关项目的学习。由于C语言与汇编语言相比,更加适合复杂系统的功能设计实现,因此书中所有项目程序均采用了C语言进行开发。

为了便于读者对这些项目进行学习和验证,编者开发了与之配套的51单片机开发板,板子的硬件原理图在本书的附录中已全部列出,读者既可以针对自己将要设计的单片机系统对参考原理图进行裁减,设计自己的PCB、焊接器件及测试系统,也可以通过编写的博客http://panshimeng.blog.tianya.cn咨询开发板的购买信息。

本书是多个不同学校教师在各自单片机教学过程中的实践总结和教学成果的结晶,嘉兴学院的朱耀东老师负责第11、14和15章的撰写,兰州市商业学校的潘晓东老师负责第9、10章的撰写,南京邮电大学的杨敏老师负责第7、8章的撰写,余下的章节和全文的组织统编工作由潘晓宁老师负责。

MCS51单片机基础知识部分主要参照了文献1、2,C51程序设计基础知识部分主要参照了文献3、4、5,书中引用的其他参考资料都在文中详细标出,在此对被引用文献的作者深深地表示敬意和感谢。

本书配有丰富的教学资源,随书光盘中包含每个项目的所有程序及实验演示视频,为了方便高校教师使用,光盘中还包括了开发板的电路原理图(JPEG图片格式)。本书同时配有电子教案,有需要者可到清华大学出版社网站(www.tup.com.cn)下载。

深圳信息职业技术学院电子通信技术系2006级的胡金伟、李君荣、黄育珍和杨运利同学在项目视频及PPT的制作和书稿的校对上给予了本人很大的帮助,在此一并表示感谢。

最后,还要感谢我的妻子和孩子,在本书的撰写过程中给予我的无私支持和鼓励。书中难免会出现不妥之处,希望读者批评和指正,以便本人在第二版进行适当的修订。如果在书的使用过程中有更好的建议及相关技术问题,可以通过panxn@sziit.com.cn或编写的博客与编者进行探讨,本人将尽力进行解答。

编者2009年1月17日

目录

单片机程序设计实践教程

基础知识篇

第1章单片机概述

1.1单片机的发展

1.2MCS51系列单片机简介

1.3单片机的应用模式和应用领域

1.4如何使用这本书

第2章MCS51单片机的内部结构

2.1内部结构与引脚功能

2.1.1内部结构

2.1.2CPU部件及特殊功能寄存器

2.1.3引脚功能

2.2并行I/O(输入/输出)接口

2.2.1输入功能

2.2.2输出功能及负载配置

2.3存储器配置方法

2.3.1程序存储器配置

2.3.2数据存储器配置

2.4时钟电路与CPU时序

2.4.1时钟电路

2.4.2CPU时序

第3章MCS51单片机的系统资源

3.1中断系统和外部中断

3.1.1中断技术概述

3.1.2MCS51单片机中断系统

3.1.3中断服务函数

3.2定时器/计数器

3.2.1定时器/计数器的结构及工作原理

3.2.2定时器/计数器的四种工作方式

3.3串行通信

3.3.1串行通信的概念

3.3.2MCS51单片机的串行口结构

3.3.3MCS51单片机串行通信工作方式

3.3.4MCS51单片机串行口波特率的选择

第4章STC单片机内部资源和PMY单片机开发板简介

4.1STC单片机系统资源和特点

4.1.1STC单片机的特点和选型

4.1.2STC单片机减少对外部电磁辐射的三大措施

4.1.3STC89C52 RC单片机的特殊功能寄存器

4.2PMY单片机开发板介绍

单片机程序设计实践教程

第5章Keil C51程序设计基础

5.1标识符和关键字

5.2C51的数据类型

5.2.1整型(int)

5.2.2实型数据

5.2.3字符型数据(char)

5.2.4指针型(*)

5.2.5bit位标量

5.2.6各类数值型数据之间的混合运算

5.3C51 的数据存储类型

5.4C51 的基本运算

5.4.1算术运算符和算术表达式

5.4.2关系运算符

5.4.3逻辑运算符

5.4.4位运算

5.5C51的基本语句

5.5.1条件语句

5.5.2循环语句

5.5.3break、continue和goto语句

5.6C51的函数

5.6.1函数的分类与定义

5.6.2C51的中断服务函数

5.7数组与指针

5.7.1数组

5.7.2指针

5.8C51的预处理命令

5.8.1宏定义

5.8.2文件包含

5.8.3条件编译

第6章Keil C51和STCISP软件的使用

6.1Keil  C51软件的使用

6.1.1启动Keil C51软件

6.1.2简单程序的调试

6.2用STCISP软件将HEX文件写入单片机芯片中

6.2.1项目开发板和STC下载线的配置

6.2.2将HEX 文件写入单片机芯片

基础项目篇

第7章单片机端口输入/输出控制(按键和点灯)

7.1项目目标设计

7.2项目任务

7.3系统板上硬件连线

7.4程序流程图

7.5C语言源程序

7.6系统构成和程序分析

7.7项目扩展任务

第8章流水灯控制

8.1项目目标设计

8.2项目任务

8.3系统板上硬件连线

8.4程序流程图

8.5C语言源程序

8.6系统构成和程序分析

8.7项目扩展任务

第9章七段数码管和4×4键盘控制

9.1项目目标设计

9.2项目任务

9.3系统板上硬件连线

9.4程序流程图

9.5C语言源程序

9.6系统构成和程序分析

9.7项目扩展任务

第10章继电器和直流小电机正反转控制

10.1项目目标设计

10.2项目任务

10.3系统板上硬件连线

10.4程序流程图

10.5C语言源程序

10.6系统构成和程序分析

10.7项目扩展任务

第11章A/D转换

11.1项目目标设计

11.2项目任务

11.3系统板上硬件连线

11.4程序流程图

11.5C语言源程序

11.6系统构成和程序分析

11.7项目扩展任务

第12章光电传感器和蜂鸣器控制

12.1项目目标设计

12.2项目任务

12.3系统板上硬件连线

12.4程序流程图

12.5C语言源程序

12.6系统构成和程序分析

12.7项目扩展任务

第13章简易数字信号发生器

13.1项目目标设计

13.2项目任务

13.3系统板上硬件连线

13.4程序流程图

13.5C语言源程序

13.6系统构成和程序分析

13.7项目扩展任务

第14章1602液晶显示控制

14.1项目目标设计

14.2项目任务

14.3系统板上硬件连线

14.4程序流程图

14.5C语言源程序

14.6系统构成和程序分析

14.7项目扩展任务

第15章串行通信

15.1项目目标设计

15.2项目任务

15.3系统板上硬件连线

15.4程序流程图

15.5C语言源程序

15.6系统构成和程序分析

15.7项目扩展任务

第16章数字钟设计

16.1项目目标设计

16.2项目任务

16.3系统板上硬件连线

16.4程序流程图

16.5C语言源程序

16.6系统构成和程序分析

16.7项目扩展任务

第17章EEPROM器件24C02读写控制

17.1项目目标设计

17.2项目任务

17.3系统板上硬件连线

17.4程序流程图

17.5C语言源程序

17.6系统构成和程序分析

17.7项目扩展任务

第18章温度传感器

18.1项目目标设计

18.2项目任务

18.3系统板上硬件连线

18.4程序流程图

18.5C语言源程序

18.6系统构成和程序分析

18.7项目扩展任务

第19章步进电机控制

19.1项目目标设计

19.2项目任务

19.3系统板上硬件连线

19.4程序流程图

19.5C语言源程序

19.6系统构成和程序分析

19.7项目扩展任务

第20章红外数据传输

20.1项目目标设计

20.2项目任务

20.3系统板上硬件连线

20.4程序流程图

20.5C语言源程序

20.6系统构成和程序分析

20.7项目扩展任务

综合项目提高篇

第21章停车场驻车信息显示和出入口模拟控制系统

21.1需求分析

21.2系统分析

21.3系统设计任务

21.4硬件设计分析

21.5系统软件设计分析

第22章空调模拟控制系统

22.1需求分析

22.2系统分析

22.3系统设计任务

22.4硬件设计分析

22.5系统软件设计分析

第23章具有远程调时功能的城市十字路口信号灯模拟控制系统

23.1概述

23.2需求分析

23.3城市交通信号灯控制系统的发展和分类

23.4系统分析

23.5系统设计任务

23.6硬件设计分析

23.7系统软件设计分析

第24章具有串口校时和闹铃功能的数字钟系统设计

24.1需求分析

24.2系统分析与设计任务

24.3硬件设计分析

24.4系统软件设计分析

附录APMY单片机开发板系统原理图

附录BPMY单片机开发板系统PCB布板图

参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个