刷屏
主函數
#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
|