在旧货市场淘到一块16X48的屏。138行译码,595列控制,写了一个程序测试,已经可以使用了。就是程序的效率比较低,没有优化。
#include <reg52.h>
sbit UPD = P1^4;//更新允许.上跳变更新输出
sbit CLK = P1^5;//移位时钟,上升沿移动数据
sbit SDA = P1^6;//数据线,低电平点亮LED
sbit OEN = P1^7;//输出允许控制,低电平允许显示
sbit SPEEDUP=P2^0;//滚屏速度增加
sbit SPEEDDOWN=P2^1;//滚屏速度减慢
sbit pause=P2^2;//暂停滚屏
sbit turnleft=P2^3;//左转
sbit turnright=P2^4;//右转
sbit slow_down=P2^5;//刹车
bit gunping;//是否滚屏
bit disp_on;//是否显示
bit disp_flash;//是否闪烁显示
unsigned int zhou_ping,speed;//走屏计数变量,速度控制变量
unsigned int pian_yi_liang,yuan_pian_yi;//刷新显示偏移量
unsigned char hang;//当前扫描行
unsigned char san_shuo;//闪烁计数变量
unsigned char byte_width;
unsigned char *disp;//显示指针
unsigned char code right[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,
0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF8,0xFF,0xFF,0xFF,
0xFF,0x0F,0xE0,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0xF8,
0x03,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0xFF,0xFF,0xFF,0xFF,0x0F,
0xE0,0xFF,0xFF,0xFF,0xFF,0x0F,0xFC,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
unsigned char code left[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0x1F,0xF0,0xFF,0xFF,0xFF,0xFF,0x07,
0xF0,0xFF,0xFF,0xFF,0xFF,0x00,0xF8,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0xC0,
0x0F,0x00,0x00,0x00,0x00,0xC0,0xFF,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,
0xFF,0xFF,0xFF,0x3F,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,
0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
unsigned char code STOP[]={
0xEF,0x7D,0xFF,0xFE,0xFF,0xFF,0xDF,0x7E,0xFF,0xFE,0xFF,0xFF,0x3F,0x6F,0x07,0x00,
0xFF,0xFF,0x9F,0x6E,0x7F,0xFF,0xDF,0xDF,0xCF,0x69,0x7F,0xFB,0xDF,0xDF,0x77,0x6D,
0xBF,0xFB,0xDF,0xDF,0x7F,0x6F,0xDF,0xFB,0xDF,0xDF,0x07,0x68,0x0F,0x00,0xDF,0xDF,
0x7F,0x6F,0xFF,0xFB,0xDF,0xDF,0x6F,0x6E,0xFF,0xFB,0xDF,0xDF,0x4F,0x6D,0x03,0x00,
0xFE,0xFF,0x67,0x6B,0xFF,0xFB,0xFF,0xFF,0x7B,0x7B,0xFF,0xFB,0x9F,0x9F,0x5F,0x7F,
0xFF,0xFB,0x9F,0x9F,0xBF,0x5F,0xFF,0xFB,0xFF,0xFF,0xFF,0xBF,0xFF,0xFB,0xFF,0xFF,
};
unsigned char code LEDDOT[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFE,
0xFB,0xFE,0x3D,0xE0,0xFE,0xFD,0x7F,0xFF,0xF7,0xFF,0x61,0xE0,0xEF,0xFF,0xFF,0xFF,
0xBF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x7F,0xFF,0xDF,0xFF,0xBF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFD,0xFF,0xDF,0xF7,0xFF,0xFF,0xF7,0xFE,0xFF,0xFD,0xEF,0xFB,0xEF,0xFD,0xFF,0xFF,
0x7F,0xDF,0x7F,0xFF,0xDF,0xDF,0xEF,0xFF,0xB7,0xBF,0xFF,0x83,0xEF,0xFB,0xFF,0xF7,
0xFD,0xFF,0xFF,0xBF,0xFF,0x01,0xE0,0x7B,0xFF,0xFB,0xFF,0x03,0xF0,0xDF,0xF7,0xFF,
0xBE,0xFF,0xFF,0x7F,0xBF,0xFF,0xDD,0xBF,0xFF,0x7F,0xEF,0xFF,0xFC,0x7F,0xFF,0x7F,
0xDF,0xDF,0xFF,0xFB,0x1F,0x7C,0xDF,0xBF,0xEF,0xBF,0xEF,0xFF,0xFB,0xFF,0xF9,0x7E,
0xBF,0x7F,0xFF,0xBF,0xFD,0xFD,0x1F,0x7C,0xDF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xE0,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xBF,0xFF,0x00,0xE0,0x80,0xFE,
0xFB,0xFE,0xBB,0xEF,0xF9,0xF5,0x7B,0xFF,0xB7,0xFF,0x6D,0xEF,0x0F,0xF8,0xFF,0xFF,
0xBF,0xFF,0xFD,0xE3,0xFF,0x1E,0x70,0xC0,0x07,0x07,0x10,0xC0,0xC1,0x07,0xDF,0x01,
0x1C,0xFC,0x7F,0x40,0xFF,0xDD,0xFF,0x3D,0xFF,0xFF,0xF3,0x07,0x00,0x04,0x02,0xDC,
0xED,0xFF,0xDF,0xF7,0x07,0x80,0xF7,0xE0,0xFF,0xFD,0x0F,0x02,0xEF,0xFD,0x0F,0xE0,
0xC1,0x9E,0x77,0xFB,0xEF,0xDF,0xEF,0xF7,0xA7,0xBF,0x07,0xFC,0xEF,0xF7,0xFF,0xF7,
0xFD,0x01,0xE0,0xBF,0xFF,0xFD,0xEF,0x7B,0xFF,0x1B,0xC0,0xBF,0x7F,0xB0,0xE7,0xFF,
0xBE,0x3F,0x00,0x7C,0xDF,0xFF,0xDD,0x3F,0x07,0x7E,0xEF,0xFF,0xF9,0x7F,0x02,0x7E,
0xDF,0xBF,0xC1,0x3B,0xE0,0x7F,0xBF,0x3F,0x08,0x3C,0x08,0xFC,0xF7,0x1F,0xEE,0x7E,
0xBF,0x7F,0xBF,0x3F,0xFD,0x3D,0xE0,0x7F,0xBF,0xFF,0xFF,0xFD,0xFE,0xF7,0xFF,0xEF,
0xF7,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0xBF,0xFE,0xFF,0xBD,0xF7,0xFE,0xEF,0xFE,0xFE,
0x7B,0xFF,0x3B,0xE0,0xFD,0xED,0x67,0xFF,0x3B,0xC0,0x6D,0xEF,0xE7,0xFB,0xFF,0xFF,
0xBF,0xFF,0x19,0xFC,0x7F,0xEE,0xAF,0xBF,0xFB,0xF6,0xD7,0xDF,0xBE,0xFB,0xCE,0xFD,
0xEF,0xFB,0x7F,0x7F,0xFF,0xDD,0xFF,0xBD,0xFF,0xFF,0xFB,0xFF,0xEE,0xBF,0x77,0xDF,
0x9D,0xFF,0x03,0x80,0xFF,0xFE,0x77,0xF7,0x07,0x80,0xD7,0xF5,0xF7,0xFD,0xEF,0xEF,
0xDF,0xED,0x77,0xE7,0x07,0xDE,0xEF,0xEF,0xB7,0xB7,0x7F,0xF7,0x77,0x00,0xFF,0x00,
0xE0,0xBF,0xFF,0xBF,0xFF,0xFD,0xEF,0x7D,0xFF,0xDB,0xDD,0x00,0xC0,0x77,0xFB,0x1F,
0x00,0xFC,0xF7,0x7F,0x07,0x0C,0x00,0xB8,0xF7,0xBE,0xEF,0xFF,0xFB,0x7F,0xFF,0x7E,
0xAF,0xBF,0xDD,0xFB,0xBB,0xBF,0x03,0xB8,0xAE,0xBF,0xAE,0x0F,0x00,0xF8,0xDE,0x7E,
0xBF,0x7F,0x7F,0xBF,0xBD,0xFD,0xBB,0xBF,0x03,0xF8,0x7F,0xFE,0xF9,0x6F,0x00,0xCF,
0xF7,0xFF,0xFE,0xFF,0xFF,0xFF,0x83,0x00,0xFF,0xFF,0xFF,0xCF,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0xBF,0xFE,0xFF,0x01,0xE0,0x02,0xE8,0xDC,0x40,
0x40,0x40,0xA0,0xEF,0x07,0xC0,0x6F,0xEF,0xDB,0xEF,0x6D,0xEB,0xEB,0xFD,0xFF,0xFF,
0x01,0xF0,0xFD,0xFD,0xBF,0xEE,0xAF,0xBF,0xFD,0xF5,0xD7,0x5F,0x7F,0xFD,0xD5,0xFD,
0xF7,0xF7,0x7F,0x6E,0xE0,0x01,0xF8,0xBD,0xFB,0xFF,0x7F,0x1F,0x00,0xBF,0x77,0xDF,
0xBD,0xFF,0xDF,0xF7,0xFF,0xFE,0x01,0xC0,0xF7,0xBD,0xBB,0xEE,0x83,0x81,0x0F,0xE0,
0x5F,0x80,0x77,0xEF,0xF7,0xDE,0x81,0x00,0x07,0xB4,0xBF,0xF7,0xF7,0xFB,0xFF,0xF7,
0xFD,0xBF,0xFF,0x00,0xC0,0x01,0xE0,0x60,0xE0,0xDB,0xDD,0xBE,0xEF,0x17,0xE0,0xFF,
0xBE,0xFF,0xF7,0x0F,0xF4,0xFD,0xDD,0xDF,0xF7,0x1E,0x0C,0xFC,0xF7,0xBF,0x03,0x0E,
0x74,0xEF,0x5D,0xFB,0xBD,0xBF,0xDF,0xDF,0x75,0xDF,0x75,0xFF,0xFF,0xFF,0xDE,0x0E,
0x04,0x08,0x04,0x38,0xA0,0xFD,0xBD,0xBF,0xDF,0xFF,0x7F,0xFF,0xFB,0xCF,0xF7,0x6F,
0x37,0xFF,0xEE,0xFF,0xFF,0xFF,0xBB,0x7E,0x8F,0xC7,0xE3,0xEF,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0xBF,0xFE,0xFF,0xBD,0xF7,0xBE,0xEF,0x5A,0xEF,
0x7D,0xEF,0x3F,0xE0,0xEF,0xFD,0x00,0xC0,0xE9,0xFE,0x61,0xF7,0xDC,0xFE,0xFB,0xFF,
0xBD,0xF7,0xFF,0xFD,0xFF,0xFE,0xEF,0xBF,0xFD,0xFD,0xFB,0x6F,0x7F,0xFD,0xDD,0xFD,
0xF7,0xF7,0x7F,0xAD,0xF7,0xDD,0xFF,0x01,0xF0,0x1F,0x00,0xDE,0x6E,0xDF,0x77,0x0F,
0x00,0xFC,0x1F,0xF0,0xFF,0xFE,0x77,0xDB,0xF7,0xDD,0xBD,0xFB,0xBB,0xBE,0xEF,0xBF,
0x43,0xBB,0x03,0x00,0x07,0x00,0xEF,0xBE,0xBB,0xB7,0xDF,0xFB,0xBB,0xFB,0xFF,0x07,
0xFC,0xBF,0xFF,0xBF,0xFF,0x7D,0xFB,0xAE,0xEF,0xCA,0xDD,0xA2,0xF8,0xD0,0xEE,0xFF,
0x80,0xFF,0xF7,0x7F,0x07,0xFC,0xFE,0xDF,0x06,0xDE,0xF5,0xFD,0xF3,0xBF,0xFF,0x7E,
0xFB,0xD8,0x55,0xFB,0xDE,0xDF,0xDD,0xEF,0x75,0xEF,0x75,0xFF,0x80,0x0F,0xF8,0x7E,
0xBF,0x7F,0xF7,0xDD,0xBD,0xFD,0xDE,0xDF,0xDD,0xFF,0xBF,0xFF,0xF7,0xEF,0xF7,0xF7,
0xC6,0x07,0xC0,0x63,0x04,0x03,0xBB,0x7E,0x07,0x83,0xC1,0xF7,0xFF,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFC,0xDF,0xFD,0xFF,0xBD,0xF7,0xBE,0xEF,0xAA,0xF5,
0xB5,0x7D,0x77,0x7F,0xEC,0xFD,0xBF,0xEF,0xD9,0xFA,0x6D,0x7F,0x3F,0xFF,0xFB,0xFF,
0xBD,0xF7,0x0F,0xC0,0xFF,0xFE,0xF7,0xDF,0xFD,0xFD,0xFB,0xEF,0x7F,0xFD,0xDD,0xFD,
0xF7,0xFF,0x7F,0xD5,0xFA,0xDE,0xFF,0xBE,0xFF,0xFF,0xFB,0xDF,0x6E,0xDF,0x77,0xDF,
0xFE,0xFF,0xDF,0xF7,0xFF,0xFE,0x63,0xDB,0xF7,0xFD,0x07,0xFB,0xBB,0xBE,0xEF,0xBF,
0x7B,0x80,0xB7,0xFF,0xF7,0xDE,0xEF,0xEB,0xBF,0xB7,0x0F,0xFC,0xC1,0xDD,0xFF,0xF7,
0xFD,0xBF,0xFF,0x1F,0xFF,0x6D,0xF3,0xAE,0xEF,0x52,0xD0,0xBF,0xFF,0x1E,0xE0,0xFF,
0xBE,0xFF,0xF7,0x3F,0xF6,0xFD,0xEC,0x0F,0xDE,0xDF,0xF5,0xFD,0xEB,0x1F,0x03,0x3E,
0xFE,0x5F,0x55,0x7B,0xE0,0x0F,0xEE,0x3E,0x00,0x3E,0x00,0xFE,0xBE,0x7F,0xEE,0x7E,
0xBD,0x7F,0x5F,0xFF,0xBD,0x7D,0xE0,0x0F,0xEE,0xFE,0xDF,0x79,0xEE,0xFF,0xFB,0x03,
0x74,0xFF,0xEE,0xF7,0xDE,0xF7,0xBA,0x00,0x07,0x83,0xC1,0x3B,0xCF,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0xC0,0x81,0xFF,0xBD,0xF7,0xBE,0xEF,0xE6,0xFD,
0xF6,0xFD,0x76,0xC0,0xED,0xED,0xBF,0xEF,0xDA,0xF6,0x6D,0xE0,0xCF,0xFC,0xFB,0xFF,
0x01,0x70,0xF8,0xFD,0xFF,0xFE,0xFB,0xEF,0xFD,0xFD,0xFD,0xF7,0x7F,0xFD,0xDD,0x05,
0xF7,0xFF,0x7F,0xF3,0xFE,0xDE,0xFF,0xBE,0xFF,0xFF,0xFB,0x1F,0x00,0x0F,0x01,0xFC,
0xFE,0xFF,0x1F,0xF0,0x01,0x00,0x53,0xC0,0x17,0xE0,0x77,0x80,0x3B,0xBF,0x1F,0x80,
0x7B,0xBB,0xBF,0xFF,0x07,0xDE,0xAF,0x9D,0x03,0xB4,0x7F,0xF6,0xDF,0xBE,0xFF,0x07,
0x7C,0x00,0xC0,0x9F,0xFE,0x5D,0xFD,0xCE,0xEF,0xDA,0xDD,0xA3,0xF8,0xDE,0xEE,0xFF,
0x80,0x0F,0x00,0x38,0x05,0xFC,0x6E,0x7F,0x03,0xDC,0xF9,0xFD,0xEB,0xAF,0xFF,0x3F,
0x05,0x7E,0x55,0xFB,0xB3,0xFF,0xF6,0xFD,0xF7,0xFF,0xF7,0xFF,0x80,0x7F,0xDC,0x7E,
0x06,0x7C,0xED,0x1C,0xA0,0xFD,0xB3,0xFF,0xF6,0xFD,0xDF,0xB6,0xED,0xFF,0xFB,0xF7,
0x76,0xFE,0xEE,0xF7,0xDE,0xF7,0xBA,0x7E,0x07,0x83,0xC1,0xDB,0xB6,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xE0,0xFD,0xDF,0xFF,0xBD,0xF7,0x06,0xEC,0xF6,0x7D,
0xC0,0xFD,0xBA,0xDD,0x0D,0xCD,0x3F,0x6F,0xEB,0xEE,0x61,0xEE,0xB3,0xC3,0xFB,0xFF,
0xBD,0xF7,0xFB,0xFD,0xFF,0xFE,0xFC,0xF3,0xFB,0xFC,0xFE,0xFB,0x8F,0xFD,0xDD,0xF9,
0x16,0xFC,0x7F,0xFB,0x7E,0x00,0x70,0xBF,0xFB,0xFF,0x7B,0xDF,0x7E,0x4F,0x77,0xFF,
0xC0,0xFF,0xDF,0xF7,0xFF,0xFE,0xD5,0xFD,0xB7,0xEF,0x77,0xBB,0x83,0xBD,0xFF,0xF7,
0x7B,0xBB,0x3F,0xF0,0xF7,0xDA,0xCF,0xBE,0xBF,0xB7,0x9F,0xEF,0x6F,0x00,0xFF,0xF7,
0xFD,0xBF,0xFF,0xAF,0xFE,0x0D,0xF0,0x60,0x6F,0xDB,0xDD,0xF7,0xFF,0xDE,0xEE,0xFF,
0xBE,0xFF,0xF7,0x5F,0xBF,0x7F,0x6E,0xBE,0xDB,0x1D,0xEC,0xFD,0xDD,0xBF,0x01,0x58,
0xFF,0xBF,0x55,0xFB,0x7C,0x7F,0x03,0x08,0x00,0x08,0x00,0xF8,0xFF,0xBF,0xDA,0x3E,
0xF7,0x7E,0xF6,0xFD,0xBD,0xFD,0x7C,0x7F,0x03,0xF8,0xDF,0xFF,0xEF,0xE3,0xE9,0xFF,
0x07,0xEF,0xCE,0x77,0xDF,0xF7,0xBA,0xFA,0x8F,0xC7,0xE3,0xFB,0xFF,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0xF3,0xE7,0xFF,0xBD,0xF7,0xBE,0xEE,0xE6,0xFD,
0xF7,0xFD,0xDA,0xDD,0x6D,0xEB,0xBF,0xEE,0xBB,0xEE,0x6D,0xEE,0xBC,0xEF,0xFB,0xFF,
0xBD,0xF7,0xFB,0xFD,0xFF,0xFE,0xFB,0xEF,0x07,0xFD,0xFE,0xFB,0xF3,0xFD,0xDD,0xFD,
0xE5,0xFB,0x7F,0xF3,0xFE,0x77,0xBF,0x01,0xF0,0x1F,0x00,0xFE,0xFE,0x57,0x77,0x7F,
0xDE,0xFF,0x01,0x00,0xFF,0xFE,0xF5,0x98,0x77,0xF7,0x07,0xBB,0xBB,0xBB,0xFF,0xF7,
0x41,0x80,0x9F,0xF7,0xF7,0xD6,0xE7,0xFF,0x07,0xB4,0x07,0xC0,0xF7,0xAD,0x7F,0x00,
0xC0,0xBF,0xFF,0xAF,0xFD,0xED,0xF7,0xEE,0xEE,0xDB,0xDA,0x07,0x7C,0x10,0xE0,0x0F,
0x00,0xF8,0xF7,0x5F,0x03,0xB8,0xAE,0xDF,0x03,0xDC,0xDD,0xFD,0xBD,0xBF,0xFE,0x5B,
0xEF,0xBE,0x55,0x3B,0x00,0xBE,0x6F,0xFD,0xBF,0xFF,0xBF,0x1F,0x00,0xBC,0xFE,0x48,
0xEF,0x3E,0xFF,0x3F,0xA0,0x3D,0x00,0xBE,0x6F,0xFD,0xDF,0xFF,0xEF,0xEF,0xDA,0x07,
0xFE,0x6F,0xAF,0x6F,0xDF,0xF7,0xBA,0xBA,0x8F,0xC7,0xE3,0xFB,0xFF,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF8,0xEF,0xFB,0xFF,0x01,0xF0,0xBE,0xED,0xDA,0xFD,
0xF7,0xFA,0xEA,0xDA,0x6D,0xEB,0xDF,0xED,0x7B,0xFF,0x6D,0xF5,0x03,0xF8,0xFB,0xFF,
0xBD,0xF7,0x3B,0xE0,0xF9,0xFE,0xF7,0xDF,0xFF,0x7D,0xFF,0xFD,0xFD,0xFD,0xDD,0xFF,
0xF5,0xF7,0x7F,0xED,0xFE,0x77,0xFF,0xBF,0xFF,0xFF,0xFB,0x07,0x00,0x5C,0x77,0x7F,
0xDD,0x9F,0xDF,0xF7,0xFF,0xFE,0x37,0xE1,0x77,0xF7,0x77,0xBB,0xBB,0xB3,0x01,0x00,
0x5B,0xBB,0x5F,0xF7,0x03,0xD6,0xE9,0x80,0xB7,0xB5,0xEF,0x9D,0x83,0xED,0xFF,0xF7,
0xFD,0xBF,0xFF,0xB7,0xFB,0x0D,0xF0,0xEE,0xEC,0xDB,0xDA,0xEB,0xFE,0xD6,0xEE,0xFF,
0xBE,0xFF,0xF7,0x6F,0xBB,0xDB,0xCE,0x0F,0xDA,0xDD,0x9D,0xFD,0xBE,0xBF,0x02,0x6D,
0xDB,0xBC,0x55,0x7B,0xEF,0x1C,0x6C,0xFF,0xBF,0xFF,0xBF,0xDF,0xFF,0xDD,0x1E,0x7E,
0x6F,0x4F,0x07,0xBC,0xAD,0x7D,0xEF,0x1C,0x6C,0xFF,0xDF,0xFF,0xEF,0x6F,0xBB,0xF7,
0xF6,0x6F,0x6F,0x6F,0xDF,0x07,0x83,0x1A,0xDF,0xEF,0xF7,0xFB,0xFF,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF8,0xEF,0xFB,0xFF,0xBD,0xF7,0xBE,0xED,0xDA,0xFC,
0xC7,0xFA,0x53,0xD7,0x6D,0xF3,0xDF,0xED,0xFF,0xFF,0x6D,0xF5,0xDF,0xFB,0xFB,0xFF,
0x01,0xF0,0xBB,0xEF,0xF9,0xFE,0xEF,0xBF,0xFF,0x7D,0xFF,0xFD,0xFE,0xFD,0xDD,0xFF,
0xF5,0xF7,0x7F,0x6D,0xFE,0x77,0xFF,0xBF,0xFF,0xFC,0xFB,0x7F,0xBF,0x5F,0x77,0x7F,
0xDD,0x9F,0xEF,0xCE,0xFF,0xFE,0xF7,0xE2,0xF7,0xFA,0x77,0xBB,0xBB,0xB7,0xDF,0xF7,
0xDF,0xFB,0x5F,0xF7,0xBF,0xD6,0xEF,0xF7,0xB7,0xB5,0xBF,0xF5,0xFF,0xED,0xFF,0xBB,
0xF3,0xBF,0xFF,0xBB,0xF3,0xED,0xF7,0xEE,0xED,0x55,0xD7,0x1D,0xFF,0xF7,0xFE,0x7F,
0x77,0xFE,0xF7,0x7F,0xBB,0xFB,0xE6,0xFF,0x03,0xDC,0xBD,0xFD,0x7E,0xBF,0x77,0x7F,
0xD7,0xCE,0x55,0xFB,0xAD,0xFF,0x6F,0x1F,0x00,0x1C,0x00,0xDC,0x80,0xED,0xE2,0x7E,
0x9F,0x7F,0xBF,0xBF,0xAD,0xFD,0xAD,0xFF,0x6F,0xFF,0xDF,0xB7,0xEF,0xAF,0x3B,0x07,
0x36,0x77,0x6F,0xAE,0xDF,0xF7,0xBB,0xE2,0xDF,0xEF,0xF7,0xFB,0xF6,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0x77,0xF6,0xFF,0xBF,0xFF,0x02,0xE8,0xFC,0x7A,
0x70,0x77,0xDC,0xDF,0x65,0xDB,0xEF,0xEF,0xB5,0xEF,0x6D,0xFB,0xDF,0xFB,0xFB,0xFF,
0xBD,0xF7,0xBB,0xEF,0xFF,0xFE,0xEF,0xBF,0xFD,0x7D,0xFF,0x7D,0xFF,0xFD,0xDD,0xFF,
0xF5,0xF7,0x73,0x7E,0xFD,0x7B,0xFF,0xBF,0x7F,0xFB,0xFB,0x7F,0xDC,0x5F,0x7B,0xBF,
0xEB,0xFF,0x07,0x10,0xFF,0xFE,0x37,0xD3,0xF7,0xFD,0x07,0xBB,0xBB,0xBF,0xBF,0xF7,
0x1F,0x00,0xEF,0xFA,0xDF,0xDE,0xEF,0xF7,0xB7,0xB5,0xDF,0xED,0xFF,0xED,0xF3,0x01,
0xC4,0xBF,0xFF,0xBC,0xC7,0x0D,0xF0,0xEE,0xEF,0x95,0xD7,0xA7,0xFC,0x07,0x40,0x3E,
0x80,0xF8,0xF7,0x7F,0xBB,0xFB,0xEA,0xFD,0xDF,0xDF,0xFD,0x7D,0xFF,0xBE,0xB7,0x7F,
0x57,0xDF,0xF7,0xFB,0x6E,0xFF,0x6F,0xFF,0xBD,0xFF,0xBD,0xDF,0xBE,0xFD,0xFE,0x7E,
0x9F,0x7F,0xBF,0xBF,0xAD,0xFD,0x6E,0xFF,0x6F,0x3F,0xBF,0xCF,0xF7,0xEF,0xBB,0xF7,
0xC6,0xBB,0x6F,0xAF,0xDF,0xF7,0xFB,0xFA,0xDF,0xEF,0xF7,0xF7,0xF9,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xF0,0x97,0xF5,0xFF,0xBF,0xFF,0xFE,0xEF,0x40,0xF7,
0x77,0xF7,0x1F,0xD0,0x69,0xD5,0xF7,0xEE,0x75,0xDB,0x6E,0xF5,0xEF,0xFB,0xFB,0xFF,
0xBF,0xDF,0xAB,0xEF,0xF9,0xEE,0xAF,0xBF,0xFD,0xBD,0xFF,0x7E,0x7F,0xFD,0xDD,0xFD,
0xF5,0xF7,0x73,0xA0,0xFB,0x7B,0xEF,0xBF,0x7F,0xFB,0xFB,0xFE,0xE3,0x1F,0x7B,0xDF,
0xF7,0x9F,0xF9,0xBE,0xFF,0xFE,0xF7,0x34,0xF7,0xFA,0x77,0xBB,0x83,0xBF,0x3F,0xF7,
0xDF,0xFB,0xF7,0xFD,0xEF,0xDE,0xEF,0xF7,0xB7,0xBD,0xEF,0xDD,0x8F,0x6E,0x67,0xBE,
0xEF,0xBF,0xFF,0xBF,0xEF,0xEE,0xF7,0xE0,0xEF,0xDE,0xDF,0xB8,0xE3,0xF7,0xFE,0xCC,
0xF7,0xFD,0xF7,0x7F,0xBB,0xFB,0xEE,0x7D,0xDE,0x1B,0xFC,0xBD,0xFF,0xB8,0xCF,0x7F,
0xBF,0xDF,0xEB,0x7B,0xEF,0x7E,0x74,0xFB,0xBB,0xFF,0xBB,0xDF,0xBE,0xFD,0xFE,0x7E,
0x6F,0x7F,0xBF,0xBF,0xED,0x7D,0xEF,0x7E,0x74,0xDB,0x7E,0xFF,0xFB,0xEF,0xFB,0x07,
0xF6,0xBF,0xEF,0x9F,0xDF,0xF7,0xFF,0xFA,0xFF,0xFF,0xFF,0xEF,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xF3,0xE7,0xF3,0xFF,0xBF,0xFF,0xFE,0xEF,0x9F,0xC7,
0xB7,0xEF,0xFF,0xDF,0x55,0xCE,0xFB,0xF5,0xF4,0xDB,0x6A,0xC6,0xF7,0xFB,0xFF,0xFF,
0xBF,0xDF,0x33,0xE0,0xF9,0xEE,0xB7,0xDF,0xFB,0xBE,0xFF,0x7E,0x7F,0xFB,0xDE,0xFD,
0xEE,0xFB,0xF7,0xCF,0xE3,0x7D,0xEF,0xBF,0xF7,0x0C,0x00,0xFC,0x9C,0xDF,0x7D,0xEF,
0xCB,0x9F,0xFF,0xFE,0xDF,0xFE,0x17,0xB7,0x7B,0xE7,0x7B,0xBD,0xBB,0xD7,0xBF,0xF7,
0xDF,0xFB,0xFB,0xF2,0xF7,0xDE,0xEF,0xF7,0x37,0xBC,0xF7,0xBD,0xF1,0x6E,0xEF,0xBF,
0xFF,0xB7,0xFF,0xBF,0xFF,0xEE,0xF7,0xEE,0xF5,0xDE,0xDF,0x07,0xFC,0xF7,0xFE,0xFD,
0xF7,0xFF,0xF6,0x7F,0xBB,0xF9,0xEE,0x89,0xDF,0xDB,0xBD,0xDE,0xFF,0xBD,0x27,0x7F,
0x01,0xD8,0xDB,0xBB,0xEF,0x8D,0x77,0xFB,0xBB,0xFF,0xBB,0xDF,0x80,0xFD,0xFE,0x7E,
0xF7,0x78,0xBF,0xBF,0xE1,0xBD,0xEF,0x8D,0x77,0xDB,0x7E,0xFE,0xF9,0xEF,0xFB,0xF7,
0x76,0xDF,0xEF,0xDF,0xDF,0xF7,0x7F,0xFB,0x8E,0xC7,0xE3,0xCF,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xEF,0xFB,0xEF,0xFF,0xBF,0xFF,0x00,0xE0,0xE7,0xEF,
0xB7,0xCF,0xFF,0xEB,0xB7,0xDF,0xFD,0xFB,0x0F,0x78,0x77,0xEF,0xF9,0xFA,0xFB,0xFF,
0x7F,0xC0,0xBB,0xEF,0x3F,0x18,0x78,0xE0,0x07,0xBF,0xFF,0x7E,0x00,0x07,0x07,0x03,
0x1F,0xFC,0xFB,0xF3,0xF7,0xFE,0x60,0x00,0xE0,0xFF,0xFF,0x3F,0x7F,0xFE,0x7E,0xF7,
0x3C,0xFE,0x03,0x80,0xBF,0xFE,0xF7,0xF5,0xBB,0x1F,0x5B,0xD5,0xFB,0xEF,0xFF,0xF5,
0xEB,0xFB,0x3D,0x8F,0xBB,0xD6,0x6B,0x00,0xBF,0xAE,0x7B,0xBD,0x7F,0x1F,0xFF,0x00,
0xE0,0xAF,0xFF,0xBF,0x7F,0xEF,0xF5,0xFE,0x7B,0x1F,0xC0,0xDF,0xFD,0xFA,0xFE,0x1F,
0x00,0xFC,0xF5,0x7F,0xBF,0xFF,0x1E,0xFC,0x3F,0xD8,0x7F,0xEF,0xFF,0xBF,0xF8,0x78,
0xFF,0xDF,0xDD,0xDA,0xEB,0xFD,0xFB,0xF8,0xAF,0xFF,0xAF,0xDF,0x7F,0xFD,0xFE,0x5E,
0xF9,0x5D,0x03,0xF8,0x75,0xDD,0xEB,0xFD,0xFB,0x38,0xFF,0xFD,0xFE,0xD7,0xFF,0xF7,
0x76,0xEE,0xEB,0xDF,0x07,0xE3,0x7F,0xFB,0x8E,0xC7,0xE3,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFE,0xEF,0xFF,0xFF,
0xD7,0xEF,0xFF,0xF7,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFE,0xFD,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0x7F,0x7F,0x7F,0x3F,
0x7F,0xFF,0xFF,0xFF,0x7F,0xFF,0xF7,0xFB,0xCD,0xBF,0xBD,0xEE,0xFF,0xFF,0xFF,0xFB,
0xF7,0xFB,0xCF,0xDF,0x7F,0xEF,0xF7,0xFF,0xBF,0xDF,0xFF,0xFE,0xBF,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0xFB,0xFF,0xFF,0xDF,0xDF,0xEF,0xFC,0xFD,0xFE,0xFF,
0xFF,0xFF,0xFB,0x7F,0xBF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFE,0xFD,0xF7,0xFF,0xFD,0xFF,0xDF,0xFF,0xDF,0xDF,0xFF,0xFE,0xFE,0xBE,
0xFF,0xBF,0xFF,0xFF,0xFD,0xFE,0xF7,0xFF,0xFD,0xFF,0xFF,0x03,0xFF,0x3B,0x00,0xB6,
0x0E,0xF7,0xF7,0xFF,0xFF,0xFF,0xBF,0x07,0xFE,0xFF,0xFF,0x7F,0xE0,0xFF,0xFF,0xFF,
};
unsigned char linetemp[7]={0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void send595(unsigned char sendata)
{
if(disp_on)
{
CLK=0;//拉低时钟线
SDA=sendata&0x01;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x02;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x04;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x08;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x10;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x20;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x40;//提取最低位
CLK=1;//数据移入
CLK=0;
SDA=sendata&0x80;//提取最低位
CLK=1;//数据移入
CLK=0;
}
else
{
SDA=1;CLK=0;
CLK=1;CLK=0;CLK=1;CLK=0;CLK=1;CLK=0;CLK=1;CLK=0;
CLK=1;CLK=0;CLK=1;CLK=0;CLK=1;CLK=0;CLK=1;CLK=0;
}
}
void ledlinesend(unsigned int line)
{
unsigned char sdata,bitshift;//临时数据,位移量,临时位
unsigned int start_add;
UPD=0;//冻结595输出
start_add=line*byte_width+(pian_yi_liang>>3);
bitshift=pian_yi_liang&0x07;
for(sdata=0;sdata<7;sdata++)
{
linetemp[sdata]=disp[start_add+sdata];//取对应行第一字节数据
}
while(bitshift--)
{
linetemp[0]=linetemp[0]>>1;
if(linetemp[1]&0x01){linetemp[0]=linetemp[0]|0x80;}
linetemp[1]=linetemp[1]>>1;
if(linetemp[2]&0x01){linetemp[1]=linetemp[1]|0x80;}
linetemp[2]=linetemp[2]>>1;
if(linetemp[3]&0x01){linetemp[2]=linetemp[2]|0x80;}
linetemp[3]=linetemp[3]>>1;
if(linetemp[4]&0x01){linetemp[3]=linetemp[3]|0x80;}
linetemp[4]=linetemp[4]>>1;
if(linetemp[5]&0x01){linetemp[4]=linetemp[4]|0x80;}
linetemp[5]=linetemp[5]>>1;
if(linetemp[6]&0x01){linetemp[5]=linetemp[5]|0x80;}
linetemp[6]=linetemp[6]>>1;
}
send595(linetemp[0]);
send595(linetemp[1]);
send595(linetemp[2]);
send595(linetemp[3]);
send595(linetemp[4]);
send595(linetemp[5]);
UPD=1;//595输出
}
void LED_shuaxin(void)
{
hang++;
OEN=1;//关闭显示(黑屏)
ledlinesend((hang&0x0f));
P3=hang;
OEN=0;//显示
}
void Timer0(void) interrupt 1
{
TH0=(65536-3000)/256;
TL0=(65536-3000)%256;
zhou_ping++;//走屏速度延时变量
if(zhou_ping>=speed)//判断毫秒数是否到达预定速度
{
zhou_ping=0;//辅助变量复位
if(gunping)//是否允许滚屏
{
pian_yi_liang=pian_yi_liang+1;//换一屏数据
}
if(pian_yi_liang>1360)//判断内容是否显示完毕
{
pian_yi_liang=0;//返回头头开始
}
if(pause==0)//判断滚屏暂停按钮是否按下
{
gunping=!gunping;//启动、暂停
}
}
LED_shuaxin();//每毫秒刷新一次LED屏
}
void Timer1(void) interrupt 3 using 1
{
TH1=(65536-20000)/256;//置初值
TL1=(65536-20000)%256;
san_shuo++;//闪烁辅助变量
if(san_shuo>=8&&disp_flash)//闪烁频率控制,是否闪烁
{
san_shuo=0;//辅助变量清零
disp_on=!disp_on;//闪烁
}
if(SPEEDUP==0&&speed>=20)//调整内容切换频率
{
speed--;//增加速度
}
if(SPEEDDOWN==0&&speed<100)//调整内容切换频率
{
speed++;//降低速度
}
}
void init(void)
{
TMOD=0X11;//定时器方式1
ET0=1;//打开T0中断
ET1=1;//打开T1中断
TR0=1;//T0运行
TR1=1;//T1运行
PT0=1;//T0优先
EA=1;//总中断使能
}
void main(void)
{
speed=20;//开机设置内容更新频率
disp=&LEDDOT;//置显示指针
init();//初始化
disp_on=1;//打开显示
gunping=1;//允许切换内容
byte_width=176;
while(1)
{
if(turnleft==0)//左转?
{
disp=&left;
disp_flash=1;
gunping=0;
byte_width=6;
yuan_pian_yi=pian_yi_liang;
pian_yi_liang=0;
while(turnleft==0);
pian_yi_liang=yuan_pian_yi;
byte_width=176;
disp=&LEDDOT;
disp_flash=0;
gunping=1;
disp_on=1;
}
if(turnright==0)//右转??
{
disp=&right;
disp_flash=1;
gunping=0;
byte_width=6;
yuan_pian_yi=pian_yi_liang;
pian_yi_liang=0;
while(turnright==0);
pian_yi_liang=yuan_pian_yi;
byte_width=176;
disp=&LEDDOT;
disp_flash=0;
gunping=1;
disp_on=1;
}
if(slow_down==0)//刹车??
{
disp=&STOP;
disp_flash=1;
gunping=0;
byte_width=6;
yuan_pian_yi=pian_yi_liang;
pian_yi_liang=0;
while(slow_down==0);
pian_yi_liang=yuan_pian_yi;
byte_width=176;
disp=&LEDDOT;
disp_flash=0;
gunping=1;
disp_on=1;
}
}
} |