完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include #define uchar unsigned char #define uint unsigned int ***it DS=P2^0; //串行时钟 ***it SH=P2^1; //串行数据输入 ***it ST=P2^2; //数据锁存 ***it A1=P2^3; ***it A2=P2^4; ***it A3=P2^5; ***it A4=P2^6; //138译码器 uchar code H[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 电 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x20,0x20,0x10,0x30,0x18,0x30,0x10,0x32, 0x0B,0xFF,0x7C,0x30,0x18,0x30,0x18,0x78, 0x18,0x78,0x18,0xCC,0x19,0x8E,0x1B,0x07, 0x1C,0x02,0x36,0x00,0x63,0xFF,0x21,0xFE, /*-- 文字: 子 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x3F,0xF0,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x04, 0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00, /*-- 文字: 爱 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xF8,0x3F,0x90,0x12,0x10,0x09,0x20,0x3F,0xFE,0x22,0x02,0x42,0x00,0x3F,0xFC, 0x04,0x00,0x07,0xF0,0x0C,0x20,0x0B,0x40,0x10,0xC0,0x63,0x30,0x8C,0x0E,0x30,0x04, /*-- 文字: 好 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE, 0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40, /******************************************************************************/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; uchar BUFF[10]; //缓冲数组 void read(uchar dat) { uchar i; for(i=0;i<8;i++) { DS=(dat&0x80)?1:0; //判断最高位,为真取1,为假取0 SH=1; //上升沿送数据 SH=0; dat=dat<<1; //左移取下一位 } }//写入数据 void buff(uchar h,uchar word) { uchar i; for(i=0;i<5;i++) { BUFF[2*i]=H[word*32+32*i+h*2]; BUFF[2*i+1]=H[word*32+32*i+h*2+1]; } }//预先缓冲5个字 void move(uchar k) { uchar i,temp,u8; if(k>=8) { k=k-8; u8=1; } else u8=0; for(i=0+u8;i<8+u8;i++) { temp=(BUFF< read(temp); } }//向左移动 int main(void) { uchar i=0,k=0,l=0,word=0; ST=SH=0; //初始化端口 while(1) { buff(i,word); ST=1; //锁存数据 ST=0; switch(i) { case 0:A1=0; A2=0; A3=0;A4=0;move(k); break; case 1:A1=1; A2=0; A3=0;A4=0;move(k); break; case 2:A1=0; A2=1; A3=0;A4=0;move(k); break; case 3:A1=1; A2=1; A3=0;A4=0;move(k); break; case 4:A1=0; A2=0; A3=1;A4=0;move(k); break; case 5:A1=1; A2=0; A3=1;A4=0;move(k); break; case 6:A1=0; A2=1; A3=1;A4=0;move(k); break; case 7:A1=1; A2=1; A3=1;A4=0;move(k); break; case 8:A1=0; A2=0; A3=0;A4=1;move(k); break; case 9:A1=1; A2=0; A3=0;A4=1;move(k); break; case 10:A1=0; A2=1; A3=0;A4=1;move(k); break; case 11:A1=1; A2=1; A3=0;A4=1;move(k); break; case 12:A1=0; A2=0; A3=1;A4=1;move(k); break; case 13:A1=1; A2=0; A3=1;A4=1;move(k); break; case 14:A1=0; A2=1; A3=1;A4=1;move(k); break; case 15:A1=1; A2=1; A3=1;A4=1;move(k); break; default: break; } //动态刷新 if(++i==16) { l++; i=0; if(l==3){l=0; k++; if(k==16){ k=0;word++;}} } if(word==8) word=0; } } |
|
相关推荐
9个回答
|
|
想了很久,实在想不出原因,初学者一枚,望大家指点12
|
|
|
|
这是文件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include
#define uchar unsigned char #define uint unsigned int ***it DS=P2^0; //串行时钟 ***it SH=P2^1; //串行数据输入 ***it ST=P2^2; //数据锁存 ***it A1=P1^0; ***it A2=P1^1; ***it A3=P1^2; ***it A4=P1^3; //138译码器 uchar code H[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 电 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x20,0x20,0x10,0x30,0x18,0x30,0x10,0x32, 0x0B,0xFF,0x7C,0x30,0x18,0x30,0x18,0x78, 0x18,0x78,0x18,0xCC,0x19,0x8E,0x1B,0x07, 0x1C,0x02,0x36,0x00,0x63,0xFF,0x21,0xFE, /*-- 文字: 子 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x3F,0xF0,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x04, 0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00, /*-- 文字: 爱 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xF8,0x3F,0x90,0x12,0x10,0x09,0x20,0x3F,0xFE,0x22,0x02,0x42,0x00,0x3F,0xFC, 0x04,0x00,0x07,0xF0,0x0C,0x20,0x0B,0x40,0x10,0xC0,0x63,0x30,0x8C,0x0E,0x30,0x04, /*-- 文字: 好 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE, 0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40, /******************************************************************************/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; uchar BUFF[10]; //缓冲数组 void read(uchar dat) { uchar i; for(i=0;i<8;i++) { DS=(dat&0x80)?1:0; //判断最高位,为真取1,为假取0 SH=1; //上升沿送数据 SH=0; dat=dat<<1; //左移取下一位 } }//写入数据 void buff(uchar h,uchar word) { uchar i; for(i=0;i<5;i++) { BUFF[2*i]=H[word+32*i+h*2]; BUFF[2*i+1]=H[word+32*i+h*2+1]; } }//预先缓冲5个字 void move(uchar k) { uchar i,temp,u8; if(k>=8) { k=k-8; u8=1; } else u8=0; for(i=0+u8;i<8+u8;i++) { temp=(BUFF[i]< read(temp); } }//向左移动 int main(void) { uchar i=0,k=0,l=0;uint word=0; ST=SH=0; //初始化端口 while(1) { while(l<3){ for(i=0;i<16;i++){ buff(i,word); move(k); if(i<8)P1=0xf0|i; else P1=0xf8|(i-8); ST=1; //锁存数据 ST=0; } /*switch(i) { case 0:A1=0; A2=0; A3=0;A4=0;move(k);i++; break; case 1:A1=1; A2=0; A3=0;A4=0;move(k);i++; break; case 2:A1=0; A2=1; A3=0;A4=0;move(k);i++; break; case 3:A1=1; A2=1; A3=0;A4=0;move(k);i++; break; case 4:A1=0; A2=0; A3=1;A4=0;move(k);i++; break; case 5:A1=1; A2=0; A3=1;A4=0;move(k);i++; break; case 6:A1=0; A2=1; A3=1;A4=0;move(k);i++; break; case 7:A1=1; A2=1; A3=1;A4=0;move(k);i++; break; case 8:A1=0; A2=0; A3=0;A4=1;move(k);i++; break; case 9:A1=1; A2=0; A3=0;A4=1;move(k);i++; break; case 10:A1=0; A2=1; A3=0;A4=1;move(k);i++; break; case 11:A1=1; A2=1; A3=0;A4=1;move(k);i++; break; case 12:A1=0; A2=0; A3=1;A4=1;move(k); i++;break; case 13:A1=1; A2=0; A3=1;A4=1;move(k);i++; break; case 14:A1=0; A2=1; A3=1;A4=1;move(k); i++;break; case 15:A1=1; A2=1; A3=1;A4=1;move(k);i=0;l++; break; default: break; } //动态刷新*/ l++; } if(l==3){l=0; k++; } if(k==16){ k=0;word+=32;} if(word==256) word=0; } } |
|
|
|
问题出在switch语句上,具体原因还说不清
|
|
|
|
无意中找到的,
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1007 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之close
1065 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十五章 按键中断实验
1007 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十一章 FPIOA管理器实验
1153 浏览 0 评论
890 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11466 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-15 20:15 , Processed in 0.706718 second(s), Total 92, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号