完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
转自eeword 折腾了两天做了一个时钟的界面,时钟部分还没做,手头没烙铁,ds1302没法子接。 后续准备加入闹钟,日历,收音机(手头有收音模块,如果2452脚位够用的话),语音报时之类的,前提是要有时间.... 时钟粗略用了延时,仅作演示用。今晚悲剧的发现,当初的设想可能要黄了,应为flash不足了,哥郁闷啊,悲催啊,那位兄弟帮我把它优化优化,我C语言底子差.... 5510的驱动方式确实纠结,但是其实只要我们能画点,什么图案都是能实现的。 我是这样做的: 1、在内存里开辟一段空间32x4x8bit用作模拟时钟的显存区,所有的画图操作都先对它操作,然后再更新。 2、写一个画点的函数,将实际的点(84x48)转化为5510的驱动数据。 /*-------------------------------------*/ void Write2CRam(char x,char y) { char byte=1<<(y%8); CRam[x][y/8]|=byte; } 3、由给出的圆心坐标和半径画出时钟位置。 4、由传入的时间数值计算出小时和分钟指针点位置,并由圆心到其之间画线。 5、为了解决时钟旋转问题,在每次更新指针前,清除上一次指针(也就是反画点),并储存这次指针终点的坐标。 /*-------------------------------------*/ void Clear2CRam(char x,char y) { char byte=1<<(y%8); CRam[x][y/8]&=~byte; } 6.调用一次重画或部分重画,将显存内的数据更新到5510里面去。这样每次刷新只用重画指针的那条线就好了,省时省力。 其实其它的都是很简单的,只是实现画点和清除点和别的LCD不同而已。
举报
肖座
钱鹏
刘飞
袁云
sy0031
alex_long
何柯
查看全部评分
zrpengele
yanyin0703
钟希欢
嬡哋影ふ
xacool
谢亮丰
一见你就哭
dyc712
卡西莫多眼泪
u657867872
dfqmm13
nlls1990
只有小组成员才能发言,加入小组>>
2911个成员聚集在这个小组
430G2553捕捉功能采集信号脉宽怎么做?
2655 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
2959 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2257 浏览 1 评论
如何用IAR向MSP430F5529烧录程序?
4678 浏览 1 评论
关于MSP430F4系列单片机驱动液晶显示的问题
2466 浏览 1 评论
使用BSL下载错误
求指导基于msp430单片机的rlc测量仪的设计
919浏览 3评论
2959浏览 2评论
2655浏览 1评论
1052浏览 0评论
电子发烧友网
电子发烧友论坛
查看 »
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-14 22:22 , Processed in 1.393147 second(s), Total 86, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com