- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
用单片机和点阵图型LCD显示屏制作流动图像(发布).c
资源名称:AVR.rar [点击查看]
上传用户:sophiecyc
上传日期:2007-10-14
资源大小:14856k
文件大小:18k
源码类别:
单片机开发
开发平台:
C/C++
- //================用单片机和点阵图型LCD显示屏制作流动图像====================
- //============================作者:陈燕春===================================
- //声 明: //
- // 以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. //
- // 如用于商业用途请与作者联系. E-mail:flying_swallow_@163.com //
- // 有问题请mailto: flying_swallow_@163.com 欢迎与我交流! //
- #include<AT89X51.H>
- //晶振12MHZ
- //***************************************
- //RM-F电视遥控器代码表
- //对应C语言程序(C51单片机)
- #define d_quiet 0x48b7
- #define d_on_off 0x18e7
- #define d_1 0x807f
- #define d_2 0x40bf
- #define d_3 0xc03f
- #define d_4 0x20df
- #define d_5 0xa05f
- #define d_6 0x609f
- #define d_7 0xe01f
- #define d_8 0x10ef
- #define d_9 0x906f
- #define d_0 0x00ff
- #define d__ 0x50af
- #define d_circle 0x30cf
- #define d_SLEEP 0x9867
- #define d_BLUE 0x28d7
- #define d_SYS 0xa857
- #define d_TV_AV 0xd02f
- #define d_DISP 0x8877
- #define d__P 0xc837
- #define d_SCAN 0xb04f
- #define d_FUNC 0x708f
- #define d_LDL 0x8f7 //亮度,对比度
- #define d_V_add 0xd827
- #define d_P_add 0xe817
- #define d_PRESET 0xf00f
- #define d_V_sum 0x58a7
- #define d_P_sum 0x6897
- //***************************************
- #define LCD_data P0//定义LCD数据指令输入输出端
- #define _code_length 42//遥控代码长度(固定)
- unsigned char code_length=_code_length ; //遥控代码位长度
- unsigned int code_t=0; //保存遥控代码(临时)
- unsigned int code_tt=0; //保存遥控代码
- bit bdata code_right=0; //接收代码是否正确
- bit bdata light_FD=0;//0 前半部,1后部分
- sbit D_I=P2^7;
- sbit R_W=P2^6;
- sbit E=P2^5;
- sbit CS1=P2^4;
- sbit CS2=P2^3;
- sbit RST=P2^2;
- sbit LCD_light=P2^1;//背光
- //设置X,Y轴
- unsigned char LCD_x=0;
- unsigned char LCD_y=0;
- unsigned char time_count=5;//记录移动延时
- unsigned char time_count2=0;//移动延时计数
- signed int LCD_move=0;//记录移动字节数
- unsigned char LCD_move_little=0;//记录移动位
- unsigned int LCD_light_head;//数组头地址
- unsigned int LCD_light_trail;//数组尾地址
- unsigned char code light_data_h=15;//图象高度
- unsigned char code light_data[]={
- /*-- 调入了一幅图像:D:Documents and Settingsghost桌面新建文件夹无线电.bmp --*/
- /*-- 宽度x高度=128x116 --*/
- /*-- 宽度不是8的倍数,现调整为:宽度x高度=128x120 --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x07,0x07,0x07,0x8F,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x1F,0x1F,0x1F,0x01,0x01,0x21,
- 0xC7,0x8F,0x1F,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x0F,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xC7,0x87,0x0F,0x0F,0x0F,
- 0x07,0x07,0x03,0x01,0x80,0x80,0xC0,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0x3F,0x1F,0x1F,0x07,0x03,0xC1,0xE0,0xF0,0xF8,0xFC,0xFE,0xFE,0xFF,0x7C,0x18,
- 0x07,0x07,0x03,0x00,0xC0,0x00,0x19,0xFF,0xFF,0xFD,0xF1,0xC3,0xC7,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,
- 0x8F,0xC7,0xE3,0x23,0x01,0x00,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0x79,0x01,0x01,0x83,
- 0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,
- 0x00,0x00,0x00,0x03,0x03,0x0F,0x05,0x01,0x01,0x81,0xC3,0xE7,0xEF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xF8,0x30,0x00,0x00,0xE0,0xF0,0xFF,0xFF,0xFF,0x1F,0x0F,0xC3,0xE0,0xF0,0xE0,
- 0x00,0x00,0x06,0x0F,0x03,0x00,0x00,0x1F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x03,0x1F,0x1F,0x07,0xC1,0xE0,0x78,0x1C,
- 0x1F,0x1F,0x07,0x80,0xE0,0xFF,0x7F,0x7F,0x1F,0x9F,0xC7,0xE1,0xE0,0xF8,0xFE,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,0x87,0x0F,0x0F,0x07,0x03,0x01,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xC8,0x1C,0x3E,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0x03,0x0F,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFC,0xF0,0xF0,0x00,0x01,0x07,0x83,0xC0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,
- 0xF8,0xFC,0x7C,0x10,0x00,0x00,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xC0,0x80,0x80,0xFE,0xFF,0xFF,0xE0,0xC0,
- 0x00,0x00,0x00,0x39,0x3B,0x3D,0x0C,0x00,0x86,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0x8A,0x00,0x00,0x00,
- 0x80,0xC0,0xE0,0xFC,0xFF,0xC0,0x80,0x00,0x78,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,
- 0x1F,0x1F,0x1F,0x80,0x80,0xC0,0xC0,0xC1,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xE2,0xE0,0xE0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xC7,
- 0xF3,0xF1,0xF8,0xFE,0xFE,0xF8,0xE0,0x03,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x80,0x18,0x3F,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x9F,
- 0x9F,0xCF,0xCF,0xC0,0xE0,0xE0,0xE0,0xE1,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x87,0x87,0x86,0x86,0x86,
- 0x87,0x87,0x87,0x87,0x07,0x07,0x07,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
- 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x87,0x87,0x87,0x07,0x07,0x87,0x87,0x87,0x07,
- 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
- 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
- 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
- 0x07,0x07,0x06,0x06,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x06,0x07,0x07,0x07,
- 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0xFF,
- 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x73,0x73,
- 0xF3,0xF3,0xF3,0xBF,0x3F,0x1E,0x00,0x00,0x10,0x98,0xCC,0xCC,0x6C,0xFC,0xFC,0xF8,
- 0x00,0xF0,0xF8,0xFC,0x1C,0x0C,0x18,0xFF,0xFF,0xFF,0x00,0x00,0xFD,0xFD,0xFD,0x00,
- 0x00,0xF0,0xF8,0xFC,0x1C,0x0C,0x1C,0xFC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xF0,0x38,0x18,0x18,0x38,0x30,0x00,0x00,0xE0,0xF0,0x38,0x18,0x18,0x38,0xF0,0xE0,
- 0x00,0x00,0xF8,0xF8,0x30,0x18,0x18,0xF8,0xF0,0x30,0x18,0x18,0xF8,0xF0,0x00,0x00,
- 0x00,0x00,0x00,0xE0,0xF0,0x38,0x18,0x18,0x38,0x30,0x00,0x00,0xF8,0xF8,0x30,0x18,
- 0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
- 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x00,0x00,
- 0x00,0x01,0x07,0x0F,0x0F,0x0C,0x08,0x00,0x07,0x0F,0x0F,0x0C,0x0C,0x07,0x0F,0x0F,
- 0x00,0x03,0x07,0x0F,0x0E,0x0C,0x06,0x0F,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x0F,0x00,
- 0x00,0x03,0x07,0x0F,0x0E,0x0C,0x0E,0x0F,0x07,0x03,0x00,0x00,0x0C,0x0C,0x00,0x00,
- 0x07,0x0E,0x0C,0x0C,0x0E,0x06,0x00,0x00,0x03,0x07,0x0E,0x0C,0x0C,0x0E,0x07,0x03,
- 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,
- 0x0C,0x00,0x00,0x03,0x07,0x0E,0x0C,0x0C,0x0E,0x06,0x00,0x00,0x0F,0x0F,0x00,0x00,
- 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
- 0x01,0x21,0xF9,0xA1,0xA1,0xA1,0xF9,0x21,0xE1,0x01,0x01,0x01,0x01,0xD1,0xF1,0xB1,
- 0xB1,0xF1,0x01,0xF1,0x01,0xF9,0x01,0x01,0xF1,0xF1,0x91,0x91,0x99,0xF9,0x91,0x91,
- 0x91,0x81,0x01,0x01,0x21,0xB9,0xF1,0x21,0xF1,0x91,0x91,0x91,0xF1,0x01,0x01,0x01,
- 0x01,0x01,0x01,0x01,0x01,0x81,0xE1,0x79,0x19,0x01,0x01,0x11,0x11,0x11,0x11,0xF1,
- 0x11,0x11,0x11,0x11,0x01,0x01,0x81,0xE1,0xD9,0x61,0x41,0x41,0xF9,0x21,0xA9,0xB1,
- 0x81,0x01,0xE1,0xE1,0xA1,0xA1,0xF9,0xA1,0xA1,0xE1,0x01,0x01,0x01,0x01,0x19,0x79,
- 0xE1,0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x91,0xD1,0x79,0x99,0x11,
- 0xF1,0x81,0xC1,0x01,0x01,0x21,0xA1,0xA1,0xA1,0xF9,0xA9,0xA1,0xA1,0x21,0x21,0x01,
- 0x20,0x1D,0x17,0x00,0x1C,0x06,0x13,0x19,0x03,0x1D,0x12,0x00,0x11,0x1C,0x0E,0x03,
- 0x19,0x00,0x08,0x19,0x04,0x1F,0x10,0x10,0x1F,0x10,0x10,0x18,0x0E,0x03,0x06,0x08,
- 0x10,0x10,0x00,0x02,0x03,0x1F,0xC1,0xD3,0x18,0x0F,0x80,0x1F,0xD0,0x10,0x00,0x80,
- 0x80,0x80,0x80,0x80,0x00,0x83,0x0F,0xFC,0x30,0x00,0x80,0x91,0x91,0x89,0x0F,0x03,
- 0x1F,0x91,0x91,0x99,0x08,0x00,0x12,0x0B,0xCA,0x4E,0x51,0x51,0x4B,0x4F,0x5C,0xD2,
- 0x18,0x00,0x07,0x07,0x82,0xC2,0x9F,0x92,0x92,0x97,0x98,0x88,0x00,0x00,0x30,0x3C,
- 0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x12,0x0A,0x0E,0x12,0x1F,0x02,
- 0x06,0x0A,0x1A,0x00,0x10,0x1E,0x04,0x1E,0x12,0x12,0x16,0x18,0x06,0x1C,0x10,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x04,0x02,0xFF,0x84,0xA4,0xBD,0xC1,0x1F,0x80,0xFF,0x00,0x04,0x04,
- 0x04,0xFF,0x04,0x04,0x04,0x3F,0x80,0xFF,0x00,0x20,0x6F,0x47,0x44,0x7C,0x38,0x00,
- 0x3F,0x7F,0x40,0x7F,0x3F,0x00,0x00,0xE0,0x3F,0x04,0x7A,0x57,0x5A,0x7A,0x84,0xFF,
- 0x00,0x00,0x24,0x12,0x1D,0x14,0x14,0xFF,0x94,0x14,0x14,0x10,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x08,0xFE,0xFE,0x00,0x00,0x00,0x1C,0x3E,0x22,0xFE,0xFC,0x00,
- 0x80,0xBE,0x1E,0x12,0xF2,0xE0,0x00,0x80,0xBE,0x1E,0x12,0xF2,0xE0,0x00,0x60,0x60,
- 0x60,0x00,0x84,0xC6,0x62,0x3E,0x1D,0x00,0x00,0xFC,0xFE,0x02,0xFE,0xFC,0x00,0x00,
- 0xFC,0xFE,0x02,0xFE,0xFC,0x00,0x80,0xBE,0x1E,0x12,0xF2,0xE0,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
- 0x40,0x40,0x40,0x40,0x40,0x41,0x41,0x40,0x40,0x40,0x41,0x41,0x41,0x41,0x40,0x40,
- 0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x40,0x40,
- 0x40,0x40,0x41,0x41,0xC1,0x41,0x41,0x40,0x40,0x40,0x41,0x41,0x41,0x40,0x40,0x40,
- 0x40,0x41,0xC1,0x41,0x40,0x40,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x40,0x40,0xC0,
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xC0,0x40,0x40,0x40,0xC0,0x40,0x40,
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x08,0x36,0xC1,0x1C,0x63,0x00,0x00,0x00,0x08,0x89,0x69,
- 0x1F,0xF9,0x09,0x09,0x08,0x08,0xC0,0x00,0x08,0x6E,0x59,0x24,0x94,0x13,0x3C,0xD5,
- 0x54,0x20,0x80,0x00,0x00,0x7E,0x4A,0x4A,0xFF,0x4A,0x4A,0x4A,0x7E,0x00,0x80,0x00,
- 0x00,0x00,0x63,0x1C,0xC1,0x36,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,
- 0x55,0x33,0x11,0xF9,0x11,0x37,0x48,0x84,0x00,0x00,0x80,0x64,0x05,0xF5,0x8D,0xB7,
- 0x85,0x85,0x15,0x64,0x00,0x00,0x10,0x09,0xFD,0x07,0x8C,0x84,0x84,0xFF,0x84,0x80,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
- 0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x01,0x01,0x00,
- 0x01,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- };
- //**************************************************************************
- //写代码(命令)指令
- void LCD_wcode(unsigned char c,unsigned char cs1,unsigned char cs2);
- //写数据子程序
- void LCD_wdata(unsigned char c,unsigned char cs1,unsigned char cs2);
- //**************************************************************************
- //延时子程序
- void delay(unsigned int v)
- {
- while(v!=0)
- v--;
- }
- void LCD_reset()//复位信号子程序
- {
- RST=0;
- delay(100);
- E=0;
- RST=1;
- delay(20);
- D_I=0;R_W=1;
- CS1=1;CS2=1;
- LCD_data=0xff;
- while(1)
- {
- E=1;
- delay(1);
- if((LCD_data&0x10)==0) break;
- E=0;
- if((LCD_data&0x10)==0) break;
- }
- E=0;
- }
- /*忙判别*/
- void LCD_busy(void)
- {
- D_I=0;R_W=1;
- CS1=1;CS2=1;
- LCD_data=0xff;
- while (1)
- {
- E=1;
- if ((LCD_data&0x90)==0) break;
- E=0;
- }
- E=0;
- }
- //显示ON/OFF子程序(1显示,0不显示)
- void LCD_dison_off(unsigned char o)
- {
- o=o+0x3e;
- LCD_busy();
- LCD_wcode(o,1,1);
- }
- //写代码(命令)指令
- void LCD_wcode(unsigned char c,unsigned char cs1,unsigned char cs2)
- {
- CS1=cs1;
- CS2=cs2;
- R_W=0;
- D_I=0;
- LCD_data=c;
- // delay(1);
- E=1;
- E=0;
- }
- //写数据子程序
- void LCD_wdata(unsigned char c,unsigned char cs1,unsigned char cs2)
- {
- CS1=cs1;
- CS2=cs2;
- R_W=0;
- D_I=1;
- LCD_data=c;
- // delay(1);
- E=1;
- E=0;
- }
- //设置显示开始行子程序
- void LCD_set_startline(unsigned char i)
- {
- i=0xc0+i;
- // LCD_busy();
- LCD_wcode(i,1,1);
- }
- //设置显示具体位置子程序
- void LCD_set_adr(unsigned char x,unsigned char y)
- {
- x=x+0xb8;
- // LCD_busy();
- LCD_wcode(x,1,1);
- y=y+0x40;
- // LCD_busy();
- LCD_wcode(y,1,1);
- }
- //判断X,Y轴并写入一位数据,k=1反显
- void LCD_writeAword(unsigned char LCD_store,unsigned char *y,unsigned char k)
- {
- if(*y==64 || *y==LCD_y)//判断是否要写X,Y轴
- {
- if(*y>=64)
- {
- LCD_set_adr(LCD_x,*y-64);
- }
- else
- {
- LCD_set_adr(LCD_x,*y);
- }
- }
- if(*y>=64)
- {
- if(k==0)
- {
- LCD_wdata(LCD_store,0,1);
- }
- else
- {
- LCD_wdata(~LCD_store,0,1);
- }
- }
- else
- {
- if(k==0)
- {
- LCD_wdata(LCD_store,1,0);
- }
- else
- {
- LCD_wdata(~LCD_store,1,0);
- }
- }
- (*y)++;
- }
- //a[]数据指针,w宽,h高,move 字节移动,move_little 位移(0-7),head 数据开头指针地址trail 数据最后指针地址,k=1反显
- void LCD_write(unsigned char a[],unsigned char w,unsigned char h,signed int move,unsigned char move_little,unsigned int head,unsigned int trail,unsigned char k)
- {
- unsigned char loop,loop2,y;
- unsigned int LCD_store;//临时保存小移数据
- signed long word_p;//计数指针
- y=LCD_y;
- word_p=move*w;
- for(loop2=0;loop2<h;loop2++)
- {
- for (loop=0;loop<w;loop++)
- {
- if((word_p<0) || word_p>(trail-head+w))
- {
- LCD_store=0x00;//前面和后面填充
- }
- else
- {
- if(move_little==0)
- {
- LCD_store=a[word_p];
- if(word_p>(trail-head))
- {
- LCD_store=0x00;
- }
- }
- else
- {
- if(word_p<w)//开头第一行
- {
- LCD_store=a[word_p]<<move_little;
- }
- else
- {
- if(word_p>trail-head)//最后一行
- {
- LCD_store=a[word_p-w]>>(8-move_little);
- }
- else
- {
- LCD_store=a[word_p];//中间
- LCD_store=((LCD_store<<8)+a[word_p-w])>>(8-move_little);
- }
- }
- }
- }
- LCD_writeAword(LCD_store,&y,k);
- word_p++;
- }
- LCD_x++;y=LCD_y;
- }
- }
- //填充子程序
- void LCD_write_full(unsigned char d,unsigned char w,unsigned char h)
- {
- unsigned char loop,loop2,y;
- y=LCD_y;
- for(loop2=0;loop2<h;loop2++)
- {
- for(loop=0;loop<w;loop++)
- {
- if(y==64 || y==LCD_y)//判断是否要写X,Y轴
- {
- if(y>=64)
- {
- LCD_set_adr(LCD_x,y-64);
- }
- else
- {
- LCD_set_adr(LCD_x,y);
- }
- }
- if(y>=64)
- {
- LCD_wdata(d,0,1);
- }
- else
- {
- LCD_wdata(d,1,0);
- }
- y++;
- }
- LCD_x++;y=LCD_y;
- }
- }
- void light_view(void)//LCD扫描
- {
- LCD_x=0;LCD_y=0;//设光标
- if(LCD_move_little>0)
- {
- LCD_move_little--;
- }
- else
- {
- LCD_move_little=7;
- if(LCD_move>=(light_data_h))
- {
- LCD_move=(-8);
- }
- else
- {
- LCD_move++;
- }
- }
- LCD_write(light_data,128,8,LCD_move,LCD_move_little,LCD_light_head,LCD_light_trail,0);
- }
- void code_judge(void)//判断遥控代码
- {
- code_right=0;
- switch(code_tt)
- {
- case d_on_off:
- TR1=~TR1;break;//自动移动
- case d_P_sum:
- if(time_count<20)
- {
- time_count++;
- }
- else
- {
- time_count=1;
- };
- break;
- case d_P_add:
- if(time_count>1)
- {
- time_count--;
- }
- else
- {
- time_count=20;
- }
- break;
- case d_quiet:
- LCD_light=~LCD_light;//背光
- case d_V_add:
- if(LCD_move>=(light_data_h))//移动字幕
- {
- LCD_move=(-8);
- }
- else
- {
- LCD_move++;
- }
- light_view();
- break;
- case d_V_sum:
- if(LCD_move<=(-8))
- {
- LCD_move=light_data_h;
- }
- else
- {
- LCD_move--;
- }
- light_view();
- break;
- }
- }
- //**********判断代码子程序************
- unsigned char d_code(unsigned int t)
- {
- if(t<=0x480 && t>=0x300)
- return 0;
- else
- {
- if(t<=0x8ee && t>=0x700)
- return 1;
- else
- return 0xff;
- }
- }
- //*********** 接收代码中断 ************
- void receive_code() interrupt 0 using 1
- {
- unsigned int temp;
- unsigned char dd_code;
- if(TR0==0)
- {
- TH0=TL0=0;
- TR0=1;
- }
- else
- {
- TR0=0;
- temp=(TH0<<8)+TL0;
- TH0=TL0=0;
- TR0=1;
- dd_code=d_code(temp);
- if((dd_code==0||dd_code==1) && (code_length!=0))
- {
- code_t=(code_t<<1)+dd_code;
- code_length--;
- }
- else
- code_length=_code_length;
- if(code_length==0)
- {
- code_length=_code_length;
- if(code_right==0)
- {
- code_tt=code_t;
- code_right=1;
- }
- }
- }
- }
- //定时器1,中断,定时
- void time1() interrupt 3 using 2
- {
- time_count2++;
- }
- void main(void)
- {
- //********************************
- TMOD=0x11; //T0定时方式1,T1定时方式1
- IT0=1; //INT0边沿触发
- EX0=1; //外部中断0允许
- TR0=0; //定时器0计数开关
- TR1=1; //定时器1开
- ET1=1; //定时器1中断开
- EA=1; //打开CPU总中断请求
- //*********************************
- LCD_reset();//初始化
- LCD_light=0;//开背光
- LCD_dison_off(1);//开显示
- LCD_set_startline(0);//设Z坐标
- LCD_x=0;LCD_y=0;//设光标
- LCD_write_full(0x00,128,8);
- LCD_light_head=&light_data[0];
- LCD_light_trail=&light_data[128*light_data_h-1];
- while(1)
- {
- if(code_right==1)
- {
- EX0=0;
- code_judge();
- EX0=1;
- }
- if(time_count2>=time_count)
- {
- time_count2=0;//延时记录清零
- light_view();//扫描
- }
- }
- }