資源簡介
LCD12864屏幕的使用手冊,里面解釋了一些數據引腳的功能。建議使用串行模式控制(實測可用)。在串行模式下,CS對應RS(片選信號),SID對應R/W(數據信號)、SCLK對應E(時鐘信號 )等,詳見文檔。
代碼片段和文件信息
/********************************************************************
*?文件名??:?串行12864顯示.c
*?描述????:??該程序實現了12864以串行的方式進行通信。
*?創建人??:?東流,2009年4月10日
*?版本號??:?2.0
***********************************************************************/
#include?
#include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
sbit?CS=P2^5; ????//片選信號
sbit?SID=P2^6; //數據信號
sbit?SCLK=P2^7; //時鐘信號?
sbit?RST=P2^2; //復位信號
sbit?CH?=?P2^4; //并行、串行選擇信號(PSB)
/********************************************************************
*?名稱?:?delay()
*?功能?:?延時延時時間為?100us?*?t。這是通過軟件延時,有一定誤差。
*?輸入?:?t
*?輸出?:?無
***********************************************************************/
void?delay(unsigned?int?t)
{
unsigned?int?ij;
for(i=0;?i ????for(j=0;?j<10;?j++);
}
/********************************************************************
*?名稱?:?sendbyte()
*?功能?:?按照液晶的串口通信協議,發送數據
*?輸入?:?zdata
*?輸出?:?無
***********************************************************************/
void?sendbyte(unsigned?char?zdata)
{
unsigned?int?i;
for(i=0;?i<8;?i++)
{
if((zdata?< {
SID?=?1;
}
else?
{
SID?=?0;
}
SCLK?=?0;
SCLK?=?1;
}
}
/********************************************************************
*?名稱?:?write_com()
*?功能?:?寫串口指令
*?輸入?:?cmdcode
*?輸出?:?無
***********************************************************************/
void?write_com(unsigned?char?cmdcode)
{
CS?=?1;
sendbyte(0xf8);
sendbyte(cmdcode?&?0xf0);
sendbyte((cmdcode?<4)?&?0xf0);
delay(2);
}
/********************************************************************
*?名稱?:?write_data()
*?功能?:?寫串口指令
*?輸入?:?cmdcode
*?輸出?:?無
***********************************************************************/
void?write_data(unsigned?char?Dispdata)
{
CS?=?1;
sendbyte(0xfa);
sendbyte(Dispdata?&?0xf0);
sendbyte((Dispdata?<4)?&?0xf0);
delay(2);
}
/********************************************************************
*?名稱?:?lcdinit()
*?功能?:?初始化函數
*?輸入?:?cmdcode
*?輸出?:?無
***********************************************************************/
void?lcdinit()
{??
RST?=?0;
delay(100);
RST?=?1;
delay(20000);
write_com(0x30);
delay(50);
write_com(0x0c);
delay(50);
}
/********************************************************************
*?名稱?:?hzkdis()
*?功能?:?顯示字符串
*?輸入?:?*s
*?輸出?:?無
***********************************************************************/
void?hzkdis(unsigned?char?code?*s)
{??
while(*s?>?0)
????{?
write_data(*s);
s++;
delay(50);
????}
}
/********************************************************************
*?名稱?:?Test()
*?功能?:?顯示子函數
*?輸入?:?無
*?輸出?:?無
***********************************************************************/
void?Test()
{??
write_com(0x03);
delay(50);????
write_com(0x81);
hzkdis(“???HOT-51“);
write_com(0x91);
hzkdis(“單片機開發板“);
write_com(0x89);
hzkdis(“??????????“);
write_com(0x98);
hzkdis(“????東流電
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5115??2002-04-16?14:32??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\STARTUP.A51
?????文件??????11665??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\STARTUP.LST
?????文件????????749??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\STARTUP.OBJ
?????文件???????5899??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示
?????文件???????3538??2017-09-08?10:35??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.c
?????文件???????1061??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.hex
?????文件?????????74??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.lnp
?????文件???????7267??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.LST
?????文件??????10106??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.M51
?????文件???????6298??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.OBJ
????.......??????1090??2009-09-09?22:31??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.opt.bak
?????文件????????215??2017-09-08?10:35??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.plg
????.......??????2153??2009-09-09?01:32??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.Uv2.bak
????.......?????56319??2017-09-08?10:35??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.uvopt
????.......?????13437??2017-09-08?10:35??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示.uvproj
?????文件???????1086??2009-09-09?01:37??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示_Opt.Bak
?????文件???????2045??2009-08-27?17:34??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示\串行12864顯示_Uv2.Bak
?????文件?????361417??2010-04-07?11:36??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\QC12864B.pdf
?????目錄??????????0??2017-09-08?10:36??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)\14串行12864顯示
?????目錄??????????0??2017-09-08?10:36??LCD12864顯示屏使用手冊和示例代碼(串行方式、實物調試通過)
-----------?---------??----------?-----??----
???????????????489534????????????????????20
- 上一篇:AGC算法在DSP中的應用
- 下一篇:glut搭建glut32bit和64bit
評論
共有 條評論