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

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

?? 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開發(fā)板實驗教程\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 )  //寫地址函數(shù)
(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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人午夜精品影院观看视频 | 亚洲成av人片在www色猫咪| 欧美美女视频在线观看| 国产99久久久久| 三级不卡在线观看| 亚洲免费在线看| 久久九九99视频| 91精品免费在线| 日本高清不卡在线观看| 成人开心网精品视频| 美女视频免费一区| 亚洲已满18点击进入久久| 中文字幕国产精品一区二区| 日韩女优制服丝袜电影| 欧美中文一区二区三区| 99久久精品国产导航| 国产一区二区三区四区在线观看| 亚洲va国产va欧美va观看| 国产精品久久久久影院老司| 精品国产乱码久久久久久久久| 欧美日韩亚洲国产综合| 91猫先生在线| 成人免费不卡视频| 国产·精品毛片| 韩国女主播成人在线观看| 亚洲va国产天堂va久久en| 亚洲日本va午夜在线影院| 国产亚洲欧美日韩在线一区| 日韩美女视频在线| 日韩欧美一区二区视频| 欧美一区二区性放荡片| 欧美日韩国产天堂| 欧美性猛交一区二区三区精品| 成人不卡免费av| 成人免费视频国产在线观看| 国产精品一卡二卡在线观看| 久久99热狠狠色一区二区| 美女爽到高潮91| 免费成人在线网站| 久久精品国产亚洲高清剧情介绍 | 国产成人在线观看免费网站| 秋霞影院一区二区| 蜜臂av日日欢夜夜爽一区| 婷婷一区二区三区| 无码av中文一区二区三区桃花岛| 一区二区三区在线观看动漫| 一区二区三区在线观看动漫| 一区二区三区在线高清| 性做久久久久久| 免费在线看一区| 国产一区二区三区最好精华液| 极品少妇xxxx精品少妇| 国产精品1区2区| 成人美女视频在线看| 99国内精品久久| 91精品91久久久中77777| 色菇凉天天综合网| 欧美在线小视频| 制服丝袜在线91| 久久香蕉国产线看观看99| 久久久久国产精品免费免费搜索| 国产性天天综合网| 国产精品嫩草影院av蜜臀| 一区在线观看免费| 五月天激情综合| 九九视频精品免费| 成人午夜碰碰视频| 色老综合老女人久久久| 欧美日韩精品一区二区三区蜜桃| 欧美一区二区三区视频| 中文字幕第一页久久| 亚洲一二三四在线| 久久国产人妖系列| www.色精品| 欧美日本一区二区三区四区| 欧美大片拔萝卜| 国产三级精品视频| 1024精品合集| 日本vs亚洲vs韩国一区三区| 风间由美性色一区二区三区| 在线影院国内精品| 欧美一区二区三区系列电影| 精品成人免费观看| 亚洲日本va午夜在线影院| 日本成人中文字幕在线视频| 国产福利一区二区三区视频在线 | 亚洲欧美电影一区二区| 午夜av区久久| 国产乱码精品1区2区3区| 91精品福利视频| 久久夜色精品国产噜噜av| 一区二区三区在线视频观看 | av一区二区三区在线| 欧美一区二区三区在线电影| 中文字幕在线不卡| 久久99精品一区二区三区三区| 色综合激情五月| 久久精品无码一区二区三区| 亚洲超丰满肉感bbw| 不卡的看片网站| 91精品国产美女浴室洗澡无遮挡| 国产精品久久久久久久久晋中| 肉色丝袜一区二区| 一本久久综合亚洲鲁鲁五月天| 精品国产精品一区二区夜夜嗨| 亚洲激情中文1区| 国产成人在线网站| 日韩免费电影一区| 亚洲电影你懂得| 波多野结衣视频一区| 欧美xxxx老人做受| 天堂蜜桃一区二区三区| 91婷婷韩国欧美一区二区| 久久蜜桃香蕉精品一区二区三区| 午夜精品成人在线视频| 99re成人精品视频| 国产欧美日韩综合| 国产馆精品极品| 久久久国产一区二区三区四区小说 | 欧美一区二区三区日韩视频| 亚洲美女视频一区| 成人黄色电影在线| 国产亚洲短视频| 国产精品资源站在线| 日韩精品一区二区在线观看| 亚洲v中文字幕| 欧美日韩成人综合天天影院| 亚洲六月丁香色婷婷综合久久 | 国产丝袜美腿一区二区三区| 美日韩一区二区三区| 3d成人h动漫网站入口| 亚洲一区二区三区在线看| 色妞www精品视频| 亚洲黄网站在线观看| 91免费版在线看| 一区二区在线观看不卡| 99视频一区二区| 中文字幕一区三区| 97久久精品人人澡人人爽| 中文字幕一区二区三区四区| av电影在线观看一区| 国产精品久久毛片av大全日韩| 成人性色生活片| 国产精品理伦片| 91理论电影在线观看| 亚洲同性gay激情无套| 色婷婷综合久色| 亚洲成人福利片| 日韩亚洲欧美一区二区三区| 久久精品国产精品亚洲红杏| 精品日韩99亚洲| 国产精品性做久久久久久| 国产日产亚洲精品系列| 99视频国产精品| 亚洲男人电影天堂| 欧美群妇大交群中文字幕| 免费欧美日韩国产三级电影| 久久久精品国产免费观看同学| 成人午夜在线视频| 亚洲综合999| 欧美一区二区三区爱爱| 国产精品1区二区.| 一区二区三区四区国产精品| 欧美精品久久一区二区三区| 国内成人免费视频| 亚洲蜜臀av乱码久久精品| 欧美绝品在线观看成人午夜影视| 美女免费视频一区二区| 国产女主播一区| 欧美系列日韩一区| 精品一区二区三区久久久| 国产精品家庭影院| 欧美久久久影院| 成人爽a毛片一区二区免费| 亚洲综合视频网| 亚洲精品一区二区三区福利| 99久久精品情趣| 日韩国产欧美三级| 国产精品第13页| 欧美肥妇毛茸茸| jlzzjlzz亚洲日本少妇| 日韩中文字幕麻豆| 国产精品美女www爽爽爽| 欧美日韩高清一区| 成人伦理片在线| 久久精品国产99久久6| 中文字幕在线观看不卡| 91精品啪在线观看国产60岁| 本田岬高潮一区二区三区| 麻豆精品视频在线观看| 亚洲三级小视频| 久久蜜桃av一区二区天堂| 欧美日韩一区二区三区在线看| 国产精品88av| 男人的天堂亚洲一区| 亚洲精品菠萝久久久久久久| 久久亚洲精品国产精品紫薇| 欧美精品成人一区二区三区四区| 波波电影院一区二区三区| 国产麻豆精品95视频|