微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机旋转时钟的设计

基于单片机旋转时钟的设计

时间:10-15 来源:互联网 点击:

P3.5引脚;7脚(SCLK)是串行时钟输入端,为数据传输提供时钟,该脚与单片机的P3.7脚连接;6脚(I/ O)是串行数据输入/输出端(双向),为通信时数据传输引脚,与单片机的P3.6脚连接。

3.5 校准模块分析与设计

由于旋转时钟要让LED旋转起来要有圆形的效果,那么就要借助传感器或红外对管来帮助判断出起点位置,也能让时钟的盘面显示固定。本设计采用的是红外对管,其中红外发射管是焊接在无线供电发送模块中的,红外接收管与单片机的P3.3引脚相连,当接收管收到发射管信号时,电阻值会变得很小,此时P3.3处输出低电平;当没接收到信号时,接收管的阻值就变的很大,此时P3.3处就输出高电平,即产生了一个下降沿。P3.3脚是单片机外部中断1的输入引脚,如果将该中断设置为下降沿触发,则来了下降沿就立马触发中断,让单片机转去执行起点检测程序,以实现时钟能够正常准确显示。

3.6 显示模块分析与设计

显示模块就利用一排LED灯来实现显示时钟效果。在该设计中,借助16个LED灯与单片机的P1、P0引脚相连来完成,其中D1~D4是绿色LED 灯,D5~D16是红色LED灯。D1用来显示时钟圆盘边框,D2~D4用来显示表盘刻度,如果时间是12点、3点、6点、9点时就亮3个灯,如果是其他时刻时就亮两个灯。D5~D16是用来实现表盘指针的显示,让显示效果跟实际的时钟指针一样。由于时钟中,秒针最长,所以显示秒针时D5~D16要全部点亮;分针的长度居中,所以显示时就D8~D16要全部点亮;时针的长度最短,所以显示时就只点亮D11~D16。

3.7 红外遥控模块分析与设计

红外遥控模块由遥控器和接收模块组成,使用的遥控器采用的是NEC协议,许多家电的红外遥控就是采用这种协议。接收模块用到了红外一体化接收头 VS1838B,其中它的3引脚接电源5V,2脚接地,1脚把接收头解调后的信号传送到单片机的外部中断0引脚(即P3.2),利用中断未让单片机实现红外解码。

4 软件程序分析与设计

程序设计的主要思想是:先用一个定时器产生固定的时间中断,中断执行的主要任务是让一个变量(就取名为Count)自加1。这个变量Count很重要的,因为就是根据它的值来决定显示的。比如电机每旋转一圈,Count就从0加到180,一个表盘有60个刻度(即因秒和分都是60),那Count每加 15,单片机就要驱动LED显示相应的时刻点,一直加到180,那12个时刻度点就显示出来了。所以Count的最大值最好与60成倍数关系。

解决时钟指针的显示就只要读取DS1302的时间然后分别判断Count是否到达秒、分、时相应的Count值,如果到达了就分别显示出秒针、分针、时针。比如读取DS1302的秒值等于20,由于旋转一圈Count最大180,而一圈共60秒,因180/60=3,那么当Count从0加到180的过程中,当加到20*3=60时,此时单片机就要将秒针对应的LED点亮。分针显示原理与此类似,因为一个表盘上分也是有60个刻度。而时针的算法就有区别了,因为一个表盘上,时才有12个刻度。时的算法是这样的,(Hour*15)+(Minu/4)。因为表盘一圈,Count加到180,而表盘上时只有 12个点,所以180/12=15,再加上分的移动会影响时针的走动,之间的换算关系是:(Minu*3)/12,Minu*3是此时分对应的Count 值,而分走360度时只走30度,所以360/30=12。综合显示时所对应的Count值就是(Hour*15)+(Minu/4)。这样做的要求就是定时器的中断时间要密切配合电机旋转周期,并且电机的转速要稳定。

5 系统功能测试分析

实物焊接电路如图5.1和5.2所示。图5.1是电路板正面,这上面能看到的模块分别有单片机最小系统模块、显示模块、时钟模块、红外遥控接收模块和无线供电接收模块。图5.2是电路板反面,这上面有红外对管接收模块,无线供电接收线圈。2个螺丝是用来配重的。

功能测试效果如图5.3、5.4、5.5和5.6所示。其中图5.3是系统上电后显示的即时时间10:43:12;图5.4表示时钟正常走动9秒后的时间 10:43:21;图5.5是调整时针效果图,由刚才的10点调整到了1点;图5.6是调整分针效果图,由刚才的39分调整到50分。由测试结果可以看出,电子旋转时钟运行正常,时间显示准确、表盘显示稳定、调整时间功能亦能实现,所以设计功能达到了预期要求。

6 结束语

测试结果表明,文中设计的旋转时钟相比于市场上其他的方案,具有以下优点:①表盘(包括刻度和指针)显示稳定,不会出现颤动现象;②时间走动能够一直准确正常,不会出现运行一段时间后跑时错误,指针乱指等现象;③显示的亮度一致,不会出现显示亮度不匀称现象。当然,该设计也存在功能需要进一步提升的地方,比如可以加入显示日期和文字等,使表盘显示的内容增多,并且通过

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top