📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _commtimer::
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile F:\yinhui\avr_tft\soft\main.c
0002 .dbsym e commtimer _commtimer i
0002 _POS_number::
0002 .blkb 1
.area idata
0002 03 .byte 3
.area data(ram, con, rel)
0003 .dbfile F:\yinhui\avr_tft\soft\main.c
0003 .dbsym e POS_number _POS_number c
.area vector(rom, abs)
.org 72
0048 0C940000 jmp _uart0_rx_isr
.area data(ram, con, rel)
0003 .dbfile F:\yinhui\avr_tft\soft\main.c
.area text(rom, con, rel)
0000 .dbfile F:\yinhui\avr_tft\soft\main.c
0000 .dbfunc e uart0_rx_isr _uart0_rx_isr fV
0000 ; lll -> <dead>
0000 ; k -> <dead>
0000 ; aa -> <dead>
0000 ; s -> R16
.even
0000 _uart0_rx_isr::
0000 0A93 st -y,R16
0002 0FB7 in R16,0x3f
0004 0A93 st -y,R16
0006 .dbline -1
0006 .dbline 40
0006 ; #include <iom128v.h>
0006 ; #include <macros.h>
0006 ; #include <stdio.h>
0006 ; #include <eeprom.h>
0006 ; #include "main.h"
0006 ; #include "lcd_saizi.h"
0006 ; #include "lcd_pic001.h"
0006 ; #include "lcd_pic002.h"
0006 ;
0006 ; unsigned int commtimer=0;
0006 ; unsigned int beep_second;
0006 ; unsigned char beep_flag;
0006 ; unsigned char time_sector; //设定的开门时段数
0006 ; unsigned int alarm_time; //报警时间
0006 ;
0006 ; unsigned char time_data[7];
0006 ; unsigned char RxHead1;
0006 ; unsigned char sio1_flag;
0006 ; unsigned char head1;
0006 ; unsigned char RxHead0;
0006 ; unsigned char sio0_flag;
0006 ; unsigned char head0;
0006 ;
0006 ; unsigned char passflag;
0006 ; unsigned char password1;
0006 ; unsigned int timecounter;
0006 ; unsigned char POS_number=0x03;
0006 ; unsigned char botelv_flag;
0006 ;
0006 ; unsigned char RxHead0;
0006 ; unsigned char sio_flag;
0006 ; unsigned char head;
0006 ; unsigned char TX_BUF0[75]; //发送缓冲区数组
0006 ; unsigned char RX_BUF0[600]; //接受缓冲区数组
0006 ;
0006 ; unsigned int timer;
0006 ;
0006 ; #pragma interrupt_handler uart0_rx_isr:19
0006 ; void uart0_rx_isr(void)
0006 ; {
0006 .dbline 45
0006 ; unsigned char s;
0006 ; unsigned char aa;
0006 ; unsigned int k;
0006 ; unsigned char lll;
0006 ; CLI();
0006 F894 cli
0008 .dbline 46
0008 ; s = UDR0;
0008 0CB1 in R16,0xc
000A .dbline 48
000A ;
000A ; SEI();
000A 7894 sei
000C .dbline -2
000C L1:
000C 0991 ld R16,y+
000E 0FBF out 0x3f,R16
0010 0991 ld R16,y+
0012 .dbline 0 ; func end
0012 1895 reti
0014 .dbsym l lll 1 c
0014 .dbsym l k 1 i
0014 .dbsym l aa 1 c
0014 .dbsym r s 16 c
0014 .dbend
0014 .dbfunc e TransmitByte0 _TransmitByte0 fV
0014 ; ct -> R20
0014 ; len -> R18
0014 ; data -> R16,R17
.even
0014 _TransmitByte0::
0014 0E940000 xcall push_gset1
0018 .dbline -1
0018 .dbline 53
0018 ;
0018 ; }
0018 ;
0018 ; void TransmitByte0( unsigned char *data,unsigned char len )
0018 ; {
0018 L3:
0018 .dbline 55
0018 L4:
0018 .dbline 55
0018 ; unsigned char ct;
0018 ; while (!(UCSR0A & (1<<UDRE0)));
0018 5D9B sbis 0xb,5
001A FECF rjmp L3
001C .dbline 56
001C ; UDR0=0xfe;
001C 8EEF ldi R24,254
001E 8CB9 out 0xc,R24
0020 .dbline 57
0020 ; for (ct=0;ct<len;ct++)
0020 4427 clr R20
0022 07C0 xjmp L9
0024 X0:
0024 .dbline 58
0024 ; {
0024 L10:
0024 .dbline 59
0024 L11:
0024 .dbline 59
0024 5D9B sbis 0xb,5
0026 FECF rjmp L10
0028 .dbline 60
0028 F801 movw R30,R16
002A 2190 ld R2,Z+
002C 8F01 movw R16,R30
002E 2CB8 out 0xc,R2
0030 .dbline 61
0030 L7:
0030 .dbline 57
0030 4395 inc R20
0032 L9:
0032 .dbline 57
0032 4217 cp R20,R18
0034 B8F3 brlo L11
0036 .dbline -2
0036 L2:
0036 0E940000 xcall pop_gset1
003A .dbline 0 ; func end
003A 0895 ret
003C .dbsym r ct 20 c
003C .dbsym r len 18 c
003C .dbsym r data 16 pc
003C .dbend
003C .dbfunc e TransmitByte1 _TransmitByte1 fV
003C ; ct -> R20
003C ; len -> R18
003C ; data -> R16,R17
.even
003C _TransmitByte1::
003C 0E940000 xcall push_gset1
0040 .dbline -1
0040 .dbline 64
0040 ; while (!(UCSR0A & (1<<UDRE0)));
0040 ; UDR0 = *data++;
0040 ; }
0040 ; }
0040 ; void TransmitByte1(unsigned char *data,unsigned char len )
0040 ; {
0040 .dbline 67
0040 ; unsigned char ct;
0040 ; // while (!(UCSR0A & (1<<UDRE0)));
0040 ; for (ct=0;ct<len;ct++)
0040 4427 clr R20
0042 07C0 xjmp L17
0044 X1:
0044 .dbline 68
0044 ; {
0044 L18:
0044 .dbline 69
0044 L19:
0044 .dbline 69
0044 5D9B sbis 0xb,5
0046 FECF rjmp L18
0048 .dbline 70
0048 F801 movw R30,R16
004A 2190 ld R2,Z+
004C 8F01 movw R16,R30
004E 2CB8 out 0xc,R2
0050 .dbline 71
0050 L15:
0050 .dbline 67
0050 4395 inc R20
0052 L17:
0052 .dbline 67
0052 4217 cp R20,R18
0054 B8F3 brlo L19
0056 .dbline -2
0056 L13:
0056 0E940000 xcall pop_gset1
005A .dbline 0 ; func end
005A 0895 ret
005C .dbsym r ct 20 c
005C .dbsym r len 18 c
005C .dbsym r data 16 pc
005C .dbend
005C .dbfunc e TransmitByte_1 _TransmitByte_1 fV
005C ; ct -> R20
005C ; len -> R18
005C ; data -> R16,R17
.even
005C _TransmitByte_1::
005C 0E940000 xcall push_gset1
0060 .dbline -1
0060 .dbline 74
0060 ; while (!(UCSR0A & (1<<UDRE0)));
0060 ; UDR0 = *data++;
0060 ; }
0060 ; }
0060 ; void TransmitByte_1(unsigned char *data,unsigned char len )
0060 ; {
0060 .dbline 77
0060 ; unsigned char ct;
0060 ; // while (!(UCSR0A & (1<<UDRE0)));
0060 ; for (ct=0;ct<len;ct++)
0060 4427 clr R20
0062 0AC0 xjmp L25
0064 X2:
0064 .dbline 78
0064 ; {
0064 L26:
0064 .dbline 79
0064 L27:
0064 .dbline 79
0064 20909B00 lds R2,155
0068 25FE sbrs R2,5
006A FCCF rjmp L26
006C .dbline 80
006C F801 movw R30,R16
006E 2190 ld R2,Z+
0070 8F01 movw R16,R30
0072 20929C00 sts 156,R2
0076 .dbline 81
0076 L23:
0076 .dbline 77
0076 4395 inc R20
0078 L25:
0078 .dbline 77
0078 4217 cp R20,R18
007A A0F3 brlo L27
007C .dbline -2
007C L21:
007C 0E940000 xcall pop_gset1
0080 .dbline 0 ; func end
0080 0895 ret
0082 .dbsym r ct 20 c
0082 .dbsym r len 18 c
0082 .dbsym r data 16 pc
0082 .dbend
0082 .dbfunc e timer1_init _timer1_init fV
.even
0082 _timer1_init::
0082 .dbline -1
0082 .dbline 85
0082 ; while (!(UCSR1A & (1<<UDRE1)));
0082 ; UDR1 = *data++;
0082 ; }
0082 ; }
0082 ;
0082 ; void timer1_init(void)
0082 ; {
0082 .dbline 86
0082 ; TCCR1B = 0x00; //stop
0082 2224 clr R2
0084 2EBC out 0x2e,R2
0086 .dbline 87
0086 ; TCNT1H = 0xFD; //setup
0086 8DEF ldi R24,253
0088 8DBD out 0x2d,R24
008A .dbline 88
008A ; TCNT1L = 0xE5;
008A 85EE ldi R24,229
008C 8CBD out 0x2c,R24
008E .dbline 89
008E ; TCCR1A = 0x00;
008E 2FBC out 0x2f,R2
0090 .dbline 90
0090 ; TCCR1B = 0x05; //start Timer
0090 85E0 ldi R24,5
0092 8EBD out 0x2e,R24
0094 .dbline -2
0094 L29:
0094 .dbline 0 ; func end
0094 0895 ret
0096 .dbend
0096 .dbfunc e timer0_init _timer0_init fV
.even
0096 _timer0_init::
0096 .dbline -1
0096 .dbline 93
0096 ; }
0096 ; void timer0_init(void) //1ms
0096 ; {
0096 .dbline 94
0096 ; TCCR0 = 0x00; //stop
0096 2224 clr R2
0098 23BE out 0x33,R2
009A .dbline 96
009A ; // ASSR = 0x00; //set async mode
009A ; TCNT0 = 0x54; //set count
009A 84E5 ldi R24,84
009C 82BF out 0x32,R24
009E .dbline 98
009E ; // OCR0 = 0xAC;
009E ; TCCR0 = 0x04; //start timer
009E 84E0 ldi R24,4
00A0 83BF out 0x33,R24
00A2 .dbline -2
00A2 L30:
00A2 .dbline 0 ; func end
00A2 0895 ret
00A4 .dbend
.area vector(rom, abs)
.org 64
0040 0C945200 jmp _timer0_ovf_isr
.area text(rom, con, rel)
00A4 .dbfile F:\yinhui\avr_tft\soft\main.c
00A4 .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
00A4 _timer0_ovf_isr::
00A4 2A92 st -y,R2
00A6 3A92 st -y,R3
00A8 8A93 st -y,R24
00AA 9A93 st -y,R25
00AC 2FB6 in R2,0x3f
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -