MINI POV双功能显示时钟文档格式.docx
- 文档编号:22133235
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:174.98KB
MINI POV双功能显示时钟文档格式.docx
《MINI POV双功能显示时钟文档格式.docx》由会员分享,可在线阅读,更多相关《MINI POV双功能显示时钟文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
利用POV即“视觉停留”这一原理,我们可以通过发光物体的运动,产生一系列运动轨迹的残留影像,达到漂浮在空中似的神奇梦幻般的显示效果。
MINIPOV时钟非常的小巧,我们可以根据自己的喜好把它做成各种饰品,如钥匙挂或项链挂,甚至我们还可以把它改装成一直很有个性的手表。
麻雀虽小,五脏俱全,作为时钟,它采用体积小的AT89C2051单片机作为主控器,采用占用端口少DS1302作为时钟芯片,它有两种显示时钟的方式:
处于静态时,用二进制表示时间;
处于动态时,用POV显示方式显示时间。
考虑到产品的实用性,我们可以增加一个电子防丢器来实现防丢功能。
MINIPOV双功能显示时钟的亮点就是对按键的处理,采用单键复用和复合键的方法用两只按键就完成了状态的转换和时间功能的调整。
关键字:
POV,AT89C2051,DS1302,电子防丢器
Abstract
Usenamely"
visualstay"
POVthisoneprinciple,wecanshinethroughthemovementofobjects,causedaseriesoftrajectoryoftheresidualimagetofloatingintheairlikemagicfantasticdisplayeffect.VerylittleMINIPOVclock,wecanthebefondofaccordingtooneselfmakeitaallkindsofaccessories,suchaskeyshangingornecklacetohang,evenrefitithasbeenverypersonalwatch.Althoughspadgerissmall,itsorgans,astheclock,itUSESsmallvolumeofAT89C2051singlechipmicrocomputerasthemaincontroller,theportDS1302aslessoccupiedclockchip,ithastwoshowstheclockway:
isstatic,theuseofbinaryrepresentationoftime;
Inadynamic,showingthewayshowPOVwithtime.Consideringthepracticabilityoftheproducts,wecanaddanelectronicdevicetorealizethelostthelostfunction.ThedoublefunctionshowsMINIPOVoftheclockisthekeypointofprocessing,useone-touchreuseandthemethodofcompoundkeyswithtwobuttonsiscompletedthetransitionofthestatesandtimeoftheadjustmentfunction.
Keywords:
POV,AT89C2051,DS1302,ElectronicAnti-lostdevices,
一.器件的选择及功能
(1)单片机:
选用AT89C2051除体积小外,主要还是由于它能再较宽的电压范围,可用锂电直接供电。
(2)LED:
选用2*3mm的白色亮度LED,能方便的安装在万用板上,除做时钟外,还可照明用。
(3)按键:
由于安装元件的空间有限,采用单键复用的方法和复合键的方法在有限的按键上,完成开关显示,显示模拟选择,时钟调整等功能。
(4)时钟芯片:
时钟芯片采用DS1302,这样,占用端口少,失电仍能保证走时。
(5)供电方式:
采用用于MP3或蓝牙耳机的小体积锂电池,这种电池大多带有保护板,对锂电池充电可用输入4.2V的手机充电器改制。
(6)电子防丢器:
采用STC89LE52RC(3v单片机)作为主控器,使用两块无线模块NRF24L01分别作为接收和发射模块(安全距离为3-20米),通过无线接受模块24L01是否能正常发射,接受信号而判断要保护的物品是否在正常范围内。
(7)功能:
1)二进制时钟,用7只LED显示时和分,前三只显示十位,后4只显示个位。
2)POV显示时钟.
3)POV字符显示器,可显示12个ASC字符。
4)照明用手电,当设置所有LED常亮时,可用作照明
5)利用电子防丢来实现物品的防盗
二.系统构成
2.1,工作状态
1.MINIPOV时钟处于4种工作状态:
(1)正常显示状态,可按需要选择三种限制模式
(2)为节约用电,可关闭LED发光显示状态。
(3)让所有LED处于长时间发光状态,可作为夜间照明用。
(4)只启动MINI验钞灯,用来辨别纸币的真伪。
当AB两键同时按下时,可循环改变这3种工作状态。
如图
工作状态转移图
2.2.调整状态
当工作在显示状态时,可以通过双击A键进入调整状态,并通过双击A键退出调整状态,其状态转移如图
调整状态转移图
2.3.显示模式
显示工作的状态分为3种显示模式;
(1)二进制显示时钟,用7只LED得前3只表示十或分得十位数字,用后四只LED表示十或分的个位。
并用一直双色LED指示“时”和“分”的状态。
(2)POV显示时钟,当用手来回摇动时,7只LED显示出时钟的“时“和”分“的数字。
(3)POV显示屏,能显示预先设置的12个ASC码字符。
显示模式的转换是通过“长击”A键进行转换。
其状态转移图如图:
显示模式状态图
2.4.调整项状态
调整项分为3项:
(1)调整时钟的时值,显示用二进制方式。
(2)调整时钟的分值,显示用二进制方式。
(3)调整POV显示一系列事件长,共有7个级别,其显示看一排白色LED的发光位置。
改变调整项通过“短击”A键进行转换,并用闪动的指示用双色LED显示不同的状态。
其状态转移图如图
、
调整状态时调整项状态转移图
2.5.改变调整值
在设置状态时,B键为调整值的“+”键。
(1)时钟的二进制表示方法:
用7位的LED表示2位的BCD码。
将7只白色的LED的前三位表示时钟的“时”和“分”的个位。
按先显示“时”后显“分”的方式轮流显示。
为了方便的识别时与分,前面用一双色LED表示显示的状态,红时为后面的7只LED显示的是“时”,绿时表示后面的显示是“分”。
另外,在显示“时”和“分”之后,有一段时间的停顿,不做任何显示,进一分清“时”与“分”。
其状态图如图所示
显示分
(2)指示用LED:
在7只白色LED前,加装一只双色的LED,在显示种其状态指示功能;
在二进制时钟模式中,当显示“时”时,发红色光;
当显示“分”时,发绿色光。
在进入调整方式时,这个双色的LED则用“闪现”方式出现。
2.6验钞灯的状态
采用弹性小按键来控制验钞灯,按下时,启动验钞灯;
松开时,关闭验钞灯。
这样可以尽可能的节约电池的电量。
三.系统框图及单片机端口的分配
3.1系统框图
MiniPOV时钟的系统框图如图所示
系统框图
3.2单片机端口的分配
由于AT89C2051单片机端口有限,所以要合理的分配端口,经综合考虑,对端口的分配如图(见附录)
四硬件的制作
4.1按键处理
在只有两只按键控制时钟的条件下,采用单键复用和组合键处理方法完成各功能的转换。
A键与B键同击
转换工作状态
A键长击
转换显示模式
A键双击
进入或退出设置状态
A键短击
转换设置项
B键短击
改变设置项
C键单击
启动验钞灯
4.2电路原理图
电路如图所示,单片机随时读取时钟芯片DS1302的时间信息,并通过P1口显示出来。
由于受限于单片机的端口少;
所以只用了两个按键来控制整个系统的工作状态。
电路原理图
4.3时钟ICDS1302
DS1302是涓流充电芯片,内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:
(1)RES(复位)
(2)I/O(数据线)(3)SCLK(串行时钟)时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低,保持时钟和数据信息时功率小于1mW
1.DS1302的基本组成与内部结构如图所示
管脚描述
X1X2——32.768KHz晶振管脚
GND——地
RST——复位脚
I/O——数据输入/输出引脚
SCLK——串行时钟
Vcc1,Vcc2——电源供电管脚
DS1302内部结构图
I/O
SCLK
RST
五.软件设计
5.1主程序
主程序框图如图所示。
图中虚线箭头指向的定时中断T0的服务程序,因没有实际上的逻辑关系,表示的只是通过整体变量传输信息的流向。
为了让程序显得简洁,清晰,便于调试,将程序分成三个部分,并用3个文件构成,如表所列
文件
说明
ASCII.H
ASCII码字符字模
DS1302.H
时钟芯片驱动程序
Mini_CLOCK.C
主程序文件
ASCII.h与DS1302.h作为头文件,将嵌入在主程序中
5.2DS1302的驱动程序
一般的DS1302的驱动由一组函数组成,如图
函数
功能
VoidRTinputByte(unsignedcharucDa)
往DS1302写入1字节数据
Unsignedcharuc_RToutputByte(void)
从DS1302读取1字节数据
VoidW1302(unsignedcharucAddr,unxigneducDA)
往DS1302指定的地址写入数据
Unsignedcharuc_1302(unsignedcharucAddr)
从DS1302指定懂得地址读取数据
VoidGet1302(void)
读出DS1302
VoidSet1302(void)
设置DS1302
可以看出。
在这组种的6个函数实际上是3个层面上有低级到高级发展的方式对芯片的操作过程,实际应用中基本只与高层的2个函数打交道。
在读写DS1302时,都用了全局变量数组Time[],也就是说:
读得时候将从芯片种读取的时间数据放在Time[]中,设置时钟时,则将数组中得时间值写入DS1302中。
将DS1302的驱动程序归入一个头文件中:
DS1302.h,由主程序文件调用时潜入主程序中执行。
5.3BCD码
在DS1302中的数据记录方式与一般的十进制或十六进制不同,是较特殊的BCD码,即(Binary-CodeDecinal).它是采用4位二进制数来表示以为十进制数。
BCD码与十进制数字的对应关系如表所示
BCD码
十进制
0000
0101
5
0001
1
0110
6
0010
2
0111
7
0011
3
1000
8
0100
4
1001
9
在显示时间或调整使用的是十进制数,这就需要在两种进制的数字之间进行转换,为提高转换速度,在程序中定义了宏,并在Get1302(void)和Set1302(void)函数中调用这个宏定义。
#defineNUM2BCD(X)((((X)/10)<
<
4)|(X%10))
#defineBCD2NUM(X)(((X)>
>
4)*10+((X)&
0X0F))
5.4秒闪
进入调整状态时,相应的指示双色LED处于“闪亮“状态。
程序通过定义一个整体变量ms,在定时中断T0服务程序中每隔一段时间对ms进行取反运算;
If(Num%1000==0)ms=!
ms;
在调整状态下,对不同的调整项,让驱动双色LED的对应端口的取值为ms即可。
附录:
引脚编号
使用情况
RST/VPP
复位
(RSD)P3.0
按键A
可复用接RS-232串口
(TXD)P3.1
按键B
XTAL2
晶振
XTAL1
(INT0)P3.2
暂时空,以后可接位置传感器
(INT1)P3.3
双色LED(绿)
(T0)P3.4
DS1302(CLK)
(T1)P3.3
10
GND
11
P3.7
12
(AIN0)P1.0
7只白色LED
引脚的排列位置使LED自然排成一排,这点在电路板面积有限的情况下很有必要
13
(AIN0)P1.1
14
P1.2
15
P1.3
16
P1.4
17
P1.5
18
P1.6
19
P1.7
双色LED(红)
20
VCC
电源正
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MINI POV双功能显示时钟 POV 功能 显示 时钟