网站建设平台接单,做电子商务平台网站需要多少钱,站外推广渠道,国外域名注册查询遇到这个情况有可能是某一个数组太大#xff0c;然后单片机内部数据存储区不够用#xff0c;
所以可以把这个数据存在单片机外例如 int led[8][8]{ {1,1,1,1,1,1,1,1},//1 {1,0,0,0,0,0,0,1},//2 {1,0,0,0,0,0,0,1},//3 {1,0,0,0,0,0,0,1},…遇到这个情况有可能是某一个数组太大然后单片机内部数据存储区不够用
所以可以把这个数据存在单片机外例如 int led[8][8]{ {1,1,1,1,1,1,1,1},//1 {1,0,0,0,0,0,0,1},//2 {1,0,0,0,0,0,0,1},//3 {1,0,0,0,0,0,0,1},//4 {1,0,0,0,0,0,0,1},//5 {1,0,0,0,0,0,0,1},//6 {1,0,0,0,0,0,0,1},//7 {1,1,1,1,1,1,1,1}//8
}
解决的办法是在变量前面加前缀xdata.改为 xdata int led[8][8]{ {1,1,1,1,1,1,1,1},//1 {1,0,0,0,0,0,0,1},//2 {1,0,0,0,0,0,0,1},//3 {1,0,0,0,0,0,0,1},//4 {1,0,0,0,0,0,0,1},//5 {1,0,0,0,0,0,0,1},//6 {1,0,0,0,0,0,0,1},//7 {1,1,1,1,1,1,1,1}//8
}
这样就可以了如果是直接修改keil的配置后面会发生另外的意外如果使用这个办法不会发生那样的事情。所以这个方法应该更好例如把数据全部存在外部那么访问速度会更慢
//注意了如果按照上面办法会发生另外的错误
因为使用如果要使用上面的方法或者把keil的设置更改为large,最后在Proteus仿真的时候都要外接一个RAM才能够模拟而初学者是没有学习怎么外接RAM的所以最好可以这么改 unsiged char code led[8][8]{ {1,1,1,1,1,1,1,1},//1 {1,0,0,0,0,0,0,1},//2 {1,0,0,0,0,0,0,1},//3 {1,0,0,0,0,0,0,1},//4 {1,0,0,0,0,0,0,1},//5 {1,0,0,0,0,0,0,1},//6 {1,0,0,0,0,0,0,1},//7 {1,1,1,1,1,1,1,1}//8
}
这个code的意思表示要把数据粗存在程序储存区AT89C51单片机有64K之多远远大于128B
足够用了。