ncigray的笔记 https://bbs.21ic.com/?641461 [收藏] [复制] [RSS]

日志

基于MSP430的旋转时钟设计

已有 2215 次阅读2011-2-19 04:25 |系统分类:单片机

    这是本科的毕业设计,也算本科时代可以拿得出手的一件作品,主要设计理念也是来自匠人的PIC旋转时钟设计,采用24颗(加未控制的两颗一共26颗)贴片LED进行显示。


    先上效果图指针效果图


    自认为本设计最大的特点——用单面万用板制作,对于还不会画PCB或没钱没条件做PCB的朋友来说有一定的结构参考价值。在开工之前,我搜到的资料基本都是用PCB做成的,唯一一个用万用板焊起来的还采用的直插的LED,效果可想而知。因而当我决定要做时,指导老师也甚是怀疑我能不能把它做出来。


    元件选择:


    1)MCU,当时就51和MSP430比较熟,51的话IO少,定时器功能少,定时器位数低,定时时间一长,程序写起来就很麻烦,当然,精通OS的牛人估计不受此限制。而MSP430恰好弥补了这些缺点,48个IO口,对于像我这样想起8255就烦的人实在是太爽了,再说,指针板就那点地方,1片dip40的51就能占不少地方,别说再外扩IO了。另外,430的定时器功能较多,捕获功能在这个设计中提供很多方便。当时手上恰好有MSP430的小系统板,于是选择MSP430去做。


    2)时钟芯片,匠人的那个似乎用到了与上位机通信,当时我想做一个独立的系统,自然要用时钟芯片,由于受郭天祥的影响,知道有DS12C887集成了电池的芯片,于是就打算直接用它。DS1302加电池还要充电当时感觉着实麻烦。但代价是,DS12C887占IO口好多,体积大,重量也大(幸好选了MSP430,48个IO口 嘻嘻)。


    3)无线控制:由于指针版带着CPU在不停的旋转,不可能直接用机械按键控制CPU,因此必须用无线。偷个懒,直接去商场花25买个PT2272的那种无线模块。


    4)基架,到家具厂买了人家两块木板,回来T型钉起来,一块木板上挖个洞,装电机。另外当时有人做小车跑道的黑胶布闲在那,就拿来贴了一下,增强显示效果。见效果图。


    5)测速,霍尔元件A44E,喇叭磁铁。


    6)供电,直接买的12v开关电源,记得给老板要几个DC插头(应该是母头吧)。


硬件安装制作


硬件功能框图,


   硬件实物图,很多地方参考了匠人的构造




1)LED的焊接方法:利用两排排针,排针长的一端从指针版的正面插入,在背面焊盘上将其焊牢,然后将露在正面的排阵减去,只留大约1-2mm长,焊好后把后面排针长的部分的剪掉



2)MSP430最小系统版的样式淘宝上很多家都在卖,IO口都用单排排针扩展出来,所以我在指针板上焊接了两个排针插槽,使MSP430最小系统板可以插拔,方便调试


3)由于MSP430插在插排上,下面有一定的空隙,时钟芯片就放在了MSP430系统板的下面,充分利用了指针板空间,照片中未显示出。


4)无线模块也将就着直接插在插排上了。


5)从基板到指针板的供电方式完全参照匠人的,利用电机本身接地,正极通过电机轴上通过导线管或热缩管套上一层金属管用电刷刷上去。


6)至于后面的线路,万用板走线肯定是不可能的,漆包线或普通导线看着连吧,注意不要太厚。



软件设计



利用捕获方式检测旋转一周的时间,然后将整个圆周根据时间分为240份


关键的地方在于设置一个指针位置变量,定时器每经过1/240分之一圈的时间进入中断,并对其加1。并在中断中根据这个位置变量判断要进行显示的图像。例如:要在3点钟处(90度)显示一个字,假设这个字的字模为8*8的,那么,需要在指针变量=57-64这个区间内分别显示这个字的8段模值。


程序还比较乱,不好意思发上来,感兴趣可以加我QQ345241612或留邮箱索取,。


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)