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

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

?? rd_lcd1602b.lis

?? LCD1602鍵盤顯示模塊實例
?? LIS
?? 第 1 頁 / 共 4 頁
字號:
                        .module RD_LCD1602B.c
                        .area text(rom, con, rel)
 0000                   .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\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全國電子設計大賽\鍵盤顯示模塊\RD_LCD1602B.c
 0000           _LCD_Temp:
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_LCD1602B.c
                        .area text(rom, con, rel)
 0000                   .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\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           ; *   函數庫說明:LCD1602B基本驅動函數庫                     *
 0006           ; *   版本:      v2.11                                      *
 0006           ; *   作者:      傻孩子                                     *
 0006           ; *   創建日期:  2005年9月6日                               *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [支 持 庫]                                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本更新]                                              *
 0006           ; *   修改:      傻孩子                                     *
 0006           ; *   修改日期:  2006年6月8日                               *
 0006           ; *   版本:      v2.11                                      *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [版本歷史]                                              *
 0006           ; * -------------------------------------------------------- *
 0006           ; *  [使用說明]                                              *
 0006           ; *              1、需要底層硬件驅動函數支持                 *
 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           ; *                 當處于串行狀態下時,只定義LCD_RS         *
 0006           ; *                 LCD_E LCD_SEND_HALF_CHAR_HIGH(a)         *
 0006           ; *                 LCD_SEND_HALF_CHAR_LOW(a)                *
 0006           ; *              2、如果采用8數據位連接,則需要定義數據端口  *
 0006           ; *                 LCD_DATA_PORT,同時需要定義宏來開啟該功  *
 0006           ; *                 能:_LCD1602_FULL_DATA_MODEL             *
 0006           ; *              3、需要修改引用宏定義來指定底層硬件驅動     *
 0006           ; *                 函數庫。                                 *
 0006           ; *              4、本庫驅動下的LCD顯示支持1602的各種連      *
 0006           ; *                 接方法。當使用只寫模式是請在引用該頭     *
 0006           ; *                 文件之前加上宏定義:                     *
 0006           ; *                 # define _USE_LCD_ONLY_WRITE             *
 0006           ; *              5、在調用本庫之前,定義RunStringSpeed可     *
 0006           ; *                 以設置滾屏的速度。通過在引用前定義       *
 0006           ; *                 FlashTimeOut 和 FlashGIFTimeOut 可以     *
 0006           ; *                 改變字符閃爍的頻率。                     *
 0006           ; *              6、增加一個GIF字幕特效函數。                *
 0006           ; *              7、確定沒有LCD復位問題。                    *
 0006           ; *              8、增加對595串行轉并行連接的支持。          *
 0006           ; *                 需要頭文件SerialToCollateral.h           *
 0006           ; ***********************************************************/
 0006           ; 
 0006           ; /********************
 0006           ; * 頭 文 件 配 置 區 *
 0006           ; ********************/
 0006           ; # include "RD_MacroAndConst.h"
 0006           ; # include "LIB_Config.h"
 0006           ; # include "RD_LCD1602B.h"
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *   系 統 宏 定 義  *
 0006           ; ********************/
 0006           ; 
 0006           ; /*------------------*
 0006           ; *   常 數 宏 定 義  *
 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           ; *  模塊結構體定義區 *
 0006           ; ********************/
 0006           ; 
 0006           ; /********************
 0006           ; *   模塊函數聲明區  *
 0006           ; ********************/
 0006           ; static void LCDDelay(unsigned int Time);
 0006           ; static void LCDDelayUs(unsigned int Time);
 0006           ; 
 0006           ; 
 0006           ; /********************
 0006           ; *   全局函數聲明區  *
 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           ; *   全局函數引用區  *
 0006           ; ********************/
 0006           ; #ifdef _Use_LCD1602B_Serial
 0006           ;     extern void refreshVirtualPORT(void);
 0006           ; #endif
 0006           ; 
 0006           ; /********************
 0006           ; *   模塊變量聲明區  *
 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           ; *   全局變量聲明區  *
 0006           ; ********************/
 0006           ; static char LCD_Temp = 0;
 0006           ; 
 0006           ; /********************
 0006           ; *   全局變量引用區  *
 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           ; *   函數說明:LCD驅動類毫秒延時函數                        *
 0006           ; *   輸入:    需要延時的大體毫秒數                         *
 0006           ; *   輸出:    無                                           *
 0006           ; *   調用函數: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           ; *   函數說明:LCD驅動指令周期延時函數                      *
 0024           ; *   輸入:    需要大體延時Us數                             *
 0024           ; *   輸出:    無                                           *
 0024           ; *   調用函數:無                                           *
 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           ; *   函數說明:LCD初始化函數                                *
 003C           ; *   輸入:    無                                           *
 003C           ; *   輸出:    無                                           *
 003C           ; *   調用函數: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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品第一国产综合精品aⅴ| 成人激情免费网站| 91精品欧美一区二区三区综合在 | 97久久超碰精品国产| 亚洲欧美自拍偷拍| 在线视频你懂得一区二区三区| 一区二区三区免费观看| 色婷婷综合中文久久一本| 婷婷综合另类小说色区| 久久综合久久综合九色| av在线不卡网| 日韩中文字幕麻豆| 26uuu国产电影一区二区| 成人高清av在线| 亚洲国产毛片aaaaa无费看 | 99re66热这里只有精品3直播| 亚洲精品成人精品456| 欧美色图一区二区三区| 欧美96一区二区免费视频| 久久精品人人做| 91免费看视频| 日本美女视频一区二区| 中文字幕成人在线观看| 欧美日本国产视频| 高清国产午夜精品久久久久久| 亚洲综合色在线| 久久精品人人做人人综合| 欧美视频你懂的| 国产麻豆一精品一av一免费 | 26uuu亚洲婷婷狠狠天堂| av资源站一区| 日韩电影免费在线看| 中文字幕视频一区| 日韩欧美一区电影| 色噜噜狠狠色综合欧洲selulu| 久久国产生活片100| 亚洲免费观看高清在线观看| 欧美成人一级视频| 欧美在线一区二区三区| 国产成人免费视频网站高清观看视频| 亚洲最色的网站| 亚洲国产精品传媒在线观看| 4438x成人网最大色成网站| 99在线精品一区二区三区| 精品在线观看免费| 亚洲一级片在线观看| 国产精品福利电影一区二区三区四区| 欧美精品久久久久久久多人混战 | 欧美三级蜜桃2在线观看| 国产精品一区二区久久精品爱涩| 视频一区二区欧美| 亚洲狼人国产精品| 亚洲欧美怡红院| 久久麻豆一区二区| 日韩丝袜美女视频| 欧美精品乱码久久久久久| 91蝌蚪porny| a美女胸又www黄视频久久| 国产在线视频一区二区三区| 日韩激情av在线| 亚洲国产综合91精品麻豆| 亚洲欧美日韩成人高清在线一区| 日本一区二区三区电影| 精品国产免费人成在线观看| 91精品国产综合久久精品图片 | 国产suv精品一区二区6| 国产精品久久久一区麻豆最新章节| 99riav久久精品riav| 国产成人高清视频| 国产一区二区三区黄视频| 美女尤物国产一区| 亚洲一区视频在线观看视频| 亚洲免费观看高清完整版在线 | 五月天精品一区二区三区| 亚洲欧美一区二区三区久本道91 | 欧美日韩日本视频| 在线免费一区三区| 欧美系列一区二区| 欧美影院午夜播放| 欧美日韩成人综合天天影院 | 91老师国产黑色丝袜在线| 成人精品视频一区| 92国产精品观看| 在线中文字幕不卡| 欧美精品v日韩精品v韩国精品v| 欧美日韩精品一区二区三区 | 成人黄色在线视频| 成人app软件下载大全免费| 9色porny自拍视频一区二区| 91麻豆6部合集magnet| 欧美影片第一页| 在线播放国产精品二区一二区四区| 欧美日韩国产高清一区二区三区| 91精品国产乱码久久蜜臀| 欧美草草影院在线视频| 国产亚洲欧美色| 亚洲女与黑人做爰| 日韩综合小视频| 国产在线日韩欧美| 99精品欧美一区| 欧美美女视频在线观看| 精品久久久影院| 中文字幕在线不卡视频| 三级影片在线观看欧美日韩一区二区| 日本午夜一区二区| 成人午夜av影视| 欧美日韩国产精品成人| 国产亚洲美州欧州综合国| 亚洲视频中文字幕| 日韩高清电影一区| 成a人片国产精品| 欧美日韩精品欧美日韩精品一| 精品国产精品网麻豆系列| 亚洲欧美在线视频| 久久精品国产亚洲一区二区三区| 粉嫩在线一区二区三区视频| 欧美性大战久久久| 欧美激情资源网| 日韩电影在线观看网站| 99精品视频免费在线观看| 日韩一级免费一区| 最新久久zyz资源站| 免费在线观看日韩欧美| 色综合久久天天| 久久综合给合久久狠狠狠97色69| 一区二区三区中文在线| 国产成人自拍高清视频在线免费播放| 91亚洲精品乱码久久久久久蜜桃| 91.麻豆视频| 亚洲欧美日韩一区二区 | 色婷婷综合久久| 久久久久一区二区三区四区| 视频在线在亚洲| 色呦呦网站一区| 久久久久久97三级| 日日噜噜夜夜狠狠视频欧美人| 91亚洲国产成人精品一区二三| 精品国产亚洲在线| 日韩电影在线免费观看| 欧美亚洲综合在线| 国产精品电影一区二区三区| 极品少妇xxxx精品少妇偷拍| 欧美日韩不卡视频| 一级精品视频在线观看宜春院| 国产成人午夜片在线观看高清观看| 日韩午夜av一区| 日韩电影在线免费观看| 欧美日韩在线亚洲一区蜜芽| 日韩理论电影院| 国产成人aaaa| 国产欧美日韩三区| 国产精品中文有码| 2022国产精品视频| 久久不见久久见免费视频7| 欧美电影在线免费观看| 亚洲高清免费在线| 欧美日韩精品一区二区三区蜜桃| 一区二区三区免费网站| 欧美无砖砖区免费| 亚洲六月丁香色婷婷综合久久 | 欧美视频完全免费看| 亚洲综合视频在线| 欧美日韩在线一区二区| 亚洲一区二区四区蜜桃| 在线亚洲高清视频| 亚洲激情图片小说视频| 一本久久精品一区二区 | 欧美a级一区二区| 777欧美精品| 美国毛片一区二区| 精品久久久久久久久久久久久久久| 免费在线看一区| 久久综合九色综合97婷婷女人| 国产精品夜夜爽| 国产精品丝袜久久久久久app| 成人网在线播放| 亚洲人成网站精品片在线观看| 色综合久久久久综合体桃花网| 亚洲永久精品大片| 555www色欧美视频| 久久精品国产999大香线蕉| 久久久九九九九| 91女人视频在线观看| 亚洲成人激情社区| 精品国产乱码久久久久久影片| 国产精品乡下勾搭老头1| 中文字幕一区二区三区在线播放 | 一区二区三区免费| 欧美一区二区三区性视频| 国内精品嫩模私拍在线| 国产精品全国免费观看高清| 在线国产亚洲欧美| 久久精品久久综合| 欧美日韩午夜影院| 韩国v欧美v亚洲v日本v| 综合网在线视频| 欧美一二三区在线观看| 成人在线综合网站| 婷婷开心激情综合| 国产欧美日韩久久|