单片机入门就那么简单--致准备学单片机的朋友们
原标题:单片机入门就那么简单--致准备学单片机的朋友们
单片机相当于一个“微型电脑”,它集成了CPU、RAM、ROM,还有I/O、定时器、外部中断、AD转换、LCD驱动、PWM等等各钟功能的外设。在我们日常使用的家用电器、电子产品基本上都由单片机来控制。
什么是单片机?
单片机学习最重要的一步是入门,只要进门了,后面的深入学习就会得心应手了。就像学开车一样,拿驾照的时候相信大家付出了不少心血,一旦驾照到手,慢慢就会成为老司机。
怎么样才可以实现0到1的脱变呢?
仅靠一时冲动,然后一天打渔三天晒网,这样肯定是不行的。必须给自己制定计划,坚持到底。如果你有一定的数字、摸拟电路基础,或者有一定的电子基础,或者你是电子相关公司的技术员,或者你是高校的在校大学生。其实花一个月时间就足以入门,做一个能演示给朋友看的小产品也不在话下,甚至已经可以胜任单片机工程师的工作。
下面给大家分享一下我的经验,让大家快速实现0到1的脱变。
单片机的品牌是很多很多的,从欧美到日本台湾再到国产都有,怎么选一款适合自己入门的单片机呢?
如果是某公司的在职员工,并且公司在做单片机相关产品的开发和制造。建议选用一款公司常用的单机来进行入门学习,这样可以快速入门。
技术支持
可以得到该品牌单片机FAE的支持
如果和代理商有深入合作的话,开发工具、Demo Kit、开发环境都可以得到免费的支持。有疑问还能得到快速解答
可以得到其它同事的帮助
有问题可以随时请教其他工程师,关系搞好一点,还会手把手的教你,这样可以少走不少弯路,搞定单片机也易如反掌。
如果基础不是太好,也没有其他人的指导,可以选用51系列的单片机进行入门学习。
51单片机开发板
因为51系列单片机的学习套件比较便宜,网上的资料比较齐全,参考书籍也很多。学起来也是比较简单的,遇到什么问题,网上一搜基本上也能解决了。如果你有一定的硬件基础,还可以自己画一块开发板来进行学习。
想当年刚工作,开发板比较贵,也不值得花钱,就用万能板焊了一块板来学习单片机
51单片机
如果有一定C语言基础,数字电路、摸拟电路基础较好,对单片机也有一定的了解,建议直接选用STM32的单片机进行入门学习。
STM32系列单片机目前在国内是相当的火爆,教程资料相关的多。网上买的开发板基本上都附带教程、源程序以及开发环境,非常容易上手。
STM32开发板
掌握一个画PCB的工具也相当重要,就算想往软件开发的方向去发展,偶尔画个原理图,Layout个简单PCB也是常有的事的,这是一个基本的技能,就算不精通,也得略懂一二。PADS是一款相当不错的工具,想学习的话,可以参考:PADS 入门到精通—Logic原理图入门之基础设置
制定学习计划并严格按计划执行
制定学习计划并严格按计划执行
如果下定决心学习单片机,一定要制定相关学习计划,并且严格按计划进行学习,下面给大家分享以前单片机一个月入门的学习计划安排:
一到两天完成开发环境的搭建
根据选用的入门单片机,搭建好开发环境,连接好开发板,后面的学习就能够有序进行
一到两天学会最小系统搭建并学会系统时钟配置
所谓最小系统,就是用最少的外围元件让单片机跑起来。需要配置以下内容:
振荡器
现在的单片机一般都可以用内置的振荡器和外部晶振
在时钟要求不高的场合,可以使用单片机内置的振荡器,这样可以省去外部晶振的成本,但是初学者还是建议从搭配外部晶振做系统时钟开始
复位电路
同样很多单片机都有内部的复位电路,但是初学者还是建议从外部复位电路开始。参考单片机的规格书,用最基本的RC复位电路就可以了
一到两天学会I/O
I=InPut(输入);O=OutPut(输出),有了输入和输出才可以实现人机的互动。比如按下按键,点亮LED。按下按键是人输入命令给单片机的过程,点亮LED是单片机输出信息给人的过程。
这一天I/O的学习,学会:
I/O口配置为输入(包括上拉、下拉、开漏输入)
I/O口配置为输出(包括上拉、开漏输出)
点亮和熄灭LED
读取按键
一天巩固I/O
写出一个简单的程序:
可以用按键控制LED的亮和灭
可以实现LED的跑马灯效果
两到三天学会灵活运用定时器
定时器是非常重要的,所有需要计时、定时、延时、测量、捕捉的场合都离不开定时器。可以从定时器计时开始学习。
两天学会数码管扫描显示
要进行人机交流,没有显示输出是不行的,我们就从最简单的数码管显示开始。
三到五天完成人生第一个简单小作品--时钟
数码管时钟
完成系统时钟、系统复位、I/O、定时器、数码管扫描显示,基本上已经对单片机有一定的认识了,就可以设计一个时钟程序了。把这个时钟做出来后,相信你的信心一定会大大提升。
按键用来设置时间
I/O驱动4位的数码管用来显示时间
定时器用来计时,实现时间的运行(这时候时间运行可能不准,没关系,后面还要学习实时时钟,但如果开始的系统时钟学得比较好,这时候做出来的时钟也是比较准的了)
一到两天完成ADC学习
这两天内要学习怎么把摸拟信号转换为数据信号,可以用NTC进行学习,学习完毕后可以做一个用数码管显示温度的数字温度计。
一天完成外部中断学习
学习怎么用外部中断捕捉外部信号的输入,实时性要求比较高的信号输入,需要通过中断来即时响应。
一天完成PWM学习
我们可用从PWM输动蜂鸣器发声开始学习(注意蜂鸣器的频率哦)。也可以用PWM驱动直流电机,实现电流电机的转速控制。
三到五天完成人生第二个简单小作品--带温度显示的小闹钟
带温度显示的小闹钟
用ADC读取NCT的数据并转换成温度数据并显示在数码管上,按键可以设置时间和闹钟时间,时间运行到闹钟时间时蜂鸣器发出响声。
两天学会IIC实现24C02的读写操作
学会了24C02的读写操作,我们就可以把数据存储在24C02中去了。断电后单片机的数据就没了,所以很多场合是需记忆用户设置的参数的。
两天学会串口(UART)操作
学会了串口(UART)操作,就可以实现上位机(电脑)与下位机(单片机)的通讯了。
基础打得好,深入学习更简单
如果这一个月的内容都学得比较精的话,你已经可以成为单片机工程师,可以开发简单电子产品。当然经验也是很重要的,有理论也需要有经验才可以设计出稳定、可靠、高性价比的产品的。基础打得好,大楼才可以建得更高,所以前面不要怕辛苦。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。