📄 ocr0.lis
字号:
0016 0701 .word `L45
0018 1201 .word `L46
001A 1D01 .word `L47
001C 2801 .word `L48
001E 3301 .word `L49
.area text(rom, con, rel)
00D6 .dbfile C:\DOCUME~1\Administrator\桌面\新建文~1\OCR0\OCR0.c
00D6 ; abc -> <dead>
00D6 ; i -> R20
00D6 ; keyval1 -> R22
00D6 ; keyval2 -> R10
.even
00D6 _main::
00D6 .dbline -1
00D6 .dbline 71
00D6 ; }
00D6 ; //-------------------------timer1-----------//
00D6 ;
00D6 ;
00D6 ;
00D6 ;
00D6 ; //call this routine to initialize all peripherals
00D6 ; void main(void)
00D6 ; {
00D6 .dbline 75
00D6 ; unsigned char abc;
00D6 ;
00D6 ; unsigned char keyval1,keyval2;
00D6 ; unsigned char i=0;
00D6 4427 clr R20
00D8 .dbline 80
00D8 ; //abc=EEPROM_read(0x14);
00D8 ; //delay_1us();
00D8 ; //OSCCAL=abc;
00D8 ; //stop errant interrupts until set up
00D8 ; CLI(); //disable all interrupts
00D8 F894 cli
00DA .dbline 81
00DA ; port_init();
00DA E9DF xcall _port_init
00DC .dbline 82
00DC ; timer0_init();
00DC F4DF xcall _timer0_init
00DE .dbline 85
00DE ; //timer1_init();
00DE ;
00DE ; MCUCR = 0x00;
00DE 2224 clr R2
00E0 25BE out 0x35,R2
00E2 .dbline 86
00E2 ; GICR = 0x00;
00E2 2BBE out 0x3b,R2
00E4 .dbline 87
00E4 ; TIMSK = 0x00; //timer interrupt sources
00E4 29BE out 0x39,R2
00E6 .dbline 88
00E6 ; SEI(); //re-enable interrupts
00E6 7894 sei
00E8 D3C0 xjmp L25
00EA L24:
00EA .dbline 91
00EA ; //all peripherals are now initialized
00EA ; while(1)
00EA ; {
00EA .dbline 94
00EA ; //PORTB=0x00;
00EA ; //DDRB=0x08;
00EA ; scan_key();
00EA D4D0 xcall _scan_key
00EC .dbline 95
00EC ; keyval1=scan_key();
00EC D3D0 xcall _scan_key
00EE 602F mov R22,R16
00F0 .dbline 96
00F0 ; if (keyval1!=0x7f)
00F0 0F37 cpi R16,127
00F2 21F0 breq L27
00F4 .dbline 97
00F4 ; {
00F4 L29:
00F4 .dbline 99
00F4 ; do
00F4 ; {
00F4 .dbline 100
00F4 ; keyval2=scan_key();
00F4 CFD0 xcall _scan_key
00F6 A02E mov R10,R16
00F8 .dbline 101
00F8 ; }
00F8 L30:
00F8 .dbline 102
00F8 ; while (keyval1==keyval2);
00F8 6A15 cp R22,R10
00FA E1F3 breq L29
00FC .dbline 103
00FC ; }
00FC L27:
00FC .dbline 104
00FC ; switch(keyval1)
00FC 462F mov R20,R22
00FE 5527 clr R21
0100 4030 cpi R20,0
0102 E0E0 ldi R30,0
0104 5E07 cpc R21,R30
0106 0CF4 brge X2
0108 C3C0 xjmp L33
010A X2:
010A 8FE0 ldi R24,15
010C 90E0 ldi R25,0
010E 8417 cp R24,R20
0110 9507 cpc R25,R21
0112 0CF4 brge X3
0114 BDC0 xjmp L33
0116 X3:
0116 02E0 ldi R16,2
0118 10E0 ldi R17,0
011A 9A01 movw R18,R20
011C 0E940000 xcall empy16s
0120 F801 movw R30,R16
0122 80E0 ldi R24,<L51
0124 90E0 ldi R25,>L51
0126 E80F add R30,R24
0128 F91F adc R31,R25
012A 0590 lpm R0,Z+
012C 1490 lpm R1,Z
012E F001 movw R30,R0
0130 0994 ijmp
0132 X0:
0132 .dbline 105
0132 ; {
0132 L35:
0132 .dbline 107
0132 ; case 1: //PORTB=0x01;
0132 ; header();
0132 90DF xcall _header
0134 .dbline 108
0134 ; data_1();
0134 9BDF xcall _data_1
0136 .dbline 109
0136 ; data_0();
0136 A5DF xcall _data_0
0138 .dbline 110
0138 ; data_0();
0138 A4DF xcall _data_0
013A .dbline 111
013A ; data_0();
013A A3DF xcall _data_0
013C .dbline 112
013C ; data_0();
013C A2DF xcall _data_0
013E .dbline 113
013E ; data_0();
013E A1DF xcall _data_0
0140 .dbline 114
0140 ; data_0();
0140 A0DF xcall _data_0
0142 .dbline 115
0142 ; data_0();
0142 9FDF xcall _data_0
0144 .dbline 116
0144 ; end();
0144 A9DF xcall _end
0146 .dbline 118
0146 ;
0146 ; break;
0146 A4C0 xjmp L33
0148 L36:
0148 .dbline 121
0148 ;
0148 ; case 2: //PORTB=0x02;
0148 ; header();
0148 85DF xcall _header
014A .dbline 123
014A ;
014A ; data_0();
014A 9BDF xcall _data_0
014C .dbline 124
014C ; data_1();
014C 8FDF xcall _data_1
014E .dbline 125
014E ; data_0();
014E 99DF xcall _data_0
0150 .dbline 126
0150 ; data_0();
0150 98DF xcall _data_0
0152 .dbline 127
0152 ; data_0();
0152 97DF xcall _data_0
0154 .dbline 128
0154 ; data_0();
0154 96DF xcall _data_0
0156 .dbline 129
0156 ; data_0();
0156 95DF xcall _data_0
0158 .dbline 130
0158 ; data_0();
0158 94DF xcall _data_0
015A .dbline 131
015A ; end();
015A 9EDF xcall _end
015C .dbline 133
015C ;
015C ; break;
015C 99C0 xjmp L33
015E L37:
015E .dbline 135
015E ; case 3: //PORTB=0x03;
015E ; header();
015E 7ADF xcall _header
0160 .dbline 136
0160 ; data_1();
0160 85DF xcall _data_1
0162 .dbline 137
0162 ; data_1();
0162 84DF xcall _data_1
0164 .dbline 138
0164 ; data_0();
0164 8EDF xcall _data_0
0166 .dbline 139
0166 ; data_0();
0166 8DDF xcall _data_0
0168 .dbline 140
0168 ; data_0();
0168 8CDF xcall _data_0
016A .dbline 141
016A ; data_0();
016A 8BDF xcall _data_0
016C .dbline 142
016C ; data_0();
016C 8ADF xcall _data_0
016E .dbline 143
016E ; data_0();
016E 89DF xcall _data_0
0170 .dbline 144
0170 ; end();
0170 93DF xcall _end
0172 .dbline 145
0172 ; break;
0172 8EC0 xjmp L33
0174 L38:
0174 .dbline 147
0174 ; case 4: //PORTB=0x04;
0174 ; header();
0174 6FDF xcall _header
0176 .dbline 148
0176 ; data_0();
0176 85DF xcall _data_0
0178 .dbline 149
0178 ; data_0();
0178 84DF xcall _data_0
017A .dbline 150
017A ; data_1();
017A 78DF xcall _data_1
017C .dbline 151
017C ; data_0();
017C 82DF xcall _data_0
017E .dbline 152
017E ; data_0();
017E 81DF xcall _data_0
0180 .dbline 153
0180 ; data_0();
0180 80DF xcall _data_0
0182 .dbline 154
0182 ; data_0();
0182 7FDF xcall _data_0
0184 .dbline 155
0184 ; data_0();
0184 7EDF xcall _data_0
0186 .dbline 156
0186 ; end();
0186 88DF xcall _end
0188 .dbline 157
0188 ; break;
0188 83C0 xjmp L33
018A L39:
018A .dbline 159
018A ; case 5: //PORTB=0x05;
018A ; header();
018A 64DF xcall _header
018C .dbline 160
018C ; data_1();
018C 6FDF xcall _data_1
018E .dbline 161
018E ; data_0();
018E 79DF xcall _data_0
0190 .dbline 162
0190 ; data_1();
0190 6DDF xcall _data_1
0192 .dbline 163
0192 ; data_0();
0192 77DF xcall _data_0
0194 .dbline 164
0194 ; data_0();
0194 76DF xcall _data_0
0196 .dbline 165
0196 ; data_0();
0196 75DF xcall _data_0
0198 .dbline 166
0198 ; data_0();
0198 74DF xcall _data_0
019A .dbline 167
019A ; data_0();
019A 73DF xcall _data_0
019C .dbline 168
019C ; end();
019C 7DDF xcall _end
019E .dbline 169
019E ; break;
019E 78C0 xjmp L33
01A0 L40:
01A0 .dbline 171
01A0 ; case 6: //PORTB=0x06;
01A0 ; header();
01A0 59DF xcall _header
01A2 .dbline 172
01A2 ; data_0();
01A2 6FDF xcall _data_0
01A4 .dbline 173
01A4 ; data_1();
01A4 63DF xcall _data_1
01A6 .dbline 174
01A6 ; data_1();
01A6 62DF xcall _data_1
01A8 .dbline 175
01A8 ; data_0();
01A8 6CDF xcall _data_0
01AA .dbline 176
01AA ; data_0();
01AA 6BDF xcall _data_0
01AC .dbline 177
01AC ; data_0();
01AC 6ADF xcall _data_0
01AE .dbline 178
01AE ; data_0();
01AE 69DF xcall _data_0
01B0 .dbline 179
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -