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

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

?? 1602六線接法練習.lst

?? iccavr下
?? LST
?? 第 1 頁 / 共 2 頁
字號:
__text_start:
__start:
    004A E5CF      LDI	R28,0x5F
    004B E0D4      LDI	R29,4
    004C BFCD      OUT	0x3D,R28
    004D BFDE      OUT	0x3E,R29
    004E 51C0      SUBI	R28,0x10
    004F 40D0      SBCI	R29,0
    0050 EA0A      LDI	R16,0xAA
    0051 8308      STD	Y+0,R16
    0052 2400      CLR	R0
    0053 E9EF      LDI	R30,0x9F
    0054 E0F0      LDI	R31,0
    0055 E010      LDI	R17,0
    0056 39EF      CPI	R30,0x9F
    0057 07F1      CPC	R31,R17
    0058 F011      BEQ	0x005B
    0059 9201      ST	R0,Z+
    005A CFFB      RJMP	0x0056
    005B 8300      STD	Z+0,R16
    005C E5E4      LDI	R30,0x54
    005D E0F0      LDI	R31,0
    005E E6A0      LDI	R26,0x60
    005F E0B0      LDI	R27,0
    0060 E010      LDI	R17,0
    0061 39E3      CPI	R30,0x93
    0062 07F1      CPC	R31,R17
    0063 F021      BEQ	0x0068
    0064 95C8      LPM
    0065 9631      ADIW	R30,1
    0066 920D      ST	R0,X+
    0067 CFF9      RJMP	0x0061
    0068 940E0131  CALL	_main
_exit:
    006A CFFF      RJMP	_exit
FILE: D:\M16開發板實驗教程\icc-avr\lcd1602test\1602.h
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define LCD_EN_PORT    PORTA
(0004) #define LCD_EN_DDR     DDRA
(0005) #define LCD_RS_PORT    PORTA
(0006) #define LCD_RS_DDR     DDRA
(0007) #define LCD_DATA_PORT  PORTA
(0008) #define LCD_DATA_DDR   DDRA
(0009) #define LCD_DATA_PIN   PINA
(0010) #define LCD_EN         0x08   //porta3        out
(0011) #define LCD_RS         0x04   //porta2       out
(0012) #define LCD_DATA       0xf0   //porta4/5/6/7   out
(0013) 
(0014) /*--------------------------------------------------------------------------------------------------
(0015) Public function prototypes
(0016) --------------------------------------------------------------------------------------------------*/
(0017) void LCD_init         (void);
(0018) void LCD_en_write     (void);
(0019) void clear(void);
(0020) void LCD_write_char   (unsigned command,unsigned data);
(0021) void LCD_set_xy       (unsigned char x, unsigned char y);
(0022) void LCD_write_string (unsigned char X,unsigned char Y,unsigned char *s);
(0023) extern delay_nus        (unsigned int n);
(0024) extern delay_nms        (unsigned int n);
(0025) 
(0026) /*------------------------------------------------------------
(0027) function: initial the related port of 1602, set the work mode of 1602
(0028) -------------------------------------------------------------*/
(0029) void LCD_init(void)       //液晶初始化
(0030) {
(0031)  LCD_DATA_DDR|=LCD_DATA;
_LCD_init:
    006B B38A      IN	R24,0x1A
    006C 6F80      ORI	R24,0xF0
    006D BB8A      OUT	0x1A,R24
(0032)  LCD_EN_DDR|=LCD_EN;
    006E 9AD3      SBI	0x1A,3
(0033)  LCD_RS_DDR|=LCD_RS;
    006F 9AD2      SBI	0x1A,2
(0034)  delay_nms(15);
    0070 E00F      LDI	R16,0xF
    0071 E010      LDI	R17,0
    0072 940E0180  CALL	_delay_nms
(0035)  LCD_write_char(0x28,0);  //4位顯示
    0074 2722      CLR	R18
    0075 2733      CLR	R19
    0076 E208      LDI	R16,0x28
    0077 E010      LDI	R17,0
    0078 D046      RCALL	_LCD_write_char
(0036)  delay_nms(15);
    0079 E00F      LDI	R16,0xF
    007A E010      LDI	R17,0
    007B 940E0180  CALL	_delay_nms
(0037)  LCD_write_char(0x0c,0);  //顯示開
    007D 2722      CLR	R18
    007E 2733      CLR	R19
    007F E00C      LDI	R16,0xC
    0080 E010      LDI	R17,0
    0081 D03D      RCALL	_LCD_write_char
(0038)  delay_nms(15);
    0082 E00F      LDI	R16,0xF
    0083 E010      LDI	R17,0
    0084 940E0180  CALL	_delay_nms
(0039)  LCD_write_char(0x01,0);  //清屏
    0086 2722      CLR	R18
    0087 2733      CLR	R19
    0088 E001      LDI	R16,1
    0089 E010      LDI	R17,0
    008A D034      RCALL	_LCD_write_char
    008B 9508      RET
_LCD_write_string:
  s                    --> R20
  Y                    --> R10
  X                    --> R22
    008C 940E019C  CALL	push_gset3
    008E 2EA2      MOV	R10,R18
    008F 2F60      MOV	R22,R16
    0090 814E      LDD	R20,Y+6
    0091 815F      LDD	R21,Y+7
(0040) }
(0041) 
(0042) /*--------------------------------------------------------------------
(0043) fuction: write string to lcd1602
(0044) para:   x--the address of a line
(0045)         y--the display line
(0046) 		s--a pointer to a string
(0047) *--------------------------------------------------------------------*/
(0048) void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s)
(0049)   {
(0050)     LCD_set_xy( X, Y ); //寫地址
    0092 2D2A      MOV	R18,R10
    0093 2F06      MOV	R16,R22
    0094 D010      RCALL	_LCD_set_xy
    0095 C008      RJMP	0x009E
(0051)     
(0052)     while (*s)  // 寫顯示字符
(0053)       {
(0054)         LCD_write_char( 0, *s );
    0096 01FA      MOVW	R30,R20
    0097 8120      LDD	R18,Z+0
    0098 2733      CLR	R19
    0099 2700      CLR	R16
    009A 2711      CLR	R17
    009B D023      RCALL	_LCD_write_char
(0055) 	    s ++;
    009C 5F4F      SUBI	R20,0xFF
    009D 4F5F      SBCI	R21,0xFF
    009E 01FA      MOVW	R30,R20
    009F 8020      LDD	R2,Z+0
    00A0 2022      TST	R2
    00A1 F7A1      BNE	0x0096
    00A2 940E0192  CALL	pop_gset3
    00A4 9508      RET
_LCD_set_xy:
  address              --> R20
  y                    --> R20
  x                    --> R22
    00A5 940E019E  CALL	push_gset2
    00A7 2F42      MOV	R20,R18
    00A8 2F60      MOV	R22,R16
(0056)       }
(0057)   }
(0058)  /*------------------------------------------------------------
(0059)  function: set the display address
(0060)  para: x---the display address of a line   limit: 0---15
(0061)        y---the display line   limit 0 or 1 
(0062)  --------------------------------------------------------------*/
(0063)  
(0064)  void LCD_set_xy( unsigned char x, unsigned char y )  //寫地址函數
(0065)   {
(0066)     unsigned char address;
(0067)     if (y == 0) address = 0x80 + x;                  //the first line
    00A9 2344      TST	R20
    00AA F419      BNE	0x00AE
    00AB 2F46      MOV	R20,R22
    00AC 5840      SUBI	R20,0x80
    00AD C002      RJMP	0x00B0
(0068)     else 
(0069)        address = 0xc0 + x;                           //the second line
    00AE 2F46      MOV	R20,R22
    00AF 5440      SUBI	R20,0x40
(0070)     LCD_write_char( address, 0 );
    00B0 2722      CLR	R18
    00B1 2733      CLR	R19
    00B2 2F04      MOV	R16,R20
    00B3 2711      CLR	R17
    00B4 D00A      RCALL	_LCD_write_char
    00B5 940E018F  CALL	pop_gset2
    00B7 9508      RET
(0071)   }
(0072) /*-------------------------------------------------------------
(0073) function : enable or disable the rs line of the lcd1602
(0074) *--------------------------------------------------------------*/
(0075) void LCD_en_write(void)  //液晶使能
(0076) { 
(0077)   LCD_EN_PORT|=LCD_EN;
_LCD_en_write:
    00B8 9ADB      SBI	0x1B,3
(0078)   delay_nus(5);
    00B9 E005      LDI	R16,5
    00BA E010      LDI	R17,0
    00BB 940E0167  CALL	_delay_nus
(0079)   LCD_EN_PORT&=~LCD_EN;
    00BD 98DB      CBI	0x1B,3
    00BE 9508      RET
_LCD_write_char:
  data_temp            --> R22
  command_temp         --> R20
  data                 --> R12
  command              --> R10
    00BF 940E019A  CALL	push_gset4
    00C1 0169      MOVW	R12,R18
    00C2 0158      MOVW	R10,R16
(0080) }
(0081) /*------------------------------------------------------------
(0082) function: write command or data to lcd1602
(0083) prar:
(0084)        command:  0---write data, 1-----write command
(0085) 	   data: commad or data which you want to write
(0086) *-------------------------------------------------------------*/
(0087) void LCD_write_char(unsigned command,unsigned data) 
(0088) {
(0089)  unsigned command_temp,data_temp;
(0090)  command_temp=command;
    00C3 01A5      MOVW	R20,R10
(0091)  data_temp=data;
    00C4 01B6      MOVW	R22,R12
(0092)  delay_nus(25);
    00C5 E109      LDI	R16,0x19
    00C6 E010      LDI	R17,0
    00C7 940E0167  CALL	_delay_nus
(0093)  if(command==0)
    00C9 3040      CPI	R20,0
    00CA 0745      CPC	R20,R21
    00CB F511      BNE	0x00EE
(0094)  {
(0095)   LCD_RS_PORT|=LCD_RS;  //RS=1
    00CC 9ADA      SBI	0x1B,2
(0096)   LCD_DATA_PORT&=0X0f;
    00CD B38B      IN	R24,0x1B
    00CE 708F      ANDI	R24,0xF
    00CF BB8B      OUT	0x1B,R24
(0097)   LCD_DATA_PORT|=data_temp&0xf0;  //寫高四位
    00D0 01CB      MOVW	R24,R22
    00D1 7F80      ANDI	R24,0xF0
    00D2 7090      ANDI	R25,0
    00D3 B22B      IN	R2,0x1B
    00D4 2433      CLR	R3
    00D5 2A28      OR	R2,R24
    00D6 2A39      OR	R3,R25
    00D7 BA2B      OUT	0x1B,R2
(0098)   LCD_en_write();
    00D8 DFDF      RCALL	_LCD_en_write
(0099)   data_temp=data_temp<<4;  
    00D9 0F66      LSL	R22
    00DA 1F77      ROL	R23
    00DB 0F66      LSL	R22
    00DC 1F77      ROL	R23
    00DD 0F66      LSL	R22
    00DE 1F77      ROL	R23
    00DF 0F66      LSL	R22
    00E0 1F77      ROL	R23
(0100)   LCD_DATA_PORT&=0X0f;
    00E1 B38B      IN	R24,0x1B
    00E2 708F      ANDI	R24,0xF
    00E3 BB8B      OUT	0x1B,R24
(0101)   LCD_DATA_PORT|=data_temp&0xf0;   //寫低四位
    00E4 01CB      MOVW	R24,R22
    00E5 7F80      ANDI	R24,0xF0
    00E6 7090      ANDI	R25,0
    00E7 B22B      IN	R2,0x1B
    00E8 2433      CLR	R3
    00E9 2A28      OR	R2,R24
    00EA 2A39      OR	R3,R25
    00EB BA2B      OUT	0x1B,R2
(0102)   LCD_en_write();
    00EC DFCB      RCALL	_LCD_en_write
(0103)  }
    00ED C021      RJMP	0x010F
(0104)  else
(0105)  {
(0106)   LCD_RS_PORT&=~LCD_RS;   //RS=0
    00EE 98DA      CBI	0x1B,2
(0107)   LCD_DATA_PORT&=0X0f;
    00EF B38B      IN	R24,0x1B
    00F0 708F      ANDI	R24,0xF

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99一区视频免费| 欧美videos大乳护士334| 久久狠狠亚洲综合| 免费视频最近日韩| 亚洲v日本v欧美v久久精品| 国产精品国产馆在线真实露脸 | 亚洲精品亚洲人成人网| 国产片一区二区三区| 久久九九影视网| 国产精品午夜电影| 国产无一区二区| 国产精品久久久久aaaa| 亚洲免费观看高清完整版在线观看| 中文在线免费一区三区高中清不卡| 国产亚洲精品aa| 国产精品久久午夜| 亚洲乱码国产乱码精品精98午夜| 一级女性全黄久久生活片免费| 亚洲宅男天堂在线观看无病毒| 高清在线观看日韩| 一区二区成人在线| 午夜久久久久久久久久一区二区| 日本强好片久久久久久aaa| 捆绑变态av一区二区三区| 国产精品99久久久| 99re这里只有精品视频首页| 欧美图片一区二区三区| 在线播放欧美女士性生活| 亚洲精品在线观看网站| 国产精品久久久久三级| 亚洲精品免费一二三区| 奇米亚洲午夜久久精品| 成人理论电影网| 欧美日韩一区久久| 26uuu久久综合| 亚洲欧美日韩综合aⅴ视频| 午夜不卡av免费| 成人毛片视频在线观看| 欧美日韩激情在线| 久久久www成人免费毛片麻豆 | 久久久噜噜噜久久中文字幕色伊伊| 综合色天天鬼久久鬼色| 麻豆一区二区在线| 91丨九色丨黑人外教| 欧美一二三区在线观看| 国产精品卡一卡二| 黄色精品一二区| 亚洲高清视频中文字幕| 国产精品久久久久久久久久久免费看 | 欧美午夜电影网| 国产亚洲人成网站| 日韩国产欧美在线视频| av中文字幕在线不卡| 欧美一区二区三级| 亚洲一区二区三区在线播放| 国产成人av在线影院| 日韩免费观看高清完整版在线观看| 亚洲摸摸操操av| www.性欧美| 久久久国际精品| 久久福利资源站| 777色狠狠一区二区三区| 最新成人av在线| 成人亚洲一区二区一| 欧美不卡在线视频| 视频一区二区三区在线| 欧美在线观看一区| 亚洲色图在线视频| 成人免费毛片aaaaa**| 久久久三级国产网站| 国产在线精品一区二区夜色| 精品国产伦一区二区三区免费| 日本不卡一区二区三区| 九色综合狠狠综合久久| 亚洲午夜精品17c| 中文字幕中文字幕中文字幕亚洲无线| 欧美电影在线免费观看| 在线观看亚洲精品视频| av中文字幕一区| 一本久道久久综合中文字幕| 成人中文字幕电影| 91一区二区在线| 日韩视频中午一区| 91麻豆精东视频| 亚洲天堂2014| 91蜜桃在线观看| 一区二区三区在线看| 色综合久久久久| 亚洲欧美激情视频在线观看一区二区三区 | 欧美人与性动xxxx| 亚洲国产精品麻豆| 在线电影院国产精品| 青草av.久久免费一区| 日韩精品自拍偷拍| 国产麻豆91精品| 亚洲欧美韩国综合色| 欧美色涩在线第一页| 日韩av一区二区三区| 日韩一区二区三区电影在线观看| 狠狠色丁香婷婷综合久久片| 国产亚洲成年网址在线观看| 99久久婷婷国产| 亚欧色一区w666天堂| 欧美一区二区三区婷婷月色| 激情五月激情综合网| 中文字幕一区在线观看视频| 欧美日韩在线综合| 国产麻豆成人精品| 亚洲免费三区一区二区| 日韩午夜激情电影| 不卡av在线免费观看| 亚洲自拍都市欧美小说| 亚洲精品一区二区三区精华液| 97精品电影院| 国模少妇一区二区三区| 亚洲免费在线视频| 精品国产乱码久久久久久闺蜜| 9色porny自拍视频一区二区| 免费在线观看一区| 国产精品久久久久久久第一福利 | 久久99久久精品欧美| 国产一区二区毛片| 91免费版在线看| 国产精品1区二区.| 亚洲私人影院在线观看| 成人一区在线观看| 久久久91精品国产一区二区三区| 激情综合色综合久久| 51精品秘密在线观看| 亚洲午夜精品17c| 日韩欧美在线1卡| 国产精品88av| 中文无字幕一区二区三区| 蜜臀久久久久久久| 麻豆精品在线观看| 亚洲影院理伦片| 中文字幕字幕中文在线中不卡视频| 日韩欧美电影一二三| 欧美性大战xxxxx久久久| 99综合电影在线视频| 豆国产96在线|亚洲| 国产精品自拍网站| 狠狠狠色丁香婷婷综合激情 | 亚洲va欧美va人人爽| 国产欧美精品区一区二区三区| 精品系列免费在线观看| 久久亚洲精精品中文字幕早川悠里 | 欧美激情一二三区| 69成人精品免费视频| www.亚洲在线| 国产一区二区久久| 国产综合色精品一区二区三区| 亚洲国产一区在线观看| 中文字幕一区二区三区四区不卡| 欧美电影精品一区二区| 日韩一区和二区| 69精品人人人人| 欧美视频一区在线| 国产真实乱子伦精品视频| 久久www免费人成看片高清| 亚洲sss视频在线视频| 亚洲欧美日韩在线播放| 国产视频不卡一区| 日韩欧美一级精品久久| 欧美综合一区二区| 在线一区二区三区| 日本韩国欧美一区| 欧美视频一区二区在线观看| 欧美亚洲尤物久久| 欧美性猛片xxxx免费看久爱| 不卡一区二区在线| 欧美日韩一区二区三区高清| 色偷偷88欧美精品久久久| 色一情一伦一子一伦一区| 99免费精品在线观看| 色94色欧美sute亚洲线路二 | 精品久久久三级丝袜| 欧美一级免费观看| 91视频在线观看| 91老师片黄在线观看| 亚洲欧美一区二区三区极速播放| 国产亚洲va综合人人澡精品 | 久久久久久久电影| 欧美一区二区三区性视频| 国产精品综合二区| 亚洲成av人**亚洲成av**| 一区在线观看免费| 日韩毛片视频在线看| 亚洲大片在线观看| 色猫猫国产区一区二在线视频| 懂色中文一区二区在线播放| 懂色一区二区三区免费观看 | 欧美日韩成人综合在线一区二区| 欧美视频在线观看一区二区| 日韩欧美专区在线| 精品精品国产高清a毛片牛牛 | 91香蕉视频黄| 91精品久久久久久久久99蜜臂| 国产亚洲一二三区| 日产精品久久久久久久性色|