1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
2个回答
|
|
建立一个显示缓存,将要显示的字符串的点阵数据不断地与邻位点阵数据进行与、非运算后存入显示缓存,再将显示缓存输出到LED显示屏。
|
|
|
|
现在会了,能帮我处理下细节问题不?8X8点阵按这方法1个字节能正常显示,但字多了就会出现一个字左右移动2遍后才移下一个字;记得看下图我标记的地方,有人说是在细节上耗时太多,我该怎么改正,真心不会。。。求助。。 #include #include ***it sen1=P2^0; ***it slk1=P2^1; //hang ***it sc1=P2^2; ***it sen2=P1^0; ***it slk2=P1^1; //lie ***it sc2=P1^2; unsigned char code hangma[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code liema[]={0x7e,0x7e,0x18,0x18,0x18,0x18,0x7e,0x7e, 0x00,0x36,0x49,0x41,0x22,0x14,0x08,0x00, 0x00,0x41,0x41,0x41,0x41,0x22,0x16,0x08}; //unsigned char code y[8]={ }; void lie(unsigned char dat) { unsigned char i; for(i=0;i<8;i++) { sen1=dat&0x80; dat<<=1; slk1=1; _nop_(); slk1=0; } sc1=1; _nop_(); sc1=0; } void hang(unsigned char dat) { unsigned char i; for(i=0;i<8;i++) { sen2=dat&0x80; dat<<=1; slk2=1; _nop_(); slk2=0; } } void hang2(unsigned char dat1,unsigned char dat2) { hang(dat1); hang(dat2); } void out(void) { sc2=1; _nop_(); sc2=0; } void delus(unsigned char t) { while(--t); } void delms(unsigned char t) { while(t--) { delus(245); delus(245); } } void main() { unsigned char i,j,k,y,n=0; while(1) { for(k=0;k<8;k++) { for(j=0;j<20;j++) for(i=0;i<8;i++) { y=_crol_(liema[n*8+i],k); lie(y); //按先输出一屏数据,数据左移1位再送屏。。。。。 hang2(hangma,0xff); out(); delms(1); hang2(0xff,0xff); out(); } } n++; if(n==3) n=0; } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12022 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:59 , Processed in 0.731578 second(s), Total 73, Slave 55 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号