?? display_board2.1.lis
字號:
0026 .dbfile display_board2.1.c
0026 .dbsym e FileEnd _FileEnd c
0026 _HeadLoad::
0026 .blkb 1
.area idata
0026 00 .byte 0
.area data(ram, con, rel)
0027 .dbfile display_board2.1.c
0027 .dbsym e HeadLoad _HeadLoad c
0027 _HeadEN::
0027 .blkb 1
.area idata
0027 01 .byte 1
.area data(ram, con, rel)
0028 .dbfile display_board2.1.c
0028 .dbsym e HeadEN _HeadEN c
0028 _DataIndex::
0028 .blkb 2
.area idata
0028 0000 .word 0
.area data(ram, con, rel)
002A .dbfile display_board2.1.c
002A .dbsym e DataIndex _DataIndex I
002A _FileLength::
002A .blkb 2
.area idata
002A 0000 .word 0
.area data(ram, con, rel)
002C .dbfile display_board2.1.c
002C .dbsym e FileLength _FileLength I
002C _time_out_ms::
002C .blkb 2
.area idata
002C 0100 .word 1
.area data(ram, con, rel)
002E .dbfile display_board2.1.c
002E .dbsym e time_out_ms _time_out_ms i
002E _time_out_s::
002E .blkb 1
.area idata
002E 00 .byte 0
.area data(ram, con, rel)
002F .dbfile display_board2.1.c
002F .dbsym e time_out_s _time_out_s c
002F _DispModel::
002F .blkb 1
.area idata
002F 00 .byte 0
.area data(ram, con, rel)
0030 .dbfile display_board2.1.c
0030 .dbsym e DispModel _DispModel c
0030 _ModelDelayTime::
0030 .blkb 2
.area idata
0030 0000 .word 0
.area data(ram, con, rel)
0032 .dbfile display_board2.1.c
0032 .dbsym e ModelDelayTime _ModelDelayTime I
0032 _ModelContJuge::
0032 .blkb 1
.area idata
0032 00 .byte 0
.area data(ram, con, rel)
0033 .dbfile display_board2.1.c
0033 .dbsym e ModelContJuge _ModelContJuge c
.area text(rom, con, rel)
039C .dbfile display_board2.1.c
039C .dbfunc e port_int _port_int fV
.even
039C _port_int::
039C .dbline -1
039C .dbline 128
039C ; ****************************************/
039C ; void port_int(void)
039C ; {
039C .dbline 129
039C ; DDRA =0XFF;
039C 8FEF ldi R24,255
039E 8ABB out 0x1a,R24
03A0 .dbline 130
03A0 ; PORTA =0XFF;
03A0 8BBB out 0x1b,R24
03A2 .dbline 131
03A2 ; DDRB =0B00001110;
03A2 8EE0 ldi R24,14
03A4 87BB out 0x17,R24
03A6 .dbline 132
03A6 ; PORTB =0XFF;
03A6 8FEF ldi R24,255
03A8 88BB out 0x18,R24
03AA .dbline 133
03AA ; DDRC =0XFF;
03AA 84BB out 0x14,R24
03AC .dbline 134
03AC ; PORTC =0XFF;
03AC 85BB out 0x15,R24
03AE .dbline 135
03AE ; DDRD = 0xF8; //
03AE 88EF ldi R24,248
03B0 81BB out 0x11,R24
03B2 .dbline 136
03B2 ; PORTD = 0XFF;
03B2 8FEF ldi R24,255
03B4 82BB out 0x12,R24
03B6 .dbline -2
03B6 L44:
03B6 .dbline 0 ; func end
03B6 0895 ret
03B8 .dbend
03B8 .dbfunc e timer_int _timer_int fV
.even
03B8 _timer_int::
03B8 .dbline -1
03B8 .dbline 143
03B8 ; }
03B8 ;
03B8 ; /****************************************
03B8 ; 定時器
03B8 ; ****************************************/
03B8 ; void timer_int(void)
03B8 ; {
03B8 .dbline 144
03B8 ; TCCR1B = 0x00; //stop
03B8 2224 clr R2
03BA 2EBC out 0x2e,R2
03BC .dbline 145
03BC ; TCNT1H = 0xd4; //setup
03BC 84ED ldi R24,212
03BE 8DBD out 0x2d,R24
03C0 .dbline 146
03C0 ; TCNT1L = 0xce;
03C0 8EEC ldi R24,206
03C2 8CBD out 0x2c,R24
03C4 .dbline 147
03C4 ; TCCR1A = 0x00;
03C4 2FBC out 0x2f,R2
03C6 .dbline 148
03C6 ; TCCR1B = 0x01; //start Timer
03C6 81E0 ldi R24,1
03C8 8EBD out 0x2e,R24
03CA .dbline 149
03CA ; TIMSK = 0x04;
03CA 84E0 ldi R24,4
03CC 89BF out 0x39,R24
03CE .dbline -2
03CE L45:
03CE .dbline 0 ; func end
03CE 0895 ret
03D0 .dbend
03D0 .dbfunc e exit_int _exit_int fV
.even
03D0 _exit_int::
03D0 .dbline -1
03D0 .dbline 157
03D0 ;
03D0 ; }
03D0 ;
03D0 ; /****************************************
03D0 ; 外中斷
03D0 ; ****************************************/
03D0 ; void exit_int(void)
03D0 ; {
03D0 .dbline 158
03D0 ; GICR = 0x40;
03D0 80E4 ldi R24,64
03D2 8BBF out 0x3b,R24
03D4 .dbline 159
03D4 ; MCUCR = 0x02;
03D4 82E0 ldi R24,2
03D6 85BF out 0x35,R24
03D8 .dbline -2
03D8 L46:
03D8 .dbline 0 ; func end
03D8 0895 ret
03DA .dbend
03DA .dbfunc e uart_int _uart_int fV
.even
03DA _uart_int::
03DA .dbline -1
03DA .dbline 167
03DA ;
03DA ; }
03DA ;
03DA ; /****************************************
03DA ; 串口通訊
03DA ; ****************************************/
03DA ; void uart_int(void)
03DA ; {
03DA .dbline 168
03DA ; UCSRB = 0x00; //disable while setting baud rate
03DA 2224 clr R2
03DC 2AB8 out 0xa,R2
03DE .dbline 169
03DE ; UCSRA = 0x00;
03DE 2BB8 out 0xb,R2
03E0 .dbline 170
03E0 ; UCSRC = 0x00;
03E0 20BC out 0x20,R2
03E2 .dbline 171
03E2 ; UBRR =5; //設置波特率115200
03E2 85E0 ldi R24,5
03E4 89B9 out 0x9,R24
03E6 .dbline 172
03E6 ; UCSRB = 0x98; //接受中斷允許,接受允許,發送允許
03E6 88E9 ldi R24,152
03E8 8AB9 out 0xa,R24
03EA .dbline 173
03EA ; UCSRC = 0xBc; //8BIT, 奇校驗,2停止位
03EA 8CEB ldi R24,188
03EC 80BD out 0x20,R24
03EE .dbline -2
03EE L47:
03EE .dbline 0 ; func end
03EE 0895 ret
03F0 .dbend
03F0 .dbfunc e device_int _device_int fV
.even
03F0 _device_int::
03F0 .dbline -1
03F0 .dbline 180
03F0 ; }
03F0 ;
03F0 ; /****************************************
03F0 ; 器件初始化函數
03F0 ; ****************************************/
03F0 ; void device_int(void)
03F0 ; {
03F0 .dbline 181
03F0 ; CLI();
03F0 F894 cli
03F2 .dbline 182
03F2 ; port_int();
03F2 D4DF xcall _port_int
03F4 .dbline 183
03F4 ; timer_int();
03F4 E1DF xcall _timer_int
03F6 .dbline 184
03F6 ; exit_int();
03F6 ECDF xcall _exit_int
03F8 .dbline 185
03F8 ; uart_int();
03F8 F0DF xcall _uart_int
03FA .dbline 186
03FA ; SEI();
03FA 7894 sei
03FC .dbline -2
03FC L48:
03FC .dbline 0 ; func end
03FC 0895 ret
03FE .dbend
03FE .dbfunc e uart_TX _uart_TX fV
03FE ; data -> R16
.even
03FE _uart_TX::
03FE .dbline -1
03FE .dbline 193
03FE ; }
03FE ;
03FE ; /****************************************
03FE ; 串口收發數據
03FE ; ****************************************/
03FE ; void uart_TX(unsigned char data)
03FE ; {
03FE .dbline 194
03FE ; UCSRA |=0X40; //標志清零
03FE 5E9A sbi 0xb,6
0400 .dbline 195
0400 ; UDR =data;
0400 0CB9 out 0xc,R16
0402 .dbline -2
0402 L49:
0402 .dbline 0 ; func end
0402 0895 ret
0404 .dbsym r data 16 c
0404 .dbend
0404 .dbfunc e uart_time_out _uart_time_out fV
.even
0404 _uart_time_out::
0404 .dbline -1
0404 .dbline 201
0404 ; }
0404 ; //***************
0404 ; //傳輸超時處理,當time_out_ms大于設定值的時候,等待等待20S,并且
0404 ; //一直發送標志符號,超過20S以后,進行錯誤處理
0404 ; void uart_time_out(void)
0404 ; {
0404 .dbline 202
0404 ; time_out_ms++;
0404 80912C00 lds R24,_time_out_ms
0408 90912D00 lds R25,_time_out_ms+1
040C 0196 adiw R24,1
040E 90932D00 sts _time_out_ms+1,R25
0412 80932C00 sts _time_out_ms,R24
0416 .dbline 203
0416 ; if (HeadEN ==0 && FileEnd ==0 && time_out_ms >=800 )
0416 20902700 lds R2,_HeadEN
041A 2220 tst R2
041C 61F5 brne L51
041E 20902500 lds R2,_FileEnd
0422 2220 tst R2
0424 41F5 brne L51
0426 8032 cpi R24,32
0428 E3E0 ldi R30,3
042A 9E07 cpc R25,R30
042C 20F1 brlo L51
042E .dbline 204
042E ; {
042E .dbline 205
042E ; if(sys_cont ==0) //秒記時
042E 20901D00 lds R2,_sys_cont
0432 30901E00 lds R3,_sys_cont+1
0436 2220 tst R2
0438 99F4 brne L53
043A 3320 tst R3
043C 89F4 brne L53
043E X1:
043E .dbline 206
043E ; {
043E .dbline 207
043E ; time_out_s++;
043E 80912E00 lds R24,_time_out_s
0442 8F5F subi R24,255 ; addi 1
0444 80932E00 sts _time_out_s,R24
0448 .dbline 208
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -