烽火社区
标题:
51 LCD12864实验 实验(十九)
[打印本页]
作者:
hn039411
时间:
2015-1-5 04:03 AM
看一下
作者:
fengspark
时间:
2015-1-5 06:28 AM
v
作者:
lifeng_wang
时间:
2015-1-17 04:52 AM
dddddddddddddd
作者:
liuyongpengedn
时间:
2015-1-17 08:00 AM
怎么下?
作者:
potato6517
时间:
2015-1-17 12:04 PM
谢谢分享
作者:
lifeng_wang
时间:
2015-2-15 08:31 AM
51 LCD12864实验 实验(十九)
作者:
tcad007
时间:
2015-2-15 08:31 AM
学习学习学习学习
作者:
fuconghua2422
时间:
2015-3-11 09:55 AM
谢谢拉
作者:
正点原子
时间:
2015-5-11 04:11 AM
标题:
51 LCD12864实验 实验(十九)
[attach]10274[/attach]
附件一
这个实验是基于LCD12864的基本显示实验,熟悉LCD12864的使用.详情见
附件.
平台:FDR-1开发板
主程序代码:
#include
#include"delay.h" //包含延时函数的头文件
/**************************************************************
iO口宏定义区
***************************************************************/
sbit CS =P1^0;
sbit SID="P1"^1;//r/w
sbit SCK="P1"^2;//e
sbit psb="P1"^3;//串行并行数据选择端
sbit rst="P1"^5;//复位
/*******************************************************************
常量声明区
********************************************************************/
unsigned char code time[]={"0123456789"} ;
unsigned char code AC_TABLE[]={ //坐标编码
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
};
/****************************************************************
声明:建议读者先查阅我们提供的12864word文档资料,理解12864定坐标的
方式。
发送一个字节
*****************************************************************/
void SendByte(unsigned char Dbyte)
{
unsigned char i;
for(i=0;i<8;i++)
{
SCK = 0;
Dbyte=Dbyte<<1;
SID = CY;
SCK = 1;
SCK = 0;
}
}
/**********************************************************
接收一个字节
***********************************************************/
unsigned char ReceiveByte(void)
{
unsigned char i,temp1,temp2;
temp1=temp2=0;
for(i=0;i<8;i++)
{
temp1=temp1<<1;
SCK = 0;
SCK = 1;
SCK = 0;
if(SID) temp1++;
}
for(i=0;i<8;i++)
{
temp2=temp2<<1;
SCK = 0;
SCK = 1;
SCK = 0;
if(SID) temp2++;
}
return ((0xf0&temp1)+(0x0f&temp2));
}
/****************************************************************
检查忙状态
******************************************************************/
void CheckBusy( void )
{
do SendByte(0xfc); //11111,RW(1),RS(0),0
while(0x80&ReceiveByte());
}
/******************************************************************
写一个字节的指令
*******************************************************************/
void WriteCommand( unsigned char Cbyte )
{
CS = 1;
CheckBusy();
SendByte(0xf8); //11111,RW(0),RS(0),0
SendByte(0xf0&Cbyte);
SendByte(0xf0&Cbyte<<4);
CS = 0;
}
/*************************************************************
写一个字节的数据
**************************************************************/
void WriteData( unsigned char Dbyte )
{
CS = 1;
CheckBusy();
SendByte(0xfa); //11111,RW(0),RS(1),0
SendByte(0xf0&Dbyte);
SendByte(0xf0&Dbyte<<4);
CS = 0;
}
/******************************************************************
lcd初始化函数
*******************************************************************/
void LcmInit( void )
{
rst="1";
psb="0"; //串行接法
WriteCommand(0x30);
WriteCommand(0x03);
WriteCommand(0x0c);
WriteCommand(0x01);
WriteCommand(0x06);
}
/*******************************************************************************************************
设定光标函数
********************************************************************************************************/
void Location_xy_12864(unsigned char x,unsigned char y)
{
switch(x)
{
case 0:
x=0x80;break;
case 1:
x=0x90;break;
case 2:
x=0x88;break;
case 3:
x=0x98;break;
default:
x=0x80;
}
y=y&0x07;
WriteCommand(0x30);
WriteCommand(y+x);
WriteCommand(y+x);
}
/***********************************************************************************
清除文本
************************************************************************************/
void LcmClearTXT( void )
{
unsigned char i;
WriteCommand(0x30);
WriteCommand(0x80);
for(i=0;i<64;i++)
WriteData(0x20);
Location_xy_12864(0,0);
}
/**************************************************************************************
清除图片
*****************************************************************************************/
void LcmClearBMP( void )
{
unsigned char i,j;
WriteCommand(0x34);
WriteCommand(0x36);
for(i=0;i<32;i++)
{
WriteCommand(0x80|i);
WriteCommand(0x80);
for(j=0;j<32;j++)
WriteData(0);
}
}
/****************************************************************************************
显示字符串
*****************************************************************************************/
void PutStr(unsigned char row,unsigned char col,unsigned char *puts)
{
WriteCommand(0x30);
WriteCommand(AC_TABLE[8*row+col]);
while(*puts != '\0')
{
if(col==8)
{
col=0;
row++;
}
if(row==4) row="0";
WriteCommand(AC_TABLE[8*row+col]);
WriteData(*puts);
puts++;
if(*puts != '\0')
{
WriteData(*puts);
puts++;
col++;
}
}
}
/**************************************************************************
显示全屏图片
***************************************************************************/
void PutBMP(unsigned char *puts)
{
unsigned int x="0",y=0;
unsigned char i,j;
WriteCommand(0x34);
WriteCommand(0x36);
for(i=0;i<32;i++)
{
WriteCommand(0x80|i);
WriteCommand(0x80);
for(j=0;j<16;j++)
{
WriteData(puts[x]);
x++;
}
y=x-16;
for(j=0;j<16;j++)
{
WriteData(puts[y+512]);
y++;
}
}
}
/**************************************************************************
图片数据存放区
**************************************************************************/
unsigned char code bmp7[]={ 0x10};
unsigned char code bmp8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,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,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,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,0x03,0xC0,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x7F,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x07,0xFF,0xF0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,
0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,
0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,
0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,
0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,
0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xF0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xF0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x01,0xFF,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,0x3F,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x30,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x11,0x08,0x48,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x11,0x08,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x11,0x08,0x84,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x11,0x08,0x84,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,
0x08,0x84,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/******************************main 函数开始*****************************/
void main()
{
LcmInit();
delayms(100);
PutStr(1,2,"loading...");
delayms(10000);
LcmClearTXT();
LcmClearBMP();
PutBMP(bmp8) ;
delayms(10000);
LcmClearBMP();
PutStr(0,1,"FDR 工作室");
PutStr(1,1,"QQ群:");
PutStr(2,3,"49865954");
while(1);
}
作者:
moonshow
时间:
2015-5-12 05:31 AM
看一下
作者:
ROMANU
时间:
2015-5-17 03:24 AM
T
作者:
peiying
时间:
2015-6-3 09:26 AM
好东西
作者:
santai543
时间:
2015-6-3 09:26 AM
饿
作者:
edn998ylresyxc
时间:
2015-7-7 10:06 AM
51 LCD12864实验 实验(十九)
作者:
chenyong6
时间:
2015-8-12 11:43 AM
谢谢
作者:
ROMANU
时间:
2015-8-22 09:16 AM
感谢,帮了很大的忙
作者:
edn998ylresyxc
时间:
2015-8-22 10:03 AM
谢谢
作者:
lifeng_wang
时间:
2015-8-22 11:36 AM
thank you
作者:
yumuzi
时间:
2015-8-22 01:15 PM
下载看看那
作者:
licheyo
时间:
2015-8-22 04:12 PM
看看
作者:
ycf0027
时间:
2015-8-22 05:12 PM
不错额 来学习哈
作者:
liuyongpengedn
时间:
2015-8-22 07:38 PM
谢谢分享!
作者:
potato6517
时间:
2015-8-22 08:13 PM
谢谢楼主了 最近正在学习12864,十分感谢
作者:
allen2736
时间:
2015-8-22 10:13 PM
谢了,这些程序通用吗
作者:
allen2736
时间:
2015-8-23 12:01 AM
顶一下
作者:
liuyongpengedn
时间:
2015-8-23 02:18 AM
51 LCD12864实验
作者:
31818487
时间:
2015-8-23 03:39 AM
支持一下!!!!
作者:
hnhy0394
时间:
2015-8-23 05:18 AM
haiding
作者:
potato6517
时间:
2015-8-23 06:27 AM
haiding
作者:
fuconghua2422
时间:
2015-8-23 07:21 AM
太强了
作者:
wixmov
时间:
2015-8-23 09:22 AM
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
作者:
potato6517
时间:
2015-8-23 10:11 AM
学习学习学习学习
作者:
ehognfei
时间:
2015-8-23 12:24 PM
饿
作者:
allen2736
时间:
2015-8-23 02:31 PM
感谢,帮了很大的忙
作者:
peiying
时间:
2015-8-23 05:49 PM
谢谢
作者:
fuconghua2422
时间:
2015-8-23 08:20 PM
thank you
作者:
ehognfei
时间:
2015-8-23 10:00 PM
下载看看那
作者:
chenyong6
时间:
2015-8-24 12:36 AM
看看
作者:
ROMANU
时间:
2015-8-24 01:30 AM
不错额 来学习哈
作者:
WANGXIFA
时间:
2015-8-24 03:04 AM
谢谢分享!
作者:
tcad007
时间:
2015-8-24 04:51 AM
看看是不是我要的
作者:
ycf0027
时间:
2015-9-9 05:36 AM
咋下啊
作者:
tuqiuxiangshu
时间:
2015-9-19 04:32 AM
好东西来的
作者:
fairylands
时间:
2015-9-29 02:14 AM
牛
作者:
licheyo
时间:
2015-10-24 10:41 AM
44行列键盘
作者:
ylresyxcpicq
时间:
2015-11-28 08:19 AM
dd
作者:
potato6517
时间:
2015-12-12 06:16 AM
SEE
作者:
ehognfei
时间:
2015-12-30 10:33 AM
你的
附件下载后怎么看不了?能不能给我发一份看看
ycf0027@126.com
欢迎光临 烽火社区 (http://bbs.cnecport.com/)
Powered by Discuz! X3.2