word格式文档
专业整理
#include "reg51.h"
#include "absacc.h"
sbit SN_LED_RED=P1^3;
sbit SN_LED_GREEN=P1^5;
sbit SN_LED_YELLOW=P1^4;
sbit EW_LED_RED=P1^0;
sbit EW_LED_GREEN=P1^2;
sbit EW_LED_YELLOW=P1^1;
unsigned char code disptab[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
unsigned char code bittab[] = {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
unsigned char num=0; //数码管序号
unsigned char led[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char set_value[4] = {60,4,40,4}; //设置数码管在显示值
unsigned char sign[4]={1,0,0,0};
unsigned char disp_ew,disp_sn;
unsigned char falsh_sign,direction_sign,flash_count;
unsigned int secnum;
unsigned char key;
void delay_ms(unsigned int a);
void add_process();
void sub_process();
void set_process();
void scan_key();
void init();
void delay_ms(unsigned int a)
{unsigned char i;
while(a--)
{i=70;
while(i--);
}
}
void add_process()
{
delay_ms(600);
if(!P3^2)
{
delay_ms(500);
if(P3^2)
{
if(key == 1)
{
set_value[0] = set_value[0] + 10;
if(set_value[0] > 99)
{
set_value[0] = set_value[0] % 10;
}
disp_ew = set_value[0];
}
if(key == 2)
{
set_value[1]++;
if(set_value[1] > 9)
{
set_value[1] = 0;
}
disp_ew = set_value[1];
}
if(key == 3)
{
set_value[2] = set_value[2] + 10;
if(set_value[2] > 99)
{
set_value[2] = set_value[2] % 10;
}
disp_sn = set_value[2];
}
if(key == 4)
{
set_value[3]++;
if(set_value[3] > 9)
{
set_value[3] = 0;
}
disp_sn = set_value[3];
}
}
while(!P3^2)
{
if(key == 1)
{
set_value[0] = set_value[0] + 10;
if(set_value[0] > 99)
{
set_value[0] = set_value[0] % 10;
}
disp_ew = set_value[0];
}
if(key == 2)
{
set_value[1]++;
if(set_value[1] > 9)
{
set_value[1] = 0;
}
disp_ew = set_value[1];
}