|
楼主 |
发表于 2012-7-6 20:00
|
显示全部楼层
本帖最后由 社建电子 于 2012-7-6 20:01 编辑
想做个摇晃怀表,不知道引脚怎么设置?
程序好像是汇编的。
具体制作过程介绍
1.部分材料的选取:使用51单片机AT89C2051作为控制核心【现在我使用stc89c52】,DS1302为时钟芯片,晃动是通过水银开关实现,电源用的是从MP3拆的250mah锂电池,【我暂时不做外壳了!】
外壳为3mm亚克力板一面喷上黑漆然后用自制的雕刻机刻的,里面的白字也是刻好了喷的白漆。
2.电路的介绍:最小系统除了单片机用的是直插,其他均为贴片在电路板反面;DS1302那没找到5pF的贴片,所以用了直插的,这两个电容很重要,要不走时不准;电源那仿MP3搭了一个很小的充电电路,很简单。。。通过miniUSB接口进行充电;以为就需要它为一个时钟,其他很多功能都省去了;调时是这样的,miniUSB接口是5线制的,其中有一条线悬空,在这就是通过这条线对地短接进行整点调试,这里初设为20:00,也就是说如果时间不准了,只要在晚上8点整,插上特制的miniUSB插头,按下复位键就可以校时了;当然,为了是锂电池可以长时间使用,这里也用到了单片机的掉电模式,通过复位单片机硬件使电路工作。
3.程序结构:首先硬件复位,判断校时引脚是否接地,若为0则调用校时程序(关于DS1302的程序就不多介绍了,文库资料很多,百度一下 ),若为1则显示程序,首先检测水银开关先0后1这个过程,检测到后先调用读时间程序,然后调用一小段延时(因为左右晃动到头换方向的时候速度很慢,一小段延时可以忽略这段晃动不匀速的时间),将读出的时间进行转换并查点阵表,逐列送给P1,当然送一次也需要一定的延时,要不就太快了,根本来不及看,将整个时间送完了就回到检测水银开关那,一直检测完若干次(我这里设了10次)就执行 ORL PCON,#2 进入掉电模式(PCON不能位寻址)等待硬件复位,这样就完成了10次刷新时间的显示过程。
4.源程序(没有改动过哦,明天画个原理图贴上来)
摇晃怀表.txt (4.43 KB) |
-
-
摇晃怀表.txt
4.43 KB, 下载次数: 747, 下载积分: 一乐金币 -1
|