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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd.c

?? 1602lcd液晶器顯示的例子程序
?? C
字號:
// **************************************************************
// *** 					  LCD Driver V1.0  				  	  ***
// ***          Written By P. Fletcher-Jones 9/5/01           ***
// ***                   Last MOD 9/5/01			  		  ***
// ***    Compiled with ImageCraft C compiler Version 6.21E   ***
// **************************************************************

#include "LCD.h"
#include <iom103.h>
#include <macros.h>

// ***** Define I/O pins ***** //

#define BIT7 0x80
#define BIT6 0x40
#define BIT5 0x20
#define BIT4 0x10
#define BIT3 0x08
#define BIT2 0x04
#define BIT1 0x02
#define BIT0 0x01

#if 0
// *** Set port for LCD Data Bus 8 bit mode *** //
#define LCD_OP_PORT				PORTA
#define LCD_IP_PORT				PINA
#define LCD_DIR_PORT			DDRA

// *** Set LCD Enable Port and Bit values *** //
#define LCD_EN_PORT				PORTC
#define EN_BIT					BIT7

// *** Set LCD Register Select Port and Bit values *** //
#define LCD_RS_PORT				PORTC
#define RS_BIT					BIT6

// *** Set LCD Read/Write Port and Bit values *** //
#define LCD_RW_PORT				PORTC
#define RW_BIT					BIT5
#endif

volatile unsigned char *LCD_EN_PORT = &PORTC;
volatile unsigned char *LCD_DIR_PORT = &DDRA;
volatile unsigned char *LCD_IP_PORT = &PINA;
volatile unsigned char *LCD_OP_PORT = &PORTA;
volatile unsigned char *LCD_RS_PORT = &PORTC;
volatile unsigned char *LCD_RW_PORT = &PORTC;
char LCD_EN_BIT = BIT(7);
char LCD_RS_BIT = BIT(6);
char LCD_RW_BIT = BIT(5);

#define SET_LCD_E      	        *LCD_EN_PORT |= LCD_EN_BIT
#define CLEAR_LCD_E       	    *LCD_EN_PORT &= ~LCD_EN_BIT

#define SET_LCD_DATA      	    *LCD_RS_PORT |= LCD_RS_BIT
#define SET_LCD_CMD       	    *LCD_RS_PORT &= ~LCD_RS_BIT

#define SET_LCD_READ      	    *LCD_RW_PORT |= LCD_RW_BIT
#define SET_LCD_WRITE      	    *LCD_RW_PORT &= ~LCD_RW_BIT


#define LCD_ON				0x0C   
#define LCD_CURS_ON			0x0D
#define LCD_OFF				0x08
#define LCD_HOME			0x02  
#define LCD_CLEAR			0x01
#define LCD_NEW_LINE		0xC0

#define LCD_FUNCTION_SET	0x38
#define LCD_MODE_SET		0x06








 //*****************************************************//
 // This routine will return the busy flag from the LCD //
 //*****************************************************//
 
unsigned char LCD_Busy ( void )
{

unsigned char temp;

CLEAR_LCD_E;	   				 // Disable LCD

*LCD_DIR_PORT = 0x00;			// Make I/O Port input

SET_LCD_READ;					// Set LCD to READ
SET_LCD_CMD;					// Set LCD to command

SET_LCD_E;	   				 //

asm("nop");

temp = *LCD_IP_PORT;				// Load data from port

CLEAR_LCD_E;	   				 // Disable LCD

return temp;					 // return busy flag
}






// ********************************************** //
// *** Write a control instruction to the LCD *** //
// ********************************************** //

void LCD_WriteControl (unsigned char CMD)
{
	while (LCD_Busy()& 0X80);	// Test if LCD busy

	CLEAR_LCD_E;	   			// Disable LCD

	SET_LCD_WRITE ;				// Set LCD to write
	SET_LCD_CMD;				// Set LCD to command

	*LCD_DIR_PORT = 0xFF;		// LCD port output
	
	*LCD_OP_PORT = CMD;			// Load data to port

	SET_LCD_E;	   				// Write data to LCD

	asm("nop");
	
	CLEAR_LCD_E;	   			// Disable LCD
}



// ***************************************** //
// *** Write one byte of data to the LCD *** //
// ***************************************** //

void LCD_WriteData (unsigned char Data)
{

	while (LCD_Busy() & 0X80); 		// Test if LCD Busy

	CLEAR_LCD_E;	   				// Disable LCD

	SET_LCD_WRITE ;					// Set LCD to write
	SET_LCD_DATA;					// Set LCD to data

	*LCD_DIR_PORT = 0xFF;			// LCD port output
	
	*LCD_OP_PORT = Data;				// Load data to port

	SET_LCD_E;	   				 	// Write data to LCD

	asm("nop");

	CLEAR_LCD_E;	   				 // Disable LCD
}




// ********************************* //
// *** Initialize the LCD driver *** //
// ********************************* //
	
void Init_LCD(void)
{
	LCD_WriteControl (LCD_FUNCTION_SET);
	LCD_WriteControl (LCD_OFF);
	LCD_WriteControl (LCD_CLEAR);
	LCD_WriteControl (LCD_MODE_SET);
	LCD_WriteControl (LCD_ON);
	LCD_WriteControl (LCD_HOME);
}



// ************************************************ //
// *** Clear the LCD screen (also homes cursor) *** //
// ************************************************ //
void LCD_Clear(void)
{
	LCD_WriteControl(0x01);
}


// *********************************************** //
// *** Position the LCD cursor at row 1, col 1 *** //
// *********************************************** //

void LCD_Home(void)
{
	LCD_WriteControl(0x02);
}


// ****************************************************************** //
// *** Display a single character, at the current cursor location *** //
// ****************************************************************** //

void LCD_DisplayCharacter (char Char)
{
	LCD_WriteData (Char);
}



// ********************************************************************* //
// *** Display a string at the specified row and column, using FLASH *** //
// ********************************************************************* //

void LCD_DisplayString_F (char row, char column ,const unsigned char *string)
{
	LCD_Cursor (row, column);
	while (*string)
		LCD_DisplayCharacter (*string++);
}




// ******************************************************************* //
// *** Display a string at the specified row and column, using RAM *** //
// ******************************************************************* //

void LCD_DisplayString (char row, char column ,unsigned char *string)
{
	LCD_Cursor (row, column);
	while (*string)
		LCD_DisplayCharacter (*string++);
}



// *************************************************** //
// *** Position the LCD cursor at "row", "column". *** //
// *************************************************** //
void LCD_Cursor (char row, char column)
{
	switch (row) {
		case 1: LCD_WriteControl (0x80 + column - 1); break;
		case 2: LCD_WriteControl (0xc0 + column - 1); break;
		case 3: LCD_WriteControl (0x94 + column - 1); break;
		case 4: LCD_WriteControl (0xd4 + column - 1); break;
		default: break;
	}
}





// ************************** //
// *** Turn the cursor on *** //
// ************************** //
void LCD_Cursor_On (void)
{
	LCD_WriteControl (LCD_CURS_ON);
}


// *************************** //
// *** Turn the cursor off *** //
// *************************** //
void LCD_Cursor_Off (void)
{
	LCD_WriteControl (LCD_ON);
}


// ******************** //
// *** Turn Off LCD *** //
// ******************** //

void LCD_Display_Off (void)
{
	LCD_WriteControl(LCD_OFF);
}


// ******************* //
// *** Turn On LCD *** //
// ******************* //

void LCD_Display_On (void)
{
	LCD_WriteControl(LCD_ON);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人vps| 国产午夜一区二区三区| 国产麻豆精品视频| 亚洲欧洲一区二区三区| 日韩欧美一区二区免费| 9色porny自拍视频一区二区| 久久爱www久久做| 一区二区三区在线不卡| 精品少妇一区二区三区| 91国产成人在线| 高清国产一区二区三区| 麻豆精品视频在线观看视频| 一区二区日韩av| 亚洲国产成人在线| 精品成人佐山爱一区二区| 久久精品一区二区| 欧美丰满美乳xxx高潮www| 色综合天天综合网国产成人综合天 | 久久久久国色av免费看影院| 日本久久一区二区| 国产成人啪免费观看软件| 日本亚洲天堂网| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品日产第一区二区三区高清版 | 日本一区二区在线不卡| 日韩一级成人av| 欧洲一区二区三区免费视频| www.一区二区| 成人动漫一区二区三区| 韩国欧美一区二区| 美女尤物国产一区| 亚洲bdsm女犯bdsm网站| 一个色在线综合| 亚洲色图清纯唯美| 亚洲色图欧洲色图婷婷| 综合精品久久久| 国产精品毛片无遮挡高清| 亚洲国产精品二十页| 日本一区二区免费在线| 国产欧美日韩精品一区| 国产视频一区二区在线观看| 国产欧美日韩在线观看| 欧美国产精品中文字幕| 国产欧美日韩综合| 国产精品乱码一区二三区小蝌蚪| www久久久久| 国产片一区二区| 亚洲国产精品成人综合色在线婷婷| 国产亚洲视频系列| 中文字幕成人在线观看| 国产精品第13页| 一区二区国产视频| 偷拍一区二区三区四区| 日韩av中文字幕一区二区三区| 日韩av电影一区| 国产尤物一区二区在线| 国产不卡免费视频| 99精品热视频| 欧美日韩高清一区二区三区| 日韩欧美在线不卡| 国产日韩欧美电影| 国产一区二三区| 国产成人免费视| 色狠狠一区二区| 欧美一区二区三区日韩视频| 精品国产污网站| 国产欧美一区二区精品性| 亚洲乱码一区二区三区在线观看| 亚洲高清在线视频| 精品制服美女丁香| eeuss国产一区二区三区| 欧美日韩免费高清一区色橹橹 | 国产欧美精品区一区二区三区| 亚洲视频电影在线| 青青草成人在线观看| 国v精品久久久网| 欧美无人高清视频在线观看| 欧美成人精品二区三区99精品| 国产欧美日韩在线| 爽好多水快深点欧美视频| 国精产品一区一区三区mba视频| 成人app在线观看| 欧美一区永久视频免费观看| 国产亚洲人成网站| 日韩电影免费一区| 97久久超碰国产精品| 欧美一区二区三区四区在线观看| 国产日韩欧美精品在线| 午夜精品久久久| 国产成人av电影在线| 欧美日韩性生活| 亚洲国产岛国毛片在线| 日韩国产欧美三级| aa级大片欧美| www欧美成人18+| 天堂一区二区在线| 成人黄色电影在线| 精品国产伦一区二区三区观看方式 | 欧美美女bb生活片| 中文字幕制服丝袜一区二区三区| 秋霞国产午夜精品免费视频| 91色porny蝌蚪| 久久―日本道色综合久久| 亚洲午夜激情av| 91一区二区在线| 久久久不卡影院| 久久成人18免费观看| 欧美日韩国产综合一区二区 | 国产精品视频免费| 极品销魂美女一区二区三区| 欧美日韩在线观看一区二区 | 午夜激情一区二区| 99国产精品久久久久久久久久| 欧美成人一级视频| 日本亚洲免费观看| 欧美日韩国产综合草草| 日韩理论片在线| 成人高清在线视频| 日本一区二区三区高清不卡| 黄色日韩三级电影| 日韩午夜在线播放| 日本不卡一二三| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 中文字幕在线观看一区| 国产成人免费视频一区| 精品国产精品一区二区夜夜嗨| 午夜国产不卡在线观看视频| 欧美在线高清视频| 亚洲国产日韩综合久久精品| 日本高清免费不卡视频| 亚洲品质自拍视频| 一本色道久久综合精品竹菊| 最新高清无码专区| 97久久超碰国产精品| 亚洲精品久久嫩草网站秘色| 色综合久久六月婷婷中文字幕| 中文字幕av一区二区三区高 | 日韩精品每日更新| 91精品国产乱码久久蜜臀| 免费看日韩精品| 欧美一区二区精品在线| 免费在线看成人av| 日韩女优av电影| 狠狠色2019综合网| 久久精品夜色噜噜亚洲aⅴ| 国产成人精品免费视频网站| 国产精品麻豆久久久| 色综合色综合色综合色综合色综合| 亚洲毛片av在线| 欧美天堂亚洲电影院在线播放| 偷拍一区二区三区四区| 欧美mv和日韩mv国产网站| 国产一区 二区 三区一级| 国产亚洲精品7777| 91免费国产视频网站| 亚洲一卡二卡三卡四卡五卡| 884aa四虎影成人精品一区| 久久成人18免费观看| 亚洲国产精品高清| 欧美性猛交xxxx乱大交退制版| 免费欧美在线视频| 国产精品视频看| 精品视频123区在线观看| 蜜桃视频一区二区三区| 久久久久99精品国产片| 91香蕉视频污在线| 日本va欧美va瓶| 亚洲国产成人在线| 欧美日本一道本| 国产精品99久久不卡二区| 国内成+人亚洲+欧美+综合在线 | 国产精品美女久久久久久2018| 91丨九色porny丨蝌蚪| 肉丝袜脚交视频一区二区| 精品福利二区三区| 91极品美女在线| 激情五月激情综合网| 一区二区高清视频在线观看| 91精品国产欧美一区二区18 | 国产精品免费久久久久| 欧美影院午夜播放| 国产999精品久久久久久绿帽| 一区二区三区产品免费精品久久75| 日韩三区在线观看| 成人美女视频在线看| 午夜视频在线观看一区| 亚洲国产精品ⅴa在线观看| 欧美裸体bbwbbwbbw| 99精品久久久久久| 国内精品嫩模私拍在线| 亚洲在线视频网站| 中文成人综合网| 日韩一区二区在线观看视频播放| 成人污污视频在线观看| 免费亚洲电影在线| 亚洲免费在线视频一区 二区| 久久久久88色偷偷免费| 日韩一级高清毛片| 欧美午夜一区二区| 不卡高清视频专区|