?? cm160128c.c
字號:
/********************************
名稱:CM160128液晶顯示程序
設(shè)計(jì):河南科技大學(xué) 創(chuàng)達(dá)科技 陳仲庫
設(shè)計(jì)日期:2007年5月13日晚
技術(shù)交流:kuzi00@163.com QQ:86828048
接口說明
LCD_CD=P3^5;LCD_WR=P3^6;LCD_RD=P3^7;
CE取低電平 直接接GND
P2口為數(shù)據(jù)口 間接方式 控制T6963C
*********************************/
#include <reg51.h>
#include <LCD_ziku.c> //LCD_ziku.c 含有字模
sbit LCD_CE=P3^4;
sbit LCD_CD=P3^5;
sbit LCD_WR=P3^6;
sbit LCD_RD=P3^7;
#define unint unsigned int
void LCD_Busy()
{
unint dat;
do{
P2=0xff;
LCD_CD=1;
LCD_RD=0;
dat=P2;
LCD_RD=1;
dat=0x03&dat;
}while(dat!=0x03);
}
void LCD_Data(dat)
{
LCD_Busy();
LCD_CD=0;
P2=dat;
LCD_WR=0;
LCD_WR=1;
}
void LCD_Com1(command)//寫有 1 個(gè)參數(shù)命令
{
LCD_Busy();
LCD_CD=1;
P2=command;
LCD_WR=0;
LCD_WR=1;
}
void LCD_Com2(dat, command)//寫有 2 個(gè)參數(shù)命令
{
LCD_Data(dat);
LCD_Com1(command);
}
void LCD_Com3(data1, data2, command)//寫有 3 個(gè)參數(shù)命令
{
LCD_Data(data1);
LCD_Data(data2);
LCD_Com1(command);
}
void LCD_Clear()//清屏
{
long i;
LCD_Com3(0x00,0x00,0x24);
LCD_Com1(0xb0);
for(i=0;i<20500;i++) LCD_Data(0x00);//160*128
LCD_Com1(0xb2);
}
void LCD_Init()//初始化LCD
{
LCD_CD=1;
LCD_WR=1;
LCD_RD=1;
LCD_Com1(0x90);
LCD_Com3( 0x00,0x00,0x42 );
LCD_Com3( 0x14,0x00,0x43);
LCD_Com1(0x80);
LCD_Com1(0x98);
LCD_Clear();
}
//漢字顯示 參數(shù)說明LCD_HZ(行點(diǎn)陣數(shù),列點(diǎn)陣,第幾個(gè)字)行0~127 列 0~159
void LCD_HZ(unint x,unint y,unint n)
{
char i;
long StartAddr;
StartAddr=x*320+y; //
for(i=0;i<16;i++)
{
LCD_Com3(StartAddr,((StartAddr)/256),0x24);
LCD_Com2(HZTable [n][i*2] , 0xc0);
LCD_Com2( HZTable[n][i*2+1], 0xc4);
StartAddr=StartAddr + 20;
}
}
//顯示字母
void LCD_Char(char x,char y,char ch)
{
char i, dat;
int StartAddr;
StartAddr=x*320+y;
for(i=0;i<16;i++)
{
dat=ASCII816[ch][i];
LCD_Com3(StartAddr,StartAddr>>8, 0x24);
LCD_Com2(dat, 0xc4);
StartAddr=StartAddr + 20;
}
}
void charline(char x,char y ,char n,char m)
{
char i;
for(i=0;i<m;i++)
LCD_Char(x,y+i,n+i);
}
//顯示數(shù)字
void LCD_No(char x,char y,char ch)
{
char i, dat;
int StartAddr;
StartAddr=x*320+y;
for(i=0;i<16;i++)
{
dat=number[ch][i];
LCD_Com3(StartAddr,StartAddr>>8, 0x24);
LCD_Com2(dat, 0xc4);
StartAddr=StartAddr + 20;
}
}
void main(void)
{
char i;
LCD_CE=0;
LCD_Init();
LCD_HZ(1,5,0); //陳
LCD_HZ(1,9,1); //仲
LCD_HZ(1,13,2); //庫
LCD_HZ(3,0,3);//河南科技大學(xué) 機(jī)電工程學(xué)院
LCD_HZ(3,2,4);
LCD_HZ(3,4,5);
LCD_HZ(3,6,6);
LCD_HZ(3,8,7);
LCD_HZ(3,10,8);
LCD_HZ(3,12,9);
LCD_HZ(3,14,10);
LCD_HZ(3,16,11);
LCD_HZ(3,18,12);
LCD_HZ(5,7,13);
LCD_HZ(5,11,14);
charline(2,4,0,11); //ChenZhongku
for (i=0;i<10;i++) //在最下行(第8行)顯示0123456789 //顯示數(shù)字
LCD_No(7,5+i,i);
while(1)
{
};
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -