標(biāo)題:
lm8072c源碼
[打印本頁(yè)]
作者:
沐風(fēng)
時(shí)間:
2017-5-29 14:02
標(biāo)題:
lm8072c源碼
#include <stdio.h>
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit CD=P3^0;
sbit RESET=P3^3;
sbit W=P3^2;
sbit R=P3^1; //定義各控制口
void delay(void); //聲明延遲函數(shù)
void state01(void); //聲明S0S1狀態(tài)檢查函數(shù)
void state3(void); //聲明S3狀態(tài)檢查函數(shù)
void writed1d2(uchar,uchar); //聲明參數(shù)寫(xiě)入函數(shù)
void writecom(uchar); //聲明指令寫(xiě)入函數(shù)
void writedat(uchar); //聲明數(shù)據(jù)寫(xiě)入函數(shù)
void writedatauto(void); //聲明數(shù)據(jù)自動(dòng)寫(xiě)函數(shù)
void charshow(void); //聲明字型顯示函數(shù)
void charflash(void); //聲明字型閃爍控制函數(shù)(PT:死循環(huán))
void writebyte(void); //聲明寫(xiě)入一個(gè)字符函數(shù)
void readycharshow(void); //聲明字型寫(xiě)入準(zhǔn)備函數(shù)
void clear(void); //聲明清屏函數(shù)(全屏寫(xiě)空格)
void blank(void); //聲明寫(xiě)空格函數(shù)
void delay(void)
{
uchar data i;
uint data j;
for(i=0;i<100;i++)
for(j=0;j<300;j++);
}
void state01(void)
{
uchar idata i;
P1=0xff;
do
{
R=0;
i=P1;
R=1;
}
while((i&0x03)!=0x03);
}
void state3(void)
{
uchar idata i;
P1=0xff;
do
{
R=0;
i=P1;
R=1;
}
while((i&0x08)!=0x08);
}
void writed1d2(uchar d1,uchar d2)
{
state01();
CD=0;
P1=d1;
W=0;
W=1;
CD=1;
/////////////////////////////
state01();
CD=0;
P1=d2;
W=0;
W=1;
CD=1;
}
void writecom(uchar com)
{
state01();
CD=1;
P1=com;
W=0;
W=1;
}
void writedat(uchar dat)
{
state01();
CD=0;
P1=dat;
W=0;
W=1;
CD=1;
}
void writedatauto(void)
{
uchar data n;
writecom(0xb0); //數(shù)據(jù)自動(dòng)寫(xiě)開(kāi)
for(n=0;n<30;n++) //數(shù)據(jù)自動(dòng)寫(xiě)段,文字屬性
{
state3();
writedat(0x27);
}
writecom(0xb2); //數(shù)據(jù)自動(dòng)寫(xiě)關(guān)
}
void clear(void)
{
uint data n;
writed1d2(0x00,0x00); //地址指針
writecom(0x24);
writecom(0xb0); //數(shù)據(jù)自動(dòng)寫(xiě)開(kāi)
for(n=0;n<10000;n++) //數(shù)據(jù)自動(dòng)寫(xiě)段,文字屬性
{
state3();
writedat(0x00);
}
writecom(0xb2); //數(shù)據(jù)自動(dòng)寫(xiě)關(guān)
}
void charflash(void)
{
while(1) //字型閃爍控制(死循環(huán))
{
state01();
writecom(0x98);
delay();
state01();
writecom(0x90);
delay();
};
}
void writebyte(void)
{
state01(); //寫(xiě)一個(gè)字符,文字屬性
writedat(0x28);
state01();
writecom(0xc0);
}
//////////////////////////
void readycharshow(void) //靜態(tài)顯示可調(diào)用
{
uchar idata number;
number=30; //寫(xiě)入字型圖象數(shù)
state01();
writed1d2((number=(number<<1)),0x00); //圖象區(qū)寬度 240的LCD橫向字節(jié)數(shù)為30個(gè)
writecom(0x43);
}
//////////////////////
void blank(void)
{
uchar idata i;
for(i=0;i<16;i++)
{
state01();
writedat(0x00);
state01();
writecom(0xc0);
}
}
//////////////////////
void main(void)
{
uchar idata i,a,b; //可隨意支配參數(shù)
P3=0xff; //P3控制口置位
RESET=0; //LCD上電復(fù)位
delay();
RESET=1;
delay();
/*
writed1d2(0x00,0x00); //光標(biāo)設(shè)置
writecom(0x21);
writecom(0x93);
writecom(0xa7);
*/
writed1d2(0x00,0x00); //地址指針
writecom(0x24);
writed1d2(0x00,0x00); //文字首地址
writecom(0x40);
writed1d2(0x1e,0x00); //文字區(qū)寬度 注意進(jìn)制換算 C中0x1e=匯編中30
writecom(0x41);
writed1d2(0x00,0x00); //圖象首地址
writecom(0x42);
// writed1d2(0x1e,0x00); //圖象區(qū)寬度 240的LCD橫向字節(jié)數(shù)為30個(gè)
// writecom(0x43); //(后面有設(shè)置)
writecom(0x98); //文字開(kāi)/關(guān) 圖象開(kāi)/關(guān)
writecom(0x80); //啟用內(nèi)部文字 (邏輯選擇)
// writebyte();
/*清全屏幕,注意文字、圖形參數(shù)不同,文字圖形都有時(shí)以圖形為準(zhǔn),參數(shù)可取大些*/
clear();
writed1d2(0x00,0x00); //地址指針
writecom(0x24);
/* */
// readycharshow();
while(1)
{
charshow();
writed1d2(0x00,0x00); //地址指針
writecom(0x24);
};
while(1)
{
;
}
}
void charshow(void)
{
uchar data i,j,k;
uchar code word[16][32]={
/*-- 文字: 昆 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x20,0x40,0x20,0x40,
0x20,0x44,0x3E,0x4C,0x20,0x70,0x20,0x40,0x26,0x42,0x38,0x42,0x20,0x3E,0x00,0x00,
/*-- 文字: 山 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x04,
0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x7F,0xFC,0x20,0x04,0x00,0x00,
/*-- 文字: 市 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x02,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x1F,0xF8,0x11,0x08,0x11,0x08,
0x11,0x08,0x11,0x08,0x11,0x08,0x11,0x08,0x11,0x28,0x11,0x10,0x01,0x00,0x01,0x00,
/*-- 文字: 創(chuàng) --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x08,0x02,0x08,0x02,0x14,0x12,0x13,0x12,0x21,0xD2,0x40,0x92,0xBF,0x12,0x21,0x12,
0x21,0x12,0x25,0x12,0x22,0x12,0x20,0x82,0x20,0x82,0x20,0x8A,0x1F,0x84,0x00,0x00,
/*-- 文字: 新 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x10,0x00,0x08,0x0E,0x7F,0x70,0x22,0x40,0x14,0x40,0xFF,0x7E,0x08,0x48,0x08,0x48,
0xFF,0x48,0x08,0x48,0x2C,0x48,0x2A,0x88,0x4A,0x88,0x89,0x08,0x2A,0x08,0x10,0x08,
/*-- 文字: 科 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48,
0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
/*-- 文字: 技 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08,
0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00,
/*-- 文字: 檢 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x10,0x40,0x10,0x40,0x10,0xA0,0xFD,0x10,0x12,0x0E,0x38,0x00,0x35,0xF8,0x50,0x00,
0x50,0x88,0x92,0x4C,0x11,0x48,0x11,0x50,0x10,0x20,0x17,0xFE,0x10,0x00,0x00,0x00,
/*-- 文字: 測(cè) --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x40,0x02,0x27,0xC2,0x24,0x42,0x84,0x52,0x45,0x52,0x55,0x52,0x15,0x52,0x25,0x52,
0x25,0x52,0x25,0x52,0xC5,0x52,0x41,0x02,0x42,0x82,0x42,0x42,0x44,0x4A,0x48,0x04,
/*-- 文字: 儀 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x08,0x80,0x08,0x40,0x10,0x68,0x12,0x48,0x22,0x08,0x62,0x10,0xA1,0x10,0x21,0x10,
0x20,0xA0,0x20,0xA0,0x20,0x40,0x20,0xA0,0x21,0x10,0x22,0x0E,0x2C,0x04,0x20,0x00,
/*-- 文字: 器 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x3E,0x7C,0x22,0x44,0x22,0x44,0x3E,0x7C,0x01,0x10,0x01,0x08,0xFF,0xFC,0x06,0xC0,
0x18,0x30,0xE0,0x0E,0x3E,0xFC,0x22,0x88,0x22,0x88,0x22,0x88,0x3E,0xF8,0x00,0x00,
/*-- 文字: 有 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x01,0x00,0x01,0x00,0x7F,0xFE,0x02,0x00,0x04,0x00,0x0F,0xF0,0x18,0x10,0x28,0x10,
0x4F,0xF0,0x88,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x08,0x90,0x08,0x70,0x08,0x20,
/*-- 文字: 限 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x00,0x00,0xFB,0xF8,0x92,0x08,0x93,0xF8,0xA2,0x08,0xA2,0x08,0x93,0xF8,0x8A,0x80,
0x8A,0x48,0xAA,0x50,0x92,0x20,0x82,0x20,0x82,0x10,0x82,0x8E,0x83,0x04,0x82,0x00,
/*-- 文字: 公 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x00,0x00,0x04,0x40,0x06,0x40,0x04,0x40,0x08,0x20,0x08,0x10,0x10,0x18,0x22,0x0E,
0x43,0x04,0x02,0x00,0x04,0x20,0x08,0x10,0x11,0xF8,0x3F,0x18,0x10,0x10,0x00,0x00,
/*-- 文字: 司 --*/
/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/
0x00,0x00,0x3F,0xFC,0x00,0x04,0x00,0x04,0x7F,0xE4,0x00,0x04,0x00,0x04,0x3F,0xC4,
0x20,0x44,0x20,0x44,0x3F,0xC4,0x20,0x44,0x20,0x04,0x00,0x14,0x00,0x08,0x00,0x00,};
for(j=0;j<31;j++,j++)
{
blank();
for(i=0;i<15;i++)
{
writedat(word[j]
);
writecom(0xc0);
writedat(word[j+1]
);
writecom(0xc0);
}
}
delay();
for(k=0;k<61;k++)
{
writed1d2(k,0x00); //圖象首地址
writecom(0x42);
delay();
}
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1