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

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

?? lcd2.c

?? 基于PIC16F873構成485接口的C源碼
?? C
字號:
/***************************************************************************/
/*  Lcd.c       LCD interface routines                                     */
/*  Version :   2.1. for PIC16F87x                                         */
/*                                                                         */
/*  J. Winpenny  1/8/2000                                                  */
/*                                                                         */
/*                                                                         */
/*  Mode : HD44780 type LCD displays                                       */
/*                                                                         */
/*                                                                         */
/* Notes : Updated version                                                 */
/*         to allow greater adaptability to different displays             */
/*                                                                         */
/***************************************************************************/
#include "lcd2.h"



/* Definitions for the LCD interface */
#define PORT_D_CONFIG 0x00

#define LCD_SEL 3 /* Port A bit 3 ( Enables LCD ) */
#define LCD_WR  2 /* Port A bit 2 ( Logic 0 = Write ) */
#define LCD_RS  1 /* Port A bit 1 ( Register select ) */
#define LCD_DATA PORTD     /* The port the lcd data bus is connected to */
#define LCD_CONTROL PORTD  /* The port the lcd control bus is connected to */

#define BUSY_BIT 7
#define BUSY_MASK 0x80

#define LCD_DATA_4 4   /* LCD BIT 0 */
#define LCD_DATA_5 5   /* LCD BIT 1 */
#define LCD_DATA_6 6   /* LCD BIT 2 */
#define LCD_DATA_7 7   /* LCD BIT 3 */

#define LCD_LINE_LEN 16

/************************************************************/
/* LCD Commands ( Refer to LCD Data Sheet )                 */
/* Standard command should work with most common devices    */
/************************************************************/

#define clear_lcd         0x01 /* Clear Display                       */
#define return_home       0x02 /* Cursor to Home position             */
#define entry_mode        0x06 /* Normal entry mode                   */
#define entry_mode_shift  0x07 /* - with shift                        */
#define system_set_8_bit  0x38
/* 8 bit data mode 2 line ( 5x7 font ) */
#define system_set_4_bit  0x28
/* 4 bit data mode 2 line ( 5x7 font ) */
#define display_on        0x0c /* Switch ON Display                   */
#define display_off       0x08 /* Cursor plus blink                   */
#define set_dd_line1      0x80 /* Line 1 position 1                   */
#define set_dd_line2      0xC0 /* Line 2 position 1                   */
#define set_dd_ram        0x80 /* Line 1 position 1                   */
#define write_data        0x00 /* With rs = 1                         */
#define cursor_on         0x0E /* Switch Cursor ON                    */
#define cursor_off        0x0C /* Switch Cursor OFF                   */




char Modeflags, line;

/***********************************/
/* Setup the lcd device            */
/***********************************/
void LCDSetup(void)
{
 /* Reset the LCD */

   ModeFlags = 0;           /* Default to Function Mode */


   Write_8_Bit( system_set_4_bit ); /* This sequence resets the LCD */
   delay_ms(5);
   Write_8_Bit( system_set_4_bit );
   Delay();
   Write_8_Bit( system_set_4_bit );
   Delay();
   LcdWrite( system_set_4_bit );

   LcdWrite( display_on );
   LcdWrite( clear_lcd );
   LcdWrite( entry_mode );
   LcdWrite( set_dd_ram );
   ModeFlags = 1; /* Data Mode */

}


/***********************************/
/* Put LCD in Function Mode        */
/***********************************/
void FunctionMode(void)
{
   BIT_CLEAR( ModeFlags, 0 ); /* Save Mode */
   BIT_CLEAR( LCD_CONTROL, LCD_RS );

}

/***********************************/
/* Put LCD in Data Mode            */
/***********************************/

void DataMode(void)
{
   BIT_SET( ModeFlags, 0 ); /* Save Mode */
   BIT_SET( LCD_CONTROL, LCD_RS );
}

/***********************************/
/* Write a single byte to the LCD  */
/* 8 Bit Mode                      */
/***********************************/
void Write_8_Bit( char dh )
{

   BIT_CLEAR( dh, LCD_WR );      /* Write mode    */
   BIT_CLEAR( dh, LCD_RS );      /* Function mode */
   BIT_CLEAR( dh, LCD_SEL);

   //LCD_CONTROL = 0;
   BIT_CLEAR( dh, LCD_SEL );     /* de-select LCD */
   delay_ms(1);

   LCD_DATA = dh;                          /* Setup data    */
   #asm
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   #endasm
   BIT_SET( LCD_CONTROL, LCD_SEL );        /* Select LCD    */
   Delay();
   BIT_CLEAR( LCD_CONTROL, LCD_SEL );     /* de-select LCD */
   Delay();

}

/***********************************/
/* Write a single byte to the LCD  */
/* 4 Bit Mode                      */
/***********************************/
void LcdWrite(char dl )
{
char e;

   e = dl;                           /* Save lower 4 bits */

/*********************************** Output Upper 8 bits ******************************/

   BIT_CLEAR( dl, LCD_WR );            /* Write mode */

   if ( ( ModeFlags & 0x01 ) == 0 )
      BIT_CLEAR( dl, LCD_RS );         /* Function mode */
   else
      BIT_SET( dl, LCD_RS );           /* Data mode */

   BIT_CLEAR( dl, LCD_SEL);

   LCD_DATA = dl;                           /* Setup data    */
   Delay();
   BIT_SET( LCD_CONTROL, LCD_SEL);         /* Select LCD    */
   Delay();
   BIT_CLEAR( LCD_CONTROL, LCD_SEL );      /* de-select LCD */


   dl = e;                                  /* Restore lower 4 bits */
   dl <<= 4;

/*********************************** Output Lower 8 bits ******************************/

   BIT_CLEAR( dl, LCD_WR );       /* Write mode    */

   if ( ( ModeFlags & 0x01 ) == 0 )
      BIT_CLEAR( dl, LCD_RS );    /* Function mode */
   else
      BIT_SET( dl, LCD_RS );      /* Data mode */

   BIT_CLEAR( dl, LCD_SEL);
   LCD_DATA = dl;                           /* Setup data    */
   #asm
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
   #endasm
   BIT_SET( LCD_CONTROL, LCD_SEL);         /* Select LCD    */
   Delay();
   BIT_CLEAR( LCD_CONTROL, LCD_SEL );      /* de-select LCD */
   Delay();

}

/***********************************/
/* LCD timing delay                */
/* Adjust for your LCD Display     */
/***********************************/
void Delay(void)
{
   delay_ms(2);
}

/***********************************/
/* Clear LCD Screen                */
/***********************************/
void Clear(void)
{

   FunctionMode();
   LcdWrite(clear_lcd);
   DataMode();

}

/***********************************/
/* Set the cursor position         */
/***********************************/
void SetPos(char Pos)
{

   FunctionMode();
   LcdWrite( Pos );
   DataMode();

}

/***********************************/
/* Set Position to line 1          */
/***********************************/
void Line1(void)
{
   line = 1;
   FunctionMode();
   LcdWrite( set_dd_line1 );
   DataMode();
}

/***********************************/
/* Set Position to line 2          */
/***********************************/
void Line2(void)
{
   line = 2;
   FunctionMode();
   LcdWrite( set_dd_line2 );
   DataMode();
}

/*******************************************/
/* Clear Line 1                            */
/*******************************************/
void ClearLine1(void)
{
char c;

   Line1();

   for( c = 0; c < LCD_LINE_LEN; c++ )
      {
          LcdWrite(' ');
      }

   Line1();

}

/*******************************************/
/* Clear Line 2                            */
/*******************************************/
void ClearLine2(void)
{
char c;

  Line2();

  for( c = 0; c < 16; c++ )
     {
         LcdWrite(' ');
     }

  Line2();
}

/*******************************************/
/* Write a const string to the LCD         */
/*******************************************/
void WriteString( char *lcdptr )
{
char c;

  c = 0;
                // Check for end of string
    while( lcdptr[c] !=  0 )
         {
            // Don't display CR's
            if ( lcdptr[c] == 13 )  break;

            LcdWrite( lcdptr[c++] );// Display on LCD
         }

}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产97人人爽人人喊| 精品视频资源站| 中文字幕av一区二区三区免费看| 欧美影院一区二区| 国产不卡视频在线观看| 美女精品一区二区| 午夜久久久久久久久久一区二区| 成人免费一区二区三区在线观看| 精品国产伦一区二区三区观看体验| 欧美久久一区二区| 欧美影院一区二区三区| 91久久精品国产91性色tv| 风间由美一区二区三区在线观看 | 精品视频一区三区九区| 99久久久久久| 韩国女主播成人在线观看| 日韩高清不卡在线| 午夜精品久久久久影视| 亚洲午夜精品在线| 亚洲精品乱码久久久久| 国产精品久久久久影院亚瑟| 国产日韩欧美一区二区三区乱码| 久久综合久久综合九色| 日韩精品一区二区三区视频播放 | 日韩激情av在线| 午夜精品一区在线观看| 日韩高清不卡一区二区三区| 日本中文字幕一区二区视频| 日韩理论片在线| 亚洲欧美国产高清| 亚洲另类在线制服丝袜| 亚洲曰韩产成在线| 三级欧美韩日大片在线看| 美女免费视频一区二区| 韩国成人在线视频| jvid福利写真一区二区三区| www.日韩大片| 欧美日韩一区 二区 三区 久久精品 | 国产91精品一区二区麻豆网站| 国产成人精品三级| 99re这里只有精品首页| 欧美精品乱码久久久久久| 日韩一级成人av| 国产人成亚洲第一网站在线播放| 亚洲一区二区三区四区中文字幕 | 日日夜夜一区二区| 美女视频一区二区三区| 高清不卡一区二区| 91免费看片在线观看| 欧美日韩国产小视频| 91精品欧美一区二区三区综合在| 欧美变态凌虐bdsm| 亚洲卡通欧美制服中文| 美女免费视频一区| 久久精品国产在热久久| 成人精品国产一区二区4080| 在线观看视频一区二区欧美日韩| 91欧美激情一区二区三区成人| 在线播放91灌醉迷j高跟美女 | 麻豆久久久久久| 成人高清免费观看| 欧美高清一级片在线| 国产清纯白嫩初高生在线观看91| 一区二区三区在线免费观看| 美女高潮久久久| 欧美优质美女网站| 久久精品人人做人人综合 | 91精品中文字幕一区二区三区| 中文字幕电影一区| 亚洲免费观看高清完整版在线 | 日本精品一区二区三区高清| 欧美一区二区二区| 亚洲精品久久7777| 在线观看亚洲一区| 亚洲高清一区二区三区| 欧美日韩成人综合| 日韩精品亚洲一区| 91精品国产高清一区二区三区 | 亚洲精品成人精品456| 99久久国产综合精品女不卡| 国产精品美女一区二区三区| 成人少妇影院yyyy| 成人欧美一区二区三区白人| 91亚洲精华国产精华精华液| 一区二区三区**美女毛片| 在线中文字幕一区| 日韩电影在线一区二区三区| 日韩一区二区三区免费观看| 韩日av一区二区| 国产精品亲子伦对白| av电影在线不卡| 亚洲综合一区二区三区| 91精选在线观看| 欧美无砖专区一中文字| 亚洲五码中文字幕| 日韩免费一区二区| 国产精品18久久久久久久久 | 中文字幕日韩一区二区| 欧美在线观看视频一区二区| 蜜桃视频第一区免费观看| 精品精品国产高清a毛片牛牛 | 欧美亚洲自拍偷拍| 久久99国产精品久久99果冻传媒| 国产日韩在线不卡| 在线观看一区二区视频| 精品午夜一区二区三区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 不卡欧美aaaaa| 日一区二区三区| 国产亚洲精品aa| 在线视频欧美精品| 精品亚洲国内自在自线福利| 日韩一区欧美一区| 欧美成人女星排行榜| 99久久伊人精品| 蜜臀av一区二区在线免费观看| 中文字幕在线观看一区| 91精品国产综合久久国产大片 | 偷拍自拍另类欧美| 国产日韩欧美亚洲| 日韩午夜激情免费电影| 91看片淫黄大片一级在线观看| 欧美aaaaa成人免费观看视频| 国产精品美女久久久久久久久| 9191成人精品久久| 色婷婷亚洲精品| 成人午夜在线播放| 久久99久久精品欧美| 亚洲资源在线观看| 国产精品乱码妇女bbbb| 日韩亚洲欧美中文三级| 91黄色小视频| 99久久99久久久精品齐齐| 国模无码大尺度一区二区三区 | 欧美tk丨vk视频| 欧美性大战久久| 色综合中文字幕| 成人亚洲精品久久久久软件| 麻豆国产精品官网| 婷婷开心久久网| 亚洲一二三专区| 一区二区三区四区亚洲| 成人欧美一区二区三区白人| 久久精品一区二区三区不卡 | 尤物av一区二区| 中文字幕亚洲不卡| 国产视频一区二区在线观看| 精品福利在线导航| 欧美变态凌虐bdsm| 日韩欧美电影在线| 日韩精品资源二区在线| 91精品视频网| 日韩一级免费一区| 欧美大片免费久久精品三p| 欧美日韩另类一区| 欧美图区在线视频| 欧美日本视频在线| 欧美一区午夜精品| 日韩久久免费av| 久久婷婷久久一区二区三区| 精品久久久网站| 久久九九全国免费| 国产精品色噜噜| 亚洲宅男天堂在线观看无病毒| 亚洲精品中文字幕在线观看| 亚洲免费在线电影| 亚洲国产精品天堂| 麻豆精品新av中文字幕| 美国av一区二区| 国产美女精品在线| 日韩一本二本av| 国产精品嫩草99a| 亚洲蜜臀av乱码久久精品| 亚洲国产精品影院| 久久99国产精品成人| 成人免费观看av| 欧美日韩国产综合视频在线观看| 欧美色视频在线| 日韩欧美国产电影| 亚洲欧美在线视频| 一区av在线播放| 奇米在线7777在线精品| 国产一区二区久久| 91国内精品野花午夜精品| 欧美一区二区三区成人| 国产三区在线成人av| 一区二区三区免费网站| 精品无人码麻豆乱码1区2区 | 亚洲免费在线看| 蜜桃精品视频在线观看| 成人动漫中文字幕| 欧美一卡二卡三卡四卡| 日本一区二区在线不卡| 午夜精品免费在线观看| 波多野洁衣一区| 日韩视频中午一区| 亚洲免费观看高清在线观看| 国产综合色产在线精品| 欧美在线免费观看视频| 国产午夜精品久久久久久免费视|