单片机原理,开发流程,外设,传输协议

单片机原理:

51:单片机简称:single chip computer ,实现控制应用的设备,内部集成了CPU,存储器,中断控制,输入输出接口,定时器,串行接口,AD,DA采集等。一般都是8位的CPU,可以对IO口进行输入输出,根据定时器和中断控制来完成程序流程,还需外接一个时钟源作为心脏起振。

32:相比于51 ,32内部集成了很多外设,如SPI,IIC,CAN ,多个AD,DA等控制器。使用起来十分快捷,但是复杂。


单片机开发流程:

51:一般使用C语言进行开发,汇编的话难度很大,很难掌握。开发的时候需要熟悉相应的开发环境,了解头文件的配置,最后我们根据自己想要实现的功能进行相应IO口的设置等。


32:32的开发有两种方式,一种是寄存器开发,另外一种是库函数,一般使用库函数开发。在开发阶段如果需要参考例程,进行相同配置,这里来说我虽然用了这么久的STM32,但是我貌似不怎么懂里面真正的知识,大部分程序都是拿着别人写好的自定义函数在用。我觉得真正的技术应该是一块完全没有使用的芯片给你,你对照着数据手册进行相应的程序配置,这里面学问太多,想要深入只能看后面工作能不能接触到这方面了。

常用外设以及使用方法:

51:对于51的外设大都是AD,DA,基本IO口,定时器。usart可以输入输出:定时器可以进行数值装载进行计数,达到中断后进行中断处理:AD,DA负责信号的转换,一般只需要一个输入引脚捕获AD值:

32:32的外设就比较多了,仅仅IO外设都有7种模式,这些模式的操作都需要遵循一些规则,首先要开启时钟,打开挂在总线,之后才可以进行配置,对于这些配置无非就是对寄存器进行相应的配置,但是它的寄存器实在是太多了,我们使用官方封装好的库函数进行配置更为方便。我觉得这些配置都不是技术上的问题,需要经常用才能掌握,我们应该重点关注它的逻辑结构和理解上面,这些配置工作完全可以用一种直接生成的工具来代替,至于是哪种工具我就不说了。强调一点重在程序的实现,接口协议的使用,复杂的配置可以不用关注。

备注知识点:模拟接口与硬件接口的区别

    模拟IIC是需要了解IIC的协议,自己通过时序图去模仿那种协议实现的。该电平拉高的时候控制IO口拉高,该低的时候就拉低。优点是自己可以控制电平保持时间,便于调试。缺点也很明显,就是代码过于繁琐,所有操作都给自己来完成。硬件IIC是由控制芯片已经写好了一种接口,并提供了配套函数(如果没有配套函数,也可以直接看手册操作控制寄存器)。优点是代码简单,很多事情都不用本人去考虑,缺点是时序固定,有可能对于某些对时序要求极严格的芯片可能存在无ACK回应的情况。


传输协议以及使用方法:

32:串口通信方式将数据打包成一排发送,给相应寄存器放入值,可以将其封装成一个变量,对其地址进行赋值操作,接受也是相同。

猜你喜欢

转载自blog.csdn.net/liupeng19970119/article/details/80362396