【求助帖】新手哭求帮助~~~~这个程序是为了滚动8*8的点阵,但是总是报警告。。。 真的找不到错误的地方了。。。

liningfong110 2018-03-27 11:18:45
求助啊,这个程序是为了滚动8*8的点阵,但是总是报警告。。。
真的找不到错误的地方了。。。
新手哭求帮助~~~~

这个是警告的显示:



#include "INTRINS.H"
#include "REG52.H"


typedef unsigned char u8;

sbit shuru=P3^4; //定义串型输入端口为shuru
sbit weiyi=P3^6; //定义时钟位移寄存器时钟输入为weiyi
sbit shuchu=P3^5; //定义储存寄存器时钟输入为shuchu
#define kongzhi P0 //定义P0口为kongzhi

u8 b[];
u8 c[];
char p0de[]={0xFF,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,0xFF,0xC1,0xEF,0xF7,0xFB,0xFD,0xC1,0xFF,0xFF,0xC1,0xEF,0xF7,0xFB,0xF7,0xEF,0xC1}; //我是选择的横向取模,因为控制P0容易点,再其次就是P0口是需要低电平才能让二极管通,所以需要再反相一次
char d0de[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; //这里只要让D0循环开始从上到下依次扫描就好
int f; //定义全局变量f,f是8位循环扫描和取模用的
int h; //定义全局变量h,h是延迟函数用的
int j;
int i;

void yanchi(int h) //延迟函数
{
for(;h--;){}
}

void hc595(u8 a) //595的储存和输出函数
{ int q;
for(q=0;q<8;q++) //循环8次,每次让1位存储到寄存器中
{
shuru=a>>7; //shuru=a向右位移7次,这对于a本身没影响
//比方:1001 1001向右位移7位就是0000 0001,下面的位移这个1到寄存器
a<<=1; //改变a的值,让a向左移动1位。比方:1001 1001向左位移1位就是0011 0010。下一次再位移7次就是输入次高位了。
weiyi=1; //位移开始,产生一个上升沿
_nop_(); //延迟函数
_nop_();
weiyi=0; //位移结束,归零,方便下一次产生上升沿
}
shuchu=1; //循环结束后,8位都位移到了寄存器中,这时就让储存寄存器时钟输入产生一个上升沿,开始把接收到的8位信号对外输出
_nop_(); //延迟函数
_nop_();
shuchu=0; //输出结束,归零,方便下一次产生上升沿

//调用P0口的函数
}

void yidong(int x,int y)
{
kongzhi=x<<i+y>>(8-i);
hc595(d0de[f]);
yanchi(100);
kongzhi=0xff;
}

void yunsuan()
{
for(j=0;1;j++)
{
for(f=0;f<8;f++)
{
b[f]=p0de[f+8*j];
c[f]=p0de[8+f+8*j];
}

for(i=0;i<8;i++)
{
for(f=0;f<8;f++)
{
yidong(b[f],c[f]);
}
}
}
}



void main()
{ weiyi=0; //归零
shuchu=0; //归零
for(;1;)
{
yunsuan();
}
}





...全文
377 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
灌水号 2018-03-27
  • 打赏
  • 举报
回复
b,c数组没定义嘛,这不很明显的问题
赵4老师 2018-03-27
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
赵4老师 2018-03-27
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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