完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include
#define uchar unsigned char #define uint unsigned int #include ***it C1=P1^0; ***it B1=P1^1; ***it A1=P1^2; ***it E=P1^3; ***it D=P1^4; ***it R_CLK=P1^5; //输出存储器锁存时钟线 ***it C_LK=P1^6; //数据输入时钟 ***it DATA=P1^7; uchar code table1[8]={0,1,0,1,0,1,0,1}; uchar code table2[8]={0,0,1,1,0,0,1,1}; uchar code table3[8]={0,0,0,0,1,1,1,1}; void wr138(uchar k) { D=0; if(k<9) { E=0; A1=table1[k-1]; B1=table2[k-1]; C1=table3[k-1]; } else { E=1; A1=table1[k-9]; B1=table2[k-9]; C1=table3[k-9]; } } //控制行 void wr595(uchar temp) { uchar m; for(m=0;m<8;m++) { C_LK=0; DATA=temp&0x80; C_LK=1; temp=temp<<1; } } void delay(uint z) { uint x; for(x=z;z>0;z--) for(x=110;x>0;x--); } void hsm() { uint k; for(k=0;k<16;k++) { wr138(k+1);delay(100);} } //行扫描 void out595() { R_CLK=0;hsm(); R_CLK=1; } void main() { while(1) { uint k; uchar temp=0xfe; wr595(temp); out595(); } }
|
|
相关推荐
3个回答
|
|
回帖奖励 +1 分积分 |
|
|
|
|
|
同求,!!!!!!!!!!!!!
|
|
|
|
|
|
本帖最后由 icewu521 于 2015-6-23 23:15 编辑
我做过595与164的点阵,显示原理就是先将字模的第一行取出来送595移位,然后再164选这一行输出,即可点亮这一行,然后第二行同样原理,直到16行结束。不停动态扫瞄显示就出来了。不过楼主意思是动态显示,我是做了一个显示缓冲区,软件算法不断往里写入不同字模实现。不知大神还有没有新方法,不吝赐教啊 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:19 , Processed in 0.717586 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2066