在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。

在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,如下图所示。

image.png

时钟电路:(a)内部方式时钟电路,(b)外接时钟电路

在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。

晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

image.png

MCS-51片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体和微调电容,构成振荡器,如图所示。电容C2和C3对频率有微调作用,电容容量的选择范围一般为30pF士10pF。振荡频率的选择范围为1.2~12MHz。

在使用外部时钟时,8051的XTAL2用来输入外时钟信号,而XTAL1则接地。

image.png

上图为时钟电路的原理图。分为最小单片机系统、单片机复位电路、按键电路、数码管位选电路、数码管段选电路、数码管显示电路、蜂鸣器电路、温度采集电路。

使用单片机的P2口进行数模的输出,P1^4、P1^5、P1^6与74HC138连接实现数码管位选,按键电路接入P1^0、P1^1、P1^2、P1^3四个I\O口,通过程序控制,扫描该四个引脚的信号实现时间的调节。

蜂鸣器通过与三极管8550连接,最终接入P1^7,时间设定启动使其发声。温度传感器接入P3^7,将采集到的模拟信号转化为数字信号后传到单片机。

ATmega16单片机的时钟电路和输出I/O电路

image.png

按键处理设置为:当有没键按下时,时钟正常运行;当按一次K1,时钟停止走动,按K2对秒进行调整;当K1按2次时,按K2对分进行调整;当K1按下3次时,按K2对小时进行调整,当按下4次K1时,校时完毕,时钟按设定的时间进行正常走时。

当按1次K3进入闹钟设置界面,时钟继续进行走时,按K2对秒进行设置;当按2次K3,按K2对分进行设置;当按3次K3,按K2对秒进行设置;当按下4次K3时,闹钟设置完毕进入时钟显示界面。电路图如下:

image.png

独立按键电路

单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图。

image.png

image.png

P10控制调时分秒的哪一位,P11调时分秒的加,P12按下显示时间,P13按下显示闹铃,P14按下显示秒表,并且P14还是秒表的暂停和复位开关。