刷屏
主函数
#include<reg51.h>
#include"st7565.h"
//--声明一个全局变量---//
void Delay10ms(unsigned int c);
/*******************************************************************************
* 函数名 : main
*函数功能 : 主函数
* 输入 : 无
* 输出 :无
*******************************************************************************/
void main()
{
uchar i, j;
Lcd12864_Init();
Lcd12864_ClearScreen();
while(1)
{
//--左到右慢慢刷黑屏幕--//
for (i=0; i<8; i++)
{
LcdSt7565_WriteCmd(0xB0+i);
LcdSt7565_WriteCmd(0x10);
LcdSt7565_WriteCmd(0x04);
for (j=0; j<128; j++)
{
LcdSt7565_WriteData(0xFF)
Delay10ms(1);
}
}
//--左到右慢慢刷白屏幕--//
for (i=0; i<8; i++)
{
LcdSt7565_WriteCmd(0xB0+i);
LcdSt7565_WriteCmd(0x10);
LcdSt7565_WriteCmd(0x04);
for (j=0; j<128; j++)
{
LcdSt7565_WriteData(0x00);
Delay10ms(1);
}
}
}
}
/*******************************************************************************
* 函数名 : Delay10ms
* 函数功能 : 延时函数,延时10ms
*输入 : 无
*输出 : 无
*******************************************************************************/
void Delay10ms(unsigned int c)
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
库函数 "st7565.h"
#ifndef __ST7565_H
#define __ST7565_H
#include<reg51.h>
#include<intrins.h>
//---包含字头文件
//#define CHAR_CODE
//---重定义关键字---//
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
//--定义使用的IO口--//
#define DATA_PORT P0
sbit LCD12864_CS = P3^2;
sbit LCD12864_RSET = P3^3;
sbit LCD12864_RS = P2^6;
sbit LCD12864_RW = P2^7;
sbit LCD12864_RD = P2^5;
//--定义全局函数--//
void LcdSt7565_WriteCmd(cmd);
void LcdSt7565_WriteData(dat);
void Lcd12864_Init();
void Lcd12864_ClearScreen(void);
uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn);
#endif
|