振荡器由晶振、电容、电阻组成,部分还有电感,它以晶体频率产生脉冲序列。以英锐恩单片机为例,EN8F156便拥有稳定的时钟源。但不是所有单片机的时钟源都一样,由于每条指令在一定数量的时钟周期后执行,具体取决于单片机的架构。比如,有些人支持使用PLL电路在内部进一步提高时钟速率的能力。
目前,有许多类型的时钟源。可以使用简单的RC电路作为时钟源,但是它们并不精确,因为它们会随温度而发生变化。这类时钟源适用于正常处理和SPI等同步协议。但是对于UART/RS-232,这不是一个好的选择,因为没有外部时钟与数据一起发送,而是以波特率或协议定时的形式将时钟嵌入数据(信号)中。这会降低单片机器对接收数据进行采样的能力,以及正确传输数据的能力。
有些单片机的晶振是外部的,这样可能会更加精确。除此之外,一些单片机器没有内置时钟源,但大多数都有某种RC电路,优点是这类单片机都相当便宜。
大多数单片机器都支持时钟分频器,但它们的频率可能并不精确,因此可能需要使用外部频率。比如,实时时钟通常需要外部32.768KHz晶振。这些都要求非常精确,因为它们是在计算时间。如果不准确,时间相差可能很大。有些单片机内置32KHzRC低速时钟,不过这不足以用来计算时间。
一些单片机器内部和外部支持多个时钟,这一切都取决于单片机和应用程序。