今天西电吧某位旧友给我发私信,要我推荐一款开发板给他,以供他学习~推荐完之后,才忽然想起寒假前给吧友们承诺要出一个单片机的学习教程,如今寒假已经过去一个月,却未见动静,为此对吧友们表示万分的抱歉。
出这个教程,也觉得万分惶恐,一来近来要做的比赛繁多,时间不够,再者水平有限,万一有错漏之处,恐怕会贻害不少人。所以如有疏漏,还请有经验的人指正。
对了对了,我还有一个严♂肃的声明呢:
本文及以后文章中,凡是没有特殊声明的,单片机一概指宏晶的STC89C52RC单片机,引脚为双列直插封装。
本文及以后文章不进行汇编语言的讲解,但是会提到相应的指令集。
对文章内容有问题请在贴吧相关帖子进行讨论,谢谢。(我才不会说我是为了经验呢!)
好了,言归正传,在开始讲解单片机之前,我们要想明白一个问题:我们为什么要学习单片机?
因为看起来很酷?因为想做竞赛?因为跟风?
之所以问这个问题,也是因为之前曾在科协带过一些学弟学姐(只要是妹纸我都叫学姐,人家毕竟还小)学过一段51单片机,然而收效却没有我想象的那么好,固然与我讲课水平太差有关系,然而应该还有别的原因在。总之还是希望选择了还是坚持一下的好,毕竟花钱买了开发板~有坚持总会有收货的~
OK 现在真的进入正题了:
学习单片机之前,我希望大家有以下准备:
一定的C语言基础一块开发板(关于开发板,会在文章最后有推荐)一台电脑
关于一定的C语言基础:
其实在大家都推荐的郭天祥视频教程中,C语言是和单片机一起讲授的,但是毕竟C51和ANSI C(即C99)还是有很大的差别,所以为了不让大家对C语言有错误的认知,还是建议大家先对C语言有一个相对系统的学习。而且我也希望出现在文章中的代码,不需要我对通用语法部分有太多的赘述,以让我们能把视线集中在单片机本身。
还有需要准备的学习材料:
郭天祥十天征服单片机系列视频(一般买开发板都会送) 一本(几本也行)关于单片机原理的书
需要准备的软件清单:
KEIL4uversion (一般开发板会送)stc-isp (烧录单片机程序的软件,一般开发板也会送)sscom(或者超级终端,用于串口通信,一般开发板资料会送)
其他就没了,如果有同学实在缺上面的软件,可以在贴吧跟我说,我可能会分享(可是校园网流量伤不起啊!!!)
现在我来说一下,什么是单片机:
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑以上内容来自百度百科↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
看得懂吗?看不懂吧?反正我第一眼看,是没看懂。。
OK,那么我用我的理解说一下什么是单片机(尽管我觉得我这种火星人说出来你们更不懂。。)
单片机,就是一个微型的计算机,与传统计算机不同的是,我们可以用自己设定的逻辑或者说方法,来改变其工作状态,完成对系统的控制(比如说人机交互)。玩过乐高嘛?yse you‘re right 就和那玩意一样,自主控制,随心所欲。
还是不懂?OK,下面是上图时间,让我来告诉你单片机可以做什么。
蓝牙门锁?太丑了太丑了,看下面这个:
太简单不智能?弱爆了,看这个:
果然小车太屌丝了。。来个富帅的!
另外,我们现在的智能手机,很多的版本CPU也是ARM的内核,ARM也是如今流行的一种单片机架构。
可以说单片机可以完成我们想做的任何智能设备。
嗯,还是满高端的。
今天思路有点乱,很多想说的,但是现在说不大合适,等我整理好了吧。
最后推荐两款开发板:
慧净开发板:
/item.htm?spm=a1z10.5.w4002-1930577668.12.2g6dVM&id=35534686697
郭天祥原版开发板:
/item.htm?spm=a230r.1.14.5.1wJM0m&id=178257290
其他的开发板也就那样吧,不是性价比太低就是资料乱。另外视频还是郭天祥的比较好,为什么好呢,因为郭天祥不说方言。嗯,就这样。
本期的照相机小讲堂就结束了~谢谢~