?? alcda.#3
字號:
/*參考程序B.LCDA.c程序功能;在該液晶模塊上顯示二行字符:
Welcom To NCD
www.xhl.com.cn*/
#include <c8051f020.h>
unsigned long x; //www.xhl.com.cn
unsigned char xdata Netdata[15]={0x77,0x77,0x77,0x2e,0x78,0x68,0x6c,0x2e,0x63,0x6f,//|
0x6d,0x2e,0x63,0x6e};// |
unsigned char xdata NCDdata[15]={0x57,0x65,0x6c,0x63,0x6f,0x6d,0x65,0x20,0x74,0x6f,//|
0x20,0x4e,0x43,0x44};// |
unsigned char *lcdpoint; //指向 lcddata數組的指針
unsigned char lcd_data_count; //要顯示的數據個數
void SYSCLK_Init (void);
void PORT_Init (void);
void LCD_Init(void);
void SEND_LCD(unsigned char lcd_data_count);
void main (void)
{
static unsigned char data1,data2;
WDTCN = 0xde;
WDTCN = 0xad; //禁止看門狗定時器
SYSCLK_Init (); // 系統時鐘初始化
PORT_Init (); // 交叉開關和通用I/O口初始化
while(1){
LCD_Init(); //LCD初始化
//P6 = 0x0d; //準備送數據
for(x=0;x<5000;x++);
lcdpoint=&NCDdata;
for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //顯示第一行字符
{
data1=*lcdpoint;
P7 = data1; //向LCD送數據
P6 = 0x05;
P6 = 0x04;
lcdpoint++;
for(x=0;x<100;x++);
}
P7 = 0xc0;
P6 = 0x1;
P6 = 0x0;
for(x=0;x<1000;x++);
lcdpoint=&Netdata;
for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //顯示第一行字符
{
data1=*lcdpoint; //向LCD送數據
P7 = data1;
P6 = 0x04;
P6 = 0x05;
lcdpoint++;
for(x=0;x<100;x++);
}
}
}
//函數名稱: SYSCLK_Init ()
//函數功能: 系統時鐘初始化
void SYSCLK_Init (void)
{
OSCICN = 0x05; // 系統時鐘初始化為片內的 24.5MHz / 8
}
void PORT_Init (void)
{
XBR0 = 0x00; // 沒有選擇數字外設
P74OUT = 0xf0; // P6,P7口設為推挽方式
}
void LCD_Init(void) //向LCD送命令
{
P6 = 0x01;
for(x=0;x<50000;x++);
//P7 = 0x30; /*一行顯示*/
P7 = 0x38; /*兩行顯示*/
P6 = 0x1;
P6 = 0x0; //向LCD送命令
for(x=0;x<1000;x++);
P7 = 0x0e; /*開顯示,開光標,字符不閃爍*/
P6 = 0x1;
P6 = 0x0;
for(x=0;x<1000;x++);
P7= 0x06; /*I/D=1,AC自動增1;S=0,整體顯示不移動*/
P6 = 0x1;
P6 = 0x0;
for(x=0;x<5000;x++);
P7 = 0x01; /*清除DDRAM,置AC=0*/
P6 = 0x1;
P6 = 0x0;
for(x=0;x<5000;x++);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -