摇摇棒操作程序
#include
/*********外部接口定义**********/
#define uchar unsigned char
#define uint unsigned int //宏定义
#define out P1 //数据输出端口
sbit led1=P3^0; //第1组LED
sbit led2=P3^1; //第2组LED
sbit led3=P3^3; //第3组LED
sbit led4=P3^4; //第4组LED
sbit key1=P3^5; //按键输入
sbit p3_2=P3^2;
uchar KY,num; //KY作用在后面说明
uchar BUFF; //缓存
/*********全局变量定义**********/
unsigned long int TimeCount=0;
unsigned int DelayN=80, //延时临时计数
DelayTime=80; //每次延时的周期个数
unsigned char key,keyy;
/**********************************************/
void delay(unsigned char n);
void DelayMs(void);
/*******************************************/
unsigned char code tab[]={
0x00,0x00,0x08,0x01,0x49,0x02,0x49,0x04,0x49,0x08,0x49,0x30,0x7f,0xc0,0x49,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x7f,0x80,0x08,0x00,0x08,0x00,0x00,0x00, 0x10,0x40,0x10,0x42,0x10,0x81,0xff,0xfe,0x12,0x02,0x14,0x0c,0x7f,0xf0,0x42,0x00,0x4b,0xff,0x4b,0x02,0x4a,0xc4,0x4a,0x20,0x4a,0x38,0x4a,0xc6,0x42,0x44,0x00,0x00, 0x00,0x02,0x41,0x04,0x31,0x08,0x1d,0x18,0x09,0x70,0x41,0x20,0x31,0x00,0x1d,0x00,0x09,0x00,0x01,0x40,0x03,0x20,0x0d,0x18,0x79,0x0e,0x21,0x04,0x01,0x00,0x00,0x00, };
unsigned char code text1[]={
0xFF,0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xDF,0xFD,0xFF,0xFF,0xDF,0xFC,0x00,0x00,0x1F,0xFD,0xFF,0xFF,0xDF,0xFD,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"I",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFD,0xFF,0xFF,0xDF,0xFC,0x00,0x00,0x1F,0xFD,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x9F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,/*"L",2*/
0xFF,0xC0,0x01,0xFF,0xFF,0x3F,0xFE,0x7F,0xFC,0xFF,0xFF,0x9F,0xFD,0xFF,0xFF,0xDF,0xFD,0xFF,0xFF,0x9F,0xFE,0x3F,0xFC,0x7F,0xFF,0xC0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,/*"O",3*/
0xFD,0xFF,0xFF,0xFF,0xFC,0x07,0xFF,0xFF,0xFD,0xF8,0x03,0xFF,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0x80,0xFF,0xFD,0xE0,0x7F,0xFF,0xFC,0x1F,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,/*"V",4*/
0xFD,0xFF,0xFF,0xDF,0xFC,0x00,0x00,0x1F,0xFD,0xFE,0xFF,0xDF,0xFD,0xFE,0xFF,0xDF,0xFD,0xF0,0x1F,0xDF,0xFC,0xFF,0xFF,0x9F,0xFE,0x3F,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,/*"E",5*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",6*/
0xFD,0xFF,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFD,0xE0,0xFF,0xDF,0xFF,0xFE,0x00,0x1F,0xFD,0xC0,0xFF,0xDF,0xFC,0x3F,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"Y",7*/
};
unsigned char code text2[]={
0xFF,0xFF,0xFE,0x7F,0xFF,0xF7,0xF9,0xFF,0xFF,0xF7,0xE7,0xFF,0xFF,0xE7,0x1F,0xFF,0xC0,0x00,0x00,0x03,0xFF,0xCF,0x3F,0xFF,0xFF,0xCF,0x9F,0x3F,0xFF,0xFF,0xF0,0xFF, 0xFF,0x80,0x0F,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xEF,0xF7,0xFF,0xFF,0xCE,0xF7,0xFF,0xE0,0x00,0x00,0x3F,0xFF,0xDC,0xE7,0xCF, 0xFF,0x9D,0xE7,0xE7,0xFF,0x9F,0xE7,0xE7,0xFF,0x80,0x1F,0xE7,0xFF,0xCF,0xFF,0xC7,0xFF,0xFF,0xFF,0x8F,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"电",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFE,0x7F,0xFF, 0xFF,0xFE,0x7F,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"一",2*/
0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xC0,0x00,0x07,0xF0,0x3F,0xFD,0xFF,0xFB,0xFF,0xF3,0xFF,0xFF,0xEF,0xCF,0xFF,0xFF,0xEC,0x3D,0xFF, 0xE0,0x20,0x04,0x03,0xFF,0xC1,0xF9,0xFF,0xFF,0xDE,0x7B,0xFF,0xFF,0x9F,0x8F,0xFF,0xFF,0xDF,0xE1,0xFF,0xFF,0xFF,0xF1,0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,/*"体",3*/
};
unsigned char code text3[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xBF,0xEF,0x8F,0xFF,0xBF,0xEF,0xCF,0xFF,0xDF,0xEF,0xE7,0xEF,0x1F,0x00,0x00,0xC0,0xCF,0xEF,0xFB,0xFF,0xE7,0xEF,0xFD,0xF7,0xEF,0xEF,0xFD,0xFB, 0xFB,0xEF,0xFF,0xFC,0x07,0x00,0x40,0xFE,0xFF,0xEF,0x0F,0xFE,0xEF,0xEF,0xF3,0xF9,0x1F,0x2F,0xFC,0xE7,0x7F,0x73,0xFF,0xCF,0xFF,0xF7,0x7F,0x80,0xFF,0xFF,0xFF,0xFF,/*"我",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0xFF,0xFF,0xC7,0xFF,0xFF,0x3F,0x00,0x00,0xC0,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xC0,0xE7,0xFF,0xFF,0xFF, 0x1F,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xEF,0xBF,0xFF,0xFF,0xCF,0x3F,0x00,0x00,0xC0,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"们",2*/
0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xF7,0xBF,0xEF,0xFF,0xF7,0xBF,0xEF,0x00,0xF7,0xDF,0xEF,0xBD,0x37,0xDF,0xEF,0xBD,0xC7,0xEE,0x0F,0x00,0xF0,0xE6,0xEF,0xBD,0xF6,0xF2, 0xEF,0xBD,0xF7,0xF8,0x0F,0x80,0x37,0xFC,0xEF,0xBD,0xC7,0xF9,0xEF,0xBD,0xF7,0xF3,0x6F,0x00,0xF7,0xE7,0xE3,0xFF,0xF3,0xCF,0xEF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,/*"要",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
};
unsigned char code text4[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x7F,0xFF,0xFF,0xF7,0x7F,0xFF,0xBF,0xF7,0x7B,0xFF,0xBF,00xB7,0xF7,0x79,0xFF,0xBF,0x67,0x7A,0xFF,0xBF,0x97,0x7B,0xFF,0x9F,0xF7,0x7B,0xFF,0xBF,0xF7,0x78,0xFF,0xFF,0xF1,0x3B,0xFF,0xFF,0xF7,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,/*"幸",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xCF,0xFF,0xFF,0xFD,0xF3,0xFF,0xE7,0x3D,0x00,0x80,0x9F,0x41,0xFF,0xFF,0xFF,0xFD,0xFC,0xFF,0xEF,0xFF,0xFF,0xFF,0xEF,0xFF,0x00,0xC0, 0xEF,0xC0,0xBD,0xF7,0xEF,0xDE,0xBD,0xF7,0xEF,0xDE,0x01,0xF0,0xEF,0xDE,0xBD,0xF7,0xEF,0xC0,0xBD,0xF7,0x6F,0xFE,0x00,0xC0,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"福",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",5*/
};
unsigned char code text5[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xE7,0xFF,0xBF,0xFF,0xF9,0xFF,0xBF,0x3F,0xFE,0xFF,0xBD,0xC3,0xFF,0xFF,0x1D,0xFC,0xF7,0xFB,0xFD,0xFF,0xEF,0xF7,0xFD,0xFF,0x87, 0x8F,0x00,0x00,0xE0,0xFF,0x3F,0xFC,0xFF,0xFF,0x7F,0xE2,0xFF,0xFF,0x9F,0x1F,0xFF,0xFF,0xE3,0x7F,0xFC,0xFF,0xFB,0xFF,0xF1,0xFF,0xFF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,/*"永",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xE3,0xE7,0xBF,0xFF,0xFD,0x1F,0x1E,0x00,0xFE,0xFF,0xFF,0xFF,0xF9,0xFF,0xE7,0x7F,0xF6,0xDF,0xF7,0x9F,0xE7,0xDF,0x37,0xE0,0xEF, 0xDF,0xC7,0xFF,0xCF,0xDF,0xF7,0xFF,0xCF,0xDF,0x07,0x00,0xCF,0xDF,0xF7,0x7F,0xCE,0xCF,0xF7,0x7F,0xCE,0xFF,0xF3,0x07,0xCE,0xFF,0xFF,0x7F,0xE7,0xFF,0xFF,0xFF,0xFF,/*"远",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
/*" ",5*/
};
unsigned char code text6[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/
0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xE7,0xFF,0x7F,0xFF,0xFB,0xFF,0x7F,0x3F,0x00,0x80,0x7F,0x9F,0xFF,0xFF,0x7F,0xE3,0xFE,0xF7,0x1F,0xFC,0xFE,0xF7,0x63,0xFF,0xFE,0xF7, 0x7F,0xFF,0xFE,0xF7,0x7F,0x03,0x00,0xF0,0x7F,0xFF,0xFE,0xF7,0x7F,0xFF,0xFE,0xF7,0x7F,0xFF,0xFE,0xF7,0x3F,0xFF,0xFE,0xF3,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,/*"在",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xF0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"一",2*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xC1,0x7F,0xDF,0x01,0xFE,0x7F,0xDF,0xFF,0xFC,0x7F,0xDF,0xFF,0xFB,0x03,0x00,0x00,0xF0,0x7F,0xDF,0xEF,0xE7,0x3F,0xCF,0xE7,0xCF, 0xFF,0xDF,0xDF,0xCF,0xBF,0x1F,0x00,0xCE,0xBF,0xDF,0xFF,0x9E,0xBF,0xDF,0xFF,0x9E,0xBF,0xDF,0xFF,0x9E,0x1F,0x80,0xE7,0x9E,0xFF,0xFF,0x1F,0xEE,0xFF,0xFF,0xFF,0xFF,/*"起",3*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",4*/
};
unsigned char code text7[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF8,0xFF,0xFF,0x01,0xC0,0xFF,0xFF,0xF0,0x87,0xFF,0x3F,0xFC,0x1F,0xFE,0x1F,0xFF,0x7F,0xFC,0x9F,0xFF,0xFC,0xFC, 0xCF,0xFB,0xF9,0xF9,0xC7,0xFD,0xF7,0xF9,0xE7,0xFC,0xE7,0xF3,0xE7,0xFC,0xCF,0xF3,0xF3,0xFD,0xCF,0xE7,0xF3,0xFB,0x9F,0xE7,0xF3,0xFF,0x9F,0xE7,0xF3,0xFF,0x9F,0xE7, 0xF3,0xFF,0x9F,0xE7,0xF3,0xFB,0x9F,0xE7,0xF3,0xFD,0xCF,0xF3,0xE7,0xFC,0xCF,0xF3,0xE7,0xFC,0xE7,0xF9,0xC7,0xFD,0xF1,0xF8,0xCF,0xFB,0xFC,0xFC,0x1F,0xFF,0x7F,0xFC, 0x3F,0xFF,0x3F,0xFE,0x3F,0xFC,0x1F,0xFF,0xFF,0xF0,0x87,0xFF,0xFF,0x01,0xC0,0xFF,0xFF,0x0F,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, };
unsigned char code text8[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF8,0xFF,0xFF,0x01,0xC0,0xFF,0xFF,0xF0,0x87,0xFF,0x3F,0xFC,0x1F,0xFE,0x1F,0xFF,0x7F,0xFC,0x9F,0xFF,0xFF,0xFC, 0xCF,0xFB,0xFB,0xF9,0xC7,0xFD,0xF7,0xF9,0xE7,0xFD,0xEF,0xF3,0xE7,0xFD,0xCF,0xF3,0xF3,0xFD,0x9F,0xE7,0xF3,0xFB,0x9F,0xE7,0xF3,0xFF,0x9F,0xE7,0xF3,0xFF,0x9F,0xE7, 0xF3,0xFF,0x9F,0xE7,0xF3,0xFB,0x9F,0xE7,0xF3,0xFD,0xCF,0xF3,0xE7,0xFD,0xEF,0xF3,0xE7,0xFD,0xF7,0xF9,0xC7,0xFD,0xFB,0xF8,0xCF,0xFB,0xFF,0xFC,0x1F,0xFF,0x7F,0xFC, 0x3F,0xFF,0x3F,0xFE,0x3F,0xFC,0x1F,0xFF,0xFF,0xF0,0x87,0xFF,0xFF,0x01,0xC0,0xFF,0xFF,0x0F,0xF8,0x0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, };
/***********n(us)延时子程序***************/
void DelayUs(uint N)
{
uint x;
for(x=0; x<=N;x++);
}
/******************************************/
void main()
{
AUXR=0x80;
CLK_DIV=0;
EX0=1; //开放外部中断0
IT0=1; //中断0为边沿触发方式
IP=0x02; //设置中断优先级
TMOD=0x02; //定时器0方式2,8位重装载
TH0=0x80; //设定定时器初值
TL0=0x80;
KY=0;
EA=1; //开放中断
ET0=1; //开放定时器0中断
TR0=1; //启动定时器0,开始计时*/
key=0; //初始化显示第一组文字
keyy=0;
P1M0=0x55; //0101 0101 /P1.0 P1 .2 P1.4 P1.6推挽输出
P1M1=0xAA;
while(1){//等待中断
if(key1==0){ //有键按下
DelayUs(50);
if(key1==0){
key++; //更换下一幅图片
if(key>3) key=0; //图片循环显示 根据显示的组数来定义 这里有9组 所以就
要keyy>9
while(key1==0); //等待按键释放
}
}
if(num>10) //每中断10次切换
{
keyy++;
num=0;
}
if(keyy>3)keyy=0; //图片循环显示 根据显示的组数来定义 这里有9组 所以
就要keyy>9
}
}
/*********文字显示子程序**********/
void display_word(unsigned char code *text)
{
unsigned char i,j=0; //j为图片起始位置 3 为第3个开始是图片 如果要显示高时
32的大字 也属于图片格式
DelayUs(6300);
for(i=0;i<64;i++)
{
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入
高阻
P3M1=0x1B;
if((key>=j)||(keyy>=j))
BUFF=(*(text+i*4+3));
else
BUFF=(*(text+128+i*2+1));
led4=0;
P1=~BUFF>>1;
P3M0=0x10; //0001 0000 //P3.4推挽输出 P3 .0 P3.3 P3.1输入高阻
P3M1=0x0B; //0000 1011
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001 1011
led4=1;
P1=BUFF; //01010101 1357
P3M0=0x10; //0001 0000 //P3.4推挽输出 P3 .0 P3.3 P3.1输入高阻
P3M1=0x0B; //0000 1011
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001 1011
if((key>=j)||(keyy>=j))
BUFF=(*(text+i*4+2));
else
BUFF=(*(text+128+i*2));
P1=~BUFF>>1;
P3M0=0x08; //0000 1000 //P3.3推挽输出 P3 .0 P3.1 P3.4输入高阻
P3M1=0x13; //0001 0011
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001 1011
led3=1;
P1=BUFF; //01010101 1357
P3M0=0x08; //0000 1000 //P3.3推挽输出 P3 .0 P3.1 P3.4输入高阻
P3M1=0x13; //0001 0011
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B;
if((key>=j)||(keyy>=j))
BUFF=(*(text+i*4+1));
else
BUFF=(*(text+i*2+1));
led2=0;
P1=~BUFF>>1;
P3M0=0x02; //0000 0010 //P3.1推挽输出 P3 .0 P3.3 P3.4输入高阻
P3M1=0x19; //0001 1001
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001 1011
led2=1;
P1=BUFF; //01010101 1357
P3M0=0x02; //0000 0010 //P3.1推挽输出 P3 .0 P3.3 P3.4输入高阻
P3M1=0x19; //0001 1001
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001
if((key>=j)||(keyy>=j))
BUFF=(*(text+i*4));
else
BUFF=(*(text+i*2));
led1=0;
P1=~BUFF>>1;
P3M0=0x01; //0000 0001 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1A; //0001 1010
delay(1);
P3M0=0x00; //0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1B; //0001 1011
led1=1;
P1=BUFF; //01010101 1357
P3M0=0x01; //0000 0001 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻
P3M1=0x1A; //0001 1010
delay(1);
} }
/*********显示内容选择子程序**********/
void display(unsigned char t)
{ keyy=0;
switch (t){ //通过按键选择显示内容
case 0: {display_word(text0);}break;
case 1: {display_word(text1);}break;
// case 2: {display_word(text2);}break;
// case 3: {display_word(text3);}break;
// case 4: {display_word(text4);}break;
// case 5: {display_word(text5);}break;
// case 6: {display_word(text6);}break;
// case 7: {display_word(text7);}break;
// case 8: {display_word(text8);}break;
// case 9: {display_word(text9);}break;
// case 10:{display_word(text10);}break;
//default:{display_word(text1);}
}}
/*****************************************/ void display1(unsigned char y)
{
switch (y){ //通过按键选择 case 0: {display_word(text0);}break;
case 1: {display_word(text1);}break;
// case 2: {display_word(text2);}break;
// case 3: {display_word(text3);}break;
// case 4: {display_word(text4);}break;
// case 5: {display_word(text5);}break;
// case 6: {display_word(text6);}break;
// case 7: {display_word(text7);}break;
// case 8: {display_word(text8);}break;
// case 9: {display_word(text9);}break;
// case 10:{display_word(text10);}break;
}
}
/***************************************/ /*********延时子程序**********/
void delay(unsigned char n)
{
for(;n>0;n--){
DelayN=DelayTime;
while (DelayN);
}
}
/*********中断子程序**********/
void int0() interrupt 0 //使用外部中断0
{
KY=~KY;
if(KY==0)
{
DelayTime=TimeCount/1580;
TimeCount=0; //延时周期计数清零
if(key==0)
{
num++;
display1(keyy); //根据按键选择循环显示文字
}
else
{
display(key); //根据按键选择循环显示文字
}
}
}
void timer0() interrupt 1 //定时器0中断子程序 {
TimeCount++;
if (DelayN!=0)
DelayN--;
}
本文档为【摇摇棒操作程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。