完善资料让更多小伙伴认识你,还能领取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不同而已。
举报
失落的墓城
潜龙1988
那一切_。空
yuanliang2013
MIRLI
黄凯
王良升
481223
郭章
用户名0
wananjushi
lijy91
h1654155205.4719
李镇海
令狐EE
张涛
孙润宜
lkmfy512
罗强
只有小组成员才能发言,加入小组>>
2955个成员聚集在这个小组
430G2553捕捉功能采集信号脉宽怎么做?
2718 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3141 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2281 浏览 1 评论
如何用IAR向MSP430F5529烧录程序?
4711 浏览 1 评论
关于MSP430F4系列单片机驱动液晶显示的问题
2496 浏览 1 评论
使用BSL下载错误
求指导基于msp430单片机的rlc测量仪的设计
989浏览 3评论
3146浏览 2评论
2719浏览 1评论
1106浏览 0评论
电子发烧友网
电子发烧友论坛
查看 »
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-17 12:44 , Processed in 1.645946 second(s), Total 78, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com