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

📄 test2.lis

📁 Atmega128的proteus仿真例程
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module test2.c
                        .area data(ram, con, rel)
 0000           _LED1::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile D:\MTD\work\iccavr\ucos-M128\test\test2.c
 0001                   .dbsym e LED1 _LED1 c
 0001           _LED2::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile D:\MTD\work\iccavr\ucos-M128\test\test2.c
 0002                   .dbsym e LED2 _LED2 c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\MTD\work\iccavr\ucos-M128\test\test2.c
 0000                   .dbfunc e uart0_init _uart0_init fV
                        .even
 0000           _uart0_init::
 0000                   .dbline -1
 0000                   .dbline 40
 0000           ; 
 0000           ; #define Test1_GLOBALS
 0000           ; #include "includes.h"
 0000           ; 
 0000           ; 
 0000           ; #define BitSet(a,b)     (a |= (1<<b)) 
 0000           ; #define BitClr(a,b)     (a &= ~(1<<b))
 0000           ; #define       BitStatus(a,b)  (a&BIT(b))
 0000           ; #define uchar unsigned char
 0000           ; 
 0000           ; #define LED1_ON   BitClr(PORTB,4)
 0000           ; #define LED1_OFF  BitSet(PORTB,4)
 0000           ; #define LED2_ON   BitClr(PORTB,5)
 0000           ; #define LED2_OFF  BitSet(PORTB,5)
 0000           ; 
 0000           ; //******************************************************************************
 0000           ; // Constants
 0000           ; #define TaskStartPrio 10              // Task-Prioritaeten
 0000           ; //*****************************************************************************
 0000           ; // Variablen
 0000           ; //INT8U    display[5];
 0000           ; char LED1=0,LED2=0;
 0000           ; OS_STK        Task1Stack[OS_TASK_DEF_STK_SIZE];               // startup task stack
 0000           ; OS_STK        Task2Stack[OS_TASK_DEF_STK_SIZE];
 0000           ; //ICC-AVR application builder : 2003-12-28 21:52:56
 0000           ; // Target : M8
 0000           ; // Crystal: 8.0000Mhz
 0000           ; 
 0000           ; #include <iom128v.h>
 0000           ; #include <macros.h>
 0000           ; #include <stdio.h>
 0000           ; 
 0000           ; 
 0000           ; //UART0 initialisation
 0000           ; // desired baud rate: 9600
 0000           ; // actual: baud rate:9615 (0.2%)
 0000           ; // char size: 8 bit
 0000           ; // parity: Disabled
 0000           ; void uart0_init(void)
 0000           ; {
 0000                   .dbline 41
 0000           ;  UCSR0B = 0x00; //disable while setting baud rate
 0000 2224              clr R2
 0002 2AB8              out 0xa,R2
 0004                   .dbline 42
 0004           ;  UCSR0A = 0x00;
 0004 2BB8              out 0xb,R2
 0006                   .dbline 43
 0006           ;  UCSR0C = 0x86;
 0006 86E8              ldi R24,134
 0008 80939500          sts 149,R24
 000C                   .dbline 44
 000C           ;  UBRR0L = 0x33; //set baud rate lo
 000C 83E3              ldi R24,51
 000E 89B9              out 0x9,R24
 0010                   .dbline 45
 0010           ;  UBRR0H = 0x00; //set baud rate hi
 0010 20929000          sts 144,R2
 0014                   .dbline 46
 0014           ;  UCSR0B = 0x08;
 0014 88E0              ldi R24,8
 0016 8AB9              out 0xa,R24
 0018                   .dbline -2
 0018           L2:
 0018                   .dbline 0 ; func end
 0018 0895              ret
 001A                   .dbend
 001A                   .dbfunc e TC2_Init _TC2_Init fV
                        .even
 001A           _TC2_Init::
 001A                   .dbline -1
 001A                   .dbline 64
 001A           ;  
 001A           ;  /*UCSR0B = 0x00; //disable while setting baud rate
 001A           ;  UCSR0A = 0x00;
 001A           ;  UCSR0C = 0x06;
 001A           ;  UBRR0L = 0x33; //set baud rate lo
 001A           ;  UBRR0H = 0x00; //set baud rate hi
 001A           ;  UCSR0B = 0x00;
 001A           ;  */
 001A           ; }
 001A           ; 
 001A           ; //*****************************************************************************
 001A           ; // Prototypes
 001A           ; 
 001A           ; //*****************************************************************************
 001A           ; //                    TickISR
 001A           ; //*****************************************************************************
 001A           ; // Init Timer/Counter2 fuer Takterzeugung
 001A           ; void TC2_Init (void){ 
 001A                   .dbline 68
 001A           ;       /* Only uses TIMER2 overflow for tick interrupt. Timer compare
 001A           ;      * can also be used.
 001A           ;      */
 001A           ;       TIMSK &= ~(BIT(TOIE2)/* | BIT(OCIE2) */);       //disable TC2 interrupts
 001A 87B7              in R24,0x37
 001C 8F7B              andi R24,191
 001E 87BF              out 0x37,R24
 0020                   .dbline 69
 0020           ;       TCCR2 = 0x00; //stop
 0020 2224              clr R2
 0022 25BC              out 0x25,R2
 0024                   .dbline 70
 0024           ;     TCNT2 = 0x06; //setup
 0024 86E0              ldi R24,6
 0026 84BD              out 0x24,R24
 0028                   .dbline 71
 0028           ;     OCR2  = 0xFA;
 0028 8AEF              ldi R24,250
 002A 83BD              out 0x23,R24
 002C                   .dbline 72
 002C           ;     TCCR2 = 0x03; //start
 002C 83E0              ldi R24,3
 002E 85BD              out 0x25,R24
 0030                   .dbline 73
 0030           ;       TIMSK |= BIT(TOIE2);    // enable OVF-interrupt
 0030 87B7              in R24,0x37
 0032 8064              ori R24,64
 0034 87BF              out 0x37,R24
 0036                   .dbline 76
 0036           ;                                                                                                                                       //TIMSK |= OCIE2;               // enable COMP-interrupt
 0036           ;       
 0036           ;     SEI();    // enable global interrupt     
 0036 7894              sei
 0038                   .dbline -2
 0038           L3:
 0038                   .dbline 0 ; func end
 0038 0895              ret
 003A                   .dbend
                        .area vector(rom, abs)
                        .org 40
 0028 0C940000          jmp _OSTickISR
                        .area text(rom, con, rel)
 003A                   .dbfile D:\MTD\work\iccavr\ucos-M128\test\test2.c
 003A                   .dbfunc e main _main fV
                        .even
 003A           _main::
 003A 2397              sbiw R28,3
 003C                   .dbline -1
 003C                   .dbline 89
 003C           ; }
 003C           ; 
 003C           ; //*****************************************************************************
 003C           ; // Interrupt Timer/Counter0 Overflow
 003C           ; // OVF_Takt:  4MHz / 1024 / 39 = 10ms
 003C           ; #pragma interrupt_handler OSTickISR:11
 003C           ; 
 003C           ; void Task1(void *pdata);
 003C           ; void Task2(void *pdata);
 003C           ; 
 003C           ; //*****************************************************************************
 003C           ; // Start
 003C           ; void main(void){      
 003C                   .dbline 90
 003C           ;       OSInit();               // OS init
 003C 0E940000          xcall _OSInit
 0040                   .dbline 91
 0040           ;       uart0_init();
 0040 DFDF              xcall _uart0_init
 0042                   .dbline 92
 0042           ;       puts("ATmega128 uc/os-II Test!");
 0042 00E0              ldi R16,<L5
 0044 10E0              ldi R17,>L5
 0046 0E940000          xcall _puts
 004A                   .dbline 93
 004A           ;       putchar(0x0d);
 004A 0DE0              ldi R16,13
 004C 0E940000          xcall _putchar
 0050                   .dbline 94
 0050           ;       putchar(0x0a);
 0050 0AE0              ldi R16,10
 0052 0E940000          xcall _putchar
 0056                   .dbline 96
 0056           ;       
 0056           ;       OSTaskCreate(Task1,     (void *)0, &Task1Stack[OS_TASK_DEF_STK_SIZE-1], 7);
 0056 87E0              ldi R24,7
 0058 8A83              std y+2,R24
 005A 80E0              ldi R24,<_Task1Stack+99
 005C 90E0              ldi R25,>_Task1Stack+99
 005E 9983              std y+1,R25
 0060 8883              std y+0,R24
 0062 2227              clr R18
 0064 3327              clr R19
 0066 00E0              ldi R16,<PL_Task1
 0068 10E0              ldi R17,>PL_Task1
 006A 0E940000          xcall _OSTaskCreate
 006E                   .dbline 98
 006E           ;       
 006E           ;       OSTaskCreate(Task2,     (void *)0, &Task2Stack[OS_TASK_DEF_STK_SIZE-1], 8); 
 006E 88E0              ldi R24,8
 0070 8A83              std y+2,R24
 0072 80E0              ldi R24,<_Task2Stack+99
 0074 90E0              ldi R25,>_Task2Stack+99
 0076 9983              std y+1,R25
 0078 8883              std y+0,R24
 007A 2227              clr R18
 007C 3327              clr R19

⌨️ 快捷键说明

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