📄 app.lis
字号:
.module app.c
.area text(rom, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\app.c
0000 .dbfunc e Hardware_Init _Hardware_Init fV
.even
0000 _Hardware_Init::
0000 .dbline -1
0000 .dbline 23
0000 ; //********************************************************************
0000 ; // File Name : Gpio.c
0000 ; // Author : Steaven
0000 ; // Created : 2008-06-09
0000 ; // Modified :
0000 ; // Revision : V0.0
0000 ; //********************************************************************
0000 ;
0000 ; #include "includes.h"
0000 ;
0000 ; //local function declaration
0000 ; void Gpio_Init(void);
0000 ; void Timer0_Init(void);
0000 ; void Interrupt_Init(void);
0000 ;
0000 ; //********************************************************************
0000 ; // Function : Hardware_Init
0000 ; // Input : none
0000 ; // Output : none
0000 ; // Description : ATmega16 Hardware Initialization
0000 ; //********************************************************************
0000 ; void Hardware_Init(void)
0000 ; {
0000 .dbline 24
0000 ; Gpio_Init();
0000 02D0 xcall _Gpio_Init
0002 .dbline 25
0002 ; Timer0_Init();
0002 0BD0 xcall _Timer0_Init
0004 .dbline 26
0004 ; Interrupt_Init();
0004 .dbline -2
0004 .dbline 27
0004 ; }
0004 L1:
0004 .dbline 0 ; func end
0004 17C0 xjmp _Interrupt_Init
0006 .dbend
0006 .dbfunc e Gpio_Init _Gpio_Init fV
.even
0006 _Gpio_Init::
0006 .dbline -1
0006 .dbline 36
0006 ;
0006 ; //********************************************************************
0006 ; // Function : Gpio_Init
0006 ; // Input : none
0006 ; // Output : none
0006 ; // Description : ATmega16 GPIO Initialization
0006 ; //********************************************************************
0006 ; void Gpio_Init(void)
0006 ; {
0006 .dbline 37
0006 ; DDRA = 0x00; //PortA - Input with Pull-Up
0006 2224 clr R2
0008 2ABA out 0x1a,R2
000A .dbline 38
000A ; PORTA = 0x00;
000A 2BBA out 0x1b,R2
000C .dbline 39
000C ; DDRB = 0x00; //PortB - Input with Pull-Up
000C 27BA out 0x17,R2
000E .dbline 40
000E ; PORTB = 0x00;
000E 28BA out 0x18,R2
0010 .dbline 41
0010 ; DDRC = 0x00; //PortC - Input with Pull-Up
0010 24BA out 0x14,R2
0012 .dbline 42
0012 ; PORTC = 0x00;
0012 25BA out 0x15,R2
0014 .dbline 43
0014 ; DDRD = 0x00; //PortD - Input with Pull-Up
0014 21BA out 0x11,R2
0016 .dbline 44
0016 ; PORTD = 0x00;
0016 22BA out 0x12,R2
0018 .dbline -2
0018 .dbline 45
0018 ; }
0018 L2:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
001A .dbfunc e Timer0_Init _Timer0_Init fV
.even
001A _Timer0_Init::
001A .dbline -1
001A .dbline 54
001A ;
001A ; //********************************************************************
001A ; // Function : Timer0_Init
001A ; // Input : none
001A ; // Output : none
001A ; // Description : ATmega16 Timer0 Initialization,10ms Interval
001A ; //********************************************************************
001A ; void Timer0_Init(void)
001A ; {
001A .dbline 55
001A ; TCCR0 = 0x0D; //1024 division,8M/1024,CTC Mode
001A 8DE0 ldi R24,13
001C 83BF out 0x33,R24
001E .dbline 56
001E ; TCNT0 = 0x00; //Clear Counter
001E 2224 clr R2
0020 22BE out 0x32,R2
0022 .dbline 57
0022 ; OCR0 = 78; //78 * 1024/8M = 10ms
0022 8EE4 ldi R24,78
0024 8CBF out 0x3c,R24
0026 .dbline 58
0026 ; TIMSK |= 0x02; //Enable OCIE0
0026 89B7 in R24,0x39
0028 8260 ori R24,2
002A 89BF out 0x39,R24
002C .dbline 59
002C ; TIFR |= 0x02; //Clear OCIF0
002C 88B7 in R24,0x38
002E 8260 ori R24,2
0030 88BF out 0x38,R24
0032 .dbline -2
0032 .dbline 60
0032 ; }
0032 L3:
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbend
0034 .dbfunc e Interrupt_Init _Interrupt_Init fV
.even
0034 _Interrupt_Init::
0034 .dbline -1
0034 .dbline 69
0034 ;
0034 ; //********************************************************************
0034 ; // Function : Interrupt_Init
0034 ; // Input : none
0034 ; // Output : none
0034 ; // Description : ATmega16 Interrupt Initialization
0034 ; //********************************************************************
0034 ; void Interrupt_Init(void)
0034 ; {
0034 .dbline 70
0034 ; SREG |= 0x80; //Enable Global Interrupt
0034 7894 bset 7
0036 .dbline -2
0036 .dbline 71
0036 ; }
0036 L4:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbend
0038 .dbfunc e Buzzer_ON _Buzzer_ON fV
.even
0038 _Buzzer_ON::
0038 .dbline -1
0038 .dbline 80
0038 ;
0038 ; //********************************************************************
0038 ; // Function : Buzzer_ON/OFF
0038 ; // Input : none
0038 ; // Output : none
0038 ; // Description : Buzzer ON/OFF Control
0038 ; //********************************************************************
0038 ; void Buzzer_ON(void)
0038 ; {
0038 .dbline 81
0038 ; PORTB |= 0x08;
0038 C39A sbi 0x18,3
003A .dbline -2
003A .dbline 82
003A ; }
003A L5:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
003C .dbfunc e Buzzer_OFF _Buzzer_OFF fV
.even
003C _Buzzer_OFF::
003C .dbline -1
003C .dbline 85
003C ;
003C ; void Buzzer_OFF(void)
003C ; {
003C .dbline 86
003C ; PORTB &= ~0x08;
003C C398 cbi 0x18,3
003E .dbline -2
003E .dbline 87
003E ; }
003E L6:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -