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

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

?? lcd_drv.c

?? 這是以ATMEL公司的T89C51CC01和T89C51CC02設計canopen節點的資料
?? C
字號:
/*C*****************************************************************************
* FILE_NAME: LCD_DRV.C                                                             
*-------------------------------------------------------------------------------
* FILE_CREATED_BY: Eric TINLOT                                                         
* $Author: jberthy $
* $Revision: 1.1.1.1 $
* $Date: 2001/03/01 15:31:23 $
*-------------------------------------------------------------------------------
* FILE_PURPOSE:  DEMOBOARD LCD DRIVERS
* FILE_CONTENTS:                                                            
*******************************************************************************/

/* Includes     */

#include "config.h"
#include "lcd_drv.h"

/*  Defines     */
 
//#define TEMPO_15us (Uint32)(4 * FOSC) /12000 /* tempo duration of 15 us */
#define TEMPO_15us 3 


/* Declarations */
Uchar i;

/* Definitions  */

/* Prototypes   */

void lcd_tempo(void)
{
  for(i=0; i<TEMPO_15us; i++);
}

/**
** ----------------------------------------------------------------------------
** lcd_cmd_wr - write command to LCD
** ----------------------------------------------------------------------------
** Inputs: command
** Outputs: twice in 4 bit on LCD
** ----------------------------------------------------------------------------
** Comments: Use P3.2 and P3.4  to validate lcd  P1.6=R/W=0    P1.7=RS=0
** ----------------------------------------------------------------------------
*/
void lcd_cmd_wr(Uchar value)
{
  unsigned char a,b;

  a = (value >> 4) & 0x0F;              /* 4 highest bit of value + RS=RW=0 */
  b =        value & 0x0F;              /* 4 lowest  bit of value + RS=RW=0 */
        
  P1 = a;       		                                                 
  LCD_ENABLE;                  /* select  LCD with P3.2=0 and P3.4=0 */
  lcd_tempo();
  LCD_DISABLE;                /* Disable LCD with P3.2=1 and P3.4=1 */ 
  P1 = b;   		                    /* P1.7=0  --> Instruction data input */	
  LCD_ENABLE;                  /* select  LCD with P3.2=0 and P3.4=0 */
  P2_2 = 0;
  lcd_tempo();
  P2_2 = 1;

  LCD_DISABLE;                /* Disable LCD with P3.2=1 and P3.4=1 */ 
} 


/*
** ----------------------------------------------------------------------------
** lcd_cmd8_wr - write command to LCD in 8 bits (only 4 low bytes are send) 
** ----------------------------------------------------------------------------
** Inputs: command
** Outputs: none
** ----------------------------------------------------------------------------
** Comments: Use P3.2 and P3.4  to validate lcd  P1.6=R/W=0    P1.7=RS=0
** ----------------------------------------------------------------------------
*/
void lcd_cmd8_wr(Uchar value)
{
  P1= value & 0x3F;                         /* 4 low bit of value + RS=RW=0 */
  LCD_ENABLE;                  /* select  LCD with P3.2=0 and P3.4=0 */
  lcd_tempo();
  LCD_DISABLE;                /* Disable LCD with P3.2=1 and P3.4=1 */ 
} 



/*
** ----------------------------------------------------------------------------
** lcd_bf - look to see if lcd busy flag is OK
** ----------------------------------------------------------------------------
** Inputs: none
** Outputs: FALSE or TRUE
** ----------------------------------------------------------------------------
** Comments: Use P3.2 and P3.4  to validate lcd  P1.6=R/W=0    P1.7=RS=0
** ----------------------------------------------------------------------------
*/
Uchar lcd_bf(void)
{
  Uchar fct_return = FALSE;
  Uchar high,low;

  P1 = P1 & LCD_RD & LCD_DATA;     /* read busy flag command */
  LCD_ENABLE;                          /* enabled  LCD  */
  high  = P1 & LCD_BF;                 /* mask for Busy flag */ 
  LCD_DISABLE;                         /* Disable LCD  */ 
  lcd_tempo();
  LCD_ENABLE;
  low  = P1;                                    /* low 4 bit */
  LCD_DISABLE;
  if (high==0)
  { 
    fct_return = TRUE;
  }
  return(fct_return);  
}

/*****************************************************************************
* FUNCTION_NAME: lcd_data_wr                                                             
*----------------------------------------------------------------------------
* FUNCTION_AUTHOR: E.TINLOT                                                         
* FUNCTION_DATE: 06.10.1999                                                           
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE: send a character to the current DDRAM ADRESS                                                          
* FUNCTION_INPUTS:  character                                                          
* FUNCTION_OUTPUTS: none                                                        
*****************************************************************************
* NOTE: 4 higest bit first then 4 lowest bit
*****************************************************************************/
void lcd_data_wr(Uchar charact)
{
    P1 = ((charact >> 4) & LCD_DATA) | LCD_RS;    /* 4 highest bit of charact */
    LCD_ENABLE;                                         /* Enabled LCD  */
    lcd_tempo();
    LCD_DISABLE;                                        /* Disable LCD  */ 
    P1 = (charact & LCD_DATA) | LCD_RS;            /* 4 lowest bit of charact */
    LCD_ENABLE;                          
    lcd_tempo();
    LCD_DISABLE;                
}


/*****************************************************************************
* FUNCTION_NAME: lcd_ddram_init                                                             
*----------------------------------------------------------------------------
* FUNCTION_AUTHOR: E.TINLOT                                                         
* FUNCTION_DATE: 06.10.1999                                                           
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE: init ddram to adress                                                          
* FUNCTION_INPUTS:  adress to init                                                          
* FUNCTION_OUTPUTS: none                                                        
*****************************************************************************
* NOTE: 4 higest bit first then 4 lowest bit
*****************************************************************************/
void lcd_ddram_init(Uchar address)
{   
    P1 =  (address | LCD_DDRAM)>>4 ;              /* 4 highest bit of address */
    LCD_ENABLE;                                         /* Enabled LCD  */
    lcd_tempo();
    LCD_DISABLE;                                        /* Disable LCD  */ 
    P1 = address & 0x0F ;                          /* 4 lowest bit of address */
    LCD_ENABLE;                          
    lcd_tempo();
    LCD_DISABLE;                
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv一区二区三区88区| 国产在线播放一区三区四| 国产精品久久久久久久第一福利| 日韩欧美激情一区| 日韩亚洲欧美综合| 日韩女优电影在线观看| 91精品国产福利| 欧美zozo另类异族| 久久久久久久久久久久久久久99 | 国产亚洲短视频| 久久久综合激的五月天| 中文字幕不卡在线播放| 国产精品无人区| 亚洲激情男女视频| 视频一区二区国产| 激情欧美一区二区| 成人sese在线| 欧美图片一区二区三区| 欧美久久免费观看| 久久综合九色欧美综合狠狠| 中文字幕av在线一区二区三区| 最新日韩在线视频| 婷婷成人激情在线网| 精品一区二区三区在线视频| 成人美女视频在线看| 欧美日韩在线亚洲一区蜜芽| 欧美成人国产一区二区| 国产精品免费视频观看| 亚洲电影在线播放| 国产精品综合av一区二区国产馆| caoporn国产精品| 欧美高清视频不卡网| 久久综合久久综合亚洲| 亚洲精品日产精品乱码不卡| 秋霞电影网一区二区| av亚洲精华国产精华精华| 日韩视频在线永久播放| 亚洲欧洲一区二区在线播放| 老汉av免费一区二区三区| 99久久久国产精品| 欧美mv日韩mv| 亚洲成人精品一区| 在线精品视频一区二区| 欧美精品一区二区三区四区| 亚洲精品久久久久久国产精华液| 久久国产综合精品| 欧美色网一区二区| 中文字幕亚洲一区二区av在线| 老鸭窝一区二区久久精品| 91黄色免费网站| 欧美国产亚洲另类动漫| 老司机精品视频导航| 色综合久久综合| 国产精品久久影院| 国产精品123| 精品国产乱码久久久久久老虎| 一区二区在线看| 99久久久久久| 国产精品女同互慰在线看| 久久草av在线| 日韩一区二区三区三四区视频在线观看| 17c精品麻豆一区二区免费| 国内久久精品视频| 日韩欧美123| 久久精品久久久精品美女| 欧美日韩不卡视频| 亚洲va欧美va天堂v国产综合| 色综合色狠狠天天综合色| 亚洲欧洲日韩在线| 成人美女在线观看| 国产精品超碰97尤物18| www.久久精品| 最新久久zyz资源站| 成人性视频免费网站| 国产精品午夜久久| av高清不卡在线| 亚洲视频精选在线| 色天使色偷偷av一区二区| 亚洲黄色小视频| 欧美视频在线观看一区| 首页国产丝袜综合| 日韩手机在线导航| 国内精品嫩模私拍在线| 久久久久综合网| 国产成人在线视频网址| 中文字幕在线免费不卡| 99久久er热在这里只有精品15| 中文字幕亚洲不卡| 欧美三级中文字幕| 久久综合综合久久综合| 久久久精品一品道一区| 国产99久久久国产精品潘金 | 91丨九色丨国产丨porny| 国产欧美日韩在线| 色婷婷综合中文久久一本| 亚洲成人免费看| 欧美一级日韩免费不卡| 国产乱码精品一区二区三区忘忧草| 久久新电视剧免费观看| 成人在线视频首页| 亚洲3atv精品一区二区三区| 精品国产乱码久久久久久1区2区| 国产精品自拍一区| 一区二区三区日韩精品视频| 91精品久久久久久蜜臀| 成人一区二区三区视频| 亚洲成人自拍网| 国产亚洲va综合人人澡精品| 一本久道中文字幕精品亚洲嫩| 日韩高清欧美激情| 国产精品婷婷午夜在线观看| 欧美日韩精品电影| 懂色av一区二区三区免费看| 亚洲在线视频一区| 国产午夜精品美女毛片视频| 欧美少妇性性性| 国产91在线观看| 天堂成人国产精品一区| 欧美激情一区二区| 欧美电影免费观看完整版 | 亚洲一区二区在线视频| 欧美成人欧美edvon| 91传媒视频在线播放| 国产精品亚洲综合一区在线观看| 亚洲伦在线观看| 久久精品夜色噜噜亚洲a∨| 欧洲一区二区三区在线| 不卡的av在线播放| 国产黄色精品网站| 男女性色大片免费观看一区二区| 亚洲欧洲三级电影| 久久久www成人免费无遮挡大片| 欧美美女激情18p| 一本到不卡精品视频在线观看| 国产精品综合一区二区三区| 日本欧美大码aⅴ在线播放| 亚洲美女电影在线| 亚洲视频免费在线观看| 欧美高清在线一区| 久久先锋影音av| 欧美成人一级视频| 日韩免费在线观看| 日韩网站在线看片你懂的| 欧美日韩一区不卡| 欧美日韩三级视频| 欧洲色大大久久| 91福利国产精品| 日本高清不卡aⅴ免费网站| av网站一区二区三区| 成人午夜碰碰视频| jizz一区二区| 91丨porny丨蝌蚪视频| 成人av网站免费观看| 成人91在线观看| a4yy欧美一区二区三区| 91色视频在线| 欧美性大战久久久久久久| 在线看日本不卡| 精品视频在线视频| 日韩一级片网站| 精品99久久久久久| 欧美韩日一区二区三区| 17c精品麻豆一区二区免费| 日韩一区日韩二区| 亚洲第一福利视频在线| 男人操女人的视频在线观看欧美| 久久精品国产**网站演员| 韩国三级中文字幕hd久久精品| 国产精品一线二线三线| 成人黄色国产精品网站大全在线免费观看| 国产精品综合二区| 91小视频免费看| 欧美乱熟臀69xxxxxx| 日韩一区二区三区四区五区六区| 精品国产电影一区二区| 中文av字幕一区| 亚洲大片免费看| 极品瑜伽女神91| 91色九色蝌蚪| 欧美日韩免费视频| 久久网这里都是精品| 亚洲欧美国产三级| 免费成人在线播放| 成人黄色av网站在线| 欧美男男青年gay1069videost | 欧美激情一区二区三区四区| 亚洲乱码一区二区三区在线观看| 日韩精品成人一区二区三区 | 欧美乱熟臀69xxxxxx| 中文字幕免费观看一区| 性感美女极品91精品| 成人免费视频网站在线观看| 欧美久久久久久久久中文字幕| 国产区在线观看成人精品| 亚洲成人动漫在线免费观看| 成人性色生活片免费看爆迷你毛片| 欧美精品在线一区二区三区| 国产欧美精品一区二区色综合| 亚洲v日本v欧美v久久精品| 成人理论电影网|