当前位置:首页 > 单片机 > 单片机
[导读] 1.取指译码执行模型:首先我们来看看单片机是如何工作的,我们拿电脑的主板来作为对比,我们买电脑时,总是追求处理器的主频。处理器的工作原理是从存储器上取出一条指令,然后对指令译码,译码完后执行。然后取下

1.取指译码执行模型:首先我们来看看单片机是如何工作的,我们拿电脑的主板来作为对比,我们买电脑时,总是追求处理器的主频。处理器的工作原理是从存储器上取出一条指令,然后对指令译码,译码完后执行。然后取下一条指令,译码,执行。它为什么能这么有序的工作?是因为它有一个工作时钟,在这个工作时钟的统一管理下,处理器有序的工作,这里的主频就是工作时钟的速度,当然,现在你可能也知道主频越高,取指译码速度越快,性能越好。那么你可能会问,这跟51单片机有什么关系,OK,切入正题,单片机的工作也是这个原理,从存储器上取指,译码,执行。但是单片机的存储器在哪?在单片机的内部,对于电脑来说,是把处理器,内存集中在一块主板上。而现在你应该很明确,对于单片机它就相当于一块电脑主板,把处理器,存储器集中到一块芯片内部。从这个宏观的角度看,所有的单片机是不是都是一个原理,服从于取指,译码,执行的基本模型。OK,继续……
2. 51单片机的外设:我们在学习单片机时,所做的第一个实验都是一样的,点灯。也许你已经学会了用单片机做出好看的花样灯,或者用单片机驱动数码管显示出数字或字母。或者可以检测按键了。不错,我们仔细想想这些是什么,无非,你就是控制那一排排引脚输出高低电平,我们称这些引脚叫I/O口,输入输出,按键是输入,点灯是输出。其实你以为你学了三样东西,其实,你只学了一样东西,I/O控制。所以这些内容并不是单片机的内容,我们称之为单片机的外设,现在你应该很明确了,所谓的LCD液晶,AD芯片什么的都是单片机的外设。但是我们为什么要学习这些单片机的外设呢?还是为了熟悉单片机,你驱动的芯片多了,自然对编程模型就熟悉了。其实,我们用单片机就是在驱动外设,然后你问那定时器,中断,串口通信又是什么?对于中断,现在单片机在做一件事,突然,我给个信号,现在出了一个意外,你赶快去做另一件事,做完另一件再回来,就是这样。对于定时器,我举个例子,现在对于一盏灯,我要他每天晚上六点打开,每天早上六点关闭,我们会怎么做?设定一个计时器,假设当前是晚上六点,现在我让I/O口输出高电平点灯,同时打开计时器,定12个小时,12个小时一到,给一个中断,去把I/O口取反,关灯,是不是这样控制的。所以中断,定时器只是为了更好的让单片机进行控制工作。现在你应该很熟悉了,单片机就是一款自动控制的芯片。注意,是芯片,你做的工作就是如何编程来是这款芯片工作,是这款芯片在规定的程序下干活……怎么让单片机干活呢?五个字,配置寄存器。
3.配置寄存器:学习51单片机,不管你是刚刚开始学,还是学习有一段时间了,你应该很熟悉的字眼,寄存器。我想说单片机的基本思想就是五个字:配置寄存器。单片机怎么工作,比如,你让I/O口输出高电平,怎么输出,在C语言里,你是通过P1=0xFF来实现的,为什么这么写,你去看看头文件reg51.h里的内容,它定义了一个寄存器为P1,然后你向这个寄存器里写入了8个1,于是输出高电平。你是通过配置寄存器的内容来控制I/O口的。我们再想一下,定时器你是怎么配置的,同样的原理,你是通过配置TMOD,TCON,TH,TL等若干个寄存器完成的吧,然后给单片机定了一个时间,当然,你说这些是简单的,还有复杂的呢?那我就再举个例子吧,只要是写单片机程序,你基本都是在配置寄存器,例如,STC系列的单片机带了PWM功能,你如何让单片机输出一个符合你要求的PWM信号呢,你绝对是通过给某个寄存器写入一个值,这个值控制频率。再给一个寄存器写入一个值,这个值控制占空比,然后通过哪个脚输出,你又是通过一个寄存器来控制的。所以整个过程都是控制寄存器。那么你说,51是这样的,其他的呢?stm32,高端的单片机,工作起来也是配置寄存器,STM32时钟信号的选择,是通过控制RCC,I/O的控制是通过控制GPIO,当然,它采用的方式是存储器统一编址,就是你定义某个寄存器不再是51的sfr和sbit,而是用指针直接访问地址的方式,比如访问某个寄存器,从器件手册上查找该寄存器的地址为0xXXXXXXXX,那么配置时使用*(long unsigned *)(0xXXXXXXXX)=0xFFFFFFFF的方式,本质不变。这样看来,那么msp430,PIC都是这样的,只是他们的寄存器不同,配置方式不同,写入的值不同而已。如果你真的懂了51单片机,真的懂了单片机配置寄存器的原理。你只要花两个小时看懂芯片手册,熟悉了开发环境,一天就能上手新的芯片……题外话就是,看arm等等芯片很高端,如果是裸机编程的话,那么跟也是配置寄存器,原理一样,当然加了操作系统就不同了,操作系统的框架就是重要的了。
4.关于通信协议:对于任何单片机来说,最为难的问题就是通信协议了,对于这个问题,我不想说的太多,毕竟不是在做通信原理,只是要说明的一点就是,“有通信就有协议,这是什么意思?就是说单片机在驱动任何芯片的时候,必须要服从这款芯片的的时序,比如先使能这个芯片,然后给出写信号或者读信号,然后芯片在发出响应信号,再对芯片进行操作。为什么要这样呢?首先,对于芯片来说,它有自己的操作方式,如果没有固定的方式,那就乱套了,其实联想到人身上也是这样的,中国人和美国人交流时,如果没有翻译,就需要打手势,这个手势双方都能懂,于是就能通信。芯片协议也是这样的,单片机和芯片都能理解,于是他们都能工作。还有一点就是像有些芯片带了SPI的协议,IIC的协议等等,如果它自带了,那么他协议已经设置好了,回归到本质,使用这个协议又是配置寄存器了。比如51单片机的串口协议,你是通过配置寄存器来设置波特率,校验位的吧……万变不离其宗……

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭