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

📄 ac12-2.lis

📁 AVR学习资料
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module ac12-2.c
                        .area lit(rom, con, rel)
 0000           _SEG7::
 0000 3F06              .byte 63,6
 0002 5B4F              .byte 91,'O
 0004 666D              .byte 'f,'m
 0006 7D07              .byte 125,7
 0008 7F6F              .byte 127,'o
 000A                   .dbfile d:\MYDOCU~1\ac12-2\ac12-2.c
 000A                   .dbsym e SEG7 _SEG7 A[10:10]kc
 000A           _ACT::
 000A FEFD              .byte 254,253
 000C FBF7              .byte 251,247
 000E                   .dbsym e ACT _ACT A[4:4]kc
                        .area text(rom, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac12-2\ac12-2.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 14
 0000           ; #include <iom16v.h>           
 0000           ; #include<eeprom.h>
 0000           ; #define uchar unsigned char   
 0000           ; #define uint  unsigned int    
 0000           ; uchar const SEG7[10]={0x3f,0x06,0x5b, 
 0000           ; 0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
 0000           ; uchar const ACT[4]={0xfe,0xfd,0xfb,0xf7};
 0000           ; uint key_cnt,cnt;
 0000           ; uint Wide,Disval;
 0000           ; #define SINT0 (PIND&0x04)
 0000           ; #define SINT1 (PIND&0x08)
 0000           ; 
 0000           ; void port_init(void)          
 0000           ; {                                                     
 0000                   .dbline 15
 0000           ;  PORTA = 0xFF;                        
 0000 8FEF              ldi R24,255
 0002 8BBB              out 0x1b,R24
 0004                   .dbline 16
 0004           ;  DDRA  = 0xFF;                        
 0004 8ABB              out 0x1a,R24
 0006                   .dbline 17
 0006           ;  PORTB = 0xFF;                        
 0006 88BB              out 0x18,R24
 0008                   .dbline 18
 0008           ;  DDRB  = 0xFF;                        
 0008 87BB              out 0x17,R24
 000A                   .dbline 19
 000A           ;  PORTC = 0xFF;                        
 000A 85BB              out 0x15,R24
 000C                   .dbline 20
 000C           ;  DDRC  = 0xFF;                        
 000C 84BB              out 0x14,R24
 000E                   .dbline 21
 000E           ;  PORTD = 0xFF;                
 000E 82BB              out 0x12,R24
 0010                   .dbline 22
 0010           ;  DDRD  = 0x20;                        
 0010 80E2              ldi R24,32
 0012 81BB              out 0x11,R24
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbend
 0016                   .dbfunc e timer0_init _timer0_init fV
                        .even
 0016           _timer0_init::
 0016                   .dbline -1
 0016                   .dbline 26
 0016           ; }                             
 0016           ; //***************************
 0016           ; void timer0_init(void)
 0016           ; {                                                     
 0016                   .dbline 27
 0016           ; TCNT0 = 0x83;                 
 0016 83E8              ldi R24,131
 0018 82BF              out 0x32,R24
 001A                   .dbline 28
 001A           ; TCCR0 = 0x03;                         
 001A 83E0              ldi R24,3
 001C 83BF              out 0x33,R24
 001E                   .dbline 29
 001E           ; TIMSK = 0x01;                 
 001E 81E0              ldi R24,1
 0020 89BF              out 0x39,R24
 0022                   .dbline -2
 0022           L2:
 0022                   .dbline 0 ; func end
 0022 0895              ret
 0024                   .dbend
 0024                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0024           _timer1_init::
 0024                   .dbline -1
 0024                   .dbline 36
 0024           ; }                             
 0024           ; //TIMER1 initialize - prescale:8
 0024           ; // WGM: 0) Normal, TOP=0xFFFF
 0024           ; // desired value: 1000Hz
 0024           ; // actual value: 1000.000Hz (0.0%)
 0024           ; void timer1_init(void)                
 0024           ; {
 0024                   .dbline 37
 0024           ;  TCCR1A = 0x83;                       
 0024 83E8              ldi R24,131
 0026 8FBD              out 0x2f,R24
 0028                   .dbline 38
 0028           ;  TCCR1B = 0x02;               
 0028 82E0              ldi R24,2
 002A 8EBD              out 0x2e,R24
 002C                   .dbline -2
 002C           L3:
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbend
 002E                   .dbfunc e init_devices _init_devices fV
                        .even
 002E           _init_devices::
 002E                   .dbline -1
 002E                   .dbline 42
 002E           ; }                     
 002E           ; /*********************************************/
 002E           ; void init_devices(void)       
 002E           ; {                                                     
 002E                   .dbline 43
 002E           ;  port_init();         
 002E E8DF              xcall _port_init
 0030                   .dbline 44
 0030           ;  timer0_init();                       
 0030 F2DF              xcall _timer0_init
 0032                   .dbline 45
 0032           ;  timer1_init();                       
 0032 F8DF              xcall _timer1_init
 0034                   .dbline 46
 0034           ;  SREG=0x80;                   
 0034 80E8              ldi R24,128
 0036 8FBF              out 0x3f,R24
 0038                   .dbline -2
 0038           L4:
 0038                   .dbline 0 ; func end
 0038 0895              ret
 003A                   .dbend
 003A                   .dbfunc e main _main fV
 003A           ;              x -> y+0
                        .even
 003A           _main::
 003A 2497              sbiw R28,4
 003C                   .dbline -1
 003C                   .dbline 51
 003C           ; }                                                     
 003C           ; 
 003C           ; /******************主函数******************/
 003C           ; void main(void)
 003C           ; {     long x;                                 
 003C                   .dbline 52
 003C           ; init_devices();                       
 003C F8DF              xcall _init_devices
 003E 3FC0              xjmp L7
 0040           L6:
 0040                   .dbline 54
 0040                   .dbline 55
 0040 20900200          lds R2,_Wide
 0044 30900300          lds R3,_Wide+1
 0048 4424              clr R4
 004A 5524              clr R5
 004C FE01              movw R30,R28
 004E 2082              std z+0,R2
 0050 3182              std z+1,R3
 0052 4282              std z+2,R4
 0054 5382              std z+3,R5
 0056                   .dbline 56
 0056 FE01              movw R30,R28
 0058 2080              ldd R2,z+0
 005A 3180              ldd R3,z+1
 005C 4280              ldd R4,z+2
 005E 5380              ldd R5,z+3
 0060 48E8              ldi R20,136
 0062 53E1              ldi R21,19
 0064 60E0              ldi R22,0
 0066 70E0              ldi R23,0
 0068 5A92              st -y,R5
 006A 4A92              st -y,R4
 006C 3A92              st -y,R3
 006E 2A92              st -y,R2
 0070 8A01              movw R16,R20
 0072 9B01              movw R18,R22
 0074 0E940000          xcall empy32s
 0078 4FEF              ldi R20,255
 007A 53E0              ldi R21,3
 007C 60E0              ldi R22,0
 007E 70E0              ldi R23,0
 0080 7A93              st -y,R23
 0082 6A93              st -y,R22
 0084 5A93              st -y,R21
 0086 4A93              st -y,R20
 0088 0E940000          xcall div32s
 008C FE01              movw R30,R28
 008E 0083              std z+0,R16
 0090 1183              std z+1,R17
 0092 2283              std z+2,R18
 0094 3383              std z+3,R19
 0096                   .dbline 57
 0096 FE01              movw R30,R28
 0098 2080              ldd R2,z+0
 009A 3180              ldd R3,z+1
 009C 30920100          sts _Disval+1,R3
 00A0 20920000          sts _Disval,R2
 00A4                   .dbline 58
 00A4 20900200          lds R2,_Wide
 00A8 30900300          lds R3,_Wide+1
 00AC 232C              mov R2,R3
 00AE 3324              clr R3
 00B0 2BBC              out 0x2b,R2
 00B2                   .dbline 59
 00B2 80910200          lds R24,_Wide
 00B6 90910300          lds R25,_Wide+1
 00BA 9070              andi R25,0
 00BC 8ABD              out 0x2a,R24
 00BE                   .dbline 60
 00BE           L7:
 00BE                   .dbline 53
 00BE C0CF              xjmp L6
 00C0           X0:
 00C0                   .dbline -2
 00C0           L5:
 00C0 2496              adiw R28,4
 00C2                   .dbline 0 ; func end
 00C2 0895              ret
 00C4                   .dbsym l x 0 L
 00C4                   .dbend
                        .area vector(rom, abs)
                        .org 36
 0024 0C946200          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 00C4                   .dbfile d:\MYDOCU~1\ac12-2\ac12-2.c
 00C4                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 00C4           _timer0_ovf_isr::
 00C4 2A92              st -y,R2
 00C6 3A92              st -y,R3
 00C8 0A93              st -y,R16
 00CA 1A93              st -y,R17
 00CC 2A93              st -y,R18
 00CE 3A93              st -y,R19
 00D0 8A93              st -y,R24
 00D2 9A93              st -y,R25
 00D4 EA93              st -y,R30
 00D6 FA93              st -y,R31
 00D8 2FB6              in R2,0x3f
 00DA 2A92              st -y,R2
 00DC                   .dbline -1
 00DC                   .dbline 65
 00DC           ;       while(1)                        
 00DC           ;     { 
 00DC           ;       x=(long)Wide;           
 00DC           ;       x=x*5000/1023;
 00DC           ;       Disval=(uint)x;
 00DC           ;       OCR1AH=(uchar)(Wide>>8);
 00DC           ;       OCR1AL=(uchar)(Wide&0x00ff); 
 00DC           ;       }
 00DC           ; }

⌨️ 快捷键说明

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