欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機12864液晶逐字顯示程序及proteus仿真
[打印本頁]
作者:
51黑ff
時間:
2016-9-27 12:47
標題:
單片機12864液晶逐字顯示程序及proteus仿真
給51黑電子論壇的朋友們分享一個lcd12864液晶逐字顯示的源程序,也就是屏幕上面的字是像打字機一樣一個個的打出來的,而不是同時出現.還帶proteus,下面是仿真原理圖:
0.png
(40.52 KB, 下載次數: 53)
下載附件
2016-9-27 12:43 上傳
0.png
(50.26 KB, 下載次數: 41)
下載附件
2016-9-27 12:44 上傳
所有資料下載:
12864液晶逐字顯示.rar
(50.23 KB, 下載次數: 19)
2016-9-27 12:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
逐字顯示源程序:
#include <reg51.h>
sbit DI=P2^2; // 數據\指令 選擇
sbit RW=P2^1; // 讀\寫 選擇
sbit E=P2^0; // 讀\寫使能
sbit CS1=P2^4; // 片選1
sbit CS2=P2^3; // 片選2
unsigned int number=0,mstcnt=0;
unsigned char code ziku[]={
/*-- 文字: 廣 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x05,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 西 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00,
0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,
/*-- 文字: 民 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0x9E,0x80,0x80,0x00,0x00,
0x00,0x00,0xFF,0x40,0x20,0x10,0x00,0x00,0x03,0x0C,0x10,0x20,0x40,0xF0,0x00,0x00,
/*-- 文字: 族 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x08,0x08,0xF9,0x4E,0x48,0xC8,0x20,0x98,0x6F,0x4A,0xC8,0x48,0x48,0x48,0x08,0x00,
0x40,0x38,0x07,0x40,0x80,0x7F,0x40,0x42,0x22,0x12,0x0F,0x12,0x22,0x42,0x42,0x00,
/*-- 文字: 大 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,
/*-- 文字: 學 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
/*-- 文字: , --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 環 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x22,0x22,0xFE,0x22,0x22,0x00,0x02,0xC2,0x32,0xFE,0x42,0x82,0x02,0x02,0x00,
0x00,0x04,0x04,0x03,0x12,0x0A,0x04,0x03,0x00,0x00,0xFF,0x00,0x00,0x03,0x0E,0x00,
/*-- 文字: 境 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x20,0x20,0xFE,0x20,0x20,0x00,0x24,0xAC,0xB4,0xA5,0xA6,0xB4,0xAC,0x24,0x00,0x00,
0x10,0x30,0x1F,0x08,0x08,0x00,0x80,0x4F,0x3A,0x0A,0x0A,0x7A,0x8F,0x80,0xE0,0x00,
/*-- 文字: 優 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x20,0xF8,0x17,0x02,0x10,0x10,0xF0,0x1F,0xF0,0x12,0x1C,0x14,0x10,0x00,0x00,
0x00,0x00,0xFF,0x00,0x40,0x20,0x18,0x07,0x00,0x3F,0x40,0x40,0x40,0x78,0x20,0x00,
/*-- 文字: 美 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x84,0x84,0x94,0x95,0x96,0x94,0xFC,0x94,0x96,0x95,0x94,0x94,0x84,0x80,0x00,
0x80,0x80,0x44,0x44,0x24,0x14,0x0C,0x07,0x0C,0x14,0x24,0x64,0xC4,0x44,0x00,0x00,
/*-- 文字: , --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 歷 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0xFE,0x02,0x22,0x22,0x22,0x22,0xFA,0x22,0x22,0x22,0xE2,0x02,0x02,0x00,
0x40,0x30,0x0F,0x00,0x40,0x20,0x18,0x06,0x01,0x00,0x20,0x60,0x3F,0x00,0x00,0x00,
/*-- 文字: 史 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,
0x80,0x80,0x41,0x40,0x22,0x14,0x08,0x17,0x20,0x20,0x20,0x40,0x41,0xC0,0x40,0x00,
/*-- 文字: 悠 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x20,0x10,0xFC,0x03,0xF8,0x20,0x10,0x0C,0x17,0xA4,0x44,0xB4,0x0C,0x04,0x04,0x00,
0x40,0x70,0x03,0x00,0x38,0x40,0x40,0x45,0x59,0x40,0x40,0x70,0x01,0x13,0x61,0x00,
/*-- 文字: 久 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x80,0x40,0x30,0x0C,0x0B,0x08,0xC8,0xBC,0x08,0x00,0x00,0x00,0x00,0x00,
0x40,0x41,0x20,0x20,0x10,0x08,0x04,0x03,0x00,0x01,0x06,0x18,0x30,0x60,0x20,0x00,
/*-- 文字: 。 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x24,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 歡 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x14,0x24,0x44,0x84,0x64,0x1C,0x20,0x18,0x0F,0xE8,0x08,0x08,0x28,0x18,0x08,0x00,
0x20,0x10,0x4C,0x43,0x43,0x2C,0x20,0x10,0x0C,0x03,0x06,0x18,0x30,0x60,0x20,0x00,
/*-- 文字: 迎 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x41,0xCE,0x04,0x00,0xFC,0x04,0x02,0x02,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,
0x40,0x20,0x1F,0x20,0x40,0x47,0x42,0x41,0x40,0x5F,0x40,0x42,0x44,0x43,0x40,0x00,
/*-- 文字: 你 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00,
/*-- 文字: 的 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0xF8,0x8C,0x8B,0x88,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0x08,0xF8,0x00,0x00,
0x00,0x7F,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x03,0x26,0x40,0x20,0x1F,0x00,0x00,
/*-- 文字: 到 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x22,0x72,0x2A,0x26,0xE2,0x2A,0x72,0x22,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00,
0x00,0x42,0xC2,0x42,0x22,0x3F,0x22,0x12,0x12,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,
/*-- 文字: 來 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x80,0x84,0x84,0x94,0xA4,0xC4,0xFF,0x84,0xC4,0xB4,0x94,0x84,0x84,0x80,0x00,
0x20,0x20,0x10,0x10,0x08,0x04,0x02,0xFF,0x01,0x02,0x04,0x08,0x18,0x30,0x10,0x00,
/*-- 文字: ! --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 計 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x20,0x21,0x2E,0xE4,0x00,0x00,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x00,
0x00,0x00,0x00,0x7F,0x20,0x10,0x08,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 算 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x08,0x07,0xFA,0xAA,0xAE,0xAA,0xAA,0xA8,0xAC,0xAB,0xAA,0xFE,0x0A,0x02,0x02,0x00,
0x08,0x08,0x8B,0x6A,0x1E,0x0A,0x0A,0x0A,0x0A,0xFE,0x0A,0x0B,0x08,0x08,0x08,0x00,
/*-- 文字: 機 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
/*-- 文字: 科 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x10,0x12,0x92,0x72,0xFE,0x51,0x91,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,
0x04,0x02,0x01,0x00,0xFF,0x00,0x04,0x04,0x04,0x02,0x02,0x02,0xFF,0x01,0x01,0x00,
/*-- 文字: 學 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
/*-- 文字: 學 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
/*-- 文字: 院 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00,
0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00,
/*-- 文字: --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void checkstate()
{
unsigned char dat;
DI=0;
RW=1;
do
{
P1=0x00;
E=1;
dat=P1;
E=0;
dat=0x80 & dat; //僅當第7位為0時才可操作(判別busy信號)
}while(!(dat==0x00));
}
void writecommand(unsigned char command) //寫命令
{
checkstate();
RW=0;
P1=command;
E=1;
E=0;
}
void writedate(unsigned char date) //寫數據
{
checkstate();
DI=1; RW=0;
P1=date;
E=1; E=0;
}
void cleanscreen() //清屏
{
unsigned char page,i;
for(page=0xb8;page<0xc0;page++)
{
writecommand(page);
writecommand(0x40);
for(i=0;i<64;i++)
writedate(0x00);
}
}
void choosescreen(unsigned char NO) //選擇屏幕
{
switch (NO)
{
case 0:
CS1=0;
CS2=0;
break;
case 1:
CS1=0;
CS2=1;
break;
case 2:
CS1=1;
CS2=0;
break;
default:
break;
}
}
void lce_init(void)
{
writecommand(0xc0);
writecommand(0x3f);
}
void display(unsigned char count)
{
unsigned int i,m;
choosescreen(1);
writecommand(0xb8);
writecommand(0x40);
for(i=0;i<count*16;i++)
{
if(i!=0&&i%16==0)
m++;
switch (i)
{
case 64:
choosescreen(2);
writecommand(0xb8);
writecommand(0x40);
break;
case 128:
choosescreen(1);
writecommand(0xba);
writecommand(0x40);
break;
case 192:
choosescreen(2);
writecommand(0xba);
writecommand(0x40);
break;
case 256:
choosescreen(1);
writecommand(0xbc);
writecommand(0x40);
break;
case 320:
choosescreen(2);
writecommand(0xbc);
writecommand(0x40);
break;
case 384:
choosescreen(1);
writecommand(0xbe);
writecommand(0x40);
break;
case 448:
choosescreen(2);
writecommand(0xbe);
writecommand(0x40);
break;
default:
break;
}
writedate(*(ziku+i+m*16));
}
choosescreen(1);
writecommand(0xb9);
writecommand(0x40);
m=0;
for(i=0;i<count*16;i++)
{
if(i!=0&&i%16==0)
m++;
switch (i)
{
case 64:
choosescreen(2);
writecommand(0xb9);
writecommand(0x40);
break;
case 128:
choosescreen(1);
writecommand(0xbb);
writecommand(0x40);
break;
case 192:
choosescreen(2);
writecommand(0xbb);
writecommand(0x40);
break;
case 256:
choosescreen(1);
writecommand(0xbd);
writecommand(0x40);
break;
case 320:
choosescreen(2);
writecommand(0xbd);
writecommand(0x40);
break;
case 384:
choosescreen(1);
writecommand(0xbf);
writecommand(0x40);
break;
case 448:
choosescreen(2);
writecommand(0xbf);
writecommand(0x40);
break;
default:
break;
}
writedate(*(ziku+i+m*16+16));
}
m=0;
}
void t0(void) interrupt 1 using 0
{
mstcnt++;
if(mstcnt==2000)
{
mstcnt=0;
number++;
}
}
main()
{
TMOD=0x02;
TH0=0x06;
TL0=0x06;
TR0=1;
ET0=1;
EA=1;
E=1;
choosescreen(0);
cleanscreen();
lce_init();
while(1)
{
display(number);
if(number==33)
{
number=0;
choosescreen(0);
cleanscreen();
}
}
}
復制代碼
作者:
小太瑩兒
時間:
2018-5-16 14:42
您好,你現在顯示的文字不是我想要的文字。需要怎么改,還是使用什么樣的字模提取軟件就可以得到我想要的文字。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1