新概念51单片机C语言教程:入门、提高、开发、拓展全攻略(第2版)pdf下载

新概念51单片机C语言教程:入门、提高、开发、拓展全攻略(第2版)百度网盘pdf下载

作者:
简介:新概念51单片机C语言教程:入门、提高、开发、拓展全攻略(第2版)
出版社:电子工业出版社
出版时间:2018-01-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  ① 本书从实际工程应用入手,以实验过程和实验现象为主导,由浅入深、循序渐进地讲述使用C语言进行51单片机编程的方法、51单片机的硬件结构和各种功能应用。
  ② 不同于传统的讲述单片机的书籍,本书中的大部分例程以实际硬件实验板实验现象为依据,通过C语言程序来分析单片机工作原理。读者既能知其然,又能知其所以然,从实际应用中彻底理解和掌握单片机。
  ③ 本书中的大部分内容来自作者及其团队的科研及教学工作实践,内容涵盖多年来项目经验总结的精华,并且贯穿一些学习方法的建议。
  ④ 本书内容丰富,实用性强,许多C语言代码可以直接应用到工程项目中。本书为读者提供近30小时的单片机教学视频(可以扫描下文列表中的二维码进行在线观看,也可以登录到//www.hxedu.com.cn,注册后下载)。
  ⑤ 本书适用范围广,可以作为高校电子信息类和机电类各专业的本科、专科相关课程的教材或者大学生创新基地培训教材,也可供51单片机的初学者和使用51单片机从事项目开发的技术人员学习和参考,还满足从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员的选用需求。


特别说明:购买此电子书,无赠品,敬请谅解。

内容简介
  本书从单片机入门学习者的视角出发,避开了枯燥繁杂的理论介绍,,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。
  本书内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。本书配有13讲近30学时的教学视频和实例代码(通过扫描二维码下载或者网站下载),可使读者更快、更好地掌握单片机知识和应用技能。本书作者还可提供与本书配套的单片机实验板。
  本书可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
作者简介
  郭天祥,单片机教育者,毕业于哈尔滨工程大学,单片机领域的知名人士,名下有天祥电子网站,其*大成就之一是开设了“十天学会单片机”系列课程并录制出来,该课程在网络上广泛流传至今,同时著有《十天学会51单片机视频教程》、《十天学会PIC单片机视频教程》、《十天学会AVR单片机视频教程》三本教程。
目录
序一——STC(宏晶科技)创始人 姚永平
序二——上海庆科信息技术有限公司CEO 王永虹
前言
再致读者——我的创业
致读者——我的大学
第1篇 入门篇
第1章 基础知识必备
1.1 单片机概述
1.2 51单片机外部引脚介绍
1.3 电平特性
1.4 二进制和十六进制
1.5 二进制的逻辑运算
1.6 单片机的C51基础知识介绍
第2章 Keil软件使用及流水灯设计
2.1 Keil工程建立及常用按钮介绍
2.2 点亮第一个发光二极管
2.3 while语句
2.4 for语句及简单延时语句
2.5 Keil仿真及延时语句的精确计算
2.6 不带参数函数的写法及调用
2.7 带参数函数的写法及调用
2.8 利用C51库函数实现流水灯
第2篇 内外部资源操作篇
第3章 数码管显示原理及应用实现
3.1 数码管显示原理
3.2 数码管静态显示
3.3 数码管动态显示
3.4 中断概念
3.5 单片机的定时器中断
第4章 键盘检测原理及应用实现
4.1 独立键盘检测
4.2 矩阵键盘检测
第5章 A/D和D/A工作原理
5.1 模拟量与数字量概述
5.2 A/D转换原理及参数指标
5.3 ADC0804工作原理及其实现方法
5.4 D/A转换原理及其参数指标
5.5 DAC0832工作原理及实现方法
5.6 DAC0832输出电流转换成电压的方法
第6章 串行口通信原理及操作流程
6.1 并行与串行基本通信方式
6.2 RS-232电平与TTL电平的转换
6.3 波特率与定时器初值的关系
6.4 51单片机串行口结构描述
6.5 串行口方式1编程与实现
6.6 串行口打印在调试程序中的应用
第7章 通用型1602/12232/12864液晶操作方法
7.1 液晶概述
7.2 常用1602液晶操作实例
7.3 常用12232液晶操作实例
7.4 常用12864液晶操作实例
第8章 I2C总线AT24C02芯片应用
8.1 I2C总线概述
8.2 单片机模拟I2C总线通信
8.3 E2PROM AT24C02与单片机的通信实例
第9章 基础运放电路专题
9.1 运放概述及参数介绍
9.2 反相放大器
9.3 同相放大器
9.4 电压跟随器
9.5 加法器
9.6 差分放大器
9.7 微分器
9.8 积分器
9.9 比较器
第3篇 提高篇
第10章 定时器/计数器应用提高
10.1 方式0应用
10.2 方式2应用
10.3 方式3应用
10.4 52单片机定时器2介绍
10.5 计数器应用
第11章 串行口应用提高
11.1 方式0应用
11.2 方式2和方式3应用
11.3 单片机双机通信
11.4 单片机多机通信
第12章 指针
12.1 指针和指针变量
12.2 指针变量的运算
12.3 指针与数组
12.4 指针与函数
12.5 指针与字符串
12.6 指针数组与命令行参数
12.7 指针小结
12.8 C51中指针的使用
第4篇 实战篇
第13章 利用51单片机的定时器设计一个时钟
13.1 如何从矩阵键盘中分解出独立按键
13.2 原理图分析
13.3 实例讲解
第14章 用DS12C887芯片设计高精度时钟
14.1 时钟芯片概述
14.2 DS12C887时钟芯片介绍
14.3 如何用TX-1C实验板扩展本实验
14.4 原理图分析
14.5 实例讲解
第15章 用DS18B20温度传感器设计温控系统
15.1 温度传感器概述
15.2 DS18B20温度传感器介绍
15.3 实例讲解
第16章 太阳能充/放电控制器
16.1 控制器原理图分析
16.2 控制器板上元件介绍
16.3 实例讲解
第17章 VC、VB(MSCOMM控件)与单片机通信实现温度显示
17.1 VC MSCOMM控件与单片机通信实现温度显示
17.2 VB MSCOMM控件与单片机通信实现温度显示
第18章 单片机内部ADC做电容感应触摸按键
18.1 应用单片机内部ADC做电容感应触摸按键原理
18.2 实例参考程序
第5篇 拓展篇
第19章 用Altium Designer 14绘制电路图
19.1 绘制电路板概述
19.2 建立工程
19.3 制作元件库
19.4 添加封装及制作PCB封装库
19.5 项目编译及生成PCB
19.6 布线电气特性设置
19.7 自动布线和手动布线
第20章 常用电子元器件
20.1 二极管
20.2 电容
20.3 场效应管
20.4 光耦
20.5 蜂鸣器
20.6 继电器
20.7 自恢复保险
20.8 瞬态电压抑制器
20.9 晶闸管(可控硅)
20.10 电荷泵
第21章 直流稳压电源专题
21.1 整流电路
21.2 滤波电路
21.3 稳压电路
21.4 集成稳压模块的使用
21.5 串联开关型稳压电源
第22章 运放扩展专题
22.1 有源滤波器
22.2 仪表放大器
22.3 程控增益放大器
22.4 自动增益控制放大器
22.5 运算放大器的选型
第23章 STC8系列单片机介绍
23.1 STC8单片机的优势
23.2 ADC数模转换
23.3 PCA/CCP/PWM应用
23.4 同步串行外设接口SPI
23.5 I2C总线
第24章 电机专题
24.1 直流电机原理及应用
24.2 步进电机原理及应用
24.3 舵机原理及其应用
第25章 基于Wi-Fi的物联网应用
25.1 物联网系统架构
25.2 常用的物联网无线传输技术
25.3 IoT云平台
25.4 基于Wi-Fi的嵌入式设备入网方式
25.5 微软Azure系列IoT物联网开发板
附录A 天祥电子开发实验板简介
附录B 北京海克智动主要产品简介
参考文献
前言
  前言
  本书第1版在2009年1月出版,至今已印刷近40次,由于采用全新的教学理念和方法,本书深受广大读者尤其是在校大学生朋友的喜爱。随着科学工程技术日新月异的发展以及高校大学生科技创新活动的蓬勃兴起,本书读者的需求与时俱进,作者一些当年的思路和想法难免略显陈旧,因此有必要推出第2版,以飨广大读者。
  第2版主要修订内容
  ① 虽然单片机应用日趋广泛和灵活,但 51 系列单片机内核硬件架构和基本开发方法变化不大,因此本书关于单片机C语言教学部分变化不大,仅对第1版中出现的文字错误进行修改,同时补充和细化了基础运放电路专题。
  ② 在实战篇中新增应用单片机做电容感应触摸按键的内容,以适应消费类电子产品开发的需要。
  ③ 为了适应单片机技术的发展潮流,拓展篇的内容修改较大:新增PCB设计软件Altium Designer 14、基于Wi-Fi的物联网应用、STC8系列单片机的内容;在运放扩展专题中加入运算放大器的高阶应用内容,如程控增益放大器、自动增益放大器等,供读者选用。
  本书特色
  ① 本书从实际工程应用入手,以实验过程和实验现象为主导,由浅入深、循序渐进地讲述使用C语言进行51单片机编程的方法、51单片机的硬件结构和各种功能应用。
  ② 不同于传统的讲述单片机的书籍,本书中的大部分例程以实际硬件实验板实验现象为依据,通过C语言程序来分析单片机工作原理。读者既能知其然,又能知其所以然,从实际应用中彻底理解和掌握单片机。
  ③ 本书中的大部分内容来自作者及其团队的科研及教学工作实践,内容涵盖多年来项目经验总结的精华,并且贯穿一些学习方法的建议。
  ④ 本书内容丰富,实用性强,许多C语言代码可以直接应用到工程项目中。本书为读者提供近30小时的单片机教学视频(可以扫描下文列表中的二维码进行在线观看,也可以登录到http://www.hxedu.com.cn,注册后下载)。
  同时,作者开发了与本书配套的TX-1C单片机实验板,可帮助读者边学边练,达到学以致用的目的。读者在学习过程中可以将视频和图书互为参考,配合学习,并用单片机实验板进行实践,这样有助于更快更好地掌握单片机应用知识和技能。
  ⑤ 本书适用范围广,可以作为高校电子信息类和机电类各专业的本科、专科相关课程的教材或者大学生创新基地培训教材,也可供51单片机的初学者和使用51单片机从事项目开发的技术人员学习和参考,还满足从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员的选用需求。
  本书内容组织
  本书内容共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。
  第1篇主要讲解单片机相关基本知识及C语言编程基础,为初学者入门奠定基础。相关概念介绍简洁、易懂,避免长篇累牍的堆积专业术语,力求好学、好用。
  第2篇讲解单片机基本操作及其应用。针对每个应用都设计一个具体的实验项目,通过实验项目的实现,教授单片机的C语言编程使用方法。内容组织上循序渐进,由浅入深;教学方法上从原理到实践,再由实验现象进一步分析原理;做到理论与实践互相交融,有助于读者上手学习。
  在前2篇的基础上,通过实验,第3篇进一步扩展讲解了51单片机的高级功能应用,包括定时器/计数器以及串口应用,每个应用都设计针对性的实验项目和编程实例,使读者看得着,想得到,同时介绍C语言“精髓”——指针的相关应用。
  第4篇是作者教学和实际工作中精选出的具有代表性的真实项目,知识涉及面广,内容丰富,是作者开发经验的精华总结,以期引导读者综合运用前面所学知识,搭建51单片机系统,建立系统概念。
  第5篇为拓展部分,详细讲解了使用Altium Designer 14软件绘制原理图、PCB图、元件库和元件封装的过程;详细介绍了基于 Wi-Fi 的物联网应用;分别讲解了直流电机、步进电机和舵机的原理及驱动方法;介绍了STC8系列单片机以及运放的高级应用方法。本篇主要面向具有一定单片机开发经验的读者,主要目的拓宽读者思路,为学习者提供必要参考。
  本书学习建议
  随书提供的视频与本书前 3篇基本对应,建议读者在学习本书之前,最好有一块与本书中相同的实验板。学习时先看视频,对单片机有一个初步的印象,视频中的互动部分,读者可亲自做实验;在学习过程中,读者要多动脑,多动手;边学边做,边做边学,在不断实践中领悟单片机工作原理。
  在对实验原理理解的前提下,读者要尝试独立编写出书中每章的实例程序,有困惑时再查看书中代码,反思自己的失误在哪里,进而积累更多的经验。
  在掌握基本单片机使用后,针对具体开发和应用,读者可选读本书其他章节,有目的地阅读和参考可提高学习和工作效率。
  本书教学资源
  本书提供的教学资源包括:本书所有教学课件、实例代码和视频教程。
  以上教学资源提供两种方式浏览或下载。
  ① 二维码扫描,见相关二维码。
  ② 网站,登录到http://www.hxedu.com.cn,注册之后进行下载。(下载过程中如有问题,请联系dyl@phei.com.cn。)
  视频教程的介绍和二维码如下:
  这里对配套视频中讲解三极管和场效应管部分的一点错误给予更正:
  作者在讲课时说:三极管是压控流型器件,场效应管是压控压型器件。
  正确结论应该是:三极管是流控流型器件,场效应管是压控流型器件。
  在编写本书的过程中,作者得到了我的母校哈尔滨工程大学信息与通信工程学院刁鸣教授、王松武教授、刘文智老师和李海波老师的大力支持。本书的部分章节由我的同学叶大鹏、李健编写,另外我的老师兼好友王伞也十分关心本书的编写进度,为提高书稿的质量提出了许多宝贵的建议和修改意见。同时,电子工业出版社为本书的出版付出辛勤的劳动。在此,对他们表示衷心的感谢。
  由于作者的水平有限,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。
  作者的联系方式是 txmcu@163.com,读者也可以登录天祥电子网站发表意见,或联系购买单片机实验板,网址是http://www.txmcu.com。
  郭天祥
  2017年11月 于北京
精彩书摘
  很多初学者在刚开始接触单片机的时候不清楚究竟什么是单片机。用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片,这样的芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机。看到这里大家可能更加糊涂了,微处理器又是什么?存储器又是什么?什么是输入/输出接口呢?如果本书也按照传统书籍一样,上来就是满篇专业术语,让大家看得晕头转向,打击了单片机初学者的信心,那便失去了我写本书的意义。在本书中,我将用最通俗的语言为大家讲解学习单片机的整个过程,当大家对单片机的基本概念有了初步的认识和简单的了解之后,我将适时地为大家解释稍复杂的概念及专业知识点,在大家对单片机的各知识点循序渐进掌握的过程中,即使是专业语言也将成为通俗语言了。
  我们用最通俗的语言给出单片机的定义。单片机是一块集成芯片,但这块集成芯片具有一些特殊的功能,这些功能的实现要靠我们使用者自己来编程完成。我们编程的目的就是控制这块芯片的各引脚在不同时间输出不同的电平(高电平或低电平,关于电平在后面会讲到),进而控制与单片机各引脚相连接的外围电路的电气状态。编程时可以选择用 C 语言或汇编语言,根据我多年的编程经验,建议大家直接选用C语言编程,即使读者对汇编语言一点不了解也不会影响大家掌握单片机,反而在学习进度上比先学汇编语言编程要快得多。
  在本书一开始,我们首先对单片机芯片名称及其文字标识做一个全面的了解,本书主要讲解的是目前国内外使用较多的以51内核扩展出的单片机,即通常所说的51单片机,TX-1C单片机实验板上使用的单片机型号为 STC89C52RC。由于生产 51 单片机的厂商比较多,大家千万不要只见了目前用得比较多的AT89C51单片机才认识这是51单片机,世界上不同国家的很多芯片厂商都生产各种单片机,以51单片机为例,如表1.1.1所示。
  由于厂商及芯片型号太多,不能一一举出,表中提到的都是51内核扩展出来的单片机,也就是说,只要学会51单片机的操作,这些单片机便全部会操作了。因为C语言是通用工程语言,读者学会51单片机C语言编程后,就会发现其它架构内核的单片机编程问题与51单片机类似,往往能触类旁通,举一反三。关于芯片上的标号举两个例子说明,其他厂商大同小异。若还有不明之处,请上网搜索。以下以STC单片机为例,如图1.1.1和图1.1.2所示。
  图1.1.1所示芯片上的全部标号为STC 89C51RC 40C-PDIP 0707CU8138.00D。其标识分别解释如下:
  STC—前缀,表示芯片为STC公司生产的产品。其他前缀还有如AT、i、Winbond、SST等。
  8—表示该芯片为8051内核芯片。
  9—表示内部含Flash E2PROM存储器。另,80C51中的0表示内部含Mask ROM(掩模ROM)存储器,87C51中的7表示内部含EPROM存储器(紫外线可擦除ROM)。
  C—表示该器件为CMOS产品。另,89LV52和89LE58中的LV和LE表示该芯片为低电压产品(通常为3.3V电压供电);89S52中的S表示该芯片含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能。
  5—固定不变。
  1—表示该芯片内部程序存储空间的大小,1为4 KB,2为8 KB,3为12 KB,即该数乘上4 KB就是该芯片内部的程序存储空间大小。程序空间大小决定了一个芯片所能装入执行代码的多少。一般来说,程序存储空间越大,芯片价格越高,所以我们在选择芯片时要根据自己硬件设备实现功能所需代码的大小来选择价格合适的芯片,只要程序能装得下,同类芯片的不同型号不会影响其功能。
  RC—STC 单片机内部 RAM(随机读写存储器)为 512 B。另,RD+表示内部 RAM为1280 B。
  40—表示芯片外部晶振最高可接入40 MHz。对于AT单片机,其值一般为24,表示其外部晶振最高为24 MHz。
  C—产品级别,代表商业级,表示芯片使用温度范围,为0℃~+70℃。
  PDIP—产品封装型号,表示双列直插式。
  0707—表示本批芯片生产日期为2007年第7周。
  CU8138.00D—不详(有关资料显示,此标号表示芯片制造工艺或处理工艺)。
  【知识点】 芯片上的标号对应温度范围如下:
  ⊙ C—表示商业用产品,温度范围为0℃~+70℃。
  ⊙ I—表示工业用产品,温度范围为-40℃~+85℃。
  ⊙ A—表示汽车用产品,温度范围为-40℃~+125℃。
  ⊙ M—表示军用产品,温度范围为-55℃~+150℃。
  【知识点】 芯片封装简介
  1.DIP(Dual In-line Package)双列直插式封装
  DIP是指采用双列直插形式封装的集成电路芯片,绝大多数中小规模集成电路(IC)均采用这种封装形式,其引脚数一般不超过100个。采用DIP封装的CPU芯片有两排引脚,需要插入到具有DIP结构的芯片插座上。当然,也可以直接插在有相同焊孔数和几何排列的电路板上进行焊接,如图1.1.3所示。
  2.PLCC(Plastic Leaded Chip Carrier)带引线的塑料芯片封装
  PLCC 指带引线的塑料芯片封装载体,表面贴型封装之一,外形呈正方形,引脚从封装的 4个侧面引出,呈丁字形,是塑料制品,外形尺寸比DIP封装小得多。PLCC封装适合用SMT表面安装技术在PCB上安装布线,具有外形尺寸小、可靠性高的优点,如图1.1.4所示。
  3.QFP(Quad Flat Package)塑料方型扁平式封装和PFP(Plastic Flat Package)塑料扁平组件式封装
  QFP和PFP可统一为PQFP(Plastic Quad Flat Package),QFP封装的芯片引脚之间距离很小,引脚很细,一般大规模或超大型集成电路采用这种封装形式,其引脚数一般在100个以上。用这种形式封装的芯片必须采用SMD(表面安装设备技术)将芯片与主板焊接起来。采用SMD安装的芯片不必在主板上打孔,一般在主板表面上有设计好的相应引脚的焊点。PFP封装的芯片与QFP方式基本相同,它们唯一的区别是 QFP 一般为正方形,而 PFP 既可以是正方形,也可以是长方形,如图1.1.5所示。
  4.PGA(Pin Grid Array package)插针网格阵列封装
  PGA芯片封装形式在芯片的内外有多个方阵形的插针,每个方阵形插针沿芯片的四周间隔一定距离排列,根据引脚数目的多少,可以围成2~5圈。安装时,将芯片插入专门的PGA插座。为了使CPU能够更方便地安装和拆卸,从486芯片开始,出现了一种名为ZIF的CPU插座,专门满足PGA封装的CPU在安装和拆卸上的要求,如图1.1.6和图1.1.7所示。
  ZIF(Zero Insertion Force socket)是指零插拔力的插座。把这种插座上的扳手轻轻抬起,CPU就能容易地插入到插座中。然后将扳手压回原处,利用插座本身的特殊结构生成的挤压力,使CPU的引脚与插座牢牢地接触,绝对不存在接触不良的问题。拆卸CPU芯片只需将插座的扳手轻轻抬起,使压力解除,CPU芯片即可轻松取出。TX-1C实验板上的主芯片就是用ZIF插座固定的。
  5.BGA(Ball Grid Array package)球栅阵列封装
  随着集成电路技术的发展,对集成电路的封装要求更加严格。这是因为封装技术关系到产品的功能性,当IC的引脚数大于208时,传统的封装方式有难度。因此,除使用QFP封装方式外,现今大多数的多引脚数芯片(如图形芯片与芯片组等)皆转而使用BGA封装技术。BGA一出现便成为 CPU、主板上南/北桥芯片等高密度、高性能、多引脚封装的最佳选择。BGA封装如图1.1.8所示。
精彩插图