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

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

?? lcd2.c

?? 485通信的源程序
?? 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一区二区三区免费野_久草精品视频
中文字幕日韩一区二区| 日韩一级免费观看| 国产精品亚洲成人| 国产精品自拍三区| 国产一区二区三区免费播放| 欧美aⅴ一区二区三区视频| 日韩黄色免费网站| 青娱乐精品在线视频| 久久疯狂做爰流白浆xx| 久久精品国产77777蜜臀| 日本美女视频一区二区| 激情综合网天天干| 国产成人免费高清| 99国内精品久久| 日本大香伊一区二区三区| 欧美久久婷婷综合色| 精品三级av在线| 国产精品久久看| 一个色在线综合| 美女尤物国产一区| 国产精品一区专区| 91免费视频大全| 在线电影院国产精品| 26uuu亚洲综合色| 国产精品美女久久久久aⅴ | 亚洲三级电影网站| 一二三区精品视频| 精品中文字幕一区二区小辣椒| 国产成人亚洲综合a∨婷婷 | 全部av―极品视觉盛宴亚洲| 精品亚洲免费视频| 色综合婷婷久久| 欧美一级艳片视频免费观看| 精品人伦一区二区色婷婷| 中文字幕亚洲一区二区av在线 | 一区二区三区国产| 免费在线一区观看| 99视频一区二区| 欧美一区永久视频免费观看| 国产日产精品1区| 亚洲国产精品精华液网站 | 欧美激情艳妇裸体舞| 最新国产成人在线观看| 亚洲线精品一区二区三区| 国产在线播放一区| 欧美性猛交xxxx乱大交退制版 | 7777精品伊人久久久大香线蕉经典版下载| 精品国产一区二区三区忘忧草| 日韩伦理av电影| 黑人巨大精品欧美一区| 欧美精品vⅰdeose4hd| 亚洲国产精品精华液ab| 久久国产生活片100| 欧美日韩一区二区三区四区| 国产精品久久久久久久久久免费看| 日韩精品亚洲一区| 欧美色电影在线| 一区二区三区在线观看动漫| 成人免费的视频| 亚洲精品一线二线三线| 日韩电影在线观看电影| 欧美自拍丝袜亚洲| 亚洲欧洲综合另类在线| 国产精华液一区二区三区| 欧美不卡一区二区| 久久精品国产精品亚洲红杏| 欧美一卡二卡在线观看| 亚洲第一福利视频在线| 色婷婷国产精品久久包臀 | 欧美午夜精品久久久久久超碰 | 欧美成人精品二区三区99精品| 图片区小说区区亚洲影院| 欧美在线色视频| 一区二区三区在线观看视频| 日本道色综合久久| 一区二区三区在线免费播放| 欧美中文字幕一二三区视频| 亚洲综合在线五月| 欧美三级资源在线| 日韩二区三区在线观看| 日韩欧美中文字幕制服| 蓝色福利精品导航| 亚洲精品一区二区三区蜜桃下载| 精品在线观看视频| 国产三级一区二区| 成人99免费视频| 亚洲精品国产无套在线观| 日本电影亚洲天堂一区| 日韩在线a电影| 日韩视频一区二区| 风间由美一区二区三区在线观看 | 舔着乳尖日韩一区| 日韩午夜在线播放| 久久99蜜桃精品| 国产日本欧美一区二区| eeuss鲁片一区二区三区| 亚洲裸体xxx| 欧美日韩午夜在线| 老汉av免费一区二区三区| 欧美极品另类videosde| 色呦呦日韩精品| 视频一区二区三区在线| 欧美精品一区二区三区四区 | 94-欧美-setu| 调教+趴+乳夹+国产+精品| 久久精品一区蜜桃臀影院| 99精品国产热久久91蜜凸| 日韩高清电影一区| 欧美韩日一区二区三区四区| 欧美日韩国产一级二级| 国产传媒久久文化传媒| 一区二区高清免费观看影视大全| 日韩一区二区视频在线观看| 成人理论电影网| 视频一区视频二区中文| 国产精品成人网| 日韩欧美一区二区不卡| 99久久综合狠狠综合久久| 日韩黄色一级片| 亚洲精品欧美激情| 国产蜜臀av在线一区二区三区| 欧美另类videos死尸| av午夜一区麻豆| 狠狠色狠狠色综合系列| 亚洲一区二区三区影院| 国产精品视频免费看| 精品国精品国产| 在线播放一区二区三区| av一区二区三区在线| 国产在线不卡一区| 裸体一区二区三区| 亚洲国产欧美日韩另类综合| 国产精品丝袜91| 国产女人aaa级久久久级| 欧美videofree性高清杂交| 在线亚洲一区观看| 99精品视频在线观看| 国产一区二区视频在线| 日本成人中文字幕在线视频| 悠悠色在线精品| 中文字幕一区在线| 国产精品视频线看| 亚洲国产精品二十页| 久久久久九九视频| 日韩午夜电影在线观看| 91精品国产美女浴室洗澡无遮挡| 在线免费亚洲电影| 在线观看一区二区精品视频| 在线观看一区不卡| 欧美日韩在线观看一区二区 | 蜜桃传媒麻豆第一区在线观看| 亚洲综合激情另类小说区| 有坂深雪av一区二区精品| 一区二区三区高清在线| 亚洲资源中文字幕| 亚洲国产成人高清精品| 亚洲成年人网站在线观看| 日韩精品91亚洲二区在线观看 | 亚洲精品国产精品乱码不99| 亚洲男人的天堂在线观看| 亚洲欧美电影院| 亚洲最新在线观看| 日本网站在线观看一区二区三区| 日韩精品一二三四| 国产美女在线精品| 国产iv一区二区三区| 成人av午夜电影| 欧洲色大大久久| 91精品婷婷国产综合久久性色| 日韩免费观看2025年上映的电影| 26uuu国产电影一区二区| 中文字幕 久热精品 视频在线 | 精品在线一区二区| 成人小视频免费在线观看| 一本久久综合亚洲鲁鲁五月天 | 欧美激情综合在线| 国产精品久久三| 午夜精品久久久久影视| 精品一区二区三区的国产在线播放| 国产一区二区三区四区在线观看| 成人av高清在线| 欧美日韩一卡二卡| 国产日韩欧美精品一区| 一区二区三区欧美日| 麻豆精品在线播放| 99riav久久精品riav| 91精品啪在线观看国产60岁| 国产蜜臀av在线一区二区三区| 一区二区激情小说| 国产自产v一区二区三区c| 在线免费观看视频一区| 久久只精品国产| 亚洲综合无码一区二区| 国产精品综合久久| 91精品欧美福利在线观看| 国产精品美女久久福利网站| 开心九九激情九九欧美日韩精美视频电影 | 日韩精品亚洲专区| 91影院在线观看| 久久久久国产成人精品亚洲午夜 |