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

📄 zlg7290_avr.lis

📁 数码管 按键芯片zlg7290的atmega128 的c语言程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00B2 0C2D              mov R16,R12
 00B4 D0DF              xcall _TWI_writeB
 00B6                   .dbline 110
 00B6           ; 功能:测试下载数据功能
 00B6 042F              mov R16,R20
 00B8 CEDF              xcall _TWI_writeB
 00BA                   .dbline 111
 00BA           ; */
 00BA 41E0              ldi R20,1
 00BC 06C0              xjmp L32
 00BE           L29:
 00BE                   .dbline 112
 00BE                   .dbline 115
 00BE FB01              movw R30,R22
 00C0 0081              ldd R16,z+0
 00C2 C9DF              xcall _TWI_writeB
 00C4                   .dbline 116
 00C4 6F5F              subi R22,255  ; offset = 1
 00C6 7F4F              sbci R23,255
 00C8                   .dbline 117
 00C8           L30:
 00C8                   .dbline 111
 00C8 4395              inc R20
 00CA           L32:
 00CA                   .dbline 111
 00CA A416              cp R10,R20
 00CC C0F7              brsh L29
 00CE                   .dbline 118
 00CE           ; void Test_Download()
 00CE           ; {
 00CE           ;       uchar x;
 00CE           ;       uchar dp;
 00CE           ;       uchar f;
 00CE           ;       uchar dat;
 00CE           ; //点亮所有数码管
 00CE BFDF              xcall _TWI_stop
 00D0                   .dbline 119
 00D0           ;       dp = 1;
 00D0 00E5              ldi R16,80
 00D2 10E0              ldi R17,0
 00D4 95DF              xcall _delay
 00D6                   .dbline -2
 00D6                   .dbline 120
 00D6           ;       f= 0;
 00D6           L28:
 00D6 0E940000          xcall pop_gset4
 00DA                   .dbline 0 ; func end
 00DA 0895              ret
 00DC                   .dbsym r i 20 c
 00DC                   .dbsym r arr 22 pc
 00DC                   .dbsym r n 10 c
 00DC                   .dbsym r addr 20 c
 00DC                   .dbsym r devadd 12 c
 00DC                   .dbend
 00DC                   .dbfunc e TWI_write _TWI_write fc
 00DC           ;          n_tmp -> R14
 00DC           ;            arr -> R20,R21
 00DC           ;              n -> R22
 00DC           ;           addr -> R10
 00DC           ;         devadd -> R12
                        .even
 00DC           _TWI_write::
 00DC 0E940000          xcall push_gset5
 00E0 A22E              mov R10,R18
 00E2 C02E              mov R12,R16
 00E4 2497              sbiw R28,4
 00E6 6E85              ldd R22,y+14
 00E8 4889              ldd R20,y+16
 00EA 5989              ldd R21,y+17
 00EC                   .dbline -1
 00EC                   .dbline 138
 00EC           ;       dat = 8;
 00EC           ;       for ( x=0; x<8; x++ )
 00EC           ;       {
 00EC           ;               ZLG7290_Download(x,dp,f,dat);
 00EC           ;       }
 00EC           ;       delay1(100);
 00EC           ; //依次显示所有字型
 00EC           ;       dp = 0;
 00EC           ;       f = 0;
 00EC           ;       for ( dat=0; dat<32; dat++ )
 00EC           ;       {
 00EC           ;               for ( x=0; x<8; x++ )
 00EC           ;               {
 00EC           ;                       ZLG7290_Download(x,dp,f,dat);
 00EC           ;               }
 00EC           ;               delay1(50);
 00EC           ;       }
 00EC           ; }
 00EC                   .dbline 140
 00EC           ; 
 00EC           ; /*
 00EC 8A2D              mov R24,R10
 00EE 9927              clr R25
 00F0 8770              andi R24,7
 00F2 9070              andi R25,0
 00F4 98E0              ldi R25,8
 00F6 E92E              mov R14,R25
 00F8 E81A              sub R14,R24
 00FA                   .dbline 141
 00FA           ; 函数:Test_ScanNum()
 00FA E616              cp R14,R22
 00FC E0F4              brsh L37
 00FE EE20              tst R14
 0100 D1F0              breq L37
 0102                   .dbline 142
 0102           ; 功能:测试不同扫描位数
 0102                   .dbline 143
 0102           ; 说明:扫描位数越少,数码管就越亮
 0102 4A83              std y+2,R20
 0104 5B83              std y+3,R21
 0106 E882              std y+0,R14
 0108 2A2D              mov R18,R10
 010A 0C2D              mov R16,R12
 010C CADF              xcall _TWI_page_write
 010E                   .dbline 144
 010E           ; */
 010E AE0C              add R10,R14
 0110                   .dbline 145
 0110           ; void Test_ScanNum()
 0110 6E19              sub R22,R14
 0112                   .dbline 146
 0112           ; {
 0112 2E2C              mov R2,R14
 0114 3324              clr R3
 0116 420D              add R20,R2
 0118 531D              adc R21,R3
 011A                   .dbline 147
 011A           ;       uchar x;
 011A 0DC0              xjmp L37
 011C           L36:
 011C                   .dbline 149
 011C                   .dbline 150
 011C 4A83              std y+2,R20
 011E 5B83              std y+3,R21
 0120 88E0              ldi R24,8
 0122 8883              std y+0,R24
 0124 2A2D              mov R18,R10
 0126 0C2D              mov R16,R12
 0128 BCDF              xcall _TWI_page_write
 012A                   .dbline 151
 012A 8A2D              mov R24,R10
 012C 885F              subi R24,248    ; addi 8
 012E A82E              mov R10,R24
 0130                   .dbline 152
 0130 6850              subi R22,8
 0132                   .dbline 153
 0132 485F              subi R20,248  ; offset = 8
 0134 5F4F              sbci R21,255
 0136                   .dbline 154
 0136           L37:
 0136                   .dbline 148
 0136 6830              cpi R22,8
 0138 88F7              brsh L36
 013A                   .dbline 155
 013A 6623              tst R22
 013C 31F0              breq L39
 013E                   .dbline 156
 013E 4A83              std y+2,R20
 0140 5B83              std y+3,R21
 0142 6883              std y+0,R22
 0144 2A2D              mov R18,R10
 0146 0C2D              mov R16,R12
 0148 ACDF              xcall _TWI_page_write
 014A           L39:
 014A                   .dbline -2
 014A                   .dbline 157
 014A           ;       for ( x=0; x<8; x++ )
 014A           ;       {
 014A           ;               ZLG7290_Download(x,1,0,8);
 014A           ;       }
 014A           ;       delay1(100);
 014A           ;       for ( x=0; x<8; x++ )
 014A           ;       {
 014A           ;               ZLG7290_WriteReg(ZLG7290_ScanNum,x);
 014A           ;               delay(100);
 014A           ;       }
 014A           L33:
 014A 2496              adiw R28,4
 014C 0E940000          xcall pop_gset5
 0150                   .dbline 0 ; func end
 0150 0895              ret
 0152                   .dbsym r n_tmp 14 c
 0152                   .dbsym r arr 20 pc
 0152                   .dbsym r n 22 c
 0152                   .dbsym r addr 10 c
 0152                   .dbsym r devadd 12 c
 0152                   .dbend
 0152                   .dbfunc e TWI_read _TWI_read fc
 0152           ;              i -> R20
 0152           ;            arr -> R22,R23
 0152           ;              n -> R10
 0152           ;           addr -> R12
 0152           ;         devadd -> R20
                        .even
 0152           _TWI_read::
 0152 0E940000          xcall push_gset4
 0156 C22E              mov R12,R18
 0158 402F              mov R20,R16
 015A A884              ldd R10,y+8
 015C 6A85              ldd R22,y+10
 015E 7B85              ldd R23,y+11
 0160                   .dbline -1
 0160                   .dbline 175
 0160           ; }
 0160           ; 
 0160           ; /*
 0160           ; 函数:Test_Flash()
 0160           ; 功能:测试闪烁功能
 0160           ; */
 0160           ; void Test_Flash()
 0160           ; {
 0160           ;       uchar dat = 0x01;
 0160           ;       uchar x;
 0160           ; //显示01234567
 0160           ;       for ( x=0; x<8; x++ )
 0160           ;       {
 0160           ;               ZLG7290_Download(x,0,0,x);
 0160           ;       }
 0160           ; //设置闪烁控制寄存器
 0160           ;       ZLG7290_WriteReg(ZLG7290_FlashOnOff,0x11);      
 0160           ; //闪烁演示
 0160                   .dbline 177
 0160           ;       for ( x=0; x<8; x++ )
 0160           ;       {
 0160 6DDF              xcall _TWI_start
 0162                   .dbline 178
 0162           ;               ZLG7290_Flash(dat);
 0162 042F              mov R16,R20
 0164 78DF              xcall _TWI_writeB
 0166                   .dbline 179
 0166           ;               dat <<= 1;
 0166 0C2D              mov R16,R12
 0168 76DF              xcall _TWI_writeB
 016A                   .dbline 180
 016A           ;               delay1(300);
 016A 68DF              xcall _TWI_start
 016C                   .dbline 181
 016C           ;       }
 016C 042F              mov R16,R20
 016E 0160              ori R16,1
 0170 72DF              xcall _TWI_writeB
 0172                   .dbline 182
 0172           ; //数码管的8个位一起闪烁
 0172 41E0              ldi R20,1
 0174 07C0              xjmp L45
 0176           L42:
 0176                   .dbline 183
 0176                   .dbline 184
 0176 01E0              ldi R16,1
 0178 84DF              xcall _TWI_readB
 017A FB01              movw R30,R22
 017C 0083              std z+0,R16
 017E                   .dbline 185
 017E 6F5F              subi R22,255  ; offset = 1
 0180 7F4F              sbci R23,255
 0182                   .dbline 186
 0182           L43:
 0182                   .dbline 182
 0182 4395              inc R20
 0184           L45:
 0184                   .dbline 182
 0184 8A2D              mov R24,R10
 0186 8150              subi R24,1
 0188 8417              cp R24,R20
 018A A8F7              brsh L42
 018C                   .dbline 187
 018C           ;       ZLG7290_Flash(0xFF);
 018C           ;       delay1(350);
 018C           ; //停止闪烁
 018C           ;       ZLG7290_Flash(0x00);
 018C           ;       delay1(50);
 018C 0027              clr R16
 018E 79DF              xcall _TWI_readB
 0190 FB01              movw R30,R22
 0192 0083              std z+0,R16
 0194                   .dbline 188
 0194           ; }
 0194 5CDF              xcall _TWI_stop
 0196                   .dbline -2
 0196                   .dbline 189
 0196           ; 
 0196           L41:
 0196 0E940000          xcall pop_gset4
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbsym r i 20 c
 019C                   .dbsym r arr 22 pc
 019C                   .dbsym r n 10 c
 019C                   .dbsym r addr 12 c
 019C                   .dbsym r devadd 20 c
 019C                   .dbend
 019C                   .dbfile E:\PQ-1A\我的AVR\zlg7290/zlg7290.c
 019C                   .dbfunc e ZLG7290_WriteReg _ZLG7290_WriteReg fV
 019C           ;            dat -> y+6
 019C           ;        RegAddr -> R20
                        .even
 019C           _ZLG7290_WriteReg::
 019C 3A93              st -y,r19
 019E 2A93              st -y,r18
 01A0 0E940000          xcall push_gset1
 01A4 402F              mov R20,R16
 01A6 2497              sbiw R28,4
 01A8                   .dbline -1
 01A8                   .dbline 23
 01A8                   .dbline 24
 01A8 CE01              movw R24,R28
 01AA 0696              adiw R24,6
 01AC 8A83              std y+2,R24
 01AE 9B83              std y+3,R25
 01B0 81E0              ldi R24,1
 01B2 8883              std y+0,R24
 01B4 242F              mov R18,R20
 01B6 00E7              ldi R16,112
 01B8 91DF              xcall _TWI_write
 01BA                   .dbline -2
 01BA                   .dbline 25
 01BA           L46:
 01BA 2496              adiw R28,4
 01BC 0E940000          xcall pop_gset1
 01C0 2296              adiw R28,2
 01C2                   .dbline 0 ; func end
 01C2 0895              ret
 01C4                   .dbsym l dat 6 I
 01C4                   .dbsym l dat 6 c
 01C4                   .dbsym r RegAddr 20 c
 01C4                   .dbend
 01C4                   .dbfunc e ZLG7290_ReadReg _ZLG7290_ReadReg fV
 01C4           ;            dat -> R22,R23
 01C4           ;        RegAddr -> R20
                        .even
 01C4           _ZLG7290_ReadReg::
 01C4 0E940000          xcall push_gset2
 01C8 B901              movw R22,R18
 01CA 402F              mov R20,R16
 01CC 2497              sbiw R28,4
 01CE                   .dbline -1
 01CE                   .dbline 38
 01CE                   .dbline 39
 01CE 6A83              std y+2,R22
 01D0 7B83              std y+3,R23
 01D2 81E0              ldi R24,1
 01D4 8883              std y+0,R24
 01D6 242F              mov R18,R20
 01D8 00E7              ldi R16,112
 01DA BBDF              xcall _TWI_read
 01DC                   .dbline -2
 01DC                   .dbline 40
 01DC           L47:
 01DC 2496              adiw R28,4

⌨️ 快捷键说明

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