关于我们
![]() ![]() |
单片机C语言应用100例(第3版)(含光盘1张) 定 价:¥69.8 中 教 价:¥46.07 (6.60折) 库 存 数: 0 丛 书 名:百例成才系列丛书
本书以MCS51单片机为主体,从实际应用入手,结合大量实例循序渐进地讲述51单片机C语言编程方法,以及51单片机的硬件结构和功能应用。全书分为基础篇、应用篇和综合提高篇。所有实例均采用仿真软件Proteus仿真和实验板实验,使读者真正做到"边理论、边实践,在实践中逐步掌握单片机的硬件结构和开发方法。
作者基于现有良好的单片机开发环境和近20年的教学经验,对单片机课程的传统教学模式进行了改革:首先通俗地介绍单片机的开发条件,接着通过一个简单实例,使读者能够完整地掌握单片机的整个开发过程,消除对单片机的畏惧感,然后再采用边理论、边实践,学一样、会一样的案例教学模式,使单片机的硬件结构在实例学习中逐步掌握。另外,由于本书采用了易于掌握的C语言进行单片机应用程序设计,大大降低了读者对单片机硬件结构了解程度的要求,使初学者在很短时间内就可以用C语言开发出功能强大的单片机实用系统。因此,本书可帮助读者快速、轻松地迈入单片机大门。 前 言 《单片机C语言应用100例》第1版自2009年10月出版以来,得到了读者的支持与肯定,在短短的3年时间内重印7次,并于2013年出版本书第2版。 第3版对第2版的一些例子进行了修改,扩宽了单片机应用领域。 本书作者从事单片机开发工作多年,常有读者及学员问及:如何才能快速入门?我本人的体会:一定要动手做!仅仅看书是远远不够的。和很多的读者一样,包括单片机在内的许多知识,我都是通过读书等方法自学的。作者深深地认识到,一本好书对于自学者来说其重要性是不言而喻的,一本好的书可以引导学习者进入知识的大门,一本不合适的书则会断送学习者的热情。因此,作者基于现有良好的单片机开发环境和近20年的教学经验,对单片机课程的传统教学模式进行了改革:首先通俗地介绍单片机的开发条件,接着通过一个简单实例,使读者能够完整地掌握单片机的整个开发过程,消除对单片机的畏惧感,然后再采用边理论、边实践,学一样、会一样的案例教学模式,使单片机的硬件结构在实例学习中逐步掌握。另外,由于本书采用了易于掌握的C语言进行单片机应用程序设计,大大降低了读者对单片机硬件结构了解程度的要求,使初学者在很短时间内就可以用C语言开发出功能强大的单片机实用系统。因此,本书可帮助读者快速、轻松地迈入单片机大门。 本书第1版出版后,受到了读者的欢迎,许多读者认为这是单片机入门的好书、本书的确可以做到轻松入门、本书值得向入门者推荐。 本书由王会良、王东锋、董冠强编著。其中,第1~4章由河南科技大学王会良编写;第5~7章由河南科技大学董冠强编写;第8章由郑州电子信息职业技术学院曲利红编写;第9~10章由河南科技大学李向攀编写;第11章由空军第一航空学院王东锋编写。全书由王会良统稿并定稿。 为便于读者学习,本书有配套的实验器材设备,其能进行的实验有流水灯控制、数码管显示、键盘控制、音乐播放、继电器控制、步进电动机控制、SPI 通信、I2C通信、液晶显示、红外接收、模/数转换、数/模转换、温度检测和串口通信等。 本书附送超值视频光盘主要内容如下: (1)单片机仿真软件Proteus的教学视频; (2)单片机开发软件Keil的教学视频; (3)前80例仿真实例与源程序; (4)第11章仿真实例与源程序; (5)配套实验板的加工图纸,读者可拿到工厂直接加工成PCB,自己焊接上元器件即可进行实验。 由于水平有限,书中不妥之处在所难免,敬请广大读者批评指正。 王会良 2017年4月
王会良,博士,副教授,毕业于西北工业大学,任职于河南科技大学机电工程学院,承担多项国家自然科学出版基金项目,参与出版多项著作。
目 录
基 础 篇 第1章 单片机概述及实验器材介绍2 1.1 单片机概述2 1.1.1 单片机的定义、分类与内部组成2 1.1.2 单片机应用系统的结构及其工作过程5 1.1.3 单片机的应用6 1.2 单片机基础知识7 1.2.1 数制与数制间的转换7 1.2.2 单片机中数的表示方法及常用数制的对应关系10 1.2.3 逻辑数据的表示10 1.2.4 单片机中常用的基本术语12 1.3 单片机入门的有效方法与途径12 1.4 学习单片机的基本条件13 1.4.1 软件条件13 1.4.2 硬件条件15 习题16 第2章 单片机开发软件及开发过程17 2.1 仿真软件Proteus的使用17 2.1.1 Proteus的主要功能特点17 2.1.2 实例1:功能感受Proteus仿真单片机播放《渴望》主题曲17 2.1.3 Proteus软件的界面与操作介绍19 2.1.4 实例2:Proteus仿真设计快速入门21 2.2 Keil C51的使用31 2.2.1 单片机最小系统31 2.2.2 实例3:用Keil C51编写点亮一个发光二极管的程序31 2.3 程序烧录器及烧录软件的使用38 习题与实验38 第3章 逐步认识单片机基本结构40 3.1 实例4:用单片机控制一个灯闪烁40 3.1.1 实现方法40 3.1.2 程序设计40 3.1.3 用Proteus软件仿真41 3.1.4 延时程序分析43 3.2 实例5:将 P1口状态送入P0、P2和P3口44 3.2.1 实现方法44 3.2.2 程序设计45 3.2.3 用Proteus软件仿真45 3.2.4 用实验板实验46 3.2.5 I/O口功能介绍46 3.2.6 I/O口的结构分析46 3.3 实例6:使用P3口流水点亮8位LED49 3.3.1 实现方法49 3.3.2 程序设计50 3.3.3 用Proteus软件仿真51 3.3.4 用实验板实验51 3.4 实例7:通过对P3口地址的操作流水点亮8位LED51 3.4.1 实现方法51 3.4.2 程序设计52 3.4.3 用Proteus软件仿真53 3.4.4 用实验板实验53 3.5 MCS51单片机存储器的基本结构53 3.5.1 程序存储器53 3.5.2 数据存储器53 3.6 单片机的复位电路55 习题与实验55 第4章 单片机C语言开发基础56 4.1 C语言源程序的结构特点56 4.2 标志符与关键字57 4.3 C语言的数据类型与运算符59 4.3.1 数据类型59 4.3.2 运算符62 4.3.3 实例8:用不同数据类型控制LED的闪烁65 4.3.4 实例9:用P0口、P1 口分别显示加法和减法运算结果68 4.3.5 实例10:用P0、P1口显示乘法运算结果70 4.3.6 实例11:用P1、P0口显示除法运算结果71 4.3.7 实例12:用自增运算控制P0口8位LED的闪烁花样73 4.3.8 实例13:用P0口显示逻辑与运算结果74 4.3.9 实例14:用P0口显示条件运算结果74 4.3.10 实例15:用P0口显示按位异或运算结果75 4.3.11 实例16:用P0显示左移运算结果76 4.3.12 实例17:万能逻辑电路实验77 4.3.13 实例18:用右移运算流水点亮P1口8位LED78 4.4 C语言的语句79 4.4.1 概述79 4.4.2 控制语句80 4.4.3 实例19:用if语句控制P0口8位LED的点亮状态84 4.4.4 实例20:用switch语句控制P0口8位LED的点亮状态86 4.4.5 实例21:用for语句设计鸣笛报警程序88 4.4.6 实例22:用while语句控制P0口8位LED闪烁花样92 4.4.7 实例23:用do-while语句控制P0口8位LED流水点亮93 4.5 C语言的数组95 4.5.1 数组的定义和引用95 4.5.2 实例24:用字符型数组控制P0口8位LED流水点亮97 4.5.3 实例25:用P0口显示字符串常量98 4.6 C语言的指针99 4.6.1 指针的定义与引用100 4.6.2 实例26:用P0口显示指针运算结果102 4.6.3 实例27:用指针数组控制P0口8位LED流水点亮103 4.6.4 实例28:用数组的指针控制P0 口8 位LED流水点亮104 4.7 C语言的函数106 4.7.1 函数的定义与调用106 4.7.2 实例29:用P0 、P1口显示整型函数返回值109 4.7.3 实例30:用有参数函数控制P0口8位LED流水速度111 4.7.4 实例31:用数组作为函数参数控制P0口8位LED流水点亮112 4.7.5 实例32:用指针作为函数参数控制P0口8位LED流水点亮113 4.7.6 实例33:用函数型指针控制P0口8位LED流水点亮115 4.7.7 实例34:用指针数组作为函数的参数显示多个字符串116 4.7.8 实例35:字符函数ctype.h应用举例118 4.7.9 实例36:内部函数intrins.h应用举例119 4.7.10 实例37:标准函数stdlib.h应用举例121 4.7.11 实例38:字符串函数string.h应用举例122 4.8 C语言的编译预处理123 4.8.1 常用预处理命令介绍123 4.8.2 实例39:宏定义应用举例126 4.8.3 实例40:文件包含应用举例127 4.8.4 实例41:条件编译应用举例128 习题与实验129 第5章 单片机的定时器/计数器131 5.1 定时器/计数器的基本概念131 5.2 定时器/计数器的结构及工作原理132 5.2.1 定时器/计数器的结构133 5.2.2 定时器/计数器的工作原理133 5.3 定时器/计数器的控制134 5.3.1 定时器/计数器的方式控制寄存器(TMOD)134 5.3.2 定时器/计数器控制寄存器(TCON)134 5.3.3 定时器/计数器的4种工作方式135 5.3.4 定时器/计数器中定时/计数初值的计算138 5.4 定时器/计数器应用举例138 5.4.1 实例42:用定时器T0控制跑马灯实现138 5.4.2 实例43:用定时器T1查询方式控制报警器鸣笛实现140 习题与实验142 第6章 单片机的中断系统143 6.1 中断系统的基本概念143 6.2 中断系统的结构及控制144 6.2.1 中断系统的结构144 6.2.2 中断系统的控制145 6.3 中断系统应用举例148 6.3.1 实例44:用定时器T0的中断方式控制跑马灯实现148 6.3.2 实例45:用定时器T1分式1控制控制报警器鸣笛实现149 6.3.3 实例46:用定时器T0的中断方式控制PWM波实现151 6.3.4 实例47:用定时器T0的音乐播放器的实现154 6.3.5 实例48:用定时器T0的门控制位测量外部正脉冲宽度159 6.3.6 实例49:用外中断 测量负跳变信号累计数161 习题与实验163 第7章 串行通信技术164 7.1 串行通信的基本概念164 7.2 串行通信口的结构166 7.3 串行通信口的控制166 7.3.1 串行口控制寄存器SCON167 7.3.2 电源控制寄存器PCON167 7.3.3 4种工作方式与波特率的设置168 7.4 串行通信口应用举例171 7.4.1 实例50:基于方式1的单工通信171 7.4.2 实例51:基于方式3的单工通信173 7.4.3 实例52:单片机向计算机发送数据176 7.4.4 实例53:计算机控制单片机LED显示178 习题与实验180 应 用 篇 第8章 接口技术182 8.1 LED数码管接口技术182 8.1.1 LED数码管的原理和接口电路182 8.1.2 实例54:用LED数码管显示数字5184 8.1.3 实例55:用LED数码管循环显示数字0~9185 8.1.4 实例56:用数码管慢速动态扫描显示数字1234186 8.1.5 实例57:快速动态扫描显示数字1234188 8.1.6 实例58:点阵LED动态显示实现189 8.2 键盘接口技术191 8.2.1 独立式键盘的工作原理192 8.2.2 实例59:无软件消抖的独立式键盘输入实验193 8.2.3 实例60:带软件消抖的独立式键盘输入实验194 8.2.4 实例61:CPU控制的键盘扫描实验195 8.2.5 实例62:定时器中断控制的键盘扫描实验200 8.2.6 实例63:一键多能实验201 8.2.7 实例64:独立式键盘控制步进电动机实验204 8.2.8 矩阵键盘的工作原理209 8.2.9 实例65:矩阵键盘按键值的数码管显示210 8.2.10 实例66:简易电子琴设计214 8.3 字符型LCD接口技术220 8.3.1 1602字符型LCD简介220 8.3.2 实例67:用LCD显示字符A225 8.3.3 实例68:液晶时钟设计230 习题与实验231 第9章 新型串行接口芯片应用232 9.1 I2C总线器件及其应用实例232 9.1.1 I2C总线接口232 9.1.2 实例69:将按键次数写入AT24C02,再读出送LCD显示235 9.1.3 实例70:对I2C总线上挂接两个AT24C02的读/写操作236 9.1.4 实例71:将好人一生平安乐谱写入AT24C02并播放238 9.2 单总线器件及其应用实例239 9.2.1 单总线简介239 9.2.2 实例72:DS18B20温度检测及其LCD显示244 9.3 SPI总线接口芯片及其应用实例245 9.3.1 SPI串行总线简介245 9.3.2 实例73:将数据0xaa写入X5045再读出送P1口显示248 9.3.3 实例74:将流水灯控制码写入X5045并读出送P1口显示250 9.3.4 实例75:对SPI总线上挂接的两个X5045的读/写操作251 习题与实验252 第10章 常用功能器件应用举例254 10.1 模/数(A/D)转换器件254 10.1.1 A/D转换基础254 10.1.2 实例76:基于ADC0832的5V直流数字电压表256 10.2 数/模(D/A)转换器件258 10.2.1 D/A转换基础258 10.2.2 实例77:用DAC0832产生锯齿波电压260 10.3 红外线遥控信号接收器件261 10.3.1 红外线信号接收基础261 10.3.2 实例78:用P1口显示红外遥控器的按键值263 10.3.3 实例79:用红外线遥控器控制继电器265 10.4 适时时钟芯片266 10.4.1 常用适时时钟芯片介绍267 10.4.2 实例80:基于DS1302的日历时钟269 习题与实验271 综合提高篇 第11章 综合应用实例274 11.1 实例81:中文字符的液晶显示274 11.1.1 图形点阵显示器简介274 11.1.2 仿真原理图设计278 11.1.3 程序设计与仿真279 11.2 实例82:12位A/D转换器TLC2543的使用284 11.2.1 TLC2543介绍284 11.2.2 仿真原理图设计286 11.2.3 程序设计与仿真288
你还可能感兴趣
我要评论
|