完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
16*16点阵,现象是字移动到一半的点阵就消失了,到另一半点阵又出现了,而不是走完整个点阵????
还有点阵的移动函数怎么理解??希望能举个简单例子,然后详细地讲解,谢谢!! 对了,k是第几个字,2个138和2个595 #include #define uchar unsigned char #define uint unsigned int ***it r=P2^0; ***it clk=P2^1; ***it stb=P2^2; uchar code table[3][32]={ {0x04,0x80,0x04,0x80,0x08,0x80,0x08,0x80, 0x10,0x84,0x20,0x84,0x40,0x7C,0x80,0x00, 0x00,0x00,0x3F,0xF0,0x02,0x00,0x02,0x00, 0x02,0x00,0x02,0x00,0x7F,0xFC,0x04,0x80,}, //无 {0x40,0x44,0xFC,0x48,0x40,0x30,0x00,0x22, 0x1C,0x52,0xE0,0x8A,0x43,0x06,0x00,0x02, 0x10,0x50,0x10,0x48,0x20,0x40,0x24,0x5C, // 线 0x45,0xE0,0xF8,0x40,0x10,0x5E,0x23,0xE0,}, {0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8, 0x21,0x0A,0x01,0x02,0x01,0x02,0x00,0xFE, 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8, 0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,} }; void writebyte(uchar dat) { uchar i; for(i=0;i<8;i++) { dat=dat>>1; r=CY; clk=0; clk=1; } } void senddata() { stb=0; stb=1; } void main() { uchar num,i,j,k; while(1) { for(k=1;k<3;k++) { for(i=0;i<16;i++) //移动一个字 { for(j=0;j<20;j++) { for(num=0;num<16;num++) //移动一位 { if(i<8) { writebyte(((table[k][2*num]>>(8-i))|(table[k][2*num+1]< writebyte(((table[k-1][2*num+1]>>(8-i))|(table[k-1][2*num]< senddata(); } else { writebyte(((table[k][2*num+1]>>(16-i))|(table[k][2*num]<<(i-8)))); writebyte(((table[k-1][2*num]>>(16-i))|(table[k-1][2*num+1]<<(i-8)))); senddata(); } P1=num; } } } } } } |
|
相关推荐
1个回答
|
|
谁知道怎么把这种语言转换成8086汇编语言
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1505 浏览 3 评论
2802 浏览 1 评论
3025 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
4811 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1111 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 10:01 , Processed in 0.692175 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号