#include #include "led_num.h" #include #include "delay.h" #define DUTY 10 static unsigned int i = 0; const unsigned char hello_var[] = {0x89, 0x86, 0xc7, 0xc7, 0xc0,0xff}; static unsigned char get_var(int k) { return hello_var[(65535-i+k)%6]; } static unsigned char var2 = 0xfd; static unsigned int count = 0; static unsigned char e = 0xfe; void hello_display() { if(count < DUTY) { P0 = 0xfe; P2 = get_var(5); delay(1); P2 = 0XFF; P0 = 0xfd; P2 = get_var(4); delay(1); P2 = 0XFF; P0 = 0xfb; P2 = get_var(3); delay(1); P2 = 0XFF; P0 = 0xf7; P2 = get_var(2); delay(1); P2 = 0XFF; P0 = 0xef; P2 = get_var(1); delay(1); P2 = 0XFF; P0 = 0xdf; P2 = get_var(0); delay(1); P2 = 0XFF; // var2 = var2 >> 1; // if(var2 == 0) // var2 = 0x10; } if(count >= DUTY) { P2 = 0XFF; } count++; if(count >= 100) count = 0; return; } void hello_push() { // var2 = _crol_(var2, 1); i++; // if(var2 < 0xdf) // { // i = 0; // var2 = 0xfd; // } } void num_display() { if(count < DUTY) { P0 = 0xfe; P2 = e; delay(1); P2 = 0XFF; // var2 = var2 >> 1; // if(var2 == 0) // var2 = 0x10; } if(count >= DUTY) { P2 = 0XFF; } count++; if(count >= 100) count = 0; return; } void num_push() { e = _crol_(e, 1); } void ledfull() { P2 = 0xff; P0 = 0X00; } void hello_full_display() { if(count < DUTY) { unsigned char var3=0xfd; int j; for(j=0;j<5;j++) { var3 = _crol_(var3,1); P1=var3; P2 = hello_var[i]; delay(1); P2 = 0XFF; } // var2 = var2 >> 1; // if(var2 == 0) // var2 = 0x10; } if(count >= DUTY) { P2 = 0XFF; } count++; if(count >= 100) count = 0; return; }