📄 cm320240.lis
字号:
.module cm320240.C
.area text(rom, con, rel)
0000 .dbfile E:\SoftDevelop\C\AVR\CM320240\cm320240.C
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 22
0000 ; //ICC-AVR application builder : 2008-3-11 14:38:57
0000 ; // Target : M128
0000 ; // Crystal: 8.0000Mhz
0000 ; // CM320240-7 EricYY
0000 ;
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; //
0000 ; #define data PORTA
0000 ; #define lcd_busy PORTB0
0000 ; #define lcd_int PORTB1
0000 ; #define lcd_cs1 PORTB2
0000 ; #define lcd_cs2 PORTB3
0000 ; #define lcd_rs PORTB4
0000 ; #define lcd_en PORTB5
0000 ; #define lcd_rst PORTB6
0000 ;
0000 ;
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 23
0000 ; PORTA = 0x00;
0000 2224 clr R2
0002 2BBA out 0x1b,R2
0004 .dbline 24
0004 ; DDRA = 0xFF;
0004 8FEF ldi R24,255
0006 8ABB out 0x1a,R24
0008 .dbline 25
0008 ; PORTB = 0x00;
0008 28BA out 0x18,R2
000A .dbline 26
000A ; DDRB = 0xFF;
000A 87BB out 0x17,R24
000C .dbline 27
000C ; PORTC = 0x00; //m103 output only
000C 25BA out 0x15,R2
000E .dbline 28
000E ; DDRC = 0x00;
000E 24BA out 0x14,R2
0010 .dbline 29
0010 ; PORTD = 0x00;
0010 22BA out 0x12,R2
0012 .dbline 30
0012 ; DDRD = 0x00;
0012 21BA out 0x11,R2
0014 .dbline 31
0014 ; PORTE = 0x00;
0014 23B8 out 0x3,R2
0016 .dbline 32
0016 ; DDRE = 0x00;
0016 22B8 out 0x2,R2
0018 .dbline 33
0018 ; PORTF = 0x00;
0018 20926200 sts 98,R2
001C .dbline 34
001C ; DDRF = 0x00;
001C 20926100 sts 97,R2
0020 .dbline 35
0020 ; PORTG = 0x00;
0020 20926500 sts 101,R2
0024 .dbline 36
0024 ; DDRG = 0x00;
0024 20926400 sts 100,R2
0028 .dbline -2
0028 L1:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
002A .dbfunc e init_devices _init_devices fV
.even
002A _init_devices::
002A .dbline -1
002A .dbline 41
002A ; }
002A ;
002A ; //call this routine to initialize all peripherals
002A ; void init_devices(void)
002A ; {
002A .dbline 43
002A ; //stop errant interrupts until set up
002A ; CLI(); //disable all interrupts
002A F894 cli
002C .dbline 44
002C ; XDIV = 0x00; //xtal divider
002C 2224 clr R2
002E 2CBE out 0x3c,R2
0030 .dbline 45
0030 ; XMCRA = 0x00; //external memory
0030 20926D00 sts 109,R2
0034 .dbline 46
0034 ; port_init();
0034 E5DF xcall _port_init
0036 .dbline 48
0036 ;
0036 ; MCUCR = 0x00;
0036 2224 clr R2
0038 25BE out 0x35,R2
003A .dbline 49
003A ; EICRA = 0x00; //extended ext ints
003A 20926A00 sts 106,R2
003E .dbline 50
003E ; EICRB = 0x00; //extended ext ints
003E 2ABE out 0x3a,R2
0040 .dbline 51
0040 ; EIMSK = 0x00;
0040 29BE out 0x39,R2
0042 .dbline 52
0042 ; TIMSK = 0x00; //time interrupt sources
0042 27BE out 0x37,R2
0044 .dbline 53
0044 ; ETIMSK = 0x00; //extended timer interrupt sources
0044 20927D00 sts 125,R2
0048 .dbline 54
0048 ; SEI(); //re-enable interrupts
0048 7894 sei
004A .dbline -2
004A L2:
004A .dbline 0 ; func end
004A 0895 ret
004C .dbend
004C .dbfunc e delay_1ms _delay_1ms fV
004C ; i -> R16,R17
.even
004C _delay_1ms::
004C .dbline -1
004C .dbline 60
004C ; //all peripherals are now initialized
004C ; }
004C ;
004C ; //delay 1ms
004C ; void delay_1ms(void)
004C ; {
004C .dbline 62
004C ; unsigned int i;
004C ; for(i=1;i<(unsigned int)(8*143-2);i++)
004C 01E0 ldi R16,1
004E 10E0 ldi R17,0
0050 02C0 xjmp L7
0052 L4:
0052 .dbline 63
0052 L5:
0052 .dbline 62
0052 0F5F subi R16,255 ; offset = 1
0054 1F4F sbci R17,255
0056 L7:
0056 .dbline 62
0056 0637 cpi R16,118
0058 E4E0 ldi R30,4
005A 1E07 cpc R17,R30
005C D0F3 brlo L4
005E .dbline -2
005E L3:
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbsym r i 16 i
0060 .dbend
0060 .dbfunc e lcd_regwr _lcd_regwr fV
0060 ; regdata -> R0
.even
0060 _lcd_regwr::
0060 .dbline -1
0060 .dbline 69
0060 ; ;
0060 ; }
0060 ;
0060 ; //communiate with CM320240****************************
0060 ; //write to register
0060 ; void lcd_regwr(unsigned char regdata)
0060 ; {
0060 .dbline -2
0060 L8:
0060 .dbline 0 ; func end
0060 0895 ret
0062 .dbsym l regdata 0 c
0062 .dbend
0062 .dbfunc e main _main fV
.even
0062 _main::
0062 .dbline -1
0062 .dbline 73
0062 ; }
0062 ;
0062 ; void main(void)
0062 ; {
0062 L10:
0062 .dbline 75
0062 L11:
0062 .dbline 74
0062 FFCF xjmp L10
0064 X0:
0064 .dbline -2
0064 L9:
0064 .dbline 0 ; func end
0064 0895 ret
0066 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -