
由程序看来p2口是用来控制点阵行扫描的,p1口负责送显示的数据
p2=0x01;
//起始行高电平
for(i=0;i<8;i++)
//循环点亮8行,循环送8次数据
{
p1=tab[i];
delay(100);
//每行点亮时送上相应的显示数据(即tab[i]里的数据)
p2=p2<<1|p2>>7;
//
点亮下一行
其实点阵显示就是:(针对1616点阵显示一个汉字)
静止的显示就是扫第一行时送汉字的第一行,扫第二行时送汉字的第二行扫第16行时送汉字的第16行,这叫第一帧扫完。如果想让字动那么扫第二帧时,行扫描第一行时,送汉字的第二行数据,行扫描第二行时,送汉字的第三行数据就这样错开一行,再下一帧时再错开一行,直至错开16次一个完整的字就上移至上面了。
总的说来就是一帧一帧的显示,每帧显示汉字的一个画面,重叠在一起就看见字在动了。
我看了你写的,感到秋收的关键问题是不理解8×8点阵LED 驱动电路是如何工作的。
这个8×8点阵LED 驱动电路是“行”和“列”的扫描方式工作的,这64个发光管,在每个瞬间只有一个亮。我画了一个简图,图中,红色的仅在1高,A低时工作,同样绿色的仅在2高,D低时工作,**的仅在6高,E低时工作,不是同时都亮。
只要64个发光管在1/25秒内扫描一次(或是说整个64只管子,每秒扫描35次以上)视觉上是看不出是扫描的。
行和列的扫描频率是1比8,这样就能有序的工作了。
你的R1,R2电阻也好确定了,你只要按一个发光管的工作来考虑。这里也用不上什么3态,你将OE接0电平就行了。
好好想想吧,搞不清可以HI我,我一般晚上都在。
以上就是关于LED点阵汉字显示移动程序全部的内容,包括:LED点阵汉字显示移动程序、单片机 8×8点阵LED 驱动电路、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)