📄 ytcpg01.lis
字号:
.module ytcpg01.c
.area data(ram, con, rel)
0000 _tmpRx::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\job\elite\云台控制器\avr\ytcpg01.c
0001 .dbsym e tmpRx _tmpRx c
0001 _RXCR::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\job\elite\云台控制器\avr\ytcpg01.c
0002 .dbsym e RXCR _RXCR c
0002 _RXstartFlag::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile E:\job\elite\云台控制器\avr\ytcpg01.c
0003 .dbsym e RXstartFlag _RXstartFlag c
.area text(rom, con, rel)
0000 .dbfile E:\job\elite\云台控制器\avr\ytcpg01.c
0000 .dbfunc e watchdog_init _watchdog_init fV
.even
0000 _watchdog_init::
0000 .dbline -1
0000 .dbline 51
0000 ; //update on 2004-04-22 21:45
0000 ; //chage Level check : DBNEW
0000 ; // deal with rotory speed unsteable
0000 ;
0000 ;
0000 ; //one charter a to send
0000 ; #include <iom8515v.h>
0000 ; #include <macros.h>
0000 ; #include <eeprom.h>
0000 ;
0000 ; //outport define
0000 ; #define OUTau8ON PORTC|=0x01
0000 ; #define OUTau8OFF PORTC&=~0x01
0000 ; #define OUTau7ON PORTC|=0x02
0000 ; #define OUTau7OFF PORTC&=~0x02
0000 ; #define OUTau6ON PORTC|=0x04
0000 ; #define OUTau6OFF PORTC&=~0x04
0000 ; #define OUTau5ON PORTC|=0x08
0000 ; #define OUTau5OFF PORTC&=~0x08
0000 ; #define OUTau4ON PORTC|=0x10
0000 ; #define OUTau4OFF PORTC&=~0x10
0000 ; #define OUTau3ON PORTC|=0x20
0000 ; #define OUTau3OFF PORTC&=~0x20
0000 ; #define OUTau2ON PORTC|=0x40
0000 ; #define OUTau2OFF PORTC&=~0x40
0000 ; #define OUTau1ON PORTC|=0x80
0000 ; #define OUTau1OFF PORTC&=~0x80
0000 ; #define OUTau1Pulse PORTC^=0x80
0000 ;
0000 ; #define CLROFF PORTB|=0x01
0000 ; #define CLRON PORTB&=~0x01
0000 ;
0000 ; #define BOARDID '1'
0000 ;
0000 ; //全局变量
0000 ; unsigned char OPDATA[12];
0000 ;
0000 ;
0000 ; unsigned char TXbuf[18];
0000 ; unsigned char RXbuf[18];
0000 ; unsigned char tmpRx=0;
0000 ; unsigned char RXCR=0;
0000 ; unsigned char RXstartFlag=0;
0000 ;
0000 ; union mdd {
0000 ; unsigned int TXCRC;
0000 ; unsigned char txCRC[2];
0000 ; }CRCT;
0000 ;
0000 ; void watchdog_init(void)
0000 ; {
0000 .dbline 52
0000 ; WDR();
0000 A895 wdr
0002 .dbline 53
0002 ; WDTCR=0x0F ;
0002 8FE0 ldi R24,15
0004 81BD out 0x21,R24
0006 .dbline -2
0006 L1:
0006 .dbline 0 ; func end
0006 0895 ret
0008 .dbend
0008 .dbfunc e Delay_1ms _Delay_1ms fV
0008 ; i -> R16,R17
.even
0008 _Delay_1ms::
0008 .dbline -1
0008 .dbline 57
0008 ; }
0008 ;
0008 ; void Delay_1ms(void)
0008 ; {
0008 .dbline 60
0008 ; unsigned int i;
0008 ;
0008 ; for (i = 1; i<1140; i++)
0008 01E0 ldi R16,1
000A 10E0 ldi R17,0
000C 02C0 rjmp L6
000E L3:
000E .dbline 62
000E L4:
000E .dbline 60
000E 0F5F subi R16,255 ; offset = 1
0010 1F4F sbci R17,255
0012 L6:
0012 .dbline 60
0012 0437 cpi R16,116
0014 E4E0 ldi R30,4
0016 1E07 cpc R17,R30
0018 D0F3 brlo L3
001A .dbline -2
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r i 16 i
001C .dbend
001C .dbfunc e delayXms _delayXms fV
001C ; i -> R20,R21
001C ; n -> R22,R23
.even
001C _delayXms::
001C 00D0 rcall push_gset2
001E B801 movw R22,R16
0020 .dbline -1
0020 .dbline 66
0020 ;
0020 ; ;
0020 ; }
0020 ;
0020 ; void delayXms(unsigned int n)
0020 ; {
0020 .dbline 67
0020 ; unsigned int i=0;
0020 4427 clr R20
0022 5527 clr R21
0024 03C0 rjmp L9
0026 L8:
0026 .dbline 69
0026 .dbline 70
0026 F0DF rcall _Delay_1ms
0028 .dbline 71
0028 4F5F subi R20,255 ; offset = 1
002A 5F4F sbci R21,255
002C .dbline 72
002C L9:
002C .dbline 68
002C ; while(i<n)
002C 4617 cp R20,R22
002E 5707 cpc R21,R23
0030 D0F3 brlo L8
0032 .dbline -2
0032 L7:
0032 00D0 rcall pop_gset2
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r i 20 i
0036 .dbsym r n 22 i
0036 .dbend
0036 .dbfunc e port_init _port_init fV
.even
0036 _port_init::
0036 .dbline -1
0036 .dbline 76
0036 ; {
0036 ; Delay_1ms();
0036 ; i++;
0036 ; }
0036 ; }
0036 ;
0036 ; void port_init(void)
0036 ; {
0036 .dbline 77
0036 ; PORTA=0xF0; //PA set to 1
0036 80EF ldi R24,240
0038 8BBB out 0x1b,R24
003A .dbline 78
003A ; DDRA=0xF0; //PA0-PA3:ADC PA4-PA6:KL0-KL2(OUT)
003A 8ABB out 0x1a,R24
003C .dbline 81
003C ; //PA7:LCD-E (OUTPUT)
003C ;
003C ; PORTB=0xFF; //PB set to 1
003C 8FEF ldi R24,255
003E 88BB out 0x18,R24
0040 .dbline 82
0040 ; DDRB=0xFF; //PB0-PB2:QN0-QN2 PB3:TEMPC(OUT)
0040 87BB out 0x17,R24
0042 .dbline 85
0042 ; //PB4-PB7:KR0-KR3(IN)
0042 ;
0042 ; PORTC=0x00; //PC set to 1
0042 2224 clr R2
0044 25BA out 0x15,R2
0046 .dbline 86
0046 ; DDRC=0xFF; //PC0-PC7:DB0-DB7
0046 84BB out 0x14,R24
0048 .dbline 88
0048 ;
0048 ; PORTD=0x00; //PD set to 1
0048 22BA out 0x12,R2
004A .dbline 89
004A ; DDRD=0x02;
004A 82E0 ldi R24,2
004C 81BB out 0x11,R24
004E .dbline 92
004E ; //OUTDEON;
004E ;
004E ; SFIOR&=~(1<<PUD); //OPEN UP LINK
004E 80B7 in R24,0x30
0050 8B7F andi R24,251
0052 80BF out 0x30,R24
0054 .dbline -2
0054 L11:
0054 .dbline 0 ; func end
0054 0895 ret
0056 .dbend
0056 .dbfunc e SPI_MasterInit _SPI_MasterInit fV
.even
0056 _SPI_MasterInit::
0056 .dbline -1
0056 .dbline 98
0056 ;
0056 ; //delayXms(2000); //delay 1s
0056 ; }
0056 ;
0056 ; void SPI_MasterInit(void)
0056 ; {
0056 .dbline 100
0056 ; //SPCR=0xD1; //SPIE ,SPE ,Master enable ;1/16 Fcl
0056 ; SPCR=0x51; // ,SPE ,Master enable ;1/16 Fcl
0056 81E5 ldi R24,81
0058 8DB9 out 0xd,R24
005A .dbline -2
005A L12:
005A .dbline 0 ; func end
005A 0895 ret
005C .dbend
005C .dbfunc e SPI_Tran _SPI_Tran fV
005C ; i -> R16
.even
005C _SPI_Tran::
005C .dbline -1
005C .dbline 103
005C ; }
005C ; void SPI_Tran(void)
005C ; {
005C .dbline 105
005C ; unsigned char i;
005C ; for(i=8;i>0;i--)
005C 08E0 ldi R16,8
005E 0BC0 rjmp L17
0060 L14:
0060 .dbline 106
0060 ; {
0060 .dbline 107
0060 ; SPDR=OPDATA[i];
0060 80E0 ldi R24,<_OPDATA
0062 90E0 ldi R25,>_OPDATA
0064 E02F mov R30,R16
0066 FF27 clr R31
0068 E80F add R30,R24
006A F91F adc R31,R25
006C 2080 ldd R2,z+0
006E 2FB8 out 0xf,R2
0070 L18:
0070 .dbline 108
0070 L19:
0070 .dbline 108
0070 779B sbis 0xe,7
0072 FECF rjmp L18
0074 .dbline 109
0074 L15:
0074 .dbline 105
0074 0A95 dec R16
0076 L17:
0076 .dbline 105
0076 2224 clr R2
0078 2016 cp R2,R16
007A 90F3 brlo L14
007C .dbline -2
007C L13:
007C .dbline 0 ; func end
007C 0895 ret
007E .dbsym r i 16 c
007E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -