单片机时钟系统通俗理解 如何弄懂单片机时序?

[更新]
·
·
分类:互联网
2748 阅读

单片机时钟系统通俗理解

如何弄懂单片机时序?

如何弄懂单片机时序?

单片机时序,我的理解是依据时钟信号,遵循标准,传输数据的过程。那么如果要弄清楚单片机时序,首先需要先弄清楚单片机的时钟信号,时钟信号驱动内核、外设工作。那么时钟信号从哪里来,又如何驱动内核,外设工作呢?先从晶振说起。
晶振
晶振,全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器,通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。
该正弦波信号通过单片机内部的时钟电路,可倍频/分频为需要的时钟信号频率,如原始晶振8M,可以最终产生72M的时钟给内核使用,到达内核与外设的时钟。
时钟周期是单片机中最基本的、最小的时间单位。在一个时钟周期内,内核仅完成一个最基本的动作,一个时钟周期从RoM中取一条指令,然后下一个时钟周期执行,周而复始。
时钟差不多了,那么时序基于时钟信号,外设以spi为例说明时序如何实现的。
时序(SPI)
SPI主要有一个时钟CLOCK,两个数据线MISO/MOSI,其中CLOCK由主动发起的外设产生,如设备1的外设要读设备2的外设,那么设备1的外设产生时钟,设备2的外设只能由设备1的外设时钟操控。
如上图所示:
设备1外设产生时钟1时,设备1外设通过数据线MOSI线输出1位,同时设备2外设通过MISO数据线输出1位;8个时钟,就输出8位数据,即1个字节传输完成。
设备1外设通过MOSI输出的数据,被设备2外设的MISO接收,同理,设备2外设通过MOSI输出的数据,被设备1外设的MISO接收,如下图:
同时设备1与设备2传输前约定传输规则:
1、我们从时钟上升沿输出数据,从时钟下降沿采集数据,即读取数据;
2、我们每个字节数据都是先输出最低为,然后再输出最高位。
以上就是SPI的时序。
其它外设时序
还有其它I2C时序、串口时序等等,都有自己的传输约定。
以上,个人观点。

秒脉冲能作为单片机时钟吗?

可以,设定为计数器模式即可,如用定时器0对外部脉冲计数采用16位模式,
TMOD|0X05;用定时器1对外部脉冲计数采用16位模式,TMOD|0X50;
其余是否中断,初值装载及启动方法和定时器模式没有区别