前言

第一台电子数字计算机的诞生引发了20世纪的电子工业革命。如今,计算机特别是单片微型计算机(简称单片机)得到了迅猛发展。单片机以其高性价比、高速度、体积小、可重复编程和方便功能扩展等优点,得到了广泛应用。今天,市场上的众多产品中均能看到单片机的身影,同时单片机也成为电子爱好者的必修课程。单片机的程序设计可以采用汇编语言和单片机C51语言。目前,单片机C51语言的使用越来越广泛,大有取代汇编语言的趋势。学习并熟练掌握单片机C51语言,对于单片机的系统设计和程序开发都非常适用。

为了方便广大读者学习和参考,本书详细讲解了单片机C51语言,以及如何使用单片机C51语言来编程控制单片机的硬件资源。最后,通过多个典型实例讲解了单片机C51语言的综合应用。通过阅读本书,读者不但可以掌握单片机C51语言,而且可以迅速进行单片机的程序开发。

本书特点

1.内容全面,由浅入深

本书涵盖了单片机C51语言程序设计所需掌握的各方面知识点。首先详细介绍了51系列单片机的基础知识,包括C51的集成开发环境和开发流程。其次对单片机C51语言程序设计基础知识点结合实例进行了全面详细的介绍,包括数据类型与结构、函数、存储结构以及预处理命令等内容。接着对单片机C51语言的程序设计方式进行了详细的讲解,包括定时计数器、中断设计、串行接口设计以及实时多任务操作系统等内容。最后介绍了电子设计各领域具有代表性的案例,包括键盘设计、液晶显示、总线接口、单片机通信以及多任务系统等方面内容。

2.结合实例,强化理解

本书在介绍每个相关知识点的同时,均给出了其在程序设计中的编程示例,每个例子都可以进行仿真与执行,读者可以在学习独立知识点的同时,根据应用示例举一反三,快速掌握相应的知识点在整个程序设计系统中的实际应用。

3.联系硬件,切合需求

本书不仅仅介绍单片机C51语言本身,还对单片机的硬件资源,以及如何使用单片机C51语言来编程控制单片机的各种片上资源进行了详细介绍。主要包括单片机定时器/计数器、中断、串行通信接口和RTX-51实时多任务操作系统。

4.仿真调试,熟练应用

本书对单片机C51语言的典型开发环境KeilµVision3进行了详细介绍。在讲解过程中,又结合了完整的C51程序实例,细致阐述了如何仿真调试各种单片机片上资源。读者可以加深对程序的理解,并做到熟练应用。

5.案例丰富,分析全面

本书案例丰富,基本涵盖了电子设计的各个领域,如键盘接口、LCD液晶显示、单总线接口、I2C总线、实时时钟、双机和多机通信、RTX-51实时多任务操作系统等。本书对每一个案例都详细介绍了其相关的背景知识、硬件知识、电路设计、程序设计以及仿真分析等内容,并对整体程序代码按功能分块进行详细注释,更加易于读者理解。

本书内容

本书以实用性、系统性和完整性为重点,详细介绍了单片机C51语言程序设计的各方面知识,对于每一个知识点均给出了详细的程序设计方法和编程示例,最后还提供了一些各领域的典型应用案例。本书分为四篇,共21章内容。

第一篇是单片机C51概述,共分为两章,主要介绍了51系列单片机的发展、开发流程和集成开发环境等。

第1章为51系列单片机开发概述,主要介绍了51系列单片机的发展、开发流程和程序设计语言。

第2章为构建C51的集成开发环境,主要介绍了单片机的最小硬件系统的组成、KeilµVision3的安装及其集成开发环境,以及KeilµVision3中C51的开发流程。

第二篇是C51语言程序设计指南,共分为6章,详细讲解了C51语言的程序设计的基础知识点。

第3章为C51语言程序设计基础,主要介绍了C51语言的标识符和关键字、数据类型、变量及其作用域、分隔符和修饰符、运算符及表达式等。

第4章为C51语句和流程,主要介绍了C51语言中的声明语句、表达式语句、复合语句、条件语句、开关判断语句,以及循环语句和函数调用语句,并介绍了用C51语言进行程序设计的常用流程控制结构。

第5章为C51的数据结构,主要介绍了C51中的数组、指针、结构、联合、枚举与位域以及自定义等数据类型。

第6章为C51的函数,主要包括函数的定义、调用和main函数,并结合实例,对KeilµVision3集成开发环境下常用的库函数进行了详细介绍。

第7章为C51的存储结构,主要介绍了51系列单片机的存储器结构,C51中的存储类型、扩展数据类型、变量的存储模式以及存储器指针等内容。

第8章为C51的预处理命令和用户配置文件,主要介绍了C51中的各种预处理指令和控制参数,并介绍了C51的用户配置文件,包括启动代码文件、变量初始化文件、基本I/O函数文件以及分组配置文件等。

第三篇是C51单片机编程指南,共分为5章,详细讲解了单片机定时器/计数器、串行接口程序设计、中断程序设计、RTX-51实时多任务操作系统以及调试和仿真内容。在讲解的过程中,对每一个知识点都提供了详细的程序设计方法和程序示例。

第9章为C51定时器/计数器程序设计,主要介绍了定时器/计数器的内部结构、控制寄存器,以及各种工作模式及其程序设计方法等。

第10章为C51的中断程序设计,主要介绍了中断的类型、中断系统各标志及其程序访问、中断的处理过程以及各种中断源的程序设计等。

第11章为C51串行接口程序设计,主要介绍了单片机的串行口结构及其程序控制,并详细介绍了串行口的4种工作模式及其程序示例。

第12章为C51下的RTX-51实时多任务操作系统,主要介绍了RTX-51的系统函数、任务调度、任务管理、系统配置以及技术参数等。

第13章为KeilµVision3的调试和仿真,主要介绍了KeilµVision3的程序调试模式、断点以及调试命令等,并介绍了各种单片机片上系统资源的仿真操作方法。

第四篇是C51程序设计典型案例,共分为8章,详细介绍了单片机在一些常用领域的使用,其中均给出了完整的电路图、程序分析以及仿真调试的相关内容;同时有针对性地为读者提供了常见的面试题及解答。

第14章为C51矩阵式键盘程序设计,主要介绍了常用的键盘结构,单片机与矩阵式键盘的编程接口,并给出了具体的实例。

第15章为C51液晶显示模块,主要介绍了液晶显示模块的类型,液晶显示控制驱动器,并通过一个常用的液晶显示器介绍了如何使用单片机来实现汉字和图形的显示。

第16章为C51模拟I2C总线,主要介绍了I2C总线的工作原理,I2C总线的传输协议以及程序实现,最后通过具体的实例介绍了单片机读写I2C器件的操作。

第17章为C51模拟单总线接口,主要介绍了单总线接口的工作原理以及数据传输,最后通过具体的实例介绍了单总线温度传感器的应用。

第18章为实时时钟芯片应用,主要介绍了常用的实时时钟芯片原理及数据传输方式,并给出了单片机实现时钟操作的具体实例进行说明。

第19章为C51通信接口程序设计,主要介绍了常用的串行通信接口标准,接口转换芯片以及双机和多机通信的原理。最后分别给出了C51语言双机和多机通信的实例。

第20章为道路交通灯多任务控制系统,主要介绍了交通灯多任务控制系统的原理,并通过RTX-51 Tiny实时多任务操作系统来实现道路交通的模拟控制,最后还介绍了多任务程序的仿真调试。

第21章为常见面试题及解答,主要介绍了C51程序设计和与MCS-51硬件相关的面试题,方便读者做入职准备。

本书结构紧凑,知识点涉及全面,内容翔实,案例丰富。由于本书内容较多,编写时间较仓促,书中如有遗漏或不足之处,恳请广大读者提出宝贵意见,以便于进一步改进。

读者对象

❑大学、大专、培训学校等相关专业的学生及教师

❑单片机初学者

❑电子设计爱好者

❑电子工程师

❑系统开发人员

本书作者

本书主要由赵建领、薛园园编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平及顾旭光。

作者

2012年1月