#include"reg51.h"typedef unsigned char u8;typedef unsigned int u16;#define DP 0x80#define CMD_RESET 0xA4#define CMD_LEFT#define CMD_RIGHT 0xA0#define CMD_MODE_1 0x80#define CMD_MODE_2 0xC8 #define CMD_MODE_3 0x90#define CMD_SHOW 0x88void delayus(u16 i);void delayms(u16 i);void write_7279(u8 out_cmd,u8 out_byte);void send_byte(u8 out_byte);sbit CS =P2^7;sbit CLK =P1^6;sbit DATA=P1^7;void main(){delayms(10);CS=1;send_byte(0xA4);write_7279(CMD_MODE_1,1);write_7279(CMD_MODE_1+1,2);write_7279(CMD_MODE_1+2,3);write_7279(CMD_MODE_1+3,4);write_7279(CMD_MODE_1+4,5);write_7279(CMD_MODE_1+5,6);write_7279(CMD_SHOW,0xc0);while(1){}}void write_7279(u8 out_cmd,u8 out_byte){u8 i;CS=0;delayus(500);for(i=0;i<8;i++){DATA=out_cmd&0x80;CLK=1;delayus(10);CLK=0;delayus(10);out_cmd<<=1;}delayus(10);for(i=0;i<8;i++){DATA=out_byte&0x80;CLK=1;delayus(10);CLK=0;delayus(10);out_byte<<=1;}DATA=0;delayus(20);CS=1;delayus(20);}void send_byte(u8 out_byte){u8 i;CS=0;delayus(50);for(i=0;i<8;i++){DATA=out_byte & 0x80;CLK=1;delayus(10);CLK=0;delayus(10);out_byte<<=1;}DATA=0;delayus(20);CS=1;}void delayus(u16 i){while(i--);}void delayms(u16 i){u16 q=0;for(q=0;q<i;q++){delayus(100);}}