📄 main.lis
字号:
.module Main.c
.area text(rom, con, rel)
0000 .dbfile F:\IccAvr_Pro\Main.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 18
0000 ; //ICC-AVR application builder : 2005-3-27 19:38:48
0000 ; // Target : M16
0000 ; // Crystal: 7.3728Mhz
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "Cpld_Read.h"
0000 ; #include "Display.h"
0000 ;
0000 ;
0000 ; //#define DEBUG
0000 ;
0000 ;
0000 ; //Global varible declare
0000 ; //unsigned char TimeFlag=0;
0000 ;
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 19
0000 ; PORTA = 0xFF;
0000 8FEF ldi R24,255
0002 8BBB out 0x1b,R24
0004 .dbline 20
0004 ; DDRA = 0x00;
0004 2224 clr R2
0006 2ABA out 0x1a,R2
0008 .dbline 21
0008 ; PORTB = 0xFF;
0008 88BB out 0x18,R24
000A .dbline 22
000A ; DDRB = 0x0F;
000A 8FE0 ldi R24,15
000C 87BB out 0x17,R24
000E .dbline 23
000E ; PORTC = 0xFF; //m103 output only
000E 8FEF ldi R24,255
0010 85BB out 0x15,R24
0012 .dbline 24
0012 ; DDRC = 0x00;
0012 24BA out 0x14,R2
0014 .dbline 25
0014 ; PORTD = 0xFF;
0014 82BB out 0x12,R24
0016 .dbline 26
0016 ; DDRD = 0x00;
0016 21BA out 0x11,R2
0018 .dbline -2
0018 L1:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
001A .dbfunc e init_devices _init_devices fV
.even
001A _init_devices::
001A .dbline -1
001A .dbline 55
001A ; }
001A ;
001A ; //TIMER0 initialisation - prescale:1
001A ; // WGM: Normal
001A ; // desired value: 200Hz
001A ; // actual value: Out of range
001A ; //void timer0_init(void)
001A ; //{
001A ; //TCCR0 = 0x00; //stop
001A ; //TCNT0 = 0x70 ; //set count
001A ; //OCR0 = 0x00 ; //set compare
001A ; //TCCR0 = 0x01; //start timer
001A ; //}
001A ;
001A ; /*#pragma interrupt_handler timer0_ovf_isr:10
001A ; void timer0_ovf_isr(void)
001A ; {
001A ; TCNT0 = 0x70 ; //reload counter value
001A ; TimeFlag=1;
001A ; }*/
001A ;
001A ; //UART0 initialisation
001A ; // desired baud rate: 115200
001A ; // actual: baud rate:115200 (0.0%)
001A ; // char size: 8 bit
001A ; // parity: Disabled
001A ;
001A ; void init_devices(void)
001A ; {
001A .dbline 57
001A ; //stop errant interrupts until set up
001A ; CLI(); //disable all interrupts
001A F894 cli
001C .dbline 58
001C ; port_init();
001C F1DF xcall _port_init
001E .dbline 61
001E ; //timer0_init();
001E ;
001E ; Cpld_Init();
001E 0E940000 xcall _Cpld_Init
0022 .dbline 62
0022 ; Disp_Init();
0022 0E940000 xcall _Disp_Init
0026 .dbline 63
0026 ; MCUCR = 0x00;
0026 2224 clr R2
0028 25BE out 0x35,R2
002A .dbline 64
002A ; GICR = 0x00;
002A 2BBE out 0x3b,R2
002C .dbline 65
002C ; TIMSK = 0x01; //timer interrupt sources
002C 81E0 ldi R24,1
002E 89BF out 0x39,R24
0030 .dbline 66
0030 ; SEI(); //re-enable interrupts
0030 7894 sei
0032 .dbline -2
0032 L2:
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbend
0034 .dbfunc e main _main fV
0034 ; CpldResult2 -> R20,R21
0034 ; CpldResult1 -> R22,R23
.even
0034 _main::
0034 .dbline -1
0034 .dbline 71
0034 ; //all peripherals are now initialised
0034 ; }
0034 ;
0034 ; void main()
0034 ; {
0034 .dbline 76
0034 ; int CpldResult1;
0034 ; int CpldResult2;
0034 ;
0034 ;
0034 ; init_devices();
0034 F2DF xcall _init_devices
0036 .dbline 77
0036 ; Cpld_Set();
0036 0E940000 xcall _Cpld_Set
003A 12C0 xjmp L5
003C L4:
003C .dbline 80
003C .dbline 82
003C 0027 clr R16
003E 0E940000 xcall _Cpld_Read
0042 B801 movw R22,R16
0044 .dbline 83
0044 01E0 ldi R16,1
0046 0E940000 xcall _Cpld_Read
004A A801 movw R20,R16
004C .dbline 90
004C 2227 clr R18
004E 3327 clr R19
0050 8B01 movw R16,R22
0052 0E940000 xcall _Display
0056 .dbline 91
0056 22E0 ldi R18,2
0058 30E0 ldi R19,0
005A 8A01 movw R16,R20
005C 0E940000 xcall _Display
0060 .dbline 94
0060 L5:
0060 .dbline 79
0060 EDCF xjmp L4
0062 X0:
0062 .dbline -2
0062 L3:
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbsym r CpldResult2 20 I
0064 .dbsym r CpldResult1 22 I
0064 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -