亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd12864_driver.c

?? ARM LPC2103下的LCD12864驅動程序
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			LCD12864_Driver.c
** Created by:			LiPeng
** Created date:		2008-09-07
** Version:				1.0
** Descriptions:		The Original Version
**
**------------------------------------------------------------------------------------------------------
** System Function:		LCD Driver------液晶驅動
**										液晶型號:12864
** 使用LPC2103連接方式:	(串行)
**						SID:P0.6(MOSI),SCLK:P0.4(SCK0)
**						PSB:GND(serial),/RST:VCC,CS:VCC
**						LEDA:VCC,LEDK:GND
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/

#include "config.h"

/*系統常量定義*/

/*PINSEL0 引腳功能選擇寄存器常量*/
#define SCK0		(1<<8)		//P0.4定義位,01
#define MOSI0		(1<<12)		//P0.6定義位,01

/*SPI_SPCR SPI控制寄存器常量*/
#define CPHA		(1<<3)		//時鐘相位控制
#define CPOL		(1<<4)		//時鐘極性控制
#define MSTR		(1<<5)		//主模式選擇
#define LSBF		(1<<6)		//字節的移動方向

#define SPI_MODE	MSTR		//選擇SPI接口模式為主模式、SCK高有效空閑狀態為0,上升沿采樣,MSB傳輸在前

/*變量定義*/
uint8 uiDisp_Addr=0x00;//液晶顯示ddram地址

/*********************************************************************************************************
** Function name:		delay
** Descriptions:		延時函數
** Input parameters:    uiDly
** Output parameters:   無
*********************************************************************************************************/
void delay(uint32 uiDly)
{
	uint32 i;
	for(;uiDly>0;uiDly--)
		for(i=0;i<5000;i++);
}  

/*********************************************************************************************************
** Function name:		LCD_SPI_Initial
** Descriptions:		SPI接口初始化
** Input parameters:    無  
** Output parameters:   無
*********************************************************************************************************/
void LCD_SPI_Initial()
{
	PINSEL0|=(SCK0|MOSI0);	//設置P0.4為SPI0串行時鐘端,P0.6為SPI主出從入端
	SPI_SPCCR=8;			//SPI時鐘計數寄存器
	SPI_SPCR=SPI_MODE;		//SPI控制寄存器
}


/*********************************************************************************************************
** Function name:		LCD_Serial_Send
** Descriptions:		主控CPU向LCD串行發送數據或指令
** Input parameters:    uidata		待發送數據或指令;uimark		數據或指令標志,1為指令,0為數據  
** Output parameters:   無
*********************************************************************************************************/
void LCD_Serial_Send(uint8 uidata,uint8 uimark)
{
    uint8 uiComorData;
	
	switch(uimark)
	{
		case 0:
			uiComorData=0xfa;
			break;
		case 1:
			uiComorData=0xf8;
			break;
	}
	
	SPI_SPDR=uiComorData;		//寫入SPI數據寄存器,發送數據或指令判斷控制字
	while((SPI_SPSR&0x80)==0);	//等待發送完畢(SPIF傳輸完成標志置位)
	delay(1);
	SPI_SPDR=(uidata&0xf0);		//寫入SPI數據寄存器,啟動發送高4位
    while((SPI_SPSR&0x80)==0);	//等待發送完畢(SPIF傳輸完成標志置位)
    delay(1);
    SPI_SPDR=((uidata&0x0f)<<4);//寫入SPI數據寄存器,啟動發送低4位
    while((SPI_SPSR&0x80)==0);	//等待發送完畢(SPIF傳輸完成標志置位)
    delay(1);
}

/*********************************************************************************************************
** Function name:		LCD_Initial
** Descriptions:		LCD初始化
** Input parameters:	無
** Output parameters:   無
*********************************************************************************************************/
void LCD_Initial()			//LCD初始化
{
	LCD_Serial_Send(0x30,1);//功能設置:基本指令集
	LCD_Serial_Send(0x04,1);//點設定:顯示字符/光標從左到右移位,DDRAM地址加1
    LCD_Serial_Send(0x0c,1);//顯示設定:開顯示,不顯示光標位置
    LCD_Serial_Send(0x01,1);//清DDRAM
    LCD_Serial_Send(0x02,1);//DDRAM地址歸位
    LCD_Serial_Send(0x80,1);//顯示地址設置
}

/*********************************************************************************************************
** Function name:		LCD_Erase
** Descriptions:		清LCD DDRAM寄存器
** Input parameters:	無
** Output parameters:   無
*********************************************************************************************************/
void LCD_Erase()
{
	LCD_Serial_Send(0x01,1);
}

/*********************************************************************************************************
** Function name:		LCD_Position_Select
** Descriptions:		選擇LCD DDRAM地址
** Input parameters:	uiline,uirow	顯示行和列的值
** Output parameters:   無
*********************************************************************************************************/
void LCD_Position_Select(uint8 uiline,uint8 uirow)
{
	if(uiline==1)
		uiDisp_Addr=0x80+uirow-1;
	else if(uiline==2)
		uiDisp_Addr=0x90+uirow-1;
	else if(uiline==3)
		uiDisp_Addr=0x88+uirow-1;
	else
		uiDisp_Addr=0x98+uirow-1;
}

/*********************************************************************************************************
** Function name:		LCD_Disp_Char
** Descriptions:		顯示字符
** Input parameters:	uiline,uirow	顯示行和列的值;uichar		所要顯示字符
** Output parameters:   無
*********************************************************************************************************/
void LCD_Disp_Char(uint8 uiline,uint8 uirow,uint8 uichar)
{
	LCD_Position_Select(uiline,uirow);
	LCD_Serial_Send(uiDisp_Addr,1);
	LCD_Serial_Send(uichar,0);
}

/*********************************************************************************************************
** Function name:		LCD_Disp_Strs
** Descriptions:		顯示字符串
** Input parameters:	uiline,uirow	顯示行和列的值;*pchstrs		所要顯示字符串
** Output parameters:   無
*********************************************************************************************************/
void LCD_Disp_Strs(uint8 uiline,uint8 uirow,char *pchstrs)
{
	uint8 uiNum;
	LCD_Position_Select(uiline,uirow);
	LCD_Serial_Send(uiDisp_Addr,1);
	for(uiNum=0;*(pchstrs+uiNum)!='\0';uiNum++)
		LCD_Serial_Send(*(pchstrs+uiNum),0);
}


/*********************************************************************************************************
** Function name:		LCD_Disp_Ascii
** Descriptions:		顯示字符串
** Input parameters:	uiline,uirow	顯示行和列的值;uisignal		所要顯示字符的ASCII碼
** Output parameters:   無
** Returned value:      無
*********************************************************************************************************/
void LCD_Disp_Ascii(uint8 uiline,uint8 uirow,uint8 uisignal)
{
	LCD_Position_Select(uiline,uirow);
	LCD_Serial_Send(uiDisp_Addr,1);
	LCD_Serial_Send(uisignal,0);
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人a级免费电影| 国产一区不卡视频| 亚洲人吸女人奶水| 亚洲色图在线视频| 亚洲欧美一区二区三区国产精品 | 久久99蜜桃精品| 美女视频免费一区| 久久精品国产色蜜蜜麻豆| 秋霞av亚洲一区二区三| 韩国在线一区二区| 成人激情综合网站| 97se亚洲国产综合在线| 欧美性videosxxxxx| 91精品国产色综合久久不卡蜜臀| 欧美一区二区三区白人| 欧美大黄免费观看| 中文字幕免费在线观看视频一区| 中文字幕中文乱码欧美一区二区| 亚洲人成在线播放网站岛国| 亚洲va欧美va国产va天堂影院| 日韩制服丝袜av| 国产一区不卡视频| 色综合久久久久综合| 91精品国产免费| 欧美韩日一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 五月天激情综合网| 高清国产一区二区| 欧美午夜片在线观看| 欧美成人一区二区三区片免费| 国产欧美一区二区精品性色| 亚洲美女偷拍久久| 久久国产人妖系列| 91小视频免费观看| 日韩一区二区电影| 一区二区在线看| 蜜臀91精品一区二区三区| 99久久精品费精品国产一区二区| 欧美区在线观看| 亚洲欧洲在线观看av| 免费看欧美美女黄的网站| 成人黄色综合网站| 日韩免费观看高清完整版在线观看| 国产精品私人自拍| 九色综合狠狠综合久久| 在线观看视频欧美| 日本一区二区视频在线| 精品一区二区影视| 91精品中文字幕一区二区三区| 日本一二三不卡| 国产在线精品一区二区三区不卡| 一本色道综合亚洲| 国产精品久久久99| 狠狠狠色丁香婷婷综合激情| 欧美电影一区二区| 亚洲午夜激情网页| 色婷婷一区二区| 国产精品久久毛片a| 国产精品综合一区二区| 精品久久久久av影院| 午夜一区二区三区在线观看| 色综合久久99| 一区二区三区欧美日| 成人蜜臀av电影| 中文字幕欧美区| 粉嫩13p一区二区三区| 国产亚洲婷婷免费| 韩日av一区二区| 久久久噜噜噜久久人人看 | 日本午夜一区二区| 欧美日韩精品欧美日韩精品一综合| 亚洲女人****多毛耸耸8| 成人av动漫网站| 国产精品对白交换视频| 99视频国产精品| 亚洲色图清纯唯美| 日本高清不卡在线观看| 亚洲蜜臀av乱码久久精品| 91丨porny丨国产| 国产精品女主播av| 99久久久久久99| 一区二区三区毛片| 欧美猛男超大videosgay| 五月天视频一区| 日韩精品中文字幕一区| 国产中文字幕一区| 国产精品久久久久久亚洲伦 | 亚洲午夜国产一区99re久久| 欧美曰成人黄网| 免费在线观看一区| 久久久久久久综合| 99久久99久久精品免费观看 | 91精品国产入口在线| 激情成人综合网| 国产精品久久久久影院亚瑟| 欧美亚一区二区| 麻豆免费看一区二区三区| 久久午夜羞羞影院免费观看| 成人免费av网站| 亚洲bt欧美bt精品| 国产欧美一区二区精品性| 色国产精品一区在线观看| 肉丝袜脚交视频一区二区| 国产丝袜欧美中文另类| 欧美这里有精品| 激情久久久久久久久久久久久久久久| 国产精品网友自拍| 日韩欧美在线不卡| 91在线一区二区| 免费成人av资源网| 1区2区3区精品视频| 欧美日韩国产区一| av午夜精品一区二区三区| 日韩福利电影在线| 国产精品色婷婷久久58| 日韩欧美国产综合| 色欧美88888久久久久久影院| 老司机免费视频一区二区三区| 日韩一区日韩二区| 精品精品欲导航| 在线欧美一区二区| 不卡的av在线播放| 狠狠色狠狠色综合系列| 亚洲大片免费看| 日韩一区欧美小说| 中文字幕欧美日韩一区| 日韩欧美电影一二三| 欧美日韩国产一二三| 91视频观看视频| 成人免费看片app下载| 久久国产尿小便嘘嘘| 亚洲与欧洲av电影| 亚洲手机成人高清视频| 日本一区二区三区dvd视频在线| 日韩一级二级三级精品视频| 欧美日韩一区二区不卡| 91视视频在线观看入口直接观看www| 紧缚奴在线一区二区三区| 日韩成人免费在线| 亚洲图片欧美色图| 亚洲已满18点击进入久久| 亚洲图片欧美激情| 国产精品麻豆欧美日韩ww| 欧美国产精品一区二区三区| 久久精品亚洲精品国产欧美| 精品少妇一区二区三区在线播放| 在线电影院国产精品| 欧美精品一二三区| 欧美日韩精品一区视频| 欧美人体做爰大胆视频| 欧美高清精品3d| 91精品国产综合久久久蜜臀粉嫩| 欧美网站一区二区| 欧美久久一区二区| 日韩欧美综合一区| 日韩午夜在线观看视频| 精品va天堂亚洲国产| 久久久午夜精品理论片中文字幕| 久久久久九九视频| 欧美激情一二三区| 亚洲欧美日韩综合aⅴ视频| 亚洲免费av高清| 一区二区欧美在线观看| 亚洲chinese男男1069| 美女视频一区二区三区| 国内精品免费**视频| 国产精品123| 91美女片黄在线观看91美女| 在线观看91视频| 欧美福利视频一区| 久久伊人蜜桃av一区二区| 国产精品午夜在线| 亚洲一区成人在线| 蜜臀av亚洲一区中文字幕| 国产成人精品在线看| 93久久精品日日躁夜夜躁欧美| 欧美日韩一区二区三区在线看| 欧美一级片免费看| 中文成人综合网| 亚洲成人在线免费| 国产精品资源网站| 欧美又粗又大又爽| 久久久亚洲精华液精华液精华液| 国产精品久久福利| 日韩在线卡一卡二| 国产精品888| 欧美肥胖老妇做爰| 国产欧美综合在线观看第十页| 亚洲综合在线免费观看| 老司机精品视频一区二区三区| 99久久国产免费看| 久久综合色8888| 亚洲综合一区在线| 丰满白嫩尤物一区二区| 91精品国产91久久综合桃花 | 国内精品久久久久影院薰衣草| 欧美在线|欧美| 亚洲国产高清aⅴ视频| 日本美女视频一区二区| 日本韩国欧美一区|