⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1602.lis

📁 1602LCD_mega16.rar
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 021E           L38:
 021E                   .dbline 269
 021E           ;         }
 021E           L36:
 021E                   .dbline 270
 021E           ;       table_2[7]=dispbuf[second%10];
 021E 2AE0              ldi R18,10
 0220 30E0              ldi R19,0
 0222 00910500          lds R16,_second
 0226 1127              clr R17
 0228 0E940000          xcall mod16s
 022C F801              movw R30,R16
 022E 80E0              ldi R24,<_dispbuf
 0230 90E0              ldi R25,>_dispbuf
 0232 E80F              add R30,R24
 0234 F91F              adc R31,R25
 0236 2080              ldd R2,z+0
 0238 20920700          sts _table_2+7,R2
 023C                   .dbline 271
 023C           ;       table_2[6]=dispbuf[second/10];
 023C 2AE0              ldi R18,10
 023E 30E0              ldi R19,0
 0240 00910500          lds R16,_second
 0244 1127              clr R17
 0246 0E940000          xcall div16s
 024A F801              movw R30,R16
 024C 80E0              ldi R24,<_dispbuf
 024E 90E0              ldi R25,>_dispbuf
 0250 E80F              add R30,R24
 0252 F91F              adc R31,R25
 0254 2080              ldd R2,z+0
 0256 20920600          sts _table_2+6,R2
 025A                   .dbline 272
 025A           ;       table_2[4]=dispbuf[minite%10];
 025A 2AE0              ldi R18,10
 025C 30E0              ldi R19,0
 025E 00910400          lds R16,_minite
 0262 1127              clr R17
 0264 0E940000          xcall mod16s
 0268 F801              movw R30,R16
 026A 80E0              ldi R24,<_dispbuf
 026C 90E0              ldi R25,>_dispbuf
 026E E80F              add R30,R24
 0270 F91F              adc R31,R25
 0272 2080              ldd R2,z+0
 0274 20920400          sts _table_2+4,R2
 0278                   .dbline 273
 0278           ;       table_2[3]=dispbuf[minite/10];
 0278 2AE0              ldi R18,10
 027A 30E0              ldi R19,0
 027C 00910400          lds R16,_minite
 0280 1127              clr R17
 0282 0E940000          xcall div16s
 0286 F801              movw R30,R16
 0288 80E0              ldi R24,<_dispbuf
 028A 90E0              ldi R25,>_dispbuf
 028C E80F              add R30,R24
 028E F91F              adc R31,R25
 0290 2080              ldd R2,z+0
 0292 20920300          sts _table_2+3,R2
 0296                   .dbline 274
 0296           ;       table_2[1]=dispbuf[hour%10];
 0296 2AE0              ldi R18,10
 0298 30E0              ldi R19,0
 029A 00910300          lds R16,_hour
 029E 1127              clr R17
 02A0 0E940000          xcall mod16s
 02A4 F801              movw R30,R16
 02A6 80E0              ldi R24,<_dispbuf
 02A8 90E0              ldi R25,>_dispbuf
 02AA E80F              add R30,R24
 02AC F91F              adc R31,R25
 02AE 2080              ldd R2,z+0
 02B0 20920100          sts _table_2+1,R2
 02B4                   .dbline 275
 02B4           ;       table_2[0]=dispbuf[hour/10];
 02B4 2AE0              ldi R18,10
 02B6 30E0              ldi R19,0
 02B8 00910300          lds R16,_hour
 02BC 1127              clr R17
 02BE 0E940000          xcall div16s
 02C2 F801              movw R30,R16
 02C4 80E0              ldi R24,<_dispbuf
 02C6 90E0              ldi R25,>_dispbuf
 02C8 E80F              add R30,R24
 02CA F91F              adc R31,R25
 02CC 2080              ldd R2,z+0
 02CE 20920000          sts _table_2,R2
 02D2                   .dbline 277
 02D2           ; 
 02D2           ;     }
 02D2           L34:
 02D2                   .dbline 278
 02D2           ;   DisplayOneChar(i, 1, table_2[i]); //显示单个字符
 02D2 30900000          lds R3,_i
 02D6 80E0              ldi R24,<_table_2
 02D8 90E0              ldi R25,>_table_2
 02DA E32D              mov R30,R3
 02DC FF27              clr R31
 02DE E80F              add R30,R24
 02E0 F91F              adc R31,R25
 02E2 2080              ldd R2,z+0
 02E4 2882              std y+0,R2
 02E6 21E0              ldi R18,1
 02E8 032D              mov R16,R3
 02EA EBDE              xcall _DisplayOneChar
 02EC                   .dbline 280
 02EC           ;  
 02EC           ;       i++;
 02EC 80910000          lds R24,_i
 02F0 8F5F              subi R24,255    ; addi 1
 02F2 80930000          sts _i,R24
 02F6                   .dbline 281
 02F6           ;       if(i==8)
 02F6 8830              cpi R24,8
 02F8 19F4              brne L47
 02FA           X12:
 02FA                   .dbline 282
 02FA           ;         {
 02FA                   .dbline 283
 02FA           ;           i=0;
 02FA 2224              clr R2
 02FC 20920000          sts _i,R2
 0300                   .dbline 284
 0300           ;         }
 0300           L47:
 0300                   .dbline 287
 0300           ; 
 0300           ; 
 0300           ;  TCNT0 = 0x83; //reload counter value
 0300 83E8              ldi R24,131
 0302 82BF              out 0x32,R24
 0304                   .dbline -2
 0304           L33:
 0304                   .dbline 0 ; func end
 0304 2196              adiw R28,1
 0306 0990              ld R0,y+
 0308 0FBE              out 0x3f,R0
 030A F991              ld R31,y+
 030C E991              ld R30,y+
 030E B991              ld R27,y+
 0310 A991              ld R26,y+
 0312 9991              ld R25,y+
 0314 8991              ld R24,y+
 0316 3991              ld R19,y+
 0318 2991              ld R18,y+
 031A 1991              ld R17,y+
 031C 0991              ld R16,y+
 031E 9990              ld R9,y+
 0320 8990              ld R8,y+
 0322 7990              ld R7,y+
 0324 6990              ld R6,y+
 0326 5990              ld R5,y+
 0328 4990              ld R4,y+
 032A 3990              ld R3,y+
 032C 2990              ld R2,y+
 032E 1990              ld R1,y+
 0330 0990              ld R0,y+
 0332 1895              reti
 0334                   .dbend
 0334                   .dbfunc e init_devices _init_devices fV
                        .even
 0334           _init_devices::
 0334                   .dbline -1
 0334                   .dbline 292
 0334           ; }
 0334           ; 
 0334           ; //call this routine to initialize all peripherals
 0334           ; void init_devices(void)
 0334           ; {
 0334                   .dbline 294
 0334           ;  //stop errant interrupts until set up
 0334           ;  CLI(); //disable all interrupts
 0334 F894              cli
 0336                   .dbline 295
 0336           ;  port_init();
 0336 19DF              xcall _port_init
 0338                   .dbline 296
 0338           ;  timer0_init();
 0338 23DF              xcall _timer0_init
 033A                   .dbline 298
 033A           ; 
 033A           ;  MCUCR = 0x00;
 033A 2224              clr R2
 033C 25BE              out 0x35,R2
 033E                   .dbline 299
 033E           ;  GICR  = 0x00;
 033E 2BBE              out 0x3b,R2
 0340                   .dbline 300
 0340           ;  TIMSK = 0x01; //timer interrupt sources
 0340 81E0              ldi R24,1
 0342 89BF              out 0x39,R24
 0344                   .dbline 301
 0344           ;  SEI(); //re-enable interrupts
 0344 7894              sei
 0346                   .dbline -2
 0346           L49:
 0346                   .dbline 0 ; func end
 0346 0895              ret
 0348                   .dbend
 0348                   .dbfunc e main _main fV
 0348           ;              i -> <dead>
                        .even
 0348           _main::
 0348 2297              sbiw R28,2
 034A                   .dbline -1
 034A                   .dbline 309
 034A           ;  //all peripherals are now initialized
 034A           ; }
 034A           ; 
 034A           ; 
 034A           ; /*******************************************************************************/
 034A           ; 
 034A           ; void main(void)
 034A           ; {
 034A                   .dbline 311
 034A           ;  unsigned  char i;
 034A           ;  DDRD=0XFF;//PD设为输出
 034A 8FEF              ldi R24,255
 034C 81BB              out 0x11,R24
 034E                   .dbline 312
 034E           ;  DDRB=0XFF;//PB设为输出
 034E 87BB              out 0x17,R24
 0350                   .dbline 313
 0350           ;  Delay400Ms(); //启动等待,等LCM讲入工作状态
 0350 FBDE              xcall _Delay400Ms
 0352                   .dbline 314
 0352           ;  LCMInit(); //LCM初始化
 0352 99DE              xcall _LCMInit
 0354                   .dbline 315
 0354           ;  Delay5Ms(); //延时片刻(可不要)
 0354 EFDE              xcall _Delay5Ms
 0356                   .dbline 317
 0356           ; 
 0356           ;  DisplayListChar(0, 0, table_1);
 0356 80E0              ldi R24,<_table_1
 0358 90E0              ldi R25,>_table_1
 035A 9983              std y+1,R25
 035C 8883              std y+0,R24
 035E 2227              clr R18
 0360 0027              clr R16
 0362 C4DE              xcall _DisplayListChar
 0364                   .dbline 335
 0364           ;  /*Delay400Ms(); //启动等待,等LCM进入工作状态
 0364           ;  WriteCommandLCM(0x08,1); //关闭显示
 0364           ;  WriteCommandLCM(0x01,1); //显示清屏
 0364           ;  WriteCommandLCM(0x06,1); // 显示光标移动设置
 0364           ;  WriteCommandLCM(0x0f,1); // 显示开及光标设置,闪
 0364           ;  for(i=0;i<8;i++)
 0364           ;  {
 0364           ;   DisplayOneChar(i, 0, table_1[i]); //显示单个字符
 0364           ;  }
 0364           ;  WriteCommandLCM(0x07,1); // 显示光标移动设置
 0364           ;  
 0364           ;  for(i=0;i<8;i++)
 0364           ;  {
 0364           ;   DisplayOneChar(i, 1, table_2[i]); //显示单个字符
 0364           ;  }
 0364           ;  //WriteCommandLCM(0x0c,1); // 显示开及光标设置,不闪
 0364           ;  //ReadDataLCM();//测试用句无意义*/
 0364           ;  init_devices();
 0364 E7DF              xcall _init_devices
 0366           L51:
 0366                   .dbline 336
 0366           ;  while(1);
 0366           L52:
 0366                   .dbline 336
 0366 FFCF              xjmp L51
 0368           X14:
 0368                   .dbline -2
 0368           L50:
 0368                   .dbline 0 ; func end
 0368 2296              adiw R28,2
 036A 0895              ret
 036C                   .dbsym l i 3 c
 036C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\学习工具\单片机程序\1602液晶\1602.c
 0000           _i::
 0000                   .blkb 1
 0001                   .dbsym e i _i c
 0001           _tcnt::
 0001                   .blkb 2
 0003                   .dbsym e tcnt _tcnt i
 0003           _hour::
 0003                   .blkb 1
 0004                   .dbsym e hour _hour c
 0004           _minite::
 0004                   .blkb 1
 0005                   .dbsym e minite _minite c
 0005           _second::
 0005                   .blkb 1
 0006                   .dbsym e second _second c
 0006           ; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -