16*16点阵屏程序代码字模部分换掉,代码一直会有问题

weixin_44747785 2020-10-17 08:20:16
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int #define data1 P0 #define data2 P2 sbit s1=P3^6; sbit s2=P3^7; sbit s4=P3^5; bit fangxiang; uint alt=0,net=0,sl=32*7; bit ss; bit mode; uchar code tab[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",1*/ 0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04,/*"H",0*/ 0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,/*"i",1*/ 0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",2*/ 0x04,0x08,0x04,0x10,0x24,0x20,0x24,0x40,0x24,0xFC,0x24,0xA2,0xFD,0x22,0x26,0x22, 0x24,0x42,0x2C,0x42,0x14,0x42,0x24,0x82,0x44,0x1E,0x04,0x00,0x04,0x00,0x00,0x00,/*"?",3*/ 0x00,0x00,0x3F,0xE1,0x00,0x02,0x00,0x0C,0xFF,0xF0,0x00,0x00,0x40,0x00,0x47,0xF8, 0x44,0x00,0x44,0x00,0x7F,0xFF,0x44,0x10,0x44,0x08,0x47,0xF0,0x40,0x00,0x00,0x00,/*"?",4*/ 0x08,0x02,0x08,0x44,0x0F,0xA8,0xF8,0x10,0x08,0x68,0x0F,0x86,0x00,0x00,0x01,0x00, 0x41,0x02,0x41,0x01,0x47,0xFE,0x49,0x00,0x51,0x00,0x61,0x00,0x01,0x00,0x00,0x00,/*"?",5*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",6*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",10*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",11*/ }; void delay(uint z) //延时子函数 { uchar x; for(;z>0;z--) for(x=110;x>0;x--); } void xianshi() //显示 { uchar aa,i; for(i=0;i<16;i++) { P1=i; //列扫描 data1=tab[net+aa]; //取出上8行数据输出 aa++; data2=tab[net+aa]; //取出下8行数据输出 aa++; delay(5); //延时 data1=0; //清屏 data2=0; //清屏 P1=0x00; //消除余辉 if(aa>30) aa=0; //字模地址 } } void xianshi2() //显示 { int num; uchar aa,i; num++; if(num>=200) { num=0; net=net+32; if(net>sl-32) net=32; } if(num<30) { for(i=0;i<16;i++) { P1=i; //列扫描 data1=tab[net+aa]; //取出上8行数据输出 aa++; data2=tab[net+aa]; //取出下8行数据输出 aa++; delay(5); //延时 data1=0; //清屏 data2=0; //清屏 P1=0x00; //消除余辉 if(aa>30) aa=0; //字模地址 } }else { delay(5); //延时 data1=0; //清屏 data2=0; //清屏 P1=0x00; //消除余辉 } } void main() //主函数 { ET1=1; //使能定时器0 EA=1; //开启总中断 TR1=1; //开始计数 net=32; while(1) //无限循环 { if(ss==0) xianshi(); //显示 if(ss==1) xianshi2(); if(s1==0) //检测按键 { ss=0; delay(30); //延时消抖 TR1=~TR1; //按下暂停 ,暂按继续 while(!s1)xianshi(); delay(30); } if(s2==0) //检测按键 { ss=0; delay(30); //延时消抖 fangxiang=~fangxiang; //方向取反 while(!s2)xianshi(); delay(30); } if(s4==0) { TR1=0; ss=1; net=(net/32)*32; net=net+32; if(net>sl-32) net=32; while(!s4)xianshi2(); delay(30); } } } void timer1() interrupt 3 { alt++; if(alt==10) //到一定的时间加以实现左移 { alt=0; if(fangxiang==0) //如果是正向 正向移动 { net=net+2; if(net>sl) //字移动数量 net=0; } else //否则反向移动 { net=net-2; if(net<2) net=sl; //字移动数量 } } } 字模部分换成其它的,程序执行起来一直都有问题。但是有一次成功换掉了。
...全文
2412 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44747785 2020-10-18
  • 打赏
  • 举报
回复
图片要怎么发,为什么我看不见我的回复
weixin_44747785 2020-10-18
  • 打赏
  • 举报
回复
引用 1 楼 智者知已应修善业的回复:
字模有不同,正常显示方向也不同,那么,问题是什么?不成字?截图出来看看。
compiling aa.c... AA.C(16): error C141: syntax error near '0x00' AA.C(33): error C141: syntax error near '{' AA.C(35): error C141: syntax error near 'for' AA.C(35): error C141: syntax error near ';' AA.C(35): error C129: missing ';' before '>' aa.c - 5 Error(s), 0 Warning(s). 这个是一直提醒我出错的地方。
weixin_44747785 2020-10-18
  • 打赏
  • 举报
回复
引用 1 楼 智者知已应修善业的回复:
字模有不同,正常显示方向也不同,那么,问题是什么?不成字?截图出来看看。
uint alt=0,net=0,sl=32*5; bit ss; bit mode; uchar code tab[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*" ",0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*" ",1*/ 0x08,0x20,0x06,0x20,0x40,0x7E,0x31,0x80,0x00,0x00,0x22,0x00,0x2A,0xFF,0x2A,0xA8 0x2A,0xA8,0xFE,0xA8,0x2A,0xAA,0x2A,0xA9,0x2A,0xFE,0x22,0x00,0x02,0x00,0x00,0x00/*"清",2*/ 0x00,0x01,0x00,0x06,0x7F,0xF8,0x40,0x00,0x48,0x04,0x44,0x08,0x43,0x30,0x40,0xC0 0x43,0x30,0x4C,0x0C,0x40,0x00,0x7F,0xF0,0x00,0x0C,0x00,0x02,0x00,0x1F,0x00,0x00/*"风",3*/ 0x08,0x80,0x11,0x00,0x23,0xFF,0xCC,0x00,0x00,0x04,0x04,0x88,0x08,0xB0,0x14,0x82 0x24,0x81,0xC7,0xFE,0x24,0x80,0x14,0xA0,0x08,0x90,0x04,0x8C,0x04,0x00,0x00,0x00/*"徐",4*/ 0x00,0x84,0x10,0x84,0x10,0x88,0x14,0x88,0x13,0x90,0x10,0xA0,0x10,0xC0,0xFF,0xFF 0x10,0xC0,0x10,0xA0,0x11,0x90,0x16,0x88,0x10,0x88,0x10,0x84,0x00,0x84,0x00,0x00/*"来",5*/ }; 这是修改的地方
  • 打赏
  • 举报
回复
字模有不同,正常显示方向也不同,那么,问题是什么?不成字?截图出来看看。
  • 打赏
  • 举报
回复
数组基础知识。
weixin_44747785 2020-10-18
  • 打赏
  • 举报
回复
感谢5楼,搞定了
zgl7903 2020-10-18
  • 打赏
  • 举报
回复
0x00, /*" ",0*/
0x00,/*" ",1*/

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧