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

📄 lcd_test.lis

📁 AVR单片机
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module lcd_test.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\avr\lcdsd1330\lcd_test.c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0000           _sec::
 0000                   .blkb 2
                        .area idata
 0000 0000              .word 0
                        .area data(ram, con, rel)
 0002                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0002                   .dbsym e sec _sec I
 0002           _min::
 0002                   .blkb 2
                        .area idata
 0002 0000              .word 0
                        .area data(ram, con, rel)
 0004                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0004                   .dbsym e min _min I
                        .area text(rom, con, rel)
 0000                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0000                   .dbfunc e main _main fV
 0000           ;              o -> R10,R11
 0000           ;              j -> R20,R21
 0000           ;              i -> R22,R23
                        .even
 0000           _main::
 0000 2797              sbiw R28,7
 0002                   .dbline -1
 0002                   .dbline 41
 0002           ; /***********************************************************************
 0002           ; Content: Test for graphic library for Epson SED-1335 based LCD displays.
 0002           ; Last modified: 15.05.2003
 0002           ; Copyrights: Free to use, free to change, free to delete :-)
 0002           ; Compiler: ImageCraft AVR
 0002           ; Written by: Knut Baardsen @ Baardsen Software, Norway
 0002           ; Updates: http://www.baso.no
 0002           ; ***********************************************************************/
 0002           ; 
 0002           ; /***********************************************************************
 0002           ; This software is provided "as is"; Without warranties either express or
 0002           ; implied, including any warranty regarding merchantability, fitness for 
 0002           ; a particular purpose or noninfringement. 
 0002           ; In no event shall Baardsen Software or its suppliers be liable for any 
 0002           ; special,indirect,incidential or concequential damages resulting from 
 0002           ; the use or inability to use this software.
 0002           ; ***********************************************************************/
 0002           ; 
 0002           ; 
 0002           ; /***********************************************************************
 0002           ; Includes
 0002           ; ***********************************************************************/
 0002           ; #include "global.h"
 0002           ; 
 0002           ; 
 0002           ; /***********************************************************************
 0002           ; Defines and globals 
 0002           ; ***********************************************************************/
 0002           ; #define ClockX                   160
 0002           ; #define ClockY                   120
 0002           ; #define ClockOR                  40
 0002           ; #define ClockIR                  2
 0002           ; int sec = 0;
 0002           ; int min = 0;
 0002           ; 
 0002           ; 
 0002           ; /***********************************************************************
 0002           ; Main 
 0002           ; ***********************************************************************/
 0002           ; void main()
 0002           ; {
 0002                   .dbline 42
 0002           ;  int i = 0; 
 0002 6627              clr R22
 0004 7727              clr R23
 0006                   .dbline 43
 0006           ;  int j = 0;
 0006 4427              clr R20
 0008 5527              clr R21
 000A                   .dbline 44
 000A           ;   int o = 0;
 000A AA24              clr R10
 000C BB24              clr R11
 000E                   .dbline 46
 000E           ;   // Init the display
 000E           ;   lcd_init();
 000E 0E940000          xcall _lcd_init
 0012                   .dbline 47
 0012           ;   lcd_clear_text();
 0012 0E940000          xcall _lcd_clear_text
 0016                   .dbline 48
 0016           ;   lcd_clear_graphics();
 0016 0E940000          xcall _lcd_clear_graphics
 001A                   .dbline 50
 001A           ;   
 001A           ;    lcd_write_command(0x4f); 
 001A 0FE4              ldi R16,79
 001C 0E940000          xcall _lcd_write_command
 0020                   .dbline 71
 0020           ;  /*lcd_write_command(0x46);   
 0020           ;  lcd_write_data(0x00);       
 0020           ;  lcd_write_data(0x10);
 0020           ;  lcd_show_cursor(1);
 0020           ;  // lcd_show_cursor(0);  
 0020           ;  lcd_write_command(0x42);
 0020           ;  for (i = 0;i < 16; i++)
 0020           ;  {   
 0020           ;      lcd_write_data(jian4[i]);       
 0020           ;  } 
 0020           ;  lcd_write_command(0x46);   
 0020           ;  lcd_write_data(0x01);       
 0020           ;  lcd_write_data(0x10);
 0020           ;    
 0020           ;  lcd_write_command(0x42);
 0020           ;  for (i = 16;i < 32; i++)
 0020           ;  {   
 0020           ;      lcd_write_data(jian4[i]);       
 0020           ;  }*/
 0020           ;  
 0020           ;  for(j= 0; j < 40 ; j++ )
 0020           L2:
 0020                   .dbline 72
 0020           ;  {
 0020                   .dbline 73
 0020           ;     lcd_write_command(0x46); 
 0020 06E4              ldi R16,70
 0022 0E940000          xcall _lcd_write_command
 0026                   .dbline 74
 0026           ;     lcd_write_data(0x00+j);       
 0026 042F              mov R16,R20
 0028 0E940000          xcall _lcd_write_data
 002C                   .dbline 75
 002C           ;     lcd_write_data(0x10);
 002C 00E1              ldi R16,16
 002E 0E940000          xcall _lcd_write_data
 0032                   .dbline 76
 0032           ;       lcd_write_command(0x42);
 0032 02E4              ldi R16,66
 0034 0E940000          xcall _lcd_write_command
 0038                   .dbline 77
 0038           ;     for(i = j*240; i < (240*j+240) ; i++)
 0038 00EF              ldi R16,240
 003A 10E0              ldi R17,0
 003C 9A01              movw R18,R20
 003E 0E940000          xcall empy16s
 0042 B801              movw R22,R16
 0044 0BC0              xjmp L9
 0046           L6:
 0046                   .dbline 78
 0046           ;     {
 0046                   .dbline 79
 0046           ;           lcd_write_data(~windows[i]);   
 0046 80E0              ldi R24,<_windows
 0048 90E0              ldi R25,>_windows
 004A FB01              movw R30,R22
 004C E80F              add R30,R24
 004E F91F              adc R31,R25
 0050 0691              elpm R16,Z
 0052 0095              com R16
 0054 0E940000          xcall _lcd_write_data
 0058                   .dbline 80
 0058           ;     }
 0058           L7:
 0058                   .dbline 77
 0058 6F5F              subi R22,255  ; offset = 1
 005A 7F4F              sbci R23,255
 005C           L9:
 005C                   .dbline 77
 005C 00EF              ldi R16,240
 005E 10E0              ldi R17,0
 0060 9A01              movw R18,R20
 0062 0E940000          xcall empy16s
 0066 C801              movw R24,R16
 0068 8051              subi R24,16  ; offset = 240
 006A 9F4F              sbci R25,255
 006C 6817              cp R22,R24
 006E 7907              cpc R23,R25
 0070 54F3              brlt L6
 0072           X0:
 0072                   .dbline 81
 0072           ;  }
 0072           L3:
 0072                   .dbline 71
 0072 4F5F              subi R20,255  ; offset = 1
 0074 5F4F              sbci R21,255
 0076                   .dbline 71
 0076 4832              cpi R20,40
 0078 E0E0              ldi R30,0
 007A 5E07              cpc R21,R30
 007C 8CF2              brlt L2
 007E           X1:
 007E           L10:
 007E                   .dbline 82
 007E           ;  while(1);  
 007E           L11:
 007E                   .dbline 82
 007E FFCF              xjmp L10
 0080           L16:
 0080                   .dbline 129
 0080           ;   
 0080           ;   // Disable all interrupts
 0080           ;   CLI();
 0080           ;   // Set up timer 1 for about 1 second 
 0080           ;  TCCR1B = 0x00; //stop
 0080           ;  TCNT1H = 0xE3; //setup
 0080           ;  TCNT1L = 0xE1;
 0080           ;  OCR1AH = 0x1C;
 0080           ;  OCR1AL = 0x1F;
 0080           ;  OCR1BH = 0x1C;
 0080           ;  OCR1BL = 0x1F;
 0080           ;  OCR1CH = 0x1C;
 0080           ;  OCR1CL = 0x1F;
 0080           ;  ICR1H  = 0x1C;
 0080           ;  ICR1L  = 0x1F;
 0080           ;  TCCR1A = 0x00;
 0080           ;  TCCR1B = 0x05; //start Timer
 0080           ;  MCUCR = 0x00;
 0080           ;  EICRA = 0x00; //extended ext ints
 0080           ;  EICRB = 0x00; //extended ext ints
 0080           ;  EIMSK = 0x00;
 0080           ;  TIMSK = 0x04; //timer interrupt sources
 0080           ;  ETIMSK = 0x00; //extended timer interrupt sources
 0080           ;   //lcd_chinesechar(0, 0,jian4 ,2,16,0);
 0080           ;    // lcd_chinesechar(50, 50,jian4 ,2,16,1);
 0080           ;   //lcd_chinesechar(10, 12,jian4 ,2,16,1);
 0080           ;   //while(1);
 0080           ;   // Draw a frame
 0080           ;   lcd_rectangle(1,1,320,240,1);
 0080           ;   lcd_rectangle(3,3,318,238,1);
 0080           ;   // Write some text
 0080           ;   
 0080           ;   
 0080           ;   lcd_goto(10,4);
 0080           ;   lcd_write_string(" Baardsen Software");
 0080           ;   lcd_goto(10,5);
 0080           ;   lcd_write_string("   Svennahaugen 39");
 0080           ;   lcd_goto(10,6);
 0080           ;   lcd_write_string("5516 Haugesund, Norway");
 0080           ;   //DrawClockOutline();
 0080           ;   lcd_circle(ClockX,ClockY,ClockIR,1);
 0080           ;   lcd_circle(ClockX,ClockY,ClockOR,1);
 0080           ;   i = 0;
 0080           ;   
 0080           ;   SEI();
 0080           ;   while (i < 360)
 0080           ;   {
 0080                   .dbline 130
 0080           ;     lcd_degree_line(ClockX,ClockY,i,ClockOR-5,ClockOR,1);
 0080 81E0              ldi R24,1
 0082 8E83              std y+6,R24
 0084 88E2              ldi R24,40
 0086 90E0              ldi R25,0
 0088 9D83              std y+5,R25
 008A 8C83              std y+4,R24
 008C 83E2              ldi R24,35
 008E 9B83              std y+3,R25
 0090 8A83              std y+2,R24
 0092 7983              std y+1,R23
 0094 6883              std y+0,R22
 0096 28E7              ldi R18,120
 0098 30E0              ldi R19,0
 009A 00EA              ldi R16,160
 009C 10E0              ldi R17,0
 009E 0E940000          xcall _lcd_degree_line
 00A2                   .dbline 131
 00A2           ;       i = i + 30;
 00A2 625E              subi R22,226  ; offset = 30
 00A4 7F4F              sbci R23,255
 00A6                   .dbline 132
 00A6           ;   }
 00A6           L17:
 00A6                   .dbline 128
 00A6 6836              cpi R22,104
 00A8 E1E0              ldi R30,1
 00AA 7E07              cpc R23,R30
 00AC 4CF3              brlt L16
 00AE           X2:
 00AE           L19:

⌨️ 快捷键说明

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