完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
点阵如何左移一列一列显示啊?我给个翻滚显示的,帮我改改看
用3块595驱动8x8点阵,一块空公共端,两块控双色,595的定义不用改,改主程序和加变量 #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[]={0x81,0x81,0xe7,0xe7,0xe7,0xe7,0x81,0x81};//,0x00,0x36,0x49,0x41,0x22,0x14,0x08,0x00,0x00,0x41,0x41,0x41,0x41,0x22,0x16,0x08} ; 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; while(1) { for(i=0;i<8;i++) { for(i=0;i<8;i++) { lie(~liema[i]); hang2(hangma[i],0xff); out(); delms(1); hang2(0xff,0xff); out(); } } } } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
425 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
413 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之VMware Tools安装
373 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu系统安装
590 浏览 0 评论
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
648 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10667 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-15 02:26 , Processed in 0.712586 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号