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

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

?? lcda_driver.c

?? C8051F020單片機AD轉換程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************************
*  Copyright (c), 2004-2007,西安銘朗電子科技有限責任公司
*            All rights reserved.
*
* File name: LCDA.C
* Processor: C8051F020
* Compiler : Keil C51 Compiler
* 
* Author:  李林利
* Version: 1.20
* Date:    2007.6.1
* Email:   GavinLi@126.com
* Description: 本文件是以T6963為控制器的LCD顯示驅動程序文件,現支持的液晶為128x64,160x128,
*		  	   240x64,240x128;
*
* Others: LCD(240x128為例)顯示屏坐標圖:
*                   |O(0,0)
*                 --|----------------------------------------------------------> y 列坐標         
*                   |                                                 |240
*                   |                                                 | 
*				    |                  銘朗科技                       |
*					|                                                 |     
*					|                 ML-F020ICB                      |
*					|                                                 |   
*					|                                                 |
*					|               LCD240x128 顯示屏                 |
*					|                                                 |   
*					|                                                 |
*					|                                                 |
*					|                                                 |
*				128	|-------------------------------------------------|(128,240)
*					|
*				   \|/
*                   | x 行坐標
*
* Function List:
*	1. void LCDA_WriteData(unsigned char val)
*	2. unsigned char LCDA_ReadData(void)
*   3. unsigned char LCDA_ReadStatus(void)
*	4. void LCDA_WriteCmd1(unsigned char cmd)
*	5. void LCDA_WriteCmd2(unsigned char val, unsigned char cmd)		
*   6. void LCDA_WriteCmd3(unsigned char val1, unsigned char val2, unsigned char cmd)
*	7. void LCDA_ClearScreen(void)
*	8. void LCDA_ClearTextScreen(void)
*	9. void LCDA_Init(unsigned char lcd_type)
*	10. unsigned char LCDA_SetTextMaps(unsigned char id)
*	11. unsigned char LCDA_SetGraphMaps(unsigned char id)
*	12. void LCDA_DrawPixel(unsigned char x, y, bit mode)
*   13. void LCDA_DrawLine(unsigned char x1, y1, x2, y2, bit mode)
*	14. void LCDA_DrawRectangle(unsigned char x1, y1, x2, y2, bit mode)
*	15. void LCDA_DrawFillRectangle(unsigned char x1, y1, x2, y2, bit mode)
*	16. void LCDA_DrawCircle(unsigned char x, y, r, bit mode)
*	17. void LCDA_DrawByte(unsigned char x, y, unsigned char val)
*	18. void LCDA_ShowHZxy(unsigned char x, y, unsigned char line, col, unsigned char *p)
*	19. void LCDA_ShowChar(unsigned char x, y, unsigned char *p, unsigned char len)
*
* History:
*   1. Author:       李林利  
*	   Version: 	 1.10
*	   Date:         2007.3.12
*      Modification: none
*
*   2. Author:       李林利   
*	   Version: 	 1.00
*      Date:         2004.11.24
*      Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部頭文件
#include <INTRINS.H>
#include <ABSACC.H>
#include <MATH.H>
#include  "delay.h"
#include  "LCDA_Driver.h"
/************************************************************************************/


/************************************************************************************
// 常量及全局變量定義
*************************************************************************************/
#define bool 			bit
#define TRUE 			1
#define FALSE			0

#define LCD_CMD_ADDR	0x8801					// LCD命令端口地址
#define LCD_DATA_ADDR	0x8800					// LCD數據端口地址

#define CMD_ADDR		XBYTE[LCD_CMD_ADDR]  	//	LCD命令端口
#define DATA_ADDR 		XBYTE[LCD_DATA_ADDR] 	//	LCD數據端口


#define VRAM_SIZE  		0x8000 			 		// 顯存容量

#define CGRAM_ADDR 		0x0000 			 		// CGRAM區地址
#define TEXT_ADDR  		0x0800			 		// 字符VRAM區地址
#define TEXT_SIZE  		0x0800			 		// 字符VRAM區大小
#define GRAPH_ADDR 		0x1000 			 		// 圖形VRAM區地址

unsigned int 			Text_BaseAddr;
unsigned int 			Graph_BaseAddr;

unsigned int 			Text_VRAM;
unsigned int 			Graph_VRAM;

unsigned char xdata 	LCDA_LineChar;	 		// LCD 每行字符數變量(8x8字符或8x6字符)
/*************************************************************************************/
//
// 						T6963為控制器的LCD顯示驅動程序函數定義
//
/*************************************************************************************/

/***********************************************************************************
* Function: LCDA_RWCheck;
*
* Description: 指令,數據讀寫狀態檢查;
*              
* Input:  none;
*
* Output: none;
*
* Return: 返回TRUE,允許指令,數據讀寫;返回FALSE,系統忙;
*
* Note:   none;
************************************************************************************/
bool LCDA_RWCheck(void) 
{
	unsigned char xdata sta; 
	
	sta=CMD_ADDR & 0x03; 
	 
	if (sta!=0x03)
		return FALSE;
    else
		return TRUE;
}

/***********************************************************************************
* Function: LCDA_AutoRCheck;
*
* Description: 數據自動讀,狀態檢查;
*              
* Input:  none;
*
* Output: none;
*
* Return: 返回TRUE,允許數據自動讀;返回FALSE,系統忙;
*
* Note:   none;
************************************************************************************/
bool LCDA_AutoRCheck(void)
{ 
	unsigned char xdata sta; 
	
	sta = CMD_ADDR & 0x04; 
	
	if (sta!=0x04)
		return FALSE;
	else
		return TRUE;
}

/***********************************************************************************
* Function: LCDA_AutoWCheck;
*
* Description: 數據自動寫,狀態檢查;
*              
* Input:  none;
*
* Output: none;
*
* Return: 返回TRUE,允許數據自動寫;返回FALSE,系統忙;
*
* Note:   none;
************************************************************************************/
bool LCDA_AutoWCheck(void)
{ 
	unsigned char xdata sta; 
	
	sta = CMD_ADDR & 0x08; 
	
	if (sta!=0x08)
		return FALSE;
	else
		return TRUE;
}

/***********************************************************************************
* Function: LCDA_WritePara;
*
* Description: 向LCD數據口寫參數;
*              
* Input:  val,要寫的參數;
*
* Output: none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void LCDA_WritePara(unsigned char val) 
{ 
	while (!LCDA_RWCheck()); 
	DATA_ADDR = val;
}

/***********************************************************************************
* Function: LCDA_WriteData;
*
* Description: 向LCD數據口寫數據;
*              
* Input:  val,要寫的數據;
*
* Output: none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void LCDA_WriteData(unsigned char val) 
{ 
	while (!LCDA_AutoWCheck()); 
	DATA_ADDR = val;
}

/***********************************************************************************
* Function: LCDA_ReadData;
*
* Description: 從LCD數據口讀數據;
*              
* Input:  none;
*
* Output: none;
*
* Return: 讀到的數據;
*
* Note:   none;
************************************************************************************/
unsigned char LCDA_ReadData(void)
{
	 while (!LCDA_AutoRCheck()); 
	 return(DATA_ADDR);
}

/***********************************************************************************
* Function: LCDA_ReadStatus;
*
* Description: 讀取LCD狀態;
*              
* Input:  none;
*
* Output: none;
*
* Return: 返回LCD狀態數據;
*
* Note:   none;
************************************************************************************/
unsigned char LCDA_ReadStatus(void)
{ 
	return (CMD_ADDR); 
}


/***********************************************************************************
* Function: LCDA_WriteCmd1;
*
* Description: 向LCD寫有1個參數命令;
*              
* Input:  cmd,LCD操作命令;
*
* Output: none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void LCDA_WriteCmd1(unsigned char cmd) 
{ 
	while (!LCDA_RWCheck()); 
	CMD_ADDR = cmd; 
}

/***********************************************************************************
* Function: LCDA_WriteCmd2;
*
* Description: 向LCD寫有2個參數命令;
*              
* Input:  val, cmd, LCD操作參數命令;
*
* Output: none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void LCDA_WriteCmd2(unsigned char val, unsigned char cmd) 
{ 
	LCDA_WritePara(val);
	LCDA_WriteCmd1(cmd);
}

/***********************************************************************************
* Function: LCDA_WriteCmd3;
*
* Description: 向LCD寫有3個參數命令;
*              
* Input:  val1,val2,cmd, LCD操作參數命令;
*
* Output: none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void LCDA_WriteCmd3(unsigned char val1, unsigned char val2, unsigned char cmd) 
{ 
	LCDA_WritePara(val1);
	LCDA_WritePara(val2);
	LCDA_WriteCmd1(cmd);
}
/***********************************************************************************
* Function: LCDA_ClearVRAM;
*
* Description: 顯示存儲器清零函數;
*              
* Input:  none;
*
* Output: none;
*
* Return: none;
*
* Note:   LCD顯示VRAM范圍 0000h--7FFFh (32k);
************************************************************************************/
void LCDA_ClearVRAM(void) //顯示存儲器清零 
{
	unsigned int xdata i;

	LCDA_WriteCmd3(0x00,0x00,CMD_ADDR_POINT); 	//設置指針地址0000H
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_WRITE); 		//設置自動寫狀態
	for(i=0;i<VRAM_SIZE;i++)					// 清顯示 RAM 區 0x0000h--0x7fffh (32k)
		 LCDA_WriteData(0);  
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_END); 		// 自動寫結束
}

/***********************************************************************************
* Function: LCDA_ClearScreen;
*
* Description: LCD圖形顯示屏幕函數;
*              
* Input:  none;
*
* Output: none;
*
* Return: none;
*
* Note:   本函數只清除當前選擇的圖形顯示屏幕;
************************************************************************************/
void LCDA_ClearScreen(void)
{
	unsigned int xdata i;

	LCDA_WriteCmd3((unsigned char)Graph_BaseAddr,(unsigned char)(Graph_BaseAddr>>8),CMD_ADDR_POINT); 	//設置指針地址0000H
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_WRITE); 		//設置自動寫狀態
	for(i=0;i<Graph_VRAM;i++)					// 清顯示 RAM 區 0000h--2000h (8k)
		 LCDA_WriteData(0);  
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_END); 		// 自動寫結束
}

/***********************************************************************************
* Function: LCDA_ClearTextScreen;
*
* Description: LCD字符顯示屏幕函數;;
*              
* Input:  none;
*
* Output: none;
*
* Return: none;
*
* Note:   本函數只清除當前選擇的字符顯示屏幕;
************************************************************************************/
void LCDA_ClearTextScreen(void)
{
	unsigned int xdata i;

	LCDA_WriteCmd3((unsigned char)Text_BaseAddr,(unsigned char)(Text_BaseAddr>>8),CMD_ADDR_POINT); 	//設置指針地址0000H
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_WRITE); 		//設置自動寫狀態
	for(i=0;i<Text_VRAM;i++)					// 清顯示 RAM 區 0000h--2000h (8k)
		 LCDA_WriteData(0);  
	LCDA_WriteCmd1(CMD_CGRAM_AUTO_END); 		// 自動寫結束

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久精品国产| 精品免费99久久| 免费成人在线播放| 亚洲国产综合人成综合网站| 国产三级久久久| 日韩欧美成人一区| 日韩精品专区在线影院观看| 亚洲女同ⅹxx女同tv| 亚洲免费视频中文字幕| 久久国产精品一区二区| 国产在线视频一区二区三区| 狠狠色综合播放一区二区| 欧美日韩中字一区| 91精品国产丝袜白色高跟鞋| 欧美一区二区三区喷汁尤物| 亚洲综合视频网| 久久www免费人成看片高清| 欧美体内she精高潮| 日韩午夜av电影| 国产亚洲精品免费| 亚洲欧美日韩久久| 成人av午夜影院| 欧美三级韩国三级日本一级| 亚洲欧洲国产日本综合| 日韩一区中文字幕| www.99精品| 欧美一区二区三区免费视频| 午夜精品久久久久久久99水蜜桃 | 亚洲欧洲一区二区在线播放| 国产一区中文字幕| 在线一区二区三区四区五区| 日韩一区二区在线免费观看| 图片区小说区国产精品视频| 91精品在线一区二区| 亚洲国产成人在线| 美女在线一区二区| 91在线视频在线| 亚洲欧洲制服丝袜| 欧美三级欧美一级| 欧美aaaaaa午夜精品| 精品国内二区三区| 亚洲国产婷婷综合在线精品| 欧美日韩视频一区二区| 美女国产一区二区三区| 国产视频视频一区| www.综合网.com| 一区二区三区四区五区视频在线观看| 激情综合五月天| 欧美在线一二三四区| 国产精品麻豆网站| 国产精品香蕉一区二区三区| 欧美成人一区二区三区在线观看| 精品一二三四区| 国产精品丝袜91| 欧美影片第一页| 精品一区二区三区在线观看国产| 国产清纯在线一区二区www| 99久久99久久精品国产片果冻| 亚洲国产精品一区二区www| 日韩欧美激情四射| www.亚洲色图.com| 视频在线在亚洲| 欧美日韩一本到| 国产精一品亚洲二区在线视频| 国产精品毛片高清在线完整版| 欧美三级日韩在线| 粉嫩aⅴ一区二区三区四区五区| 久久欧美中文字幕| 韩国欧美国产1区| 一区二区在线观看免费| 色国产精品一区在线观看| 日本在线不卡一区| 91精品国产综合久久久蜜臀图片 | 色婷婷精品久久二区二区蜜臂av| 国产精品素人视频| 7777精品伊人久久久大香线蕉完整版| 懂色av一区二区夜夜嗨| 日日嗨av一区二区三区四区| 中文字幕视频一区| 久久精品这里都是精品| 8v天堂国产在线一区二区| 不卡电影免费在线播放一区| 久久99久久精品| 午夜久久久影院| 亚洲图片另类小说| 欧美日韩一区二区三区在线| 成人丝袜视频网| 亚洲精品免费一二三区| 欧美国产视频在线| 欧美tickling挠脚心丨vk| 欧美日韩三级一区| 欧洲亚洲国产日韩| 91视频国产资源| 婷婷开心久久网| 亚洲三级在线免费观看| 国产精品网友自拍| 久久久久久影视| 精品欧美一区二区久久| 日韩一区二区中文字幕| 欧美色图12p| 欧美四级电影在线观看| 91在线porny国产在线看| 不卡一区二区三区四区| 成人一区二区视频| 成人午夜激情影院| 福利一区二区在线观看| 国产成人精品免费一区二区| 一区二区三国产精华液| 亚洲人吸女人奶水| 国产精品黄色在线观看| 日韩一区二区三区视频在线| 欧美美女一区二区| 成人激情免费网站| 丁香另类激情小说| 北岛玲一区二区三区四区| 不卡av在线网| 色婷婷综合久久久久中文| 在线视频你懂得一区| 欧美女孩性生活视频| www.66久久| 色欧美乱欧美15图片| 日本久久一区二区| 欧美日韩激情一区二区三区| 欧美日韩电影一区| 精品久久一二三区| 中文一区一区三区高中清不卡| 欧美激情一区二区三区全黄| 国产精品久久久久久久久搜平片| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩女优av电影| 久久久久久久电影| 日韩美女啊v在线免费观看| 亚洲猫色日本管| 同产精品九九九| 国产成人综合亚洲91猫咪| 91在线码无精品| 欧美一级久久久久久久大片| 国产欧美一区二区精品性| 亚洲人妖av一区二区| 午夜伦欧美伦电影理论片| 精品中文av资源站在线观看| a4yy欧美一区二区三区| 欧美日本免费一区二区三区| 精品国产乱码久久久久久闺蜜 | 91丨porny丨国产| 欧美理论片在线| 国产日韩欧美a| 一区二区三区在线观看网站| 男人的天堂亚洲一区| av中文字幕不卡| 欧美一级久久久| 一区二区在线观看视频 | 91色porny| 日韩欧美国产不卡| 最新久久zyz资源站| 日日夜夜免费精品| 成人av高清在线| 日韩欧美中文字幕精品| 亚洲欧洲成人自拍| 久久成人免费日本黄色| 欧美综合天天夜夜久久| 国产三级久久久| 男女视频一区二区| 在线亚洲一区观看| 中文字幕第一区| 免费成人在线视频观看| 欧洲精品一区二区三区在线观看| 久久久高清一区二区三区| 日韩电影在线观看一区| 91免费版在线看| 亚洲国产精品ⅴa在线观看| 久久精品久久99精品久久| 欧美午夜精品久久久| 中国色在线观看另类| 六月丁香婷婷色狠狠久久| 欧美日本一区二区| 亚洲一级二级三级在线免费观看| 成人app软件下载大全免费| 久久先锋影音av鲁色资源网| 国产欧美一区二区精品性| 奇米影视在线99精品| 欧美日韩一区二区在线视频| 一区二区三区高清在线| 99免费精品视频| 国产精品日韩成人| 国产成人啪午夜精品网站男同| 欧美一区二区三区免费| 日韩激情视频网站| 欧美日韩亚洲高清一区二区| 亚洲一区二区三区爽爽爽爽爽| 91香蕉视频污在线| 中文字幕在线观看一区二区| 成人午夜免费电影| 国产精品视频线看| 白白色亚洲国产精品| 国产精品久久久久久久久晋中| av成人动漫在线观看| ●精品国产综合乱码久久久久| 99久久婷婷国产| 亚洲五码中文字幕|