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

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

?? lcd_back.lis

?? 點陣型lcd的驅(qū)動程序 針對于AVR單片機 稍微修改后可應用于51等型號單片機
?? LIS
?? 第 1 頁 / 共 4 頁
字號:
                        .module LCD_back.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\點陣型LCD顯示應用設計\LCD_back.c
 0000                   .dbfunc e Delay_ms _Delay_ms fV
 0000           ;           time -> R20,R21
                        .even
 0000           _Delay_ms::
 0000 0E940000          xcall push_gset1
 0004 A801              movw R20,R16
 0006                   .dbline -1
 0006                   .dbline 61
 0006           ; //******************************************************************************
 0006           ; // File Name : LCD.c
 0006           ; // Author    : Steaven
 0006           ; // Created   : 2008-07-27
 0006           ; // Modified  : 
 0006           ; // Revision  : V0.0
 0006           ; //******************************************************************************
 0006           ; 
 0006           ; //PIN DESCRIPTION
 0006           ; //01  2   3  4   5   6   7   8   9   10  11  12  13  14  15  16
 0006           ; //GND VCC V0 RS  RW  EN  D0  D1  D2  D3  D4  D5  D6  D7  BLA BLK
 0006           ; //GND +5V V0 PB0 PB1 PB2 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 GND +5V
 0006           ; 
 0006           ; #include "iom16v.h" 
 0006           ; #include "DataType.h"
 0006           ; #include "LCD.h"
 0006           ; #include "macros.h" 
 0006           ; 
 0006           ; #define cLCD_X_MAX   64
 0006           ; #define cLCD_Y_MAX  128
 0006           ; 
 0006           ; //local functions declaration
 0006           ; void Set_DI(INT8U RS);
 0006           ; void Set_RW(INT8U RW);
 0006           ; void Set_EN(INT8U EN);
 0006           ; void Set_CS1(INT8U CS1);
 0006           ; void Set_CS2(INT8U CS2);
 0006           ; void Set_RST(INT8U RST);
 0006           ; void Set_Data(INT8U data);
 0006           ; INT8U Get_Data(void);
 0006           ; void DisplayOnOff(INT8U i);
 0006           ; void SetStartLine(INT8U i);
 0006           ; void LCD_Command_Set_X(INT8U x);
 0006           ; void LCD_Command_Set_Y(INT8U y);
 0006           ; void LCD_Command_WriteByte(INT8U data);
 0006           ; INT8U Read_Byte(void);
 0006           ; void LCD_Reset(void);
 0006           ; void LCD_Clear_Line(INT8U wStartLine,INT8U wEndLine);
 0006           ; void LCD_Init(void);
 0006           ; void WriteWord(INT8U const *disp,INT8U x,INT8U y);
 0006           ; void WriteCharacter(const INT8U *disp,INT8U x,INT8U y,INT8U cs);
 0006           ; void WritePIC(const INT8U *disp);
 0006           ; void LCD_Write_Char(INT8U y,INT8U x,const INT8U *pdata);
 0006           ; void LCD_Write_Dot(INT8U x,INT8U y);
 0006           ; INT8U LCD_Read_Data(INT8U x,INT8U y);
 0006           ; void LCD_Write_Data(INT8U x,INT8U y,INT8U data);      
 0006           ; void LCD_Write_Picture(INT8U x1,INT8U y1,INT8U x2,INT8U y2,const INT8U *pdata);
 0006           ; 
 0006           ; /*
 0006           ; void nop(INT8U cnt)
 0006           ; {
 0006           ;       while(cnt--) ;
 0006           ; }
 0006           ; 
 0006           ; void Delay(INT8U cnt)
 0006           ; {
 0006           ;       while(cnt--) ;
 0006           ; }
 0006           ; */
 0006           ; void Delay_ms(INT16U time)
 0006           ; {
 0006                   .dbline 62
 0006           ;     for(;time!=0;time--)
 0006 06C0              xjmp L5
 0008           L2:
 0008                   .dbline 63
 0008                   .dbline 64
 0008 04EF              ldi R16,500
 000A 11E0              ldi R17,1
 000C 0E940000          xcall _Delay
 0010                   .dbline 65
 0010           L3:
 0010                   .dbline 62
 0010 4150              subi R20,1
 0012 5040              sbci R21,0
 0014           L5:
 0014                   .dbline 62
 0014 4030              cpi R20,0
 0016 4507              cpc R20,R21
 0018 B9F7              brne L2
 001A           X0:
 001A                   .dbline -2
 001A                   .dbline 66
 001A           ;               {
 001A           ;                   Delay(500);
 001A           ;               }
 001A           ; }
 001A           L1:
 001A 0E940000          xcall pop_gset1
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbsym r time 20 i
 0020                   .dbend
 0020                   .dbfunc e Set_DI _Set_DI fV
 0020           ;             RS -> R16
                        .even
 0020           _Set_DI::
 0020                   .dbline -1
 0020                   .dbline 79
 0020           ; 
 0020           ; 
 0020           ; #define nop(X) {;}
 0020           ; #define Delay(X) {;}
 0020           ; 
 0020           ; //******************************************************************************
 0020           ; // Function    : Set_RS
 0020           ; // Input       : RS - RS Control Line Level
 0020           ; // Output      : none
 0020           ; // Description : LCD(1602) Low Level Interface Function
 0020           ; //******************************************************************************
 0020           ; void Set_DI(INT8U RS)
 0020           ; {
 0020                   .dbline 80
 0020           ;       if(RS == 0)
 0020 0023              tst R16
 0022 11F4              brne L7
 0024                   .dbline 81
 0024           ;       {
 0024                   .dbline 82
 0024           ;               PORTB &= ~0x01;
 0024 C098              cbi 0x18,0
 0026                   .dbline 83
 0026           ;       }
 0026 01C0              xjmp L8
 0028           L7:
 0028                   .dbline 85
 0028                   .dbline 86
 0028 C09A              sbi 0x18,0
 002A                   .dbline 87
 002A           L8:
 002A                   .dbline -2
 002A                   .dbline 88
 002A           ;       else
 002A           ;       {
 002A           ;               PORTB |= 0x01;
 002A           ;       }
 002A           ; }
 002A           L6:
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r RS 16 c
 002C                   .dbend
 002C                   .dbfunc e Set_RW _Set_RW fV
 002C           ;             RW -> R16
                        .even
 002C           _Set_RW::
 002C                   .dbline -1
 002C                   .dbline 97
 002C           ; 
 002C           ; //******************************************************************************
 002C           ; // Function    : Set_RW
 002C           ; // Input       : RW - RW Control Line Level
 002C           ; // Output      : none
 002C           ; // Description : Low Level Interface Function
 002C           ; //******************************************************************************
 002C           ; void Set_RW(INT8U RW)
 002C           ; {
 002C                   .dbline 98
 002C           ;       if(RW == 0)
 002C 0023              tst R16
 002E 11F4              brne L10
 0030                   .dbline 99
 0030           ;       {
 0030                   .dbline 100
 0030           ;               PORTB &= ~0x02;
 0030 C198              cbi 0x18,1
 0032                   .dbline 101
 0032           ;       }
 0032 01C0              xjmp L11
 0034           L10:
 0034                   .dbline 103
 0034                   .dbline 104
 0034 C19A              sbi 0x18,1
 0036                   .dbline 105
 0036           L11:
 0036                   .dbline -2
 0036                   .dbline 106
 0036           ;       else
 0036           ;       {
 0036           ;               PORTB |= 0x02;
 0036           ;       }
 0036           ; }
 0036           L9:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbsym r RW 16 c
 0038                   .dbend
 0038                   .dbfunc e Set_EN _Set_EN fV
 0038           ;             EN -> R16
                        .even
 0038           _Set_EN::
 0038                   .dbline -1
 0038                   .dbline 115
 0038           ; 
 0038           ; //******************************************************************************
 0038           ; // Function    : Set_EN
 0038           ; // Input       : RW - RW Control Line Level
 0038           ; // Output      : none
 0038           ; // Description : Low Level Interface Function
 0038           ; //******************************************************************************
 0038           ; void Set_EN(INT8U EN)
 0038           ; {
 0038                   .dbline 116
 0038           ;       if(EN == 0)
 0038 0023              tst R16
 003A 11F4              brne L13
 003C                   .dbline 117
 003C           ;       {
 003C                   .dbline 118
 003C           ;               PORTB &= ~0x04;
 003C C298              cbi 0x18,2
 003E                   .dbline 119
 003E           ;       }
 003E 01C0              xjmp L14
 0040           L13:
 0040                   .dbline 121
 0040                   .dbline 122
 0040 C29A              sbi 0x18,2
 0042                   .dbline 123
 0042           L14:
 0042                   .dbline -2
 0042                   .dbline 124
 0042           ;       else
 0042           ;       {
 0042           ;               PORTB |= 0x04;
 0042           ;       }
 0042           ; }
 0042           L12:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbsym r EN 16 c
 0044                   .dbend
 0044                   .dbfunc e Set_CS2 _Set_CS2 fV
 0044           ;            CS2 -> R16
                        .even
 0044           _Set_CS2::
 0044                   .dbline -1
 0044                   .dbline 133
 0044           ; 
 0044           ; //******************************************************************************
 0044           ; // Function    : Set_CS2
 0044           ; // Input       : CS2 - CS2 Control Line Level
 0044           ; // Output      : none
 0044           ; // Description : Low Level Interface Function
 0044           ; //******************************************************************************
 0044           ; void Set_CS2(INT8U CS2)
 0044           ; {
 0044                   .dbline 134
 0044           ;       if(CS2 == 0) 
 0044 0023              tst R16
 0046 11F4              brne L16
 0048                   .dbline 135
 0048           ;       {
 0048                   .dbline 136
 0048           ;               PORTC &= ~0x20;
 0048 AD98              cbi 0x15,5
 004A                   .dbline 137
 004A           ;       }
 004A 01C0              xjmp L17
 004C           L16:
 004C                   .dbline 139
 004C                   .dbline 140
 004C AD9A              sbi 0x15,5
 004E                   .dbline 141
 004E           L17:
 004E                   .dbline -2
 004E                   .dbline 142
 004E           ;       else
 004E           ;       {
 004E           ;               PORTC |= 0x20;
 004E           ;       }
 004E           ; }
 004E           L15:
 004E                   .dbline 0 ; func end
 004E 0895              ret
 0050                   .dbsym r CS2 16 c
 0050                   .dbend
 0050                   .dbfunc e Set_CS1 _Set_CS1 fV
 0050           ;            CS1 -> R16
                        .even
 0050           _Set_CS1::
 0050                   .dbline -1
 0050                   .dbline 151
 0050           ; 
 0050           ; //******************************************************************************
 0050           ; // Function    : Set_CS1
 0050           ; // Input       : CS1 - CS1 Control Line Level
 0050           ; // Output      : none
 0050           ; // Description : Low Level Interface Function
 0050           ; //******************************************************************************
 0050           ; void Set_CS1(INT8U CS1)
 0050           ; {
 0050                   .dbline 152
 0050           ;       if(CS1 == 0)
 0050 0023              tst R16
 0052 11F4              brne L19
 0054                   .dbline 153
 0054           ;       {
 0054                   .dbline 154
 0054           ;               PORTC &= ~0x40;
 0054 AE98              cbi 0x15,6
 0056                   .dbline 155
 0056           ;       }
 0056 01C0              xjmp L20
 0058           L19:
 0058                   .dbline 157
 0058                   .dbline 158
 0058 AE9A              sbi 0x15,6
 005A                   .dbline 159
 005A           L20:
 005A                   .dbline -2
 005A                   .dbline 160
 005A           ;       else
 005A           ;       {
 005A           ;               PORTC |= 0x40;
 005A           ;       }
 005A           ; }
 005A           L18:
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r CS1 16 c
 005C                   .dbend
 005C                   .dbfunc e Set_RST _Set_RST fV
 005C           ;            RST -> R16
                        .even
 005C           _Set_RST::
 005C                   .dbline -1
 005C                   .dbline 165
 005C           ; 
 005C           ; 
 005C           ; //sbit RST=PC7;
 005C           ; void Set_RST(INT8U RST)
 005C           ; {
 005C                   .dbline 166
 005C           ;       if(RST == 0)
 005C 0023              tst R16
 005E 11F4              brne L22
 0060                   .dbline 167
 0060           ;       {
 0060                   .dbline 168
 0060           ;               PORTC &= ~0x80;
 0060 AF98              cbi 0x15,7
 0062                   .dbline 169
 0062           ;       }
 0062 01C0              xjmp L23
 0064           L22:
 0064                   .dbline 171
 0064                   .dbline 172
 0064 AF9A              sbi 0x15,7
 0066                   .dbline 173
 0066           L23:
 0066                   .dbline -2
 0066                   .dbline 174
 0066           ;       else
 0066           ;       {
 0066           ;               PORTC |= 0x80;
 0066           ;       }
 0066           ; }
 0066           L21:
 0066                   .dbline 0 ; func end
 0066 0895              ret
 0068                   .dbsym r RST 16 c

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类的小说在线视频另类成人小视频在线 | 成人免费一区二区三区视频| 国产乱码精品一区二区三区忘忧草| 欧美精选一区二区| 免费成人av在线播放| 精品三级av在线| 国产一区二区不卡在线 | 欧美丝袜自拍制服另类| 午夜不卡在线视频| 欧美电影免费观看高清完整版| 久久国内精品自在自线400部| 精品处破学生在线二十三| 丰满岳乱妇一区二区三区| 国产精品丝袜91| 欧美性xxxxxx少妇| 免费精品视频在线| 国产欧美在线观看一区| 91蜜桃在线免费视频| 舔着乳尖日韩一区| 久久精品一区八戒影视| 99精品1区2区| 日本vs亚洲vs韩国一区三区二区| 久久久国际精品| 91黄色免费网站| 激情综合网激情| 亚洲精品国产无天堂网2021| 日韩免费高清电影| 91高清视频免费看| 韩国v欧美v日本v亚洲v| 夜夜夜精品看看| 亚洲精品在线免费观看视频| 97精品久久久午夜一区二区三区 | 一区二区三区久久| 欧美成va人片在线观看| 色香蕉久久蜜桃| 国产尤物一区二区| 亚洲国产精品久久不卡毛片| 久久午夜羞羞影院免费观看| 欧美性videosxxxxx| 成人亚洲一区二区一| 日日骚欧美日韩| 亚洲女人小视频在线观看| 精品国产免费视频| 欧美日韩电影在线播放| 99热国产精品| 国产一区二区三区| 免费精品视频在线| 亚洲高清免费观看| 亚洲另类在线视频| 国产欧美视频在线观看| 欧美一级二级在线观看| 精品视频免费在线| 91视视频在线观看入口直接观看www| 久草中文综合在线| 日韩av一二三| 亚洲成av人片在线| 一区二区三区成人在线视频| 国产日韩精品一区二区浪潮av| 欧美一区二区三区免费大片| 在线精品国精品国产尤物884a| 成人一级黄色片| 国产成人综合网| 国产裸体歌舞团一区二区| 麻豆极品一区二区三区| 日韩经典中文字幕一区| 夜夜嗨av一区二区三区中文字幕| 国产精品久久久久久妇女6080| 国产亚洲精品aa午夜观看| 精品久久久久久久一区二区蜜臀| 91精品国产美女浴室洗澡无遮挡| 欧美日韩激情一区二区| 欧美日本免费一区二区三区| 欧美视频日韩视频在线观看| 欧美视频一区二区| 欧美日本在线观看| 51精品秘密在线观看| 日韩一级二级三级| 日韩欧美国产成人一区二区| 日韩欧美一区二区在线视频| 欧美成人综合网站| 欧美videofree性高清杂交| 日韩欧美国产高清| 久久久精品影视| 国产精品嫩草影院com| 国产精品福利一区| 亚洲欧美另类久久久精品| 亚洲日穴在线视频| 亚洲国产欧美在线| 日本欧美大码aⅴ在线播放| 免费人成精品欧美精品| 国产主播一区二区| 不卡的av中国片| 色婷婷国产精品久久包臀| 欧美在线影院一区二区| 欧美精品高清视频| 久久婷婷色综合| 中文字幕亚洲欧美在线不卡| 一区二区三区精品久久久| 日本va欧美va欧美va精品| 美腿丝袜在线亚洲一区| 国产成人日日夜夜| 色狠狠色噜噜噜综合网| 3atv在线一区二区三区| 久久噜噜亚洲综合| 亚洲精品国产一区二区精华液 | 久久精品免费看| 国产另类ts人妖一区二区| 成人av片在线观看| 欧美日韩一级大片网址| 精品噜噜噜噜久久久久久久久试看| 久久久亚洲精品一区二区三区| 国产精品久久久久影视| 丝瓜av网站精品一区二区| 国产一区二区三区在线观看免费视频| 成人免费看黄yyy456| 欧美日韩综合在线免费观看| 久久婷婷国产综合国色天香| 综合色中文字幕| 青娱乐精品视频在线| 成人av在线一区二区| 7777精品伊人久久久大香线蕉的| 国产亚洲人成网站| 性做久久久久久久久| 成人激情开心网| 777奇米成人网| 中文字幕一区二| 国产一区欧美一区| 欧美午夜精品一区二区三区 | 亚洲欧洲精品天堂一级| 日韩电影在线免费观看| a4yy欧美一区二区三区| 日韩一级免费观看| 亚洲国产精品天堂| 不卡av在线网| 久久综合一区二区| 日日骚欧美日韩| 欧美午夜电影网| 日韩一区有码在线| 国产成人精品亚洲日本在线桃色 | 日本韩国精品一区二区在线观看| 亚洲高清视频中文字幕| 懂色av一区二区三区免费观看| 欧美三级视频在线观看| 日本一区二区三区电影| 免费看欧美美女黄的网站| 欧美曰成人黄网| 18欧美亚洲精品| 成人午夜激情在线| 久久视频一区二区| 麻豆精品一区二区| 91麻豆精品91久久久久久清纯| 中文字幕在线一区二区三区| 国产乱子伦视频一区二区三区| 91精品福利在线一区二区三区| 亚洲综合一二区| 91小视频免费看| 亚洲天堂精品视频| 99国产精品99久久久久久| 亚洲国产精品t66y| 国产精品123| 久久久精品综合| 国产成人亚洲综合a∨婷婷| 精品少妇一区二区三区在线播放| 午夜精品一区在线观看| 欧美另类高清zo欧美| 一区二区三区免费| 欧美网站大全在线观看| 一区二区三区精品| 欧美三级电影在线观看| 亚洲国产另类av| 91精品久久久久久久久99蜜臂| 午夜精品久久久久久久99水蜜桃| 欧美唯美清纯偷拍| 日本午夜精品视频在线观看| 6080国产精品一区二区| 免费成人你懂的| 欧美精品一区二区三区四区| 国产精品一卡二卡| 国产精品色哟哟| 色婷婷香蕉在线一区二区| 悠悠色在线精品| 欧美色中文字幕| 美国十次综合导航| 久久久av毛片精品| 99这里只有精品| 亚洲一区中文日韩| 日韩视频在线你懂得| 国产精品一区二区三区四区| 国产精品久久久久久久第一福利 | 国产精品网站导航| 在线一区二区三区四区| 丝袜诱惑制服诱惑色一区在线观看| 欧美人xxxx| 国产精品亚洲成人| 亚洲欧美视频一区| 欧美一区二区三区免费| 成人午夜电影久久影院| 亚洲线精品一区二区三区八戒| 在线综合视频播放| www.成人网.com|