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

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

?? eeprom.lst

?? 使用ICCAVR編寫的AT24C16的讀寫函數
?? LST
?? 第 1 頁 / 共 3 頁
字號:
__text_start:
__start:
    005C EFCF      LDI	R28,0xFF
    005D E1D0      LDI	R29,0x10
    005E BFCD      OUT	0x3D,R28
    005F BFDE      OUT	0x3E,R29
    0060 51C0      SUBI	R28,0x10
    0061 40D0      SBCI	R29,0
    0062 EA0A      LDI	R16,0xAA
    0063 8308      STD	Y+0,R16
    0064 2400      CLR	R0
    0065 E2EC      LDI	R30,0x2C
    0066 E0F1      LDI	R31,1
    0067 E011      LDI	R17,1
    0068 32EC      CPI	R30,0x2C
    0069 07F1      CPC	R31,R17
    006A F011      BEQ	0x006D
    006B 9201      ST	R0,Z+
    006C CFFB      RJMP	0x0068
    006D 8300      STD	Z+0,R16
    006E E8EC      LDI	R30,0x8C
    006F E0F0      LDI	R31,0
    0070 E0A0      LDI	R26,0
    0071 E0B1      LDI	R27,1
    0072 E010      LDI	R17,0
    0073 3BE8      CPI	R30,0xB8
    0074 07F1      CPC	R31,R17
    0075 F021      BEQ	0x007A
    0076 95C8      LPM
    0077 9631      ADIW	R30,1
    0078 920D      ST	R0,X+
    0079 CFF9      RJMP	0x0073
    007A 940E02FA  CALL	_main
_exit:
    007C CFFF      RJMP	_exit
FILE: E:\icc\eeprom\lcd_init.h
(0001) /*
(0002) LCD12864液晶驅動模塊
(0003) */
(0004) /*
(0005) PG0---RS---4
(0006) PG1---R/W--5
(0007) PG2---EN---6    
(0008) PA0---DB0---7
(0009) PA1---DB1---8
(0010) PA2---DB2---9
(0011) PA3---DB3---10
(0012) PA4---DB4---11
(0013) PA5---DB5---12
(0014) PA6---DB6---13
(0015) PA7---DB7---14
(0016) 
(0017) */
(0018) #include <iom128v.h>
(0019) #include <macros.h> 
(0020) 
(0021) 
(0022) /*命令或是數據選擇*/
(0023) /*RS = 0命令,RS = 1數據*/
(0024) #define RS_CLR PORTG&=~(1<<0)  
(0025) #define RS_SET PORTG|=(1<<0)   
(0026) /*讀取或寫入選擇*/
(0027) /*RW = 1讀,RW = 0寫*/
(0028) #define RW_CLR PORTG&=~(1<<1)
(0029) #define RW_SET PORTG|=(1<<1)
(0030) /*讀寫使能信號*/
(0031) /*下降沿有效*/
(0032) #define EN_CLR PORTG&=~(1<<2)
(0033) #define EN_SET PORTG|=(1<<2)
(0034) /*芯片復位腳*/
(0035) /*高電平復位
(0036) #define RST_CLR PORTD&=~(1<<PD7)
(0037) #define RST_SET PORTD|=(1<<PD7)*/
(0038) //延時函數
(0039) void delay (unsigned int n)
(0040) {
(0041) while(n--);
_delay:
  n                    --> R16
    007D 0118      MOVW	R2,R16
    007E 5001      SUBI	R16,1
    007F 4010      SBCI	R17,0
    0080 2022      TST	R2
    0081 F7D9      BNE	0x007D
    0082 2033      TST	R3
    0083 F7C9      BNE	0x007D
    0084 9508      RET
(0042) }
(0043) void chk_busy(void)
(0044) {
(0045)  PORTA=0XFF;
_chk_busy:
    0085 EF8F      LDI	R24,0xFF
    0086 BB8B      OUT	0x1B,R24
(0046)  RS_CLR;
    0087 91800065  LDS	R24,0x65
    0089 7F8E      ANDI	R24,0xFE
    008A 93800065  STS	0x65,R24
(0047)  RW_SET;
    008C 91800065  LDS	R24,0x65
    008E 6082      ORI	R24,2
    008F 93800065  STS	0x65,R24
(0048)  
(0049)  DDRA=0X00;
    0091 2422      CLR	R2
    0092 BA2A      OUT	0x1A,R2
(0050)  
(0051)  EN_SET;
    0093 91800065  LDS	R24,0x65
    0095 6084      ORI	R24,4
    0096 93800065  STS	0x65,R24
(0052)  while(PINA&0X80);
    0098 99CF      SBIC	0x19,7
    0099 CFFE      RJMP	0x0098
(0053)  EN_CLR;
    009A 91800065  LDS	R24,0x65
    009C 7F8B      ANDI	R24,0xFB
    009D 93800065  STS	0x65,R24
(0054)  DDRA=0XFF;
    009F EF8F      LDI	R24,0xFF
    00A0 BB8A      OUT	0x1A,R24
    00A1 9508      RET
_LCD_write_code:
  code                 --> R20
    00A2 940E036F  CALL	push_gset1
    00A4 2F40      MOV	R20,R16
(0055) }
(0056) //顯示屏命令寫入函數
(0057) void LCD_write_code(unsigned char code)
(0058) {
(0059) chk_busy();
    00A5 DFDF      RCALL	_chk_busy
(0060) RS_CLR;
    00A6 91800065  LDS	R24,0x65
    00A8 7F8E      ANDI	R24,0xFE
    00A9 93800065  STS	0x65,R24
(0061) RW_CLR;
    00AB 91800065  LDS	R24,0x65
    00AD 7F8D      ANDI	R24,0xFD
    00AE 93800065  STS	0x65,R24
(0062) PORTA=code;
    00B0 BB4B      OUT	0x1B,R20
(0063) EN_SET;
    00B1 91800065  LDS	R24,0x65
    00B3 6084      ORI	R24,4
    00B4 93800065  STS	0x65,R24
(0064) delay(100);
    00B6 E604      LDI	R16,0x64
    00B7 E010      LDI	R17,0
    00B8 DFC4      RCALL	_delay
(0065) EN_CLR;
    00B9 91800065  LDS	R24,0x65
    00BB 7F8B      ANDI	R24,0xFB
    00BC 93800065  STS	0x65,R24
    00BE 940E0372  CALL	pop_gset1
    00C0 9508      RET
_LCD_write_data:
  data                 --> R20
    00C1 940E036F  CALL	push_gset1
    00C3 2F40      MOV	R20,R16
(0066) }
(0067) //顯示屏數據顯寫入函數
(0068) void LCD_write_data(unsigned char data)
(0069) {
(0070) chk_busy();
    00C4 DFC0      RCALL	_chk_busy
(0071) RS_SET;
    00C5 91800065  LDS	R24,0x65
    00C7 6081      ORI	R24,1
    00C8 93800065  STS	0x65,R24
(0072) RW_CLR;
    00CA 91800065  LDS	R24,0x65
    00CC 7F8D      ANDI	R24,0xFD
    00CD 93800065  STS	0x65,R24
(0073) PORTA=data;
    00CF BB4B      OUT	0x1B,R20
(0074) EN_SET;
    00D0 91800065  LDS	R24,0x65
    00D2 6084      ORI	R24,4
    00D3 93800065  STS	0x65,R24
(0075) delay(100);
    00D5 E604      LDI	R16,0x64
    00D6 E010      LDI	R17,0
    00D7 DFA5      RCALL	_delay
(0076) EN_CLR; 
    00D8 91800065  LDS	R24,0x65
    00DA 7F8B      ANDI	R24,0xFB
    00DB 93800065  STS	0x65,R24
    00DD 940E0372  CALL	pop_gset1
    00DF 9508      RET
_disp_char:
  asii                 --> R20
  position             --> R22
    00E0 940E036D  CALL	push_gset2
    00E2 2F42      MOV	R20,R18
    00E3 2F60      MOV	R22,R16
(0077) }
(0078) /*單個字符輸入函數;position--顯示位置,data--顯示內容*/
(0079) void disp_char(unsigned char position,unsigned char asii)
(0080) {
(0081)  LCD_write_code(position);
    00E4 2F06      MOV	R16,R22
    00E5 DFBC      RCALL	_LCD_write_code
(0082)  LCD_write_data(asii);
    00E6 2F04      MOV	R16,R20
    00E7 DFD9      RCALL	_LCD_write_data
    00E8 940E0361  CALL	pop_gset2
    00EA 9508      RET
_disp_word:
  word                 --> R20
  position             --> R22
    00EB 940E036D  CALL	push_gset2
    00ED 01A9      MOVW	R20,R18
    00EE 2F60      MOV	R22,R16
(0083) }
(0084) /*一串字符輸入函數
(0085) void disp_char_str(unsigned char position,unsigned char *str)
(0086) {
(0087)  LCD_write_code(position);
(0088)  while(*str!=0)                    //含義???
(0089)       {
(0090) 	   
(0091) 	   LCD_write_data(*str);
(0092) 	   str++;
(0093) 	  }
(0094) }*/
(0095) /*漢字輸入*/
(0096) void disp_word(unsigned char position,unsigned char *word)
(0097) {
(0098) LCD_write_code(position);//要顯示的位置
    00EF 2F06      MOV	R16,R22
    00F0 DFB1      RCALL	_LCD_write_code
    00F1 C005      RJMP	0x00F7
(0099) while(*word!=0)
(0100)      {
(0101) 	  LCD_write_data(*word);
    00F2 01FA      MOVW	R30,R20
    00F3 8100      LDD	R16,Z+0
    00F4 DFCC      RCALL	_LCD_write_data
(0102) 	  word++;
    00F5 5F4F      SUBI	R20,0xFF
    00F6 4F5F      SBCI	R21,0xFF
    00F7 01FA      MOVW	R30,R20
    00F8 8020      LDD	R2,Z+0
    00F9 2022      TST	R2
    00FA F7B9      BNE	0x00F2
    00FB 940E0361  CALL	pop_gset2
    00FD 9508      RET
_disp_number10:
  num_l                --> R22
  num_h                --> R10
  num                  --> R20
  position             --> R22
    00FE 940E036B  CALL	push_gset3
    0100 2F42      MOV	R20,R18
    0101 2F60      MOV	R22,R16
(0103) 	 } 
(0104)  
(0105) }
(0106) //------------------------------------------------------------------------------
(0107) //函數名稱:disp_number10()
(0108) //功能:數據的十進制顯示,7顯示07,12顯示12
(0109) //------------------------------------------------------------------------------
(0110) void disp_number10(unsigned char position,unsigned char num)
(0111) {
(0112) unsigned char num_h, num_l;
(0113) LCD_write_code(position);
    0102 2F06      MOV	R16,R22
    0103 DF9E      RCALL	_LCD_write_code
(0114) if(num>=10)
    0104 304A      CPI	R20,0xA
    0105 F088      BCS	0x0117
(0115)   {
(0116)    num_h=(num/10);
    0106 E01A      LDI	R17,0xA
    0107 2F04      MOV	R16,R20
    0108 940E034B  CALL	div8u
    010A 2EA0      MOV	R10,R16
(0117)    num_l=(num%10);
    010B E01A      LDI	R17,0xA
    010C 2F04      MOV	R16,R20
    010D 940E0349  CALL	mod8u
    010F 2F60      MOV	R22,R16
(0118)    LCD_write_data(num_h+0x30);
    0110 2D0A      MOV	R16,R10
    0111 5D00      SUBI	R16,0xD0
    0112 DFAE      RCALL	_LCD_write_data
(0119)    LCD_write_data(num_l+0x30);
    0113 2F06      MOV	R16,R22
    0114 5D00      SUBI	R16,0xD0
    0115 DFAB      RCALL	_LCD_write_data
(0120)   }
    0116 C005      RJMP	0x011C
(0121)   else
(0122)   {
(0123)    LCD_write_data(0x30);
    0117 E300      LDI	R16,0x30
    0118 DFA8      RCALL	_LCD_write_data
(0124)    LCD_write_data(num+0x30);
    0119 2F04      MOV	R16,R20
    011A 5D00      SUBI	R16,0xD0
    011B DFA5      RCALL	_LCD_write_data
(0125)   }
    011C 940E0364  CALL	pop_gset3
    011E 9508      RET
_disp_number16:
  num_l                --> R22
  num_h                --> R10
  num                  --> R20
  position             --> R22
    011F 940E036B  CALL	push_gset3
    0121 2F42      MOV	R20,R18
    0122 2F60      MOV	R22,R16
(0126) 
(0127) }
(0128) //------------------------------------------------------------------------------
(0129) //函數名稱:disp_number16()
(0130) //功能:數據的16進制顯示,
(0131) //------------------------------------------------------------------------------
(0132) void disp_number16(unsigned char position,unsigned char num)
(0133) {
(0134) unsigned char num_h,num_l;
(0135) 
(0136) LCD_write_code(position);
    0123 2F06      MOV	R16,R22
    0124 DF7D      RCALL	_LCD_write_code
(0137) if(num>=10)
    0125 304A      CPI	R20,0xA
    0126 F080      BCS	0x0137
(0138)      {
(0139) 	 num_h=(num/16);
    0127 2F84      MOV	R24,R20
    0128 9582      SWAP	R24
    0129 708F      ANDI	R24,0xF
    012A 2EA8      MOV	R10,R24
(0140) 	     
(0141) 	 num_l=(num%16);
    012B E110      LDI	R17,0x10
    012C 2F04      MOV	R16,R20
    012D 940E0349  CALL	mod8u
    012F 2F60      MOV	R22,R16
(0142) 	      
(0143) 	 
(0144) 	 LCD_write_data(num_h+0x30);
    0130 2D0A      MOV	R16,R10
    0131 5D00      SUBI	R16,0xD0
    0132 DF8E      RCALL	_LCD_write_data
(0145) 	 LCD_write_data(num_l+0x30);
    0133 2F06      MOV	R16,R22
    0134 5D00      SUBI	R16,0xD0
    0135 DF8B      RCALL	_LCD_write_data
(0146) 	 }
    0136 C005      RJMP	0x013C
(0147) 	 else
(0148) 	 {
(0149) 	 
(0150) 	 
(0151) 	 LCD_write_data(0x30);
    0137 E300      LDI	R16,0x30
    0138 DF88      RCALL	_LCD_write_data
(0152) 	 LCD_write_data(num+0x30);
    0139 2F04      MOV	R16,R20
    013A 5D00      SUBI	R16,0xD0
    013B DF85      RCALL	_LCD_write_data
(0153) 	 }
    013C 940E0364  CALL	pop_gset3
    013E 9508      RET
(0154) }
(0155) //顯示屏初始化
(0156) void disp_init(void)
(0157) {
(0158) DDRA=0XFF;
_disp_init:
    013F EF8F      LDI	R24,0xFF
    0140 BB8A      OUT	0x1A,R24
(0159) //DDRD=(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);
(0160) DDRG=0XFF;
    0141 93800064  STS	0x64,R24
(0161) 
(0162) LCD_write_code(0x30);//功能設定/*30---基本指令動作
    0143 E300      LDI	R16,0x30
    0144 DF5D      RCALL	_LCD_write_code
(0163) LCD_write_code(0x01);//清屏,地址指針指向00H
    0145 E001      LDI	R16,1
    0146 DF5B      RCALL	_LCD_write_code
(0164) LCD_write_code(0x06);//光標的移動方向
    0147 E006      LDI	R16,6
    0148 DF59      RCALL	_LCD_write_code
(0165) LCD_write_code(0x0c);//光標反白顯示--0x0f/*開顯示,關游標
    0149 E00C      LDI	R16,0xC
    014A DF57      RCALL	_LCD_write_code
    014B 9508      RET
_error:
  type                 --> R16
    014C 940E036F  CALL	push_gset1
FILE: E:\icc\eeprom\eeprom_init.h
(0001) /*
(0002)  I2C總線/TWI操作模塊
(0003)  1、讀取和寫入函數
(0004)  2、地址有效范圍255
(0005)  3、數據長度為單字節
(0006)  4、函數采用查詢方式
(0007)  5、可直接嵌入到項目中使用
(0008)  6、晶振頻率:1M
(0009)  7、總線速度:50K
(0010)  AVR_AFA
(0011)  www.iccavr.com
(0012) */
(0013) #include "iom128v.h"
(0014) /*I2C總線主機模式錯誤處理*/
(0015) void error(unsigned char type) 
(0016) {
(0017)  switch (type & 0xF8) 
    014E 2F40      MOV	R20,R16
    014F 2755      CLR	R21
    0150 7F48      ANDI	R20,0xF8
    0151 7050      ANDI	R21,0
    0152 3340      CPI	R20,0x30
    0153 E0E0      LDI	R30,0
    0154 075E      CPC	R21,R30
    0155 F0D9      BEQ	0x0171
    0156 E380      LDI	R24,0x30
    0157 E090      LDI	R25,0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲777理论| 欧美一区二区三区在线观看| 国产成人午夜精品5599 | 国产精品18久久久久久久久| 麻豆视频观看网址久久| 免费在线观看一区二区三区| 亚洲成人资源在线| 日韩高清一区二区| 免费不卡在线观看| 国产伦精品一区二区三区视频青涩| 国内精品久久久久影院薰衣草| 国产一本一道久久香蕉| 国产白丝精品91爽爽久久| 成人久久久精品乱码一区二区三区 | 国产在线播放一区三区四| 国产一区二区三区黄视频| 国产91富婆露脸刺激对白| 成人精品小蝌蚪| 91福利视频网站| 欧美日韩1234| 26uuu色噜噜精品一区| 欧美激情在线一区二区| 亚洲欧美影音先锋| 亚洲在线视频免费观看| 视频一区在线视频| 国产精品自在在线| 99久久er热在这里只有精品66| 一本到不卡精品视频在线观看| 欧美亚日韩国产aⅴ精品中极品| 7777女厕盗摄久久久| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧洲精品一区二区三区不卡| 亚洲一区二区三区四区的| 奇米影视7777精品一区二区| 国产91丝袜在线18| 欧美三级日本三级少妇99| 久久影院午夜片一区| 亚洲欧美激情插| 麻豆精品国产传媒mv男同| 夫妻av一区二区| 在线播放91灌醉迷j高跟美女 | 一本一道综合狠狠老| 这里是久久伊人| 国产精品成人在线观看| 午夜精品久久久| 国产成人自拍网| 欧美精品xxxxbbbb| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲一区二区欧美日韩| 激情综合色综合久久| 91福利在线导航| 久久久久久久久久久99999| 亚洲美女淫视频| 国产一本一道久久香蕉| 欧美视频你懂的| 国产精品视频观看| 美女视频网站久久| 欧美亚洲日本一区| 中文字幕av一区二区三区免费看 | 91搞黄在线观看| 久久亚洲综合色一区二区三区| 亚洲免费视频成人| 国产成a人亚洲精| 欧美一级高清片| 亚洲女同ⅹxx女同tv| 久久99精品网久久| 欧美日韩精品免费观看视频| 国产精品国产三级国产有无不卡| 久久精品国产秦先生| 91国偷自产一区二区使用方法| 欧美精品一区二区三区在线播放 | 经典三级在线一区| 色婷婷av久久久久久久| 欧美激情在线看| 亚洲国产中文字幕在线视频综合| 久久只精品国产| 久久在线免费观看| 亚洲gay无套男同| 91同城在线观看| 亚洲一区在线视频| 亚洲女人****多毛耸耸8| 国产一区二区主播在线| 欧美久久一区二区| 国产精品电影一区二区| 风流少妇一区二区| 国产日韩欧美一区二区三区乱码| 美女视频黄免费的久久| 制服丝袜成人动漫| 亚洲gay无套男同| 欧美午夜不卡视频| 亚洲主播在线播放| 欧美在线综合视频| 亚洲日本在线观看| 成人激情小说乱人伦| 国产清纯在线一区二区www| 久久国产视频网| 精品欧美一区二区久久| 日本午夜精品一区二区三区电影| 欧美日韩精品一区视频| 亚洲午夜久久久久久久久电影院| 91国偷自产一区二区开放时间 | 欧美在线一区二区三区| 中文字幕一区二区三区在线播放| 国产成人精品午夜视频免费| 久久久99久久| 国产自产高清不卡| 久久嫩草精品久久久精品一| 国产美女一区二区三区| 久久精品一区八戒影视| 成人精品国产一区二区4080| 中文久久乱码一区二区| 成人激情电影免费在线观看| 国产欧美精品国产国产专区| 国产91在线|亚洲| 亚洲色图一区二区| 在线一区二区观看| 日韩精品1区2区3区| 日韩欧美国产小视频| 国产一区在线视频| 国产精品素人一区二区| 色乱码一区二区三区88| 亚洲成av人片观看| 欧美一级黄色录像| 国产成人综合视频| 一区二区三区国产豹纹内裤在线| 欧美三区在线观看| 老司机免费视频一区二区| 久久久午夜精品理论片中文字幕| 国产成人精品免费看| 亚洲欧美日韩精品久久久久| 欧美顶级少妇做爰| 国产精品中文有码| 国产精品不卡在线观看| 欧美少妇一区二区| 久久精品免费看| 国产精品蜜臀在线观看| 欧美午夜精品久久久| 久草热8精品视频在线观看| 国产精品免费看片| 欧美日韩国产色站一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久精品一区四区| 色噜噜夜夜夜综合网| 视频一区视频二区中文字幕| 久久久久亚洲综合| 在线影院国内精品| 精品一区二区三区免费视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美日韩一级片在线观看| 日日夜夜精品视频免费| 久久午夜色播影院免费高清| 91美女视频网站| 麻豆精品一区二区av白丝在线| 亚洲欧美中日韩| 日韩欧美一区二区视频| 99国产精品久久久久| 免费成人美女在线观看| 国产日韩精品一区二区三区| 在线播放日韩导航| 99久久伊人精品| 美女在线视频一区| 亚洲最色的网站| 国产亚洲自拍一区| 欧美一区二区福利在线| 91香蕉视频污| 国产91精品久久久久久久网曝门| 日日摸夜夜添夜夜添国产精品| 最新不卡av在线| 欧美精品一区二区三区在线 | 婷婷开心激情综合| 国产日产欧美一区| 欧美精品 国产精品| 99久久国产免费看| 精品一区二区三区av| 亚洲高清免费视频| 中文字幕色av一区二区三区| 欧美精品一区二区三| 6080国产精品一区二区| 91麻豆swag| 99久久99久久综合| 国产精品中文字幕欧美| 久久国产精品99久久久久久老狼| 亚洲国产视频在线| 亚洲日韩欧美一区二区在线| 国产欧美一区二区三区鸳鸯浴| 日韩欧美123| 欧美乱妇23p| 欧美在线综合视频| 92精品国产成人观看免费| 国产iv一区二区三区| 国产精一区二区三区| 久久国产夜色精品鲁鲁99| 日本最新不卡在线| 日韩精品福利网| 亚洲国产精品麻豆| 一区二区三区免费看视频| 亚洲天堂免费看| 亚洲日本在线看| 亚洲欧美二区三区| 一区二区三区久久|