📄 m8demo.s
字号:
sts _in_eeprom_addr,R24
.dbline 520
; EEPROM_READ(in_eeprom_addr, in_eeprom_data);
ldi R24,1
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,<_in_eeprom_data
ldi R19,>_in_eeprom_data
lds R16,_in_eeprom_addr
clr R17
rcall _EEPROMReadBytes_extIO
.dbline 521
; break;
rjmp L97
L130:
.dbline 523
; case AT45DB021_addr_modify_mode:
; AT45DB021_addr--;
lds R24,_AT45DB021_addr
subi R24,1
sts _AT45DB021_addr,R24
.dbline 524
; if(AT45DB021_addr==0xFF)
cpi R24,255
brne L131
.dbline 525
; AT45DB021_addr=0x7F;
ldi R24,127
sts _AT45DB021_addr,R24
L131:
.dbline 526
; PutStr("45DB21 Read Start Addr");
ldi R16,<L113
ldi R17,>L113
rcall _PutStr
.dbline 527
; PutInt( AT45DB021_addr );
lds R16,_AT45DB021_addr
clr R17
rcall _PutInt
.dbline 528
; AT45DB021_data=ReadBlock(AT45DB021_addr);
lds R16,_AT45DB021_addr
rcall _ReadBlock
sts _AT45DB021_data,R16
.dbline 529
; PutStr("45DB21 Read Data");
ldi R16,<L114
ldi R17,>L114
rcall _PutStr
.dbline 530
; PutInt( AT45DB021_data );
lds R16,_AT45DB021_data
clr R17
rcall _PutInt
.dbline 531
; PutStr("45DB21 Read End");
ldi R16,<L115
ldi R17,>L115
rcall _PutStr
.dbline 532
; break;
rjmp L97
L133:
.dbline 534
; case AT45DB021_data_modify_mode:
; AT45DB021_data--;
lds R24,_AT45DB021_data
subi R24,1
sts _AT45DB021_data,R24
.dbline 535
; PutStr("45DB21 Write Start");
ldi R16,<L117
ldi R17,>L117
rcall _PutStr
.dbline 536
; WriteBlock(AT45DB021_addr, AT45DB021_data);
lds R18,_AT45DB021_data
lds R16,_AT45DB021_addr
rcall _WriteBlock
.dbline 537
; PutInt( AT45DB021_data );
lds R16,_AT45DB021_data
clr R17
rcall _PutInt
.dbline 538
; PutStr("45DB21 Write End");
ldi R16,<L118
ldi R17,>L118
rcall _PutStr
.dbline 539
; break;
.dbline 541
;
; default :break;
.dbline 543
; }
; break;
rjmp L97
L134:
.dbline 545
; case key_mode:
; switch(mode_state)
lds R22,_mode_state
clr R23
cpi R22,0
cpc R22,R23
breq L138
X21:
cpi R22,1
ldi R30,0
cpc R23,R30
breq L140
cpi R22,2
ldi R30,0
cpc R23,R30
breq L142
cpi R22,4
ldi R30,0
cpc R23,R30
brne X43
rjmp L143
X43:
cpi R22,5
ldi R30,0
cpc R23,R30
brne X44
rjmp L154
X44:
cpi R22,8
ldi R30,0
cpc R23,R30
brne X45
rjmp L162
X45:
cpi R22,9
ldi R30,0
cpc R23,R30
brne X46
rjmp L162
X46:
rjmp L97
X22:
.dbline 546
; {
L138:
.dbline 548
; case clock_mode:
; mode_state=out_eeprom_addr_modify_mode;
ldi R24,1
sts _mode_state,R24
.dbline 549
; PutStr("外部EEPROM地址修改");
ldi R16,<L139
ldi R17,>L139
rcall _PutStr
.dbline 550
; out_eeprom_addr=0xFF;
ldi R24,255
sts _out_eeprom_addr,R24
.dbline 551
; out_eeprom_data=0xF1;
ldi R24,241
sts _out_eeprom_data,R24
.dbline 552
; break;
rjmp L97
L140:
.dbline 554
; case out_eeprom_addr_modify_mode:
; mode_state=in_eeprom_addr_modify_mode;
ldi R24,4
sts _mode_state,R24
.dbline 555
; PutStr("内部EEPROM地址修改");
ldi R16,<L141
ldi R17,>L141
rcall _PutStr
.dbline 556
; in_eeprom_addr=0xFF;
ldi R24,255
sts _in_eeprom_addr,R24
.dbline 557
; in_eeprom_data=0xF2;
ldi R24,242
sts _in_eeprom_data,R24
.dbline 559
;
; break;
rjmp L97
L142:
.dbline 561
; case out_eeprom_data_modify_mode:
; mode_state=in_eeprom_addr_modify_mode;
ldi R24,4
sts _mode_state,R24
.dbline 562
; PutStr("内部EEPROM地址修改");
ldi R16,<L141
ldi R17,>L141
rcall _PutStr
.dbline 563
; in_eeprom_addr=0xFF;
ldi R24,255
sts _in_eeprom_addr,R24
.dbline 564
; in_eeprom_data=0xF2;
ldi R24,242
sts _in_eeprom_data,R24
.dbline 565
; break;
rjmp L97
L143:
.dbline 568
;
; case in_eeprom_addr_modify_mode:
; adc_Enable();
rcall _adc_Enable
.dbline 569
; mode_state=adc_mode;
ldi R24,7
sts _mode_state,R24
.dbline 570
; PutStr("ADC模式");
ldi R16,<L144
ldi R17,>L144
rcall _PutStr
.dbline 571
; adc_value=8888;
ldi R24,8888
ldi R25,34
sts _adc_value+1,R25
sts _adc_value,R24
.dbline 572
; key_pressed=false;
clr R2
sts _key_pressed,R2
rjmp L146
L145:
.dbline 575
; #ifdef query_adc
; while(1)
; { Key_Task();
.dbline 575
rcall _Key_Task
.dbline 576
; if(key_pressed)
lds R2,_key_pressed
tst R2
breq L148
.dbline 577
; if(key_value==key_mode)
lds R24,_key_value
cpi R24,252
brne L150
.dbline 578
; {
.dbline 579
; adc_Disable();
rcall _adc_Disable
.dbline 580
; AT45DB021_addr=0x7F;
ldi R24,127
sts _AT45DB021_addr,R24
.dbline 581
; AT45DB021_data=0xF3;
ldi R24,243
sts _AT45DB021_data,R24
.dbline 582
; mode_state=AT45DB021_addr_modify_mode;
ldi R24,8
sts _mode_state,R24
.dbline 583
; PutStr("45DB21块地址修改");
ldi R16,<L152
ldi R17,>L152
rcall _PutStr
.dbline 584
; goto end_key_value;
rjmp L153
L150:
L148:
.dbline 586
clr R16
rcall _ReadADC
sts _adc_value+1,R17
sts _adc_value,R16
.dbline 587
L146:
.dbline 574
rjmp L145
X23:
.dbline 589
; }
; adc_value=ReadADC(0);
; }
; #endif
; break;
rjmp L97
L154:
.dbline 591
; case in_eeprom_data_modify_mode:
; adc_Enable();
rcall _adc_Enable
.dbline 592
; mode_state=adc_mode;
ldi R24,7
sts _mode_state,R24
.dbline 593
; PutStr("ADC模式");
ldi R16,<L144
ldi R17,>L144
rcall _PutStr
.dbline 594
; adc_value=8888;
ldi R24,8888
ldi R25,34
sts _adc_value+1,R25
sts _adc_value,R24
.dbline 595
; key_pressed=false;
clr R2
sts _key_pressed,R2
rjmp L156
L155:
.dbline 598
; #ifdef query_adc
; while(1)
; { Key_Task();
.dbline 598
rcall _Key_Task
.dbline 599
; if(key_pressed)
lds R2,_key_pressed
tst R2
breq L158
.dbline 600
; if(key_value==key_mode)
lds R24,_key_value
cpi R24,252
brne L160
.dbline 601
; {
.dbline 602
; adc_Disable();
rcall _adc_Disable
.dbline 603
; AT45DB021_addr=0x7F;
ldi R24,127
sts _AT45DB021_addr,R24
.dbline 604
; AT45DB021_data=0xF3;
ldi R24,243
sts _AT45DB021_data,R24
.dbline 605
; mode_state=AT45DB021_addr_modify_mode;
ldi R24,8
sts _mode_state,R24
.dbline 606
; PutStr("45DB21块地址修改");
ldi R16,<L152
ldi R17,>L152
rcall _PutStr
.dbline 607
; goto end_key_value;
rjmp L153
L160:
L158:
.dbline 609
clr R16
rcall _ReadADC
sts _adc_value+1,R17
sts _adc_value,R16
.dbline 610
L156:
.dbline 597
rjmp L155
X24:
.dbline 612
; }
; adc_value=ReadADC(0);
; }
; #endif
; break;
rjmp L97
L162:
.dbline 615
; case AT45DB021_addr_modify_mode:
; case AT45DB021_data_modify_mode:
; mode_state=clock_mode;
clr R2
sts _mode_state,R2
.dbline 616
; PutStr("时钟模式");
ldi R16,<L90
ldi R17,>L90
rcall _PutStr
.dbline 617
; break;
.dbline 618
; default :break;
.dbline 620
; }
; break;
rjmp L97
L163:
.dbline 627
; case key_enter:
; /* PutStr("key_enter");
; if(UCSRB&0x10)
; uart0_RX_Enable();
; else
; uart0_RX_Disable();*/
; switch(mode_state)
lds R20,_mode_state
clr R21
cpi R20,1
ldi R30,0
cpc R21,R30
breq L167
cpi R20,2
ldi R30,0
cpc R21,R30
breq L169
cpi R20,4
ldi R30,0
cpc R21,R30
breq L170
cpi R20,5
ldi R30,0
cpc R21,R30
breq L172
cpi R20,8
ldi R30,0
cpc R21,R30
breq L173
cpi R20,9
ldi R30,0
cpc R21,R30
breq L175
rjmp L97
X25:
.dbline 628
; {
L167:
.dbline 630
; case out_eeprom_addr_modify_mode:
; PutStr("外部EEPROM数据修改");
ldi R16,<L168
ldi R17,>L168
rcall _PutStr
.dbline 631
; mode_state=out_eeprom_data_modify_mode;
ldi R24,2
sts _mode_state,R24
.dbline 632
; break;
rjmp L97
L169:
.dbline 634
; case out_eeprom_data_modify_mode:
; PutStr("外部EEPROM地址修改");
ldi R16,<L139
ldi R17,>L139
rcall _PutStr
.dbline 635
; mode_state=out_eeprom_addr_modify_mode;
ldi R24,1
sts _mode_state,R24
.dbline 636
; break;
rjmp L97
L170:
.dbline 638
; case in_eeprom_addr_modify_mode:
; PutStr("内部EEPROM数据修改");
ldi R16,<L171
ldi R17,>L171
rcall _PutStr
.dbline 639
; mode_state=in_eeprom_data_modify_mode;
ldi R24,5
sts _mode_state,R24
.dbline 640
; break;
rjmp L97
L172:
.dbline 642
; case in_eeprom_data_modify_mode:
; PutStr("内部EEPROM地址修改");
ldi R16,<L141
ldi R17,>L141
rcall _PutStr
.dbline 643
; mode_state=in_eeprom_addr_modify_mode;
ldi R24,4
sts _mode_state,R24
.dbline 644
; break;
rjmp L97
L173:
.dbline 646
; case AT45DB021_addr_modify_mode:
; PutStr("45DB21数据修改");
ldi R16,<L174
ldi R17,>L174
rcall _PutStr
.dbline 647
; mode_state=AT45DB021_data_modify_mode;
ldi R24,9
sts _mode_state,R24
.dbline 648
; break;
rjmp L97
L175:
.dbline 650
; case AT45DB021_data_modify_mode:
; PutStr("45DB21地址修改");
ldi R16,<L176
ldi R17,>L176
rcall _PutStr
.dbline 651
; mode_state=AT45DB021_addr_modify_mode;
ldi R24,8
sts _mode_state,R24
.dbline 652
; break;
.dbline 654
;
; default :break;
.dbline 656
; }
; break;
.dbline 657
; default:break;
L97:
L153:
.dbline 660
; }
; end_key_value:
; key_pressed=false;
clr R2
sts _key_pressed,R2
.dbline 661
; }
L94:
.dbline 662
L92:
.dbline 432
rjmp L91
X26:
.dbline -2
L88:
adiw R28,2
rcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l nn 3 c
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 667
; }
; //insert your functional code here...
; }
;
; void main()
; {
.dbline 668
; UserApplication();
rcall _UserApplication
.dbline -2
L177:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
_AT45DB021_data::
.blkb 1
.dbsym e AT45DB021_data _AT45DB021_data c
_in_eeprom_data::
.blkb 1
.dbsym e in_eeprom_data _in_eeprom_data c
_out_eeprom_data::
.blkb 1
.dbsym e out_eeprom_data _out_eeprom_data c
_OutPutStr::
.blkb 2
.dbsym e OutPutStr _OutPutStr pc
_mode_state::
.blkb 1
.dbsym e mode_state _mode_state c
_key_pressed::
.blkb 1
.dbsym e key_pressed _key_pressed c
_key_value::
.blkb 1
.dbsym e key_value _key_value c
_key_state::
.blkb 1
.dbsym e key_state _key_state c
_key_tick::
.blkb 2
.dbsym e key_tick _key_tick i
_TimerCountOld::
.blkb 2
.dbsym e TimerCountOld _TimerCountOld i
_TimerCount::
.blkb 2
.dbsym e TimerCount _TimerCount i
_DelayTimer::
.blkb 2
.dbsym e DelayTimer _DelayTimer i
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L176:
.blkb 15
.area idata
.byte 52,53,'D,'B,50,49,181,216,214,183,208,222,184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L174:
.blkb 15
.area idata
.byte 52,53,'D,'B,50,49,202,253,190,221,208,222,184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L171:
.blkb 19
.area idata
.byte 196,218,178,191,'E,'E,'P,'R,'O,'M,202,253,190,221,208,222
.byte 184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L168:
.blkb 19
.area idata
.byte 205,226,178,191,'E,'E,'P,'R,'O,'M,202,253,190,221,208,222
.byte 184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L152:
.blkb 17
.area idata
.byte 52,53,'D,'B,50,49,191,233,181,216,214,183,208,222,184,196
.byte 0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L144:
.blkb 8
.area idata
.byte 'A,'D,'C,196,163,202,189,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L141:
.blkb 19
.area idata
.byte 196,218,178,191,'E,'E,'P,'R,'O,'M,181,216,214,183,208,222
.byte 184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L139:
.blkb 19
.area idata
.byte 205,226,178,191,'E,'E,'P,'R,'O,'M,181,216,214,183,208,222
.byte 184,196,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L118:
.blkb 17
.area idata
.byte 52,53,'D,'B,50,49,32,'W,'r,'i,'t,'e,32,'E,'n,'d
.byte 0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L117:
.blkb 19
.area idata
.byte 52,53,'D,'B,50,49,32,'W,'r,'i,'t,'e,32,'S,'t,'a
.byte 'r,'t,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L115:
.blkb 16
.area idata
.byte 52,53,'D,'B,50,49,32,'R,'e,'a,'d,32,'E,'n,'d,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L114:
.blkb 18
.area idata
.byte 52,53,'D,'B,50,49,32,'R,'e,'a,'d,32,32,'D,'a,'t
.byte 'a,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L113:
.blkb 23
.area idata
.byte 52,53,'D,'B,50,49,32,'R,'e,'a,'d,32,'S,'t,'a,'r
.byte 't,32,'A,'d,'d,'r,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L90:
.blkb 9
.area idata
.byte 202,177,214,211,196,163,202,189,0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
L89:
.blkb 17
.area idata
.byte 184,187,211,209,199,218,181,231,215,211,'M,56,'D,'E,'M,'O
.byte 0
.area data(ram, con, rel)
.dbfile D:\Datasheet\Atmel\FROMJI~1\AVR_Demo\m8\SoftWare\M8Demo.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -