2 woshizhangyiwei woshizhangyiwei 于 2016.04.02 12:38 提问

请教各位大神,为什么这个代码在普中板子上运行不了呢

#include
#define uchar unsigned char
#define uint unsigned int
sbit A=P3^0;
sbit B1=P3^1;
sbit C=P3^2;
sbit kin1=P0^0;
sbit kin2=P0^1;
sbit kin3=P0^2;
sbit kin4=P0^3;
sbit kout1=P0^4;
sbit kout2=P0^5;
sbit kout3=P0^6;
sbit kout4=P0^7;
uchar code ledchar[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar ledbuff[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
uchar keysta[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
uchar code keycodemap[4][4]={{0x31,0x32,0x33,0x26},{0x34,0x35,0x36,0x25},{0x37,0x38,0x39,0x28},{0x30,0x1b,0x0d,0x27}};
void keydriver();
void main()
{
EA=1;
TMOD=0x01;

TH0=0xFC;
TL0=0x67;
ET0=1;
TR0=1;
ledbuff[0]=ledchar[0];
while(1)
{
keydriver();

}

}
void shownumber(unsigned long num)
{
signed char i;
uchar buff[8];
for(i=0;i {
buff[i]=num%10;
num=num/10;
}
for(i=7;i>=1;i--)
{
if(buff[i]==0)

      { ledbuff[i]=0x00;}

     else 
     break;

      }

    for(i;i>=0;i--)
    {
        ledbuff[i]=ledchar[buff[i]];
    }

}
void keyaction(uchar keycode)
{
static unsigned long result=0;
static unsigned long added=0;
if((keycode>=0x30)&&(keycode<=0x39))
{
added=(added*10)+(keycode-0x30);
shownumber(added);
}
else if(keycode==0x26)
{
result+=added;
shownumber(result);
}
else if(keycode==0x0d)
{
result+=added;
added=0;
shownumber(result);
}
else if (keycode=0x1b)
{
added=0;
result=0;
shownumber(added);
}
}
void keydriver()
{ uchar j;
uchar i;
uchar backup[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
for(i=0;i<4;i++)
{

for(j=0;j<4;j++)
{
if(backup[i][j]!=keysta[i][j])
{
if(backup[i][j]!=0)
{
keyaction(keycodemap[i][j]);
}
backup[i][j]=keysta[i][j];
}
}
}

}
void keyscan()
{
uchar i;
static uchar keyout=0;
uchar keybuff[4][4]={{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff}};
keybuff[keyout][0]=(keybuff[keyout][0]<<1)| kin1;
keybuff[keyout][1]=(keybuff[keyout][1]<<1)| kin2;
keybuff[keyout][2]=(keybuff[keyout][2]<<1)| kin3;
keybuff[keyout][3]=(keybuff[keyout][3]<<1)| kin4;
for(i=0;i<4;i++)
{ if((keybuff[keyout][i]&0x0f)==0x00)
{
keysta[keyout][i]=0;
}
else if((keybuff[keyout][i]&0x0f)==0x0f)
{

keysta[keyout][i]=1;
}

    }
    keyout++;
    keyout=keyout&0x03;
    switch(keyout)
    {
      case 0: kout4=1;kout1=0;break;
      case 1: kout1=1;kout2=0;break;
      case 2: kout2=1;kout3=0;break;
      case 3: kout3=1;kout4=0;break;
      default :break;
    }

}
void ledscan()
{
uchar i=0;
switch(i)
{
case 0:A=1;B1=1;C=1;i++;P1=ledbuff[0];break;
case 1:A=0;B1=1;C=1;i++;P1=ledbuff[1];break;
case 2:A=1;B1=0;C=1;i++;P1=ledbuff[2];break;
case 3:A=0;B1=0;C=1;i++;P1=ledbuff[3];break;
case 4:A=1;B1=1;C=0;i++;P1=ledbuff[4];break;
case 5:A=0;B1=1;C=0;i++;P1=ledbuff[5];break;
case 6:A=1;B1=0;C=0;i++;P1=ledbuff[6];break;
case 7:A=0;B1=0;C=0;i=0;P1=ledbuff[7];break;
default:break;
}

}
void zd() interrupt 1
{
TH0=0xFC;
TL0=0x67;
keyscan();
ledscan();
}

1个回答

wqx619388275
wqx619388275   2016.04.02 14:23

uchar code ledchar[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar ledbuff[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; 我 不是很懂,这里这样可以的吗

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PD教程PD教程PD教程
为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?为什么下不了呢?
工具栏测试
传上来请教大神的。。。 用完会删掉 为什么一定要20个字呢 不合理啊 不合理
请教大家,为什么这个代码通过不了
724B Batch Sort 这个题目你可以将每行中的两个元素交换一次,还有整列交换两列的机会一次。 使得每一行都递增#include using namespace std;int main(){ int n, m; cin >> n >> m;//n行m列 int a[30][30]; for (int i = 0;i for (int j = 0;j cin >> a[i][j]
想向各位大神请教
我是学计算机的,想买一台电脑,价格在5000左右,我不打游戏,希望大神们推荐一下!
请教各位大神!!!
问题如下:一张只写着名字的图片,如何用一个最小的外接矩形将该名字圈起来并将其切割保存为另一张图片,用opencv函数怎么写代码?跪求!!!感激不尽!!
applet z-index 问题
div弹出层为什么覆盖不了applet呢? 我在这个例子里面把例子弄上去了。 参考一下就明白了。
关于Csharp通过url下载的问题
为什么documentComplete 就是不起作用呢?为什么反复的循环呢?求大神解释下
VB编写的FTP程序(代码有问题)
这个代码为什么不能运行呢?请大虾帮忙。 密码找我要
请教各位大神,如何解决?
SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/Maven/jeewx3.1repository/JEEWX-OS-repository/ch/qos/logback/logback-classic/1.0.7/logback-classic-1.0.7.jar!/or...
为什么使用消息队列?(消息队列的使用场景是怎样的?)
https://www.zhihu.com/question/34243607/answer/140732170消息队列的使用场景是怎样的? - ScienJus的回答 - 知乎https://www.zhihu.com/question/34243607/answer/58314162https://www.zhihu.com/question/34243607/answer/58314162...