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

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

?? rd_lcd1602b.lis

?? LCD1602鍵盤顯示模塊實例
?? LIS
?? 第 1 頁 / 共 4 頁
字號:
                        .module RD_LCD1602B.c
                        .area text(rom, con, rel)
 0000                   .dbfile O:\2007全國電子設(shè)計大賽\鍵盤顯示模塊\RD_LCD1602B.c
                        .area lit(rom, con, rel)
 0000           _CHR:
 0000 3031              .byte 48,49
 0002 3233              .byte 50,51
 0004 3435              .byte 52,53
 0006 3637              .byte 54,55
 0008 3839              .byte 56,57
 000A 6162              .byte 'a,'b
 000C 6364              .byte 'c,'d
 000E 6566              .byte 'e,'f
                        .area data(ram, con, rel)
 0000                   .dbfile O:\2007全國電子設(shè)計大賽\鍵盤顯示模塊\RD_LCD1602B.c
 0000           _LCD_Temp:
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile O:\2007全國電子設(shè)計大賽\鍵盤顯示模塊\RD_LCD1602B.c
                        .area text(rom, con, rel)
 0000                   .dbfile O:\2007全國電子設(shè)計大賽\鍵盤顯示模塊\RD_LCD1602B.c
 0000                   .dbfunc s LCDDelay _LCDDelay fV
 0000           ;   TimeCounter1 -> R20,R21
 0000           ;           Time -> R10,R11
                        .even
 0000           _LCDDelay:
 0000 0E940000          xcall push_xgset300C
 0004 5801              movw R10,R16
 0006                   .dbline -1
 0006                   .dbline 189
 0006           ; /***********************************************************
 0006           ; *   函數(shù)庫說明:LCD1602B基本驅(qū)動函數(shù)庫                     *
 0006           ; *   版本:      v2.11                                      *
 0006           ; *   作者:      傻孩子                                     *
 0006           ; *   創(chuàng)建日期:  2005年9月6日                               *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [支 持 庫]                                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本更新]                                              *
 0006           ; *   修改:      傻孩子                                     *
 0006           ; *   修改日期:  2006年6月8日                               *
 0006           ; *   版本:      v2.11                                      *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本歷史]                                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [使用說明]                                              *
 0006           ; *              1、需要底層硬件驅(qū)動函數(shù)支持                 *
 0006           ; *                 基本的宏定義:                           *
 0006           ; *                 LCD_RS   LCD_RW   LCD_E                  *
 0006           ; *                 LCD_SET_WRITE_DATA  LCD_SET_READ_DATA    *
 0006           ; *                 LCD_SEND_HALF_CHAR_HIGH(a)               *
 0006           ; *                 LCD_SEND_HALF_CHAR_LOW(a)                *
 0006           ; *                 當(dāng)處于串行狀態(tài)下時,只定義LCD_RS         *
 0006           ; *                 LCD_E LCD_SEND_HALF_CHAR_HIGH(a)         *
 0006           ; *                 LCD_SEND_HALF_CHAR_LOW(a)                *
 0006           ; *              2、如果采用8數(shù)據(jù)位連接,則需要定義數(shù)據(jù)端口  *
 0006           ; *                 LCD_DATA_PORT,同時需要定義宏來開啟該功  *
 0006           ; *                 能:_LCD1602_FULL_DATA_MODEL             *
 0006           ; *              3、需要修改引用宏定義來指定底層硬件驅(qū)動     *
 0006           ; *                 函數(shù)庫。                                 *
 0006           ; *              4、本庫驅(qū)動下的LCD顯示支持1602的各種連      *
 0006           ; *                 接方法。當(dāng)使用只寫模式是請在引用該頭     *
 0006           ; *                 文件之前加上宏定義:                     *
 0006           ; *                 # define _USE_LCD_ONLY_WRITE             *
 0006           ; *              5、在調(diào)用本庫之前,定義RunStringSpeed可     *
 0006           ; *                 以設(shè)置滾屏的速度。通過在引用前定義       *
 0006           ; *                 FlashTimeOut 和 FlashGIFTimeOut 可以     *
 0006           ; *                 改變字符閃爍的頻率。                     *
 0006           ; *              6、增加一個GIF字幕特效函數(shù)。                *
 0006           ; *              7、確定沒有LCD復(fù)位問題。                    *
 0006           ; *              8、增加對595串行轉(zhuǎn)并行連接的支持。          *
 0006           ; *                 需要頭文件SerialToCollateral.h           *
 0006           ; ***********************************************************/
 0006           ; 
 0006           ; /********************
 0006           ; * 頭 文 件 配 置 區(qū) *
 0006           ; ********************/
 0006           ; # include "RD_MacroAndConst.h"
 0006           ; # include "LIB_Config.h"
 0006           ; # include "RD_LCD1602B.h"
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *   系 統(tǒng) 宏 定 義  *
 0006           ; ********************/
 0006           ; 
 0006           ; /*------------------*
 0006           ; *   常 數(shù) 宏 定 義  *
 0006           ; *------------------*/
 0006           ; # define LCD_CMD_DISP_CTR   0x0c
 0006           ; # define LCD_CMD_CLS        0x01
 0006           ; # define LCD_CMD_ENTER_SET  0x02
 0006           ; # define LCD_CMD_ICON_SHOW  0x0f
 0006           ; # define LCD_CMD_ICON_HIDE  0x0c
 0006           ; # define LCD_CMD_NOT_MOVE   0x14
 0006           ; 
 0006           ; 
 0006           ; # define LCD_WRITE          0x00
 0006           ; # define LCD_READ           0x01
 0006           ; # define LCD_COMMAND        0x00
 0006           ; # define LCD_DATA           0x01
 0006           ; 
 0006           ; #ifndef LCD_RUN_STRING_SPEED
 0006           ;     # define LCD_RUN_STRING_SPEED 100
 0006           ; #endif
 0006           ; 
 0006           ; #ifndef LCD_FLASH_TIME_OUT
 0006           ;     # define LCD_FLASH_TIME_OUT   0x03ff
 0006           ; #endif
 0006           ; #ifndef LCD_FLASH_STRING_GROUP_TIME_OUT
 0006           ;     # define LCD_FLASH_STRING_GROUP_TIME_OUT  0x03ff
 0006           ; #endif
 0006           ; 
 0006           ; /*------------------*
 0006           ; *   動 作 宏 定 義  *
 0006           ; *------------------*/
 0006           ; #ifndef LCD_SET_WRITE_DATA
 0006           ;     # define LCD_SET_WRITE_DATA
 0006           ; #endif
 0006           ; #ifndef LCD_SET_READ_DATA
 0006           ;     # define LCD_SET_READ_DATA
 0006           ; #endif
 0006           ; #ifndef LCD_RW
 0006           ;     # define LCD_RW   LCD_Temp 
 0006           ; #endif
 0006           ; #ifndef LCD_BF
 0006           ;       # define LCD_BF   LCD_Temp
 0006           ; #endif
 0006           ; 
 0006           ; #ifndef _Use_LCD1602B_Serial
 0006           ;     # define SetReadState       LCD_SET_READ_DATA;LCD_RS = LCD_COMMAND;LCD_RW = LCD_READ;
 0006           ;     # define SetRead            LCD_SET_READ_DATA;LCD_RW = LCD_READ;
 0006           ;     # define SetWrite           LCD_SET_WRITE_DATA;LCD_RW = LCD_WRITE;
 0006           ;     # define SetCommand         LCD_RS = LCD_COMMAND;
 0006           ;     # define SetData            LCD_RS = LCD_DATA;
 0006           ; #else
 0006           ;     # define _USE_LCD_ONLY_WRITE
 0006           ;     # define SetReadState
 0006           ;       # define SetRead
 0006           ;       # define SetWrite
 0006           ;       # define SetCommand         LCD_RS = LCD_COMMAND;refreshVirtualPORT();
 0006           ;       # define SetData            LCD_RS = LCD_DATA;refreshVirtualPORT();   
 0006           ;       # define SetEnable          LCD_E = High;refreshVirtualPORT();
 0006           ;       # define SetDisable         LCD_E = Low;refreshVirtualPORT();
 0006           ; #endif
 0006           ; 
 0006           ; #ifdef _LCD1602_FULL_DATA_MODEL
 0006           ;     #ifndef LCD_DATA_PORT
 0006           ;         #error Need for macro: LCD_DATA_PORT
 0006           ;     #endif
 0006           ; #endif
 0006           ; /********************
 0006           ; *  用戶變量類型定義 *
 0006           ; ********************/
 0006           ; 
 0006           ; /********************
 0006           ; *  模塊結(jié)構(gòu)體定義區(qū) *
 0006           ; ********************/
 0006           ; 
 0006           ; /********************
 0006           ; *   模塊函數(shù)聲明區(qū)  *
 0006           ; ********************/
 0006           ; static void LCDDelay(unsigned int Time);
 0006           ; static void LCDDelayUs(unsigned int Time);
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *   全局函數(shù)聲明區(qū)  *
 0006           ; ********************/
 0006           ; void LCDInit(void);
 0006           ; void LCDSetXY(char X,char Y);
 0006           ; void LCDDisplayString(char *String);
 0006           ; void LCDDisplayNum(unsigned long Num,char BitCount);
 0006           ; void RunString(char *String,char Y,char StartX,char EndX);
 0006           ; char StringLength(char *String);
 0006           ; void Flash(char *String,char Icon,char X,char Y);
 0006           ; void FlashStringGroup(char String[][17],char StringCounter,char X,char Y);
 0006           ; void LCDWaitForReady(void);
 0006           ; void LCDSendCommand(char Command);
 0006           ; void LCDSendData(char Data);
 0006           ; 
 0006           ; /********************
 0006           ; *   全局函數(shù)引用區(qū)  *
 0006           ; ********************/
 0006           ; #ifdef _Use_LCD1602B_Serial
 0006           ;     extern void refreshVirtualPORT(void);
 0006           ; #endif
 0006           ; 
 0006           ; /********************
 0006           ; *   模塊變量聲明區(qū)  *
 0006           ; ********************/
 0006           ; const static char CHR[16] = {'0','1','2','3','4','5','6','7','8'
 0006           ;                      ,'9','a','b','c','d','e','f'};
 0006           ;                      
 0006           ; /********************
 0006           ; *   全局變量聲明區(qū)  *
 0006           ; ********************/
 0006           ; static char LCD_Temp = 0;
 0006           ; 
 0006           ; /********************
 0006           ; *   全局變量引用區(qū)  *
 0006           ; ********************/
 0006           ; #ifndef SYS_TIMER_MS_ADD_UNTILL_OVF
 0006           ; extern unsigned int SystemTimer;
 0006           ;     #define SYS_TIMER_MS_ADD_UNTILL_OVF SystemTimer
 0006           ; #else
 0006           ; extern unsigned int SYS_TIMER_MS_ADD_UNTILL_OVF;
 0006           ; #endif  
 0006           ; 
 0006           ; 
 0006           ; 
 0006           ; /***********************************************************
 0006           ; *   函數(shù)說明:LCD驅(qū)動類毫秒延時函數(shù)                        *
 0006           ; *   輸入:    需要延時的大體毫秒數(shù)                         *
 0006           ; *   輸出:    無                                           *
 0006           ; *   調(diào)用函數(shù):LCDDelayUs()                                 *
 0006           ; ***********************************************************/
 0006           ; static void LCDDelay(unsigned int Time)
 0006           ; {
 0006                   .dbline 190
 0006           ;     unsigned int TimeCounter = 0;
 0006                   .dbline 192
 0006           ;       
 0006           ;       for (TimeCounter = 0;TimeCounter < Time;TimeCounter ++)
 0006 4427              clr R20
 0008 5527              clr R21
 000A 05C0              xjmp L5
 000C           L2:
 000C                   .dbline 193
 000C           ;       {
 000C                   .dbline 194
 000C           ;           LCDDelayUs(255);
 000C 0FEF              ldi R16,255
 000E 10E0              ldi R17,0
 0010 07D0              xcall _LCDDelayUs
 0012                   .dbline 195
 0012           ;       }
 0012           L3:
 0012                   .dbline 192
 0012 4F5F              subi R20,255  ; offset = 1
 0014 5F4F              sbci R21,255
 0016           L5:
 0016                   .dbline 192
 0016 4A15              cp R20,R10
 0018 5B05              cpc R21,R11
 001A C0F3              brlo L2
 001C           X0:
 001C                   .dbline -2
 001C           L1:
 001C                   .dbline 0 ; func end
 001C 0C940000          xjmp pop_xgset300C
 0020                   .dbsym r TimeCounter1 20 i
 0020                   .dbsym r Time 10 i
 0020                   .dbend
 0020                   .dbfunc s LCDDelayUs _LCDDelayUs fV
 0020           ;   TimeCounter1 -> R20,R21
 0020           ;           Time -> R16,R17
                        .even
 0020           _LCDDelayUs:
 0020 4A93              st -y,R20
 0022 5A93              st -y,R21
 0024                   .dbline -1
 0024                   .dbline 205
 0024           ; }
 0024           ; 
 0024           ; /***********************************************************
 0024           ; *   函數(shù)說明:LCD驅(qū)動指令周期延時函數(shù)                      *
 0024           ; *   輸入:    需要大體延時Us數(shù)                             *
 0024           ; *   輸出:    無                                           *
 0024           ; *   調(diào)用函數(shù):無                                           *
 0024           ; ***********************************************************/
 0024           ; static void LCDDelayUs(unsigned int Time)
 0024           ; {
 0024                   .dbline 206
 0024           ;      unsigned int TimeCounter = 0;
 0024                   .dbline 207
 0024           ;        for (TimeCounter = 0;TimeCounter < Time;TimeCounter ++)
 0024 4427              clr R20
 0026 5527              clr R21
 0028 03C0              xjmp L10
 002A           L7:
 002A                   .dbline 208
 002A           ;        {
 002A                   .dbline 209
 002A           ;            asm("nop");
 002A 0000              nop
 002C                   .dbline 210
 002C           ;        }
 002C           L8:
 002C                   .dbline 207
 002C 4F5F              subi R20,255  ; offset = 1
 002E 5F4F              sbci R21,255
 0030           L10:
 0030                   .dbline 207
 0030 4017              cp R20,R16
 0032 5107              cpc R21,R17
 0034 D0F3              brlo L7
 0036           X1:
 0036                   .dbline -2
 0036           L6:
 0036                   .dbline 0 ; func end
 0036 5991              ld R21,y+
 0038 4991              ld R20,y+
 003A 0895              ret
 003C                   .dbsym r TimeCounter1 20 i
 003C                   .dbsym r Time 16 i
 003C                   .dbend
 003C                   .dbfunc e LCDInit _LCDInit fV
                        .even
 003C           _LCDInit::
 003C                   .dbline -1
 003C                   .dbline 221
 003C           ; }
 003C           ; 
 003C           ; /***********************************************************
 003C           ; *   函數(shù)說明:LCD初始化函數(shù)                                *
 003C           ; *   輸入:    無                                           *
 003C           ; *   輸出:    無                                           *
 003C           ; *   調(diào)用函數(shù):LCDDelay()  LCDWaitForReady()                *
 003C           ; *             LCDSendCommand()                             *
 003C           ; ***********************************************************/
 003C           ; void LCDInit(void)
 003C           ; {
 003C                   .dbline 222
 003C           ;     LCDDelay(15);
 003C 0FE0              ldi R16,15
 003E 10E0              ldi R17,0
 0040 DFDF              xcall _LCDDelay
 0042                   .dbline 227
 0042           ;    
 0042           ; #ifndef _LCD1602_FULL_DATA_MODEL
 0042           ;       LCDSendCommand(0x28);
 0042           ; #else
 0042           ;     LCDSendCommand(0x38);
 0042 08E3              ldi R16,56
 0044 0FD0              xcall _LCDSendCommand
 0046                   .dbline 229
 0046           ; #endif
 0046           ;     LCDWaitForReady();
 0046 42D0              xcall _LCDWaitForReady
 0048                   .dbline 230
 0048           ;       LCDSendCommand(LCD_CMD_DISP_CTR);
 0048 0CE0              ldi R16,12
 004A 0CD0              xcall _LCDSendCommand

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人伊人久久综合网| 欧美一区二区免费观在线| 丝袜美腿亚洲一区二区图片| 久久久综合九色合综国产精品| 在线国产电影不卡| 成年人国产精品| 国产一区二区三区高清播放| 亚洲五月六月丁香激情| 国产精品久久久久久久久免费桃花 | 国产精品911| 日本在线不卡视频一二三区| 一区二区三区不卡在线观看| 国产农村妇女毛片精品久久麻豆| 67194成人在线观看| 91久久精品日日躁夜夜躁欧美| 国产成人精品免费视频网站| 精品一区二区三区在线观看| 五月综合激情婷婷六月色窝| 亚洲美女免费在线| 国产精品福利一区| 国产日产亚洲精品系列| 精品88久久久久88久久久| 日韩一区二区电影网| 555夜色666亚洲国产免| 欧美精品在线一区二区| 欧美日韩精品一二三区| 欧美视频在线不卡| 欧美性感一区二区三区| 在线观看成人小视频| 97久久人人超碰| 成人av电影在线网| 99久久久久免费精品国产| 成人免费高清在线| eeuss影院一区二区三区| 懂色av一区二区三区蜜臀| 成人一区二区在线观看| 波多野结衣中文字幕一区| 石原莉奈在线亚洲二区| 亚洲免费av网站| 国产精品乱码一区二三区小蝌蚪| 久久久精品免费网站| 久久一留热品黄| 国产亚洲欧美中文| 欧美高清在线一区| 国产精品日韩成人| 日韩理论片一区二区| 亚洲欧美aⅴ...| 亚洲一区影音先锋| 五月婷婷综合在线| 久久激五月天综合精品| 国内精品视频666| 国产成人自拍在线| 97久久精品人人做人人爽50路| 色综合久久久久综合体桃花网| 91麻豆精品在线观看| 欧美午夜精品一区二区蜜桃| 69久久夜色精品国产69蝌蚪网| 欧美一级片在线| 久久综合久久综合九色| 成人97人人超碰人人99| 国产91丝袜在线播放九色| 成人丝袜高跟foot| 在线视频你懂得一区二区三区| 欧美在线播放高清精品| 日韩美女主播在线视频一区二区三区 | 亚洲一区在线视频观看| 日本在线不卡视频| 成人一区二区三区| 91麻豆产精品久久久久久 | 91麻豆精品国产91| 久久久久久久久久久黄色| 国产精品免费av| 亚洲国产精品嫩草影院| 激情久久五月天| 色综合中文字幕国产| 日韩一区二区三区电影| 国产精品欧美久久久久无广告| 一区二区免费看| 免费观看在线综合色| 99视频精品全部免费在线| 5566中文字幕一区二区电影| 久久久国产午夜精品| 亚洲激情校园春色| 狠狠色丁香婷婷综合| 91欧美激情一区二区三区成人| 日韩一级黄色大片| 亚洲欧美日韩一区二区 | 国产精品国产三级国产aⅴ无密码| 成人欧美一区二区三区小说| 亚洲国产精品一区二区久久| 国产精选一区二区三区| 欧美色图第一页| 国产欧美日韩视频在线观看| 日韩经典中文字幕一区| 东方aⅴ免费观看久久av| 欧美日韩精品高清| 中文字幕在线一区二区三区| 日本系列欧美系列| 日本高清不卡视频| 欧美一区永久视频免费观看| 久久久精品黄色| 天堂va蜜桃一区二区三区漫画版| 成人综合日日夜夜| 日韩欧美久久一区| 亚洲成人午夜影院| 91污在线观看| 国产日产欧美精品一区二区三区| 水蜜桃久久夜色精品一区的特点| av福利精品导航| 国产亚洲精品免费| 另类小说一区二区三区| 欧美日韩精品免费观看视频 | 免费成人你懂的| 欧洲人成人精品| √…a在线天堂一区| 国产在线视视频有精品| 欧美一区二区视频在线观看| 亚洲一区中文日韩| 99re免费视频精品全部| 日韩国产精品91| 在线一区二区三区| 中文字幕一区av| 成人污污视频在线观看| 久久色.com| 韩国成人在线视频| 精品国产污污免费网站入口| 日本欧美在线观看| 欧美一级专区免费大片| 日韩不卡在线观看日韩不卡视频| 欧美日韩国产片| 亚洲a一区二区| 欧美猛男超大videosgay| 亚洲一区二区精品3399| 欧美亚洲国产一区二区三区 | 国产精品99久久久久久久女警| 精品久久国产字幕高潮| 久久精品国产亚洲a| 欧美大片在线观看| 国产在线精品一区二区三区不卡| 精品国产麻豆免费人成网站| 久久午夜色播影院免费高清| 久久成人免费电影| 精品精品欲导航| 精品亚洲免费视频| 久久久.com| 成人午夜激情视频| 18涩涩午夜精品.www| 日本大香伊一区二区三区| 又紧又大又爽精品一区二区| 欧美艳星brazzers| 天天影视网天天综合色在线播放| 9191久久久久久久久久久| 日韩经典中文字幕一区| www日韩大片| av一区二区不卡| 亚洲www啪成人一区二区麻豆| 91精品国产色综合久久不卡蜜臀 | 色婷婷香蕉在线一区二区| 亚洲电影视频在线| 日韩一区二区三区四区五区六区| 国产乱码字幕精品高清av| 国产精品成人免费在线| 欧美亚洲免费在线一区| 免费在线观看视频一区| 久久精品亚洲乱码伦伦中文| 91免费看片在线观看| 天天综合天天综合色| 久久精品一区二区三区av| 色综合久久中文综合久久97| 首页综合国产亚洲丝袜| 久久久国产精华| 91国偷自产一区二区三区成为亚洲经典| 五月婷婷另类国产| 国产亚洲一区二区三区四区| 色呦呦日韩精品| 久久精品72免费观看| 亚洲欧美综合色| 欧美日韩中文国产| 国产乱子轮精品视频| 一区二区三区四区激情| 精品久久人人做人人爱| 99国产精品久久| 久久国产精品99精品国产| 亚洲天堂网中文字| 精品国产凹凸成av人导航| 日本韩国欧美一区二区三区| 精品一区二区三区在线观看| 亚洲激情网站免费观看| 久久久99久久精品欧美| 欧美在线一区二区三区| 国产乱人伦偷精品视频免下载| 一区二区三区.www| 久久久99精品免费观看不卡| 91麻豆精品国产91久久久久久久久| 成人高清免费观看| 极品瑜伽女神91| 日韩成人av影视| 亚洲综合一二三区| 国产精品欧美极品| 久久色中文字幕|