理财app线下推广方案:请真正的高手来看这个单片机编程

来源:百度文库 编辑:高考问答 时间:2024/04/29 16:56:16
这个程序要烧入AT89C51,但是老师给我们一个AT89S51,不知道能不能在上面实现如下功能:(数码管是共阳的,而且驱动数码管的三极管是PNP)实现对一个按键次数的计数,一共有两个键,按其中一个可以使数值增大一,按另外一个可以使数值减少二。
我们在编辑时发现电脑提示上面有两个警告,不知道可不可以修改一下
啊?
#include<AT89x51.H>
#define Key_UP P3_6
#define Key_DOWN P3_7
#define LED PO
#define LED1 P2_2
#define LED2 P2_3
#define LED3 P2_4
#define LED4 p2_5
#define LED5 P2_6
#define LED6 P2_7

unsigned char code LEDDis[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
static unsigned char bdata Key;
sbit NewKeyUP=Key^0;
sbit NewKeyDOWN=Key^1;
sbit 01dKeyUP=Key^2;
sbit 01dKeyDOWN=Key^3;
static unsigned long data Count;
static unsigned char LEDN[6];

void main(void)
{
void Delay_510(void);

Count=0;
Key=0;

EA=1;
ETO=1;
TMOD=0x1;
THO=0xB1;
TRO=1;
while(1);
}

void KeyAndDis_Time0(void) interrupt 1 using 2
{
THO=0xB1;
TLO=0xDF;

NewKeyUP=Key_UP;
NewKeyDOWN=Key_DOWN;

if(!01dKeyUP&&NewKeyUP)
Count++;
if(!01dKeyDOWN&&NewKeyDOWN)
Count--;
if(Count>999999)
Count=999999;
LEDN[5]=Count/100000; LEDN[4]=(Count-100000*(long)LEDN[5])/10000;
LEDN[3]=(Count-100000*(long)LEDN[5]-10000*(long)LEDN[4])/1000;
LEDN[2]=(Count-100000*(long)LEDN[5]-10000*(long)LEDN[4]-1000*(long)LEDN[3])/100;
LEDN[1]=(Count-100000*(long)LEDN[5]-10000*(long)LEDN[4]-1000*(long)LEDN[3]-100*(long)LEDN[2])/10;
LEDN[0]=(Count-100000*(long)LEDN[5]-10000*(long)LEDN[4]-1000*(long)LEDN[3]-100*(long)LEDN[2]-10*(long)LEDN[1]);

LED=LEDDis[LEDN[5]];
LED6=0;
Delay_510();
LED6=1;

LED=LEDDis[LEDN[4]];
LED5=0;
Delay_510();
LED5=1;

LED=LEDDis[LEDN[3]];
LED4=0;
Delay_510();
LED4=1;

LED=LEDDis[LEDN[2]];
LED3=0;
Delay_510();
LED3=1;

LED=LEDDis[LEDNLEDN[1]];
LED2=0;
Delay_510();
LED2=1;

LED=LEDDis[[0]];
LED1=0;
Delay_510();
LED1=1;

01dKeyUP=NewKeyUP;
01dKeyDOWN=NewKeyDOWN;
}

void Delay_510(void)
{
#pragma asm
MOV RO,#7DH
MOV R1,#02H
TSR1;

DJNZ RO,TSR1
MOV RO,#7DH
DJNZ R1,TSR1
#pragma endasm
}

......
sbit 01dKeyUP=Key^2; //变量名不能以数字开头。
sbit 01dKeyDOWN=Key^3; //变量名不能以数字开头。
......
void main(void)
{
void Delay_510(void); //去掉这行的两个void,否则提示语法错误。
......

警告的内容是什么?