发表于2024-11-05
《手把手教你学51单片机(C语言版)》的创作,目的就是改变当前“51单片机”教学与自学的模式:“手把手教你学”——集理论知识、视频教程、教学课件与技术支持于一体的教学解决方案!未出版图书就接收到数百份订单!本科院校、职业院校的多名主讲教师阅读样章后一致认同并采用为教材(对于购买教师读者,将遴选赠送开发板)。可以预见,《手把手教你学51单片机(C语言版)》将引导一场单片机教学的革命!
《手把手教你学51单片机(C语言版)》旨在培养和锻炼单片机系统实用开发技能,全书以实践为主线,让读者在一个个实践案例中逐步掌握单片机电路设计与程序代码编写能力。书中的内容从最初点亮一个小灯的简单实验,逐步扩展知识面,到最后多功能电子钟的实际项目开发指导,不仅讲解了大量原理性知识,更重要的是给读者提供了实际项目开发的思路和经验,可以让读者从实践过程中提高自己发现问题、分析问题、解决问题的能力。本书的参编人员都是拥有多年实际项目研发经验的资深工程师,因此书中的内容涵盖了大量的实际项目中所采用的技术和技巧,具有极强的实时性和先进性,为读者铺就一条从单片机初学者晋级为工程师的康庄大道。本书适合刚刚接触单片机的初学者自学阅读,又可以作为各类院校电子技术相关专业的单片机教材,同时对电子行业的从业技术人员也有很高的参考价值。
站在单片机初学者的角度,尤其是高职高专的广大师生的立足点,学习单片机的目标就是成长为单片机开发工程师。该书通过一个个独立的模块讲解,然后综合这些模块开发实际项目——这正是我们学习单片机的有效的途径!甚至可以说,这本书是单片机学习的里程碑著作,值得学习,值得珍藏。
——刘继曾(教师,罗定职业技术学院)
毫无疑问,宋雪松这本《手把手教你学51单片机(C语言版)》既有较高的专业技术含量又通俗易懂,还附赠大量超值服务。想当初,本人在单片机与嵌入式系统学习的过程中,是摸着石头过河,走过不少弯路。现在想想,如果一开始就遇到了这样一本书,“手把手”地学习下来,至少可以节省两三年的摸索时间。真心希望更多的电子初学者们读到此书,提高学习效率。
——吴常玉(青岛东软载波科技股份有限公司,高级嵌入式系统工程师)
我以前从未期待过某本书出版,但是自从得知《手把手教你学51单片机(C语言版)》要出版的消息后,我就越来越期待宋雪松老师撰写的这本书了,很荣幸现在有幸先睹为快。读过很多书,很多技术类图书即使贴有“初学”、“入门”的标签,也仅仅是标榜。而宋雪松老师是真正注重入门读者的问题,该书以通俗、生动的语言解释了复杂的知识,避免了晦涩难懂的专业术语,同时又不失培养读者学习行业规范,是一本极好的入门教材!
——夏皓(上海读者)
我很久没有看到过这么好的教材了,好像正好你想知道什么它就告诉你什么,你缺什么它就给你讲解什么。宋雪松老师一定是倾其全力,把宝贵的学习和教学经验奉献给了读者; 尤其是书中的实战项目,更是让人耳目一新。我目前只阅读到了文字教程,还没有看视频教程,非常期待!也更期待宋老师后续出版更高级的教程,可以领单片机初学者走出迷茫,成长为成熟的单片机工程师。
——白一哲(广州读者)
《手把手教你学51单片机(C语言版)》有个鲜明的特点:“实践总结理论,理论指导实践”。该教程善于“手把手”地带领读者去做各种奇妙的实验,接着“手把手”地剖析与之紧密联系的数电、C语言等理论根基,而后又利用这些理论去把前面的实验做改善或演变。其中的乐趣会强烈地吸引着你去“动手实践”,去“举一反三”!
——刘蛟宇(深圳读者)
赞誉Ⅰ
前言Ⅲ
第1章 如何学习单片机
1.1学什么类型的单片机
1.2学习单片机的最佳方法
1.3单片机学习的准备工作
1.4单片机开发软件环境搭建
1.5Keil基本概况介绍
1.6答读者问
第2章 点亮你的LED
2.1单片机的内部资源
2.2单片机最小系统
2.2.1电源
2.2.2晶振
2.2.3复位电路
2.3LED小灯
2.4程序代码编写
2.4.1特殊功能寄存器和位定义
2.4.2新建一个工程
2.4.3编写点亮小灯的程序
2.5程序下载
2.6练习题
第3章 硬件基础知识学习
3.1电磁干扰
3.2去耦电容的应用
3.3三极管在数字电路中的应用
3.3.1三极管的初步认识
3.3.2三极管的原理
3.3.3三极管的应用
3.474HC138三八译码器的应用
3.5LED闪烁程序
3.6练习题
第4章 C语言基础以及流水灯的实现
4.1二进制、十进制和十六进制
4.2C语言变量类型和范围
4.3C语言基本运算符
4.4for循环语句
4.5while循环语句
4.6函数的简单介绍
4.7Keil软件延时
4.8流水灯程序
4.9练习题
第5章 定时器与数码管基础
5.1逻辑电路与逻辑运算
5.2定时器的学习
5.2.1定时器的初步认识
5.2.2定时器的寄存器
5.2.3定时器的应用
5.3数码管的学习
5.3.1数码管的基本介绍
5.3.2数码管的真值表
5.3.3数码管的静态显示
5.4练习题
第6章 中断与数码管动态显示
6.1C语言的数组
6.1.1数组的基本概念
6.1.2数组的声明
6.1.3数组的初始化
6.1.4数组的使用和赋值
6.2if语句
6.3switch语句
6.4数码管的动态显示
6.4.1动态显示的基本原理
6.4.2数码管显示消隐
6.5单片机中断系统
6.5.1中断的产生背景
6.5.2定时器中断的应用
6.5.3中断的优先级
6.6练习题
第7章 变量进阶与点阵LED
7.1变量的作用域
7.1.1局部变量
7.1.2全局变量
7.2变量的存储类别
7.3点阵的初步认识
7.4点阵的图形显示
7.5点阵的动画显示
7.5.1点阵的纵向移动
7.5.2点阵的横向移动
7.6练习题
第8章 函数进阶与按键
8.1单片机最小系统
8.1.1电源
8.1.2晶振
8.1.3复位电路
8.2函数的调用
8.3函数的形式参数和实际参数
8.4按键
8.4.1独立按键
8.4.2矩阵按键
8.4.3独立按键的扫描
8.4.4按键消抖
8.4.5矩阵按键的扫描
8.5简易加法计算器
8.6练习题
第9章 步进电机与蜂鸣器
9.1单片机IO口的结构
9.2上下拉电阻
9.328BYJ��48型步进电机详解与实例
9.3.1电机的分类
9.3.228BYJ��48型步进电机原理详解
9.3.3让电机转起来
9.3.4转动精度与深入分析
9.3.5编写实用程序的基础
9.3.6包含综合应用的实用程序
9.4蜂鸣器
9.5练习题
第10章 实例练习与经验积累
10.1数字秒表实例
10.1.1不同数据类型间的相互转换
10.1.2定时时间精准性调整
10.1.3字节操作修改位的技巧
10.1.4数码管扫描函数算法改进
10.1.5秒表程序
10.2PWM知识与实例
10.3交通灯实例
10.451单片机RAM区域的划分
10.5长短按键的应用
10.6练习题
第11章 UART串口通信
11.1串行通信的初步认识
11.2RS��232通信接口
11.3USB转串口通信
11.4IO口模拟UART串口通信
11.5UART串口通信的基本应用
11.5.1通信的三种基本类型
11.5.2UART模块介绍
11.5.3UART串口程序
11.6通信实例与ASCII码
11.7练习题
第12章 指针基础与1602液晶的初步认识
12.1指针的概念与指针变量的声明
12.1.1变量的地址
12.1.2指针变量的声明
12.1.3指针的简单示例
12.2指向数组元素的指针
12.2.1指向数组元素的指针和运算法则
12.2.2指向数组元素指针的实例
12.3字符数组和字符指针
12.3.1常量和符号常量
12.3.2字符和字符串数组实例
12.41602液晶的认识
12.4.11602液晶的硬件接口介绍
12.4.21602液晶的读写时序介绍
12.4.31602液晶的指令介绍
12.4.41602液晶简单实例
12.5练习题
第13章 1602液晶与串口的应用实例
13.1通信时序解析
13.21602整屏移动
13.3多.c文件的初步认识
13.4计算器实例
13.5串口通信机制和实用的串口例程
13.6练习题
第14章 I2C总线与E2PROM
14.1I2C时序初步认识
14.2I2C寻址模式
14.3E2PROM的学习
14.3.1E2PROM单字节读写操作时序
14.3.2E2PROM多字节读写操作时序
14.3.3E2PROM的页写入
14.4I2C和E2PROM的综合实验学习
14.5练习题
第15章 实时时钟DS1302
15.1BCD码的概念
15.2SPI时序初步认识
15.3实时时钟芯片DS1302
15.3.1DS1302的特点
15.3.2DS1302的硬件信息
15.3.3DS1302寄存器介绍
15.3.4DS1302通信时序介绍
15.3.5DS1302的BURST模式
15.4复合数据类型
15.4.1结构体数据类型
15.4.2共用体数据类型
15.4.3枚举数据类型
15.5电子钟实例
15.6练习题
第16章 红外通信与DS18B20温度传感器
16.1红外光的基本原理
16.2红外遥控通信原理
16.3NEC协议红外遥控器
16.4温度传感器DS18B20
16.5练习题
第17章 模数转换A/D与数模转换D/A
17.1A/D和D/A的基本概念
17.2A/D的主要指标
17.3PCF8591的硬件接口
17.4PCF8591的软件编程
17.5A/D差分输入信号
17.6D/A输出
17.7简易信号发生器实例
17.8练习题
第18章 RS��485通信与Modbus协议
18.1RS��485通信
18.2Modbus通信协议介绍
18.2.1Modbus协议特点
18.2.2RTU协议帧数据
18.3Modbus多机通信例程
18.4练习题
第19章 实践项目开发——多功能电子钟
19.1类型说明
19.2头文件
19.3条件编译
19.4项目实战——多功能电子钟
19.4.1项目需求分析
19.4.2程序结构规划
19.4.3程序代码编写
19.5练习题
第20章 单片机开发常用工具的使用
20.1万用表
20.1.1万用表的功能及类型
20.1.2万用表的使用方法
20.2示波器
20.2.1示波器的功能及类型
20.2.2示波器的使用
20.3逻辑分析仪
20.3.1什么是逻辑分析仪
20.3.2逻辑分析仪的参数
20.3.3逻辑分析仪的使用
20.3.4应用实例——分析UART、I2C、SPI
20.3.5数字电路应用中逻辑分析仪比之示波器的优势
20.4练习题
第一章.如何学习单片机
在错误的道路上日夜兼程,最终也无法成功,方法和思路绝对是第一重要的。一些学技术的同学,往往看到这类章节会直接跳过去,因为大多数类似章节都是废话连篇。但是,今天在这里我可以很负责任的告诉你,本章节讲到的学习单片机的方法,都是我们学习单片机的无数经验和教训总结出来的瑰宝。因为我们披荆斩棘,开辟了道路,所以可以告诉你路在何方;也因为我们摸过烧红的铁块,烫了手,所以也可以告诉你教训和代价是什么。希望各位都能站在我们的肩膀上,看得更远!
1.1 学什么单片机
单片机的型号那么多,如何选取一款合适的进行学习?如果身边有比较现成的学习单片机的条件,有什么条件就学习什么型号。比如,你所在的公司刚好用到某个型号单片机,那么就方便多了。开发板不用购买,直接用公司现成的板子,指导老师到处是,公司的工程师,只要你耐心虚心的不耻上问,相信他们都愿意帮你解答问题。或者你跟着学习的导师,正在使用某个型号的单片机开发产品,那么同样的道理,你也会有得天独厚的优势,直接跟着学就行了。单片机型号虽然众多,看起来纷繁复杂,其实它们的基本原理、基本用法都是相通的,只要熟练掌握其中一种,其它的都可以触类旁通,快速上手了。
如果你这些条件都没有,那就跟着我学吧,我建议你学习51单片机。为什么呢?虽然现在单片机种类和型号非常多,每个型号都有一定的市场份额,但是哪个型号也没有早期51单片机那般风光和火爆,虽然现在地位不是那么高了,但是因为51单片机积累的资料非常多,大家学起来就会拥有众多的参考资料,所以上手肯定比其他型号的要快一些。如果你学习稍微偏门的单片机,可能一个简单的软件问题就要折腾你好长时间,不仅仅浪费了你的学习时间,更重要的是打击了学习单片机的信心。
那么是不是每种单片机我们都要学一遍呢?答案当然是否定的。大家跟着我来学习51单片机,必须得跟着学会举一反三和融会贯通的能力。单片机型号那么多,挨个学下来估计头发白了也学不完,所以大家跟着我学51单片机,不能仅仅当做51来学习,更重要的是要当做“单片机”来学,要通过我们的这个教程,把所有的单片机的内部资源都搞清楚弄明白,每个内部模块的用法理解透彻,这样当你遇到一个从没有用过的单片机,也就知道如何下手去使用它进行开发了。
1.2 如何学习单片机
前边提到过,单片机是一门实用技术,我们学习它已经不是为了应付考试了,我给大家总结了单片机的学习方法是:一个要领,四个步骤。
学习单片机的要领就是:在实践中成长,In Doing We Learn!
学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机书看肯定不行,你也必须得亲自动手去练。
没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么那么多人学单片机的时候,总是只抱着一本书看呢。第一,我们小学中学甚至大学的学习模式都是如此,学什么东西主要都是靠看书,应付书面考试;第二,很多人想实践却不太清楚该怎么去实践。
遇到问题查下书比直接看书的效果要好过百倍。不是不让大家看书,而是看了一点以后,要马上去实践验证,然后再回头结合实践的结果,理解书上的内容。从这个地方,大家要得出一个结论来,就是在学实际技术的过程中,和应付考试不同,书上的内容不需要你去硬性记忆,书是用来查的,不是用来背的。
下面,就是我总结的跟着我学习单片机的四个步骤。
第一步:鹦鹉学舌。
刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊“妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了,孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。
大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单片机使用C语言的编程方法,初学者可能都没有见过,脑子里全无概念。没关系,有些概念和方法你不理解也没有关系,甚至不需要你去理解,你只需要跟着我去鹦鹉学舌式的学习,第一遍学习某一节课的内容时,对于程序,大家就可以完全跟着抄下来,甚至抄两三遍,过一段你会发现,好多东西你也认识了,好多概念你也慢慢的理解清楚了,你也能大概看懂别人的小程序了,切忌觉得自己看会了,而简单复制粘贴。
第二步:照葫芦画瓢。
很多同学学习的时候喜欢看,看我做的视频,看我写的程序,甚至看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,感觉就是老鼠啃天,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”的毛病,所以第二步的内容就非常重要了。
我的要求是,每一位同学,在学完了当前课的内容,把第一步顺利完成以后,然后关掉视频教程,关掉源代码,自己通过看电路图和查找非源代码的其他任何资料,把当节课我写的程序代码重新默写出来,边写边多少理解那么一点点,不是纯粹的背诵,应该说是背诵加理解的结合体。甚至学过几节课以后,可以回头把前边曾经这样实现过的课程,再按照这种方法做一遍。千万不要认为这一步没必要,这一步是你能否真正学会单片机的一个关键,在学完本教程之前,每一课内容都要这样做,如果每一个程序你都能够完美的完成,那么可以说,当节课的内容,百分之七八十你已经掌握了。
第三步:他山之石,可以攻玉。
单片机技术的最大特点就是可以通过修改程序来实现不同的功能,因此举一反三的能力就必不可少了。每一节课的例程后边,我一般都会布置几个作业,大家尽量去独立完成这个作业。在完成这个作业的过程中,都可以参考我的程序思路,在这个基础上通过动脑思考去构建你自己的程序框架,最终将程序完成。
在我们工程师实际产品研发的时候,很多种情况下也是如此。比如一个产品,我们如果从零起步的话,可能会走很多弯路,遭遇很多前人已曾遭遇过的挫折,所以我们通常的做法是寻找购买几款同类产品,然后先研究他们的各自优缺点,学习他们的长处,然后在同类产品基础上再来设计我们自己的产品,这就是“他山之石,可以攻玉”。
初学者在学习的时候,往往遇到的问题很多,你应该想到,你遇到的问题,可能前辈们早就遇到过了,所以遇到问题后,不要慌张,首先利用谷歌或者百度这些搜索引擎在网上搜一下,要做什么新东西,先去网上找相关资料了解一下,不管是编程还是硬件设计,多多参考别人的东西,只要把别人的东西分析明白了,自己用起来了,也就成为自己的知识了。
第四步:理论实践结合,温故知新。
当大家把所有的课程都按照前边三步完成后,这个时候不妨再把书打开,再看看书,经过了自己的实战经历,再看书的时候,对很多知识点会有一种恍然大悟的感觉。甚至视频教程、书籍都可以反复看几遍,可能有的知识点当时学习的时候不明白,过了一段时间,回过头来再学习的时候,一下就明白了。
1.3 单片机学习的准备工作
第一:足够的信心、恒心和耐心。
有同学问过我,单片
手把手教你学51单片机(C语言版) 下载 mobi epub pdf txt 电子书 格式
手把手教你学51单片机(C语言版) 下载 mobi pdf epub txt 电子书 格式 2024
手把手教你学51单片机(C语言版) 下载 mobi epub pdf 电子书个人感觉写的一般,各章节不成体系
评分挺好的,通俗易懂,正版,纸质好。。。。。。。。
评分已经跟着宋老师,学了好多了。多谢宋老师。
评分书很好,都有塑封,希望这本书能带给我收获,看完了再追评
评分学习单片机入门
评分很好呢,但是看了书才知道网上有对应视频,再往后才知道开发板还得另买。心酸
评分呵呵红红火火恍恍惚惚哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
评分不错。。正在学习中。。。。
评分只是为了拿京豆
手把手教你学51单片机(C语言版) mobi epub pdf txt 电子书 格式下载 2024