单片机的控制外设是什么?
首先明确一个概念:当我们使用单片机的时候,我们在使用它的什么?计算能力?逻辑分析能力?NO!我们使用得最多的是它所提供得各个功能模块(外设模块)。所谓外设,是指将特定功能做成一个模块,然后给出控制端口,让处理器来控制。只要处理器给了足够的信息,外设就能完成特定的一组任务(个人理解o.O)。举例来说(以下只是简单举例,实际还有更多的应用); GPIO:配置好需要的引脚之后,就可以从该引脚输入或输出信号; Timer(定时器):配置好之后,给定一个数值,它就不断的数数,到该值之后就会触发一个信号(当然还有别的功能)。 UART(异步串行通信接口):配置好之后,给出需要传输的信息,它就会将信息传输到指定位置(如上位机)。 ADC(模数转换器):可以读取外界模拟信号的数量值(如电压),转换为数字值(如0100)。
确定了单片机控制外设这样一个概念之后,我们再来讲讲(简单讲讲吧,水平也不高),单片机到底是如何控制外设的。如果看过数据手册的话,应该会发现,在每一个外设的章节,都会由寄存器映射(Register Map)和寄存器描述(Register Descriptions)。每一个外设都有……没错,MPU就是通过寄存器来控制的。我们所有的操作,都是在读取或者写入数值到相应的寄存器中。在51单片机称霸的时代(吹牛皮不犯法吧),所写的代码就是直接对寄存器赋值,或者读取寄存器的值。因为那时普遍还是8位的单片机,寄存器只有8位,开发人员熟悉这么简单的寄存器很容易。但渐渐的,单片机的位数提高了,寄存器现在普遍达到了32位之多,去记住每一位代表什么意思,让人很头疼。因此就出现了官方库,开发人员只需要了解库函数有什么作用,就可以使用单片机了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !