0·标题起的有点大,我查阅了不少资料,再结合自身的经验做一些判断和说明,这些都仅仅供给您参考。
1·单片机是什么?
单片机是单片微型计算机的简称,是由中央处理器(控制器、运算器)、存储器、定时器/计数器、并行I/O接口、串行I/O接口、中断系统等组成的一个大规模或超大规模的集成电路芯片,只要连接晶振、复位电路即可构成单片机最小系统。为了便于大家理解,我绘制了下面这个图片:
以上6个概念,加上“总线”这7个概念我在此不再赘述,可以查找相关书籍或者资料来自行理解,这里我只用通俗的说法做一下解释,希望能够帮助你有个大概的了解。
- 时钟振荡器:作为一个频率源,主要的作用就是给单片机提供一定频率的交变电流信号,通俗的讲就是给单片机“打节拍”,单片机执行的所有操作都必须在节拍的控制下进行,因为在需要时序的场合(比如IIC、UART通讯)就必须依赖始终振荡器产生的频率;对于AT89C52单片机经常使用11.0592MHz或者12MHz的晶振来为单片机提供系统时钟,STM32单片机经常选用8MHz晶振提供;除了外置晶振电路外,还有一些单片机内部就包含了晶振电路如N76E003(新唐单片机)就在内部提供振荡电路;
- 定时器/计数器:当我们确定了晶振频率之后,我们就很容易能够计算时间(具体的计算有些复杂,后续会说)。在需要使用定时器的时候我们就可以打开时钟来开始计时,一些常使用的场景就是精准延时、产生固定频率的PWM波形等。此外单片机内部也有一个计数器,主要作用就是对外部事件进行计数,通过外部中断来实现。
- 存储器:单片机的存储器包括程序存储器(flash ROM)和数据存储器(data RAM),主要的功能就是来存放程序和数据。程序是用来知识计算机如何操作,数据则是计算机操作的对象。如果你觉得单片机内部的存储器太小,也可以扩展外部存储器。下表为几种常用单片机的ROM和RAM大小表:
表1-1 常用单片机程序存储器和数据存储器大小
单片机名称 |
ROM |
RAM |
AT89C52
8KB
256B*
STC89C52
8KB
512B
STM32F103C8T6
64KB
20KB
LPC1768FBD100
512KB
64KB
注:*:在keil UV4环境下选择AT89C52时,RAM大小为128B;
4.I/O接口:I/O接口分为两类:并行I/O接口和串行I/O接口。其中并行I/O接口通常是独立的双向I/O接口,一般可软件配置为输入输出模式;串行I/O接口用于单片机和串行设备或者其他单片机之间的通讯。AT89C52单片机的并行I/O接口AD、DA端,一般增强型51或者stm32单片机都有单独的用于AD、DA转换的复用端口。当你想用AT89C52来实现ADC或者DAC时就需要加入别的模块来实现功能。
5.总线:元器件之间的连线是我们看得见摸得着的连接,在单片机内部也有这样的连接线,虽然我们看不着,但是在控制器、运算器、存储器和I/O接口之间都有线相连接,分别被称为数据总线(Data Bus)、地址总线(Address Bus)和控制总线(Conrol Bus);需要注意的是除地址总线为单向总线外,其余两类总线为双向总线。
2.单片机有什么用处?
“单片机控制性能和可靠性高;体积小、价格低、易于产品化;外部扩展能力强;性能高、速度快;低功耗、低电压”。单片机在我们的生活中应用十分广泛,它处在我们生活中的各个角落。我之前学习单片机都觉得单片机只存在于自己的开发板上,时间久了慢慢发现,图书馆楼下的存储柜(超市的存储柜)里面用的就是简单51单片机,学校里的快递自提柜用的arm单片机,宿舍楼下的自助洗衣机、自动售卖机、玩具机器人、学校老旧的示波器(做实验时偶然拆开)、门禁卡等等几乎在我们生活的各个角落我们都和单片机有过接触。
单片机主要应用的领域包括:①·智能仪器仪表;②·工业自动化;③·机电一体化产品;④·交通导航;⑤·医疗器械;⑥·家用电器。我个人比较智能家居、智能医疗设备、工业控制这三个方向。
现在提倡的工业4.0就是在推崇更智能化、信息化的工厂,一些传统企业想要跟上节奏就必须做生产上的升级,这是一个很好的时机,学好单片机才能够抓住这个时机的尾巴。除了衣食住行,我们也离不开的就是医院了,每个人都会生病,能够做好一款医疗的检测或者辅助设备,也会给我们制造一个发展机会。智能家居概念火了一段时间了,但是目前这个行业发展的还不算成熟,生态系统还没有建成,市场认可度普遍比较低,如果我们坚持关注这个行业的发展,我相信未来还是有很大的机遇的。
3.单片机以后发展趋势怎么样?
1.对于单片机以后的发展趋势:
对于单片机来说,以后的发展可以概括为,更低的功耗,更小的体积,主流单片机和多品种共存。详细介绍请自行查阅。
2.对于单片机从业者以后的发展趋势:
为了更好地适应新的需求,无论是工业控制还是生活需求,单片机行业肯定会继续开发功能更强大的单片机,功能更多,性能更好,然而单片机的基础都是相通的。从我本科时就有学长告诉我好好学习51单片机,这个是基础。这些年做了些许项目,用了不同种类的单片机,回头发现这款普通的单片机就是最简单的。功能虽然不多,但是该有的功能都具备,有串口,有普通IO口,有定时器计数器,有中断等,这些基础的功能就足够我们来学习和认知单片机。
入对门,摆正心态。单片机就像是凿子或者锤子这样的工具,拿到手里就可以使用。一个外行人或者一个小朋友拿到手里不多久也许就会使用了,但是如果你想让他短时间内雕刻一个高水平的雕塑就需要经验积累和耐心了。对自身要求高,不急于得到结果,我想这才是做单片机项目开发应当有的心态。
学好51单片机需要有C语言基础,懂一些电路知识,可以自学《数电》、《模电》。如果想更进一步还需要学习《数据结构》。这些都是单片机从业者最基本的需求。当我们有了这些基础知识,就可以接触一些小的项目,来实践和检验自己的认知。这个行业就是一个不断学习,螺旋上升的行业,你需要保持学习的态度,不断地注入新的知识和经验才能保持不落后,我想,这就是适应以后单片机行业未来趋势的最好方法。