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

📄 ac16-1.lis

📁 AVR单片机ATmega16(L)应用实例-驱动128×64点阵图形液晶模块
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module ac16-1.c
                        .area text(rom, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac16-1\ac16-1.c
 0000                   .dbfunc e Delay_1ms _Delay_1ms fV
 0000           ;              i -> R16,R17
                        .even
 0000           _Delay_1ms::
 0000                   .dbline -1
 0000                   .dbline 24
 0000           ; #include <iom16v.h>           
 0000           ; #include <macros.h>
 0000           ; //-----------------------------------------------
 0000           ; #define uchar unsigned char   
 0000           ; #define uint unsigned int
 0000           ; //---------------引脚电平的宏定义
 0000           ; #define RS_1 PORTB|=BIT(PB0)   
 0000           ; #define RS_0 PORTB&=~BIT(PB0) 
 0000           ; #define RW_1 PORTB|=BIT(PB1)   
 0000           ; #define RW_0 PORTB&=~BIT(PB1)
 0000           ; #define EN_1 PORTB|=BIT(PB2)   
 0000           ; #define EN_0 PORTB&=~BIT(PB2) 
 0000           ; #define CS1_1 PORTB|=BIT(PB3)   
 0000           ; #define CS1_0 PORTB&=~BIT(PB3) 
 0000           ; #define CS2_1 PORTB|=BIT(PB4)  
 0000           ; #define CS2_0 PORTB&=~BIT(PB4)
 0000           ; #define RST_1 PORTB|=BIT(PB5)  
 0000           ; #define RST_0 PORTB&=~BIT(PB5) 
 0000           ; //======================================
 0000           ; #define DataPort PORTA                //端口定义,双向数据总线。
 0000           ; #define xtal 8                                
 0000           ; 
 0000           ; void Delay_1ms(void)          //1mS延时子函数
 0000           ; { uint i;
 0000                   .dbline 25
 0000           ;  for(i=1;i<(uint)(xtal*143-2);i++)
 0000 01E0              ldi R16,1
 0002 10E0              ldi R17,0
 0004 02C0              xjmp L5
 0006           L2:
 0006                   .dbline 26
 0006           L3:
 0006                   .dbline 25
 0006 0F5F              subi R16,255  ; offset = 1
 0008 1F4F              sbci R17,255
 000A           L5:
 000A                   .dbline 25
 000A 0637              cpi R16,118
 000C E4E0              ldi R30,4
 000E 1E07              cpc R17,R30
 0010 D0F3              brlo L2
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r i 16 i
 0014                   .dbend
 0014                   .dbfunc e Delay_nms _Delay_nms fV
 0014           ;              i -> R20,R21
 0014           ;              n -> R22,R23
                        .even
 0014           _Delay_nms::
 0014 0E940000          xcall push_gset2
 0018 B801              movw R22,R16
 001A                   .dbline -1
 001A                   .dbline 30
 001A           ; ;
 001A           ; }
 001A           ; //====================================
 001A           ; void Delay_nms(uint n)                //n*1mS延时子函数
 001A           ; {
 001A                   .dbline 31
 001A           ;  uint i=0;
 001A 4427              clr R20
 001C 5527              clr R21
 001E 03C0              xjmp L8
 0020           L7:
 0020                   .dbline 33
 0020                   .dbline 33
 0020 EFDF              xcall _Delay_1ms
 0022                   .dbline 34
 0022 4F5F              subi R20,255  ; offset = 1
 0024 5F4F              sbci R21,255
 0026                   .dbline 35
 0026           L8:
 0026                   .dbline 32
 0026           ;    while(i<n)
 0026 4617              cp R20,R22
 0028 5707              cpc R21,R23
 002A D0F3              brlo L7
 002C                   .dbline -2
 002C           L6:
 002C 0E940000          xcall pop_gset2
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbsym r i 20 i
 0032                   .dbsym r n 22 i
 0032                   .dbend
 0032                   .dbfunc e main _main fV
 0032           ;           loop -> R20
                        .even
 0032           _main::
 0032 2397              sbiw R28,3
 0034                   .dbline -1
 0034                   .dbline 54
 0034           ;    {Delay_1ms();
 0034           ;     i++;
 0034           ;    }
 0034           ; }
 0034           ; /**********函数声明列表*************/
 0034           ; void Delay_1ms(void);
 0034           ; void Delay_nms(uint n);               
 0034           ; void wcode(uchar c,uchar sel_l,uchar sel_r);
 0034           ; void wdata(uchar c,uchar sel_l,uchar sel_r);
 0034           ; void set_startline(uchar i);                  
 0034           ; void set_xy(uchar x,uchar y);                 
 0034           ; void dison_off(uchar o);                              
 0034           ; void reset(void);                                             
 0034           ; void m16_init(void);
 0034           ; void lcd_init(void);                                  
 0034           ; void lw(uchar x, uchar y, uchar dd);
 0034           ; void display_hz(uchar x, uchar y, uchar n, uchar fb);
 0034           ; const uchar hz[];                                             
 0034           ; /*************主函数*************/
 0034           ; 
 0034           ; void main(void)       
 0034           ; {                                                             
 0034                   .dbline 56
 0034           ; uchar loop;                                           
 0034           ; m16_init();                   
 0034 53D1              xcall _m16_init
 0036                   .dbline 57
 0036           ; lcd_init();                   
 0036 03D2              xcall _lcd_init
 0038                   .dbline 58
 0038           ; Delay_nms(1000);              
 0038 08EE              ldi R16,1000
 003A 13E0              ldi R17,3
 003C EBDF              xcall _Delay_nms
 003E 4BC1              xjmp L12
 0040           L11:
 0040                   .dbline 60
 0040           ; while(1)                              
 0040           ; {                             
 0040                   .dbline 62
 0040           ; /************************************/
 0040           ; for(loop=0;loop<8;loop++)                     
 0040 4427              clr R20
 0042 41C0              xjmp L17
 0044           L14:
 0044                   .dbline 63
 0044                   .dbline 63
 0044 2224              clr R2
 0046 2A82              std y+2,R2
 0048 4883              std y+0,R20
 004A 2227              clr R18
 004C 82E0              ldi R24,2
 004E 849F              mul R24,R20
 0050 002D              mov R16,R0
 0052 12D2              xcall _display_hz
 0054                   .dbline 64
 0054 2224              clr R2
 0056 2A82              std y+2,R2
 0058 4883              std y+0,R20
 005A 2227              clr R18
 005C 82E0              ldi R24,2
 005E 849F              mul R24,R20
 0060 002D              mov R16,R0
 0062 0AD2              xcall _display_hz
 0064                   .dbline 65
 0064 2224              clr R2
 0066 2A82              std y+2,R2
 0068 4883              std y+0,R20
 006A 2227              clr R18
 006C 82E0              ldi R24,2
 006E 849F              mul R24,R20
 0070 002D              mov R16,R0
 0072 02D2              xcall _display_hz
 0074                   .dbline 66
 0074 2224              clr R2
 0076 2A82              std y+2,R2
 0078 4883              std y+0,R20
 007A 2227              clr R18
 007C 82E0              ldi R24,2
 007E 849F              mul R24,R20
 0080 002D              mov R16,R0
 0082 FAD1              xcall _display_hz
 0084                   .dbline 67
 0084 2224              clr R2
 0086 2A82              std y+2,R2
 0088 4883              std y+0,R20
 008A 2227              clr R18
 008C 82E0              ldi R24,2
 008E 849F              mul R24,R20
 0090 002D              mov R16,R0
 0092 F2D1              xcall _display_hz
 0094                   .dbline 68
 0094 2224              clr R2
 0096 2A82              std y+2,R2
 0098 4883              std y+0,R20
 009A 2227              clr R18
 009C 82E0              ldi R24,2
 009E 849F              mul R24,R20
 00A0 002D              mov R16,R0
 00A2 EAD1              xcall _display_hz
 00A4                   .dbline 69
 00A4 2224              clr R2
 00A6 2A82              std y+2,R2
 00A8 4883              std y+0,R20
 00AA 2227              clr R18
 00AC 82E0              ldi R24,2
 00AE 849F              mul R24,R20
 00B0 002D              mov R16,R0
 00B2 E2D1              xcall _display_hz
 00B4                   .dbline 70
 00B4 2224              clr R2
 00B6 2A82              std y+2,R2
 00B8 4883              std y+0,R20
 00BA 2227              clr R18
 00BC 82E0              ldi R24,2
 00BE 849F              mul R24,R20
 00C0 002D              mov R16,R0
 00C2 DAD1              xcall _display_hz
 00C4                   .dbline 70
 00C4           L15:
 00C4                   .dbline 62
 00C4 4395              inc R20
 00C6           L17:
 00C6                   .dbline 62
 00C6 4830              cpi R20,8
 00C8 08F4              brsh X1
 00CA BCCF              xjmp L14
 00CC           X1:
 00CC                   .dbline 72
 00CC           ;       {display_hz(2*loop,0,loop,0);   
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);    
 00CC           ;       display_hz(2*loop,0,loop,0);}   
 00CC           ; /******************************************/
 00CC           ; for(loop=0;loop<8;loop++)                     
 00CC 4427              clr R20
 00CE 51C0              xjmp L21
 00D0           L18:
 00D0                   .dbline 73
 00D0                   .dbline 73
 00D0 2224              clr R2
 00D2 2A82              std y+2,R2
 00D4 842F              mov R24,R20
 00D6 885F              subi R24,248    ; addi 8
 00D8 8883              std y+0,R24
 00DA 22E0              ldi R18,2
 00DC 82E0              ldi R24,2
 00DE 849F              mul R24,R20
 00E0 002D              mov R16,R0
 00E2 CAD1              xcall _display_hz
 00E4                   .dbline 74
 00E4 2224              clr R2
 00E6 2A82              std y+2,R2
 00E8 842F              mov R24,R20
 00EA 885F              subi R24,248    ; addi 8
 00EC 8883              std y+0,R24
 00EE 22E0              ldi R18,2
 00F0 82E0              ldi R24,2
 00F2 849F              mul R24,R20
 00F4 002D              mov R16,R0
 00F6 C0D1              xcall _display_hz
 00F8                   .dbline 75
 00F8 2224              clr R2
 00FA 2A82              std y+2,R2
 00FC 842F              mov R24,R20
 00FE 885F              subi R24,248    ; addi 8
 0100 8883              std y+0,R24
 0102 22E0              ldi R18,2
 0104 82E0              ldi R24,2
 0106 849F              mul R24,R20
 0108 002D              mov R16,R0
 010A B6D1              xcall _display_hz
 010C                   .dbline 76
 010C 2224              clr R2
 010E 2A82              std y+2,R2
 0110 842F              mov R24,R20
 0112 885F              subi R24,248    ; addi 8
 0114 8883              std y+0,R24
 0116 22E0              ldi R18,2
 0118 82E0              ldi R24,2
 011A 849F              mul R24,R20
 011C 002D              mov R16,R0
 011E ACD1              xcall _display_hz
 0120                   .dbline 77
 0120 2224              clr R2
 0122 2A82              std y+2,R2
 0124 842F              mov R24,R20
 0126 885F              subi R24,248    ; addi 8
 0128 8883              std y+0,R24
 012A 22E0              ldi R18,2
 012C 82E0              ldi R24,2
 012E 849F              mul R24,R20
 0130 002D              mov R16,R0
 0132 A2D1              xcall _display_hz
 0134                   .dbline 78
 0134 2224              clr R2
 0136 2A82              std y+2,R2
 0138 842F              mov R24,R20
 013A 885F              subi R24,248    ; addi 8
 013C 8883              std y+0,R24
 013E 22E0              ldi R18,2
 0140 82E0              ldi R24,2
 0142 849F              mul R24,R20
 0144 002D              mov R16,R0
 0146 98D1              xcall _display_hz
 0148                   .dbline 79
 0148 2224              clr R2
 014A 2A82              std y+2,R2
 014C 842F              mov R24,R20
 014E 885F              subi R24,248    ; addi 8
 0150 8883              std y+0,R24
 0152 22E0              ldi R18,2
 0154 82E0              ldi R24,2
 0156 849F              mul R24,R20
 0158 002D              mov R16,R0
 015A 8ED1              xcall _display_hz
 015C                   .dbline 80
 015C 2224              clr R2
 015E 2A82              std y+2,R2
 0160 842F              mov R24,R20
 0162 885F              subi R24,248    ; addi 8
 0164 8883              std y+0,R24
 0166 22E0              ldi R18,2
 0168 82E0              ldi R24,2
 016A 849F              mul R24,R20
 016C 002D              mov R16,R0
 016E 84D1              xcall _display_hz
 0170                   .dbline 80

⌨️ 快捷键说明

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