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

📄 mian1.lis

📁 手操器
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module mian1.c
                        .area text(rom, con, rel)
 0000                   .dbfile mian1.c
                        .area data(ram, con, rel)
 0000                   .dbfile mian1.c
 0000           _Table::
 0000                   .blkb 2
                        .area idata
 0000 C0F9              .byte 192,249
                        .area data(ram, con, rel)
 0002                   .dbfile mian1.c
 0002                   .blkb 2
                        .area idata
 0002 A4B0              .byte 164,176
                        .area data(ram, con, rel)
 0004                   .dbfile mian1.c
 0004                   .blkb 2
                        .area idata
 0004 9992              .byte 153,146
                        .area data(ram, con, rel)
 0006                   .dbfile mian1.c
 0006                   .blkb 2
                        .area idata
 0006 82F8              .byte 130,248
                        .area data(ram, con, rel)
 0008                   .dbfile mian1.c
 0008                   .blkb 2
                        .area idata
 0008 8090              .byte 128,144
                        .area data(ram, con, rel)
 000A                   .dbfile mian1.c
 000A                   .blkb 2
                        .area idata
 000A 8883              .byte 136,131
                        .area data(ram, con, rel)
 000C                   .dbfile mian1.c
 000C                   .blkb 2
                        .area idata
 000C C6A1              .byte 198,161
                        .area data(ram, con, rel)
 000E                   .dbfile mian1.c
 000E                   .blkb 2
                        .area idata
 000E 868E              .byte 134,142
                        .area data(ram, con, rel)
 0010                   .dbfile mian1.c
 0010                   .blkb 2
                        .area idata
 0010 CFBF              .byte 207,191
                        .area data(ram, con, rel)
 0012                   .dbfile mian1.c
 0012                   .blkb 2
                        .area idata
 0012 E387              .byte 227,135
                        .area data(ram, con, rel)
 0014                   .dbfile mian1.c
 0014                   .blkb 2
                        .area idata
 0014 A3AB              .byte 163,171
                        .area data(ram, con, rel)
 0016                   .dbfile mian1.c
 0016                   .blkb 2
                        .area idata
 0016 89C7              .byte 137,199
                        .area data(ram, con, rel)
 0018                   .dbfile mian1.c
 0018                   .dbfile E:\工作项目\手操器\mian.h
 0018                   .dbsym e Table _Table A[24:24]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\工作项目\手操器\mian.h
 0000                   .dbfile E:\工作项目\手操器\mian1.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 13
 0000           ; //ICC-AVR application builder : 2011-12-16 21:55:54
 0000           ; // Target : M8
 0000           ; // Crystal: 1.0000Mhz
 0000           ; //ICC-AVR application builder : 2011-12-18 18:42:31
 0000           ; // Target : M8
 0000           ; // Crystal: 4.0000Mhz
 0000           ; 
 0000           ; #include <iom8v.h>
 0000           ; #include <macros.h>
 0000           ; #include "mian.h"
 0000           ; u8 command;
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 14
 0000           ;  PORTB = 0x3F;
 0000 8FE3              ldi R24,63
 0002 88BB              out 0x18,R24
 0004                   .dbline 15
 0004           ;  DDRB  = 0x2E;
 0004 8EE2              ldi R24,46
 0006 87BB              out 0x17,R24
 0008                   .dbline 16
 0008           ;  PORTC = 0x3F; //m103 output only
 0008 8FE3              ldi R24,63
 000A 85BB              out 0x15,R24
 000C                   .dbline 17
 000C           ;  DDRC  = 0x3C;
 000C 8CE3              ldi R24,60
 000E 84BB              out 0x14,R24
 0010                   .dbline 18
 0010           ;  PORTD = 0xFF;
 0010 8FEF              ldi R24,255
 0012 82BB              out 0x12,R24
 0014                   .dbline 19
 0014           ;  DDRD  = 0xFF;
 0014 81BB              out 0x11,R24
 0016                   .dbline -2
 0016           L3:
 0016                   .dbline 0 ; func end
 0016 0895              ret
 0018                   .dbend
 0018                   .dbfunc e timer0_init _timer0_init fV
                        .even
 0018           _timer0_init::
 0018                   .dbline -1
 0018                   .dbline 28
 0018           ; }
 0018           ; 
 0018           ; //-------------------------------------------------------------
 0018           ; 
 0018           ; //TIMER0 initialize - prescale:256
 0018           ; // desired value: 2mSec
 0018           ; // actual value:  1.984mSec (0.8%)
 0018           ; void timer0_init(void)
 0018           ; {
 0018                   .dbline 29
 0018           ;  TCCR0 = 0x00; //stop
 0018 2224              clr R2
 001A 23BE              out 0x33,R2
 001C                   .dbline 30
 001C           ;  TCNT0 = 0xE1; //set count
 001C 81EE              ldi R24,225
 001E 82BF              out 0x32,R24
 0020                   .dbline 31
 0020           ;  TCCR0 = 0x04; //start timer
 0020 84E0              ldi R24,4
 0022 83BF              out 0x33,R24
 0024                   .dbline -2
 0024           L4:
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbend
                        .area vector(rom, abs)
                        .org 18
 0012 13C0              rjmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 0026                   .dbfile E:\工作项目\手操器\mian1.c
 0026                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
 0026           ;              i -> R16
                        .even
 0026           _timer0_ovf_isr::
 0026 2A92              st -y,R2
 0028 0A93              st -y,R16
 002A 8A93              st -y,R24
 002C 9A93              st -y,R25
 002E EA93              st -y,R30
 0030 FA93              st -y,R31
 0032 2FB6              IN R2,63
 0034 2A92              st -y,R2
 0036                   .dbline -1
 0036                   .dbline 37
 0036           ; }
 0036           ; //-------------------------------------------------------------
 0036           ; 
 0036           ; #pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
 0036           ; void timer0_ovf_isr(void)
 0036           ; {
 0036                   .dbline 38
 0036           ;  u8 i=0;
 0036 0027              clr R16
 0038                   .dbline 40
 0038           ; 
 0038           ;  TCNT0 = 0xE1; //reload counter value
 0038 81EE              ldi R24,225
 003A 82BF              out 0x32,R24
 003C                   .dbline 41
 003C           ;  discount++;
 003C 80910B00          lds R24,_discount
 0040 8F5F              subi R24,255    ; addi 1
 0042 80930B00          sts _discount,R24
 0046                   .dbline 42
 0046           ;  if(discount>=8)
 0046 8830              cpi R24,8
 0048 18F0              brlo L6
 004A           X0:
 004A                   .dbline 43
 004A           ;       discount=0;  
 004A 2224              clr R2
 004C 20920B00          sts _discount,R2
 0050           L6:
 0050                   .dbline 44
 0050           ;     PORTD  =0xFF;   
 0050 8FEF              ldi R24,255
 0052 82BB              out 0x12,R24
 0054                   .dbline 45
 0054           ;  for(i=0;i<8;i++)
 0054 0027              clr R16
 0056 0EC0              rjmp L11
 0058           L8:
 0058                   .dbline 46
 0058           ;  {
 0058                   .dbline 47
 0058           ;       if(i==discount) 
 0058 20900B00          lds R2,_discount
 005C 0215              cp R16,R2
 005E 11F4              brne L12
 0060           X1:
 0060                   .dbline 48
 0060           ;               set_IO();
 0060 AD9A              sbi 0x15,5
 0062 03C0              rjmp L13
 0064           L12:
 0064                   .dbline 50
 0064           ;       else
 0064           ;               clr_IO();
 0064 85B3              in R24,0x15
 0066 8F7D              andi R24,223
 0068 85BB              out 0x15,R24
 006A           L13:
 006A                   .dbline 51
 006A           ;       clr_sck();
 006A 85B3              in R24,0x15
 006C 8F7E              andi R24,239
 006E 85BB              out 0x15,R24
 0070                   .dbline 52
 0070           ;       set_sck();
 0070 AC9A              sbi 0x15,4
 0072                   .dbline 53
 0072           ;  }
 0072           L9:
 0072                   .dbline 45
 0072 0395              inc R16
 0074           L11:
 0074                   .dbline 45
 0074 0830              cpi R16,8
 0076 80F3              brlo L8
 0078           X2:
 0078                   .dbline 55
 0078           ;  
 0078           ;   PORTD  = disbuff[discount]  ;  
 0078 80E0              ldi R24,<_disbuff
 007A 90E0              ldi R25,>_disbuff
 007C E0910B00          lds R30,_discount
 0080 FF27              clr R31
 0082 E80F              add R30,R24
 0084 F91F              adc R31,R25
 0086 2080              ldd R2,z+0
 0088 22BA              out 0x12,R2
 008A                   .dbline -2
 008A           L5:
 008A                   .dbline 0 ; func end
 008A 2990              ld R2,y+
 008C 2FBE              OUT 63,R2
 008E F991              ld R31,y+
 0090 E991              ld R30,y+
 0092 9991              ld R25,y+
 0094 8991              ld R24,y+
 0096 0991              ld R16,y+
 0098 2990              ld R2,y+
 009A 1895              reti
 009C                   .dbsym r i 16 c
 009C                   .dbend
 009C                   .dbfunc e timer1_init _timer1_init fV
                        .even
 009C           _timer1_init::
 009C                   .dbline -1
 009C                   .dbline 66
 009C           ;    
 009C           ; 
 009C           ; }
 009C           ; //-------------------------------------------------------------
 009C           ; 
 009C           ; //TIMER1 initialize - prescale:1
 009C           ; // WGM: 14) PWM fast, TOP=ICRn
 009C           ; // desired value: 1mSec
 009C           ; // actual value:  1.000mSec (0.0%)
 009C           ; void timer1_init(void)
 009C           ; {
 009C                   .dbline 67
 009C           ;  TCCR1B = 0x00; //stop
 009C 2224              clr R2
 009E 2EBC              out 0x2e,R2
 00A0                   .dbline 68
 00A0           ;  TCNT1 = 0xE0C1; //setup
 00A0 81EC              ldi R24,57537
 00A2 90EE              ldi R25,224
 00A4 9DBD              out 0x2d,R25
 00A6 8CBD              out 0x2c,R24
 00A8                   .dbline 69
 00A8           ;  OCR1A = 0x3E7F;
 00A8 8FE7              ldi R24,15999
 00AA 9EE3              ldi R25,62
 00AC 9BBD              out 0x2b,R25
 00AE 8ABD              out 0x2a,R24
 00B0                   .dbline 70
 00B0           ;  OCR1B = 0x1F3F;
 00B0 8FE3              ldi R24,7999
 00B2 9FE1              ldi R25,31
 00B4 99BD              out 0x29,R25
 00B6 88BD              out 0x28,R24
 00B8                   .dbline 71
 00B8           ;  ICR1  = 0x3E7F;
 00B8 8FE7              ldi R24,15999
 00BA 9EE3              ldi R25,62
 00BC 97BD              out 0x27,R25
 00BE 86BD              out 0x26,R24
 00C0                   .dbline 72
 00C0           ;  TCCR1A = 0x22;
 00C0 82E2              ldi R24,34
 00C2 8FBD              out 0x2f,R24
 00C4                   .dbline 73
 00C4           ;  TCCR1B = 0x19; //start Timer
 00C4 89E1              ldi R24,25
 00C6 8EBD              out 0x2e,R24
 00C8                   .dbline -2
 00C8           L14:
 00C8                   .dbline 0 ; func end
 00C8 0895              ret
 00CA                   .dbend
 00CA                   .dbfunc e uart0_init _uart0_init fV
                        .even
 00CA           _uart0_init::
 00CA                   .dbline -1
 00CA                   .dbline 81
 00CA           ; }
 00CA           ; //-------------------------------------------------------------
 00CA           ;  
 00CA           ; //UART0 initialize
 00CA           ; // desired baud rate: 9600
 00CA           ; // actual: baud rate:9615 (0.2%)
 00CA           ; void uart0_init(void)
 00CA           ; {
 00CA                   .dbline 82
 00CA           ;  UCSRB = 0x00; //disable while setting baud rate
 00CA 2224              clr R2
 00CC 2AB8              out 0xa,R2
 00CE                   .dbline 83

⌨️ 快捷键说明

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