📄 harve.lst
字号:
0048: BSF 06.3
.................... delay_cycles(4);
0049: NOP
004A: NOP
004B: NOP
004C: NOP
.................... ucTmpCmd<<=1;
004D: BCF 03.0
004E: RLF 44,F
.................... }
004F: INCF 45,F
0050: GOTO 039
.................... HT1621_CS=1;
0051: BSF 06.5
.................... delay_cycles(8);
0052: MOVLW 02
0053: MOVWF 20
0054: DECFSZ 20,F
0055: GOTO 054
0056: NOP
.................... }
0057: RETLW 00
....................
.................... ///////////////////////////
.................... // adder //
.................... ///////////////////////////
.................... void Ht1621WrDataCmd(unsigned char ucAddr)
.................... {
.................... unsigned char i,ucDataCmd=0x05; //101
*
00AB: MOVLW 05
00AC: MOVWF 46
.................... ucDataCmd<<=5;
00AD: SWAPF 46,F
00AE: RLF 46,F
00AF: MOVLW E0
00B0: ANDWF 46,F
.................... for (i=0;i<3;i++)
00B1: CLRF 45
00B2: MOVF 45,W
00B3: SUBLW 02
00B4: BTFSS 03.0
00B5: GOTO 0CA
.................... {
.................... if (ucDataCmd&0x80) HT1621_DAT=1;
00B6: BTFSS 46.7
00B7: GOTO 0BA
00B8: BSF 06.2
.................... else HT1621_DAT=0;
00B9: GOTO 0BB
00BA: BCF 06.2
.................... HT1621_WR=0;
00BB: BCF 06.3
.................... delay_cycles(8);
00BC: MOVLW 02
00BD: MOVWF 20
00BE: DECFSZ 20,F
00BF: GOTO 0BE
00C0: NOP
.................... HT1621_WR=1;
00C1: BSF 06.3
.................... delay_cycles(4);
00C2: NOP
00C3: NOP
00C4: NOP
00C5: NOP
.................... ucDataCmd<<=1;
00C6: BCF 03.0
00C7: RLF 46,F
.................... }
00C8: INCF 45,F
00C9: GOTO 0B2
.................... ucAddr<<=2;
00CA: RLF 44,F
00CB: RLF 44,F
00CC: MOVLW FC
00CD: ANDWF 44,F
.................... for (i=0;i<6;i++)
00CE: CLRF 45
00CF: MOVF 45,W
00D0: SUBLW 05
00D1: BTFSS 03.0
00D2: GOTO 0E7
.................... {
.................... if (ucAddr&0x80) HT1621_DAT=1;
00D3: BTFSS 44.7
00D4: GOTO 0D7
00D5: BSF 06.2
.................... else HT1621_DAT=0;
00D6: GOTO 0D8
00D7: BCF 06.2
.................... HT1621_WR=0;
00D8: BCF 06.3
.................... delay_cycles(8);
00D9: MOVLW 02
00DA: MOVWF 20
00DB: DECFSZ 20,F
00DC: GOTO 0DB
00DD: NOP
.................... HT1621_WR=1;
00DE: BSF 06.3
.................... delay_cycles(4);
00DF: NOP
00E0: NOP
00E1: NOP
00E2: NOP
.................... ucAddr<<=1;
00E3: BCF 03.0
00E4: RLF 44,F
.................... }
00E5: INCF 45,F
00E6: GOTO 0CF
.................... }
00E7: BCF 0A.3
00E8: GOTO 277 (RETURN)
....................
.................... ///////////////////////////
.................... // write a word //
.................... ///////////////////////////
.................... void Ht1621WrByte(unsigned char ucTmpData)
.................... {
.................... unsigned char i;
.................... for (i=0;i<8;i++)
00E9: CLRF 46
00EA: MOVF 46,W
00EB: SUBLW 07
00EC: BTFSS 03.0
00ED: GOTO 106
.................... {
.................... if (ucTmpData&0x80)
.................... HT1621_DAT=1;
00EE: BTFSS 45.7
00EF: GOTO 0F2
00F0: BSF 06.2
.................... else
.................... HT1621_DAT=0;
00F1: GOTO 0F3
00F2: BCF 06.2
.................... HT1621_WR=0;
00F3: BCF 06.3
.................... delay_cycles(8);
00F4: MOVLW 02
00F5: MOVWF 20
00F6: DECFSZ 20,F
00F7: GOTO 0F6
00F8: NOP
.................... HT1621_WR=1;
00F9: BSF 06.3
.................... delay_cycles(4);
00FA: NOP
00FB: NOP
00FC: NOP
00FD: NOP
.................... if (i<4)
.................... ucTmpData<<=1;
00FE: MOVF 46,W
00FF: SUBLW 03
0100: BTFSS 03.0
0101: GOTO 104
0102: BCF 03.0
0103: RLF 45,F
.................... }
0104: INCF 46,F
0105: GOTO 0EA
.................... for (i=0;i<8;i++)
0106: CLRF 46
0107: MOVF 46,W
0108: SUBLW 07
0109: BTFSS 03.0
010A: GOTO 11F
.................... {
.................... if (ucTmpData&0x80)
.................... HT1621_DAT=1;
010B: BTFSS 45.7
010C: GOTO 10F
010D: BSF 06.2
.................... else
.................... HT1621_DAT=0;
010E: GOTO 110
010F: BCF 06.2
.................... HT1621_WR=0;
0110: BCF 06.3
.................... delay_cycles(8);
0111: MOVLW 02
0112: MOVWF 20
0113: DECFSZ 20,F
0114: GOTO 113
0115: NOP
.................... HT1621_WR=1;
0116: BSF 06.3
.................... delay_cycles(4);
0117: NOP
0118: NOP
0119: NOP
011A: NOP
.................... ucTmpData<<=1;
011B: BCF 03.0
011C: RLF 45,F
.................... }
011D: INCF 46,F
011E: GOTO 107
.................... }
011F: RETLW 00
....................
.................... void soundout(void)
.................... {
.................... unsigned char sound_code,i,sounddata;
.................... sounddata=new_rx_data;
*
01BF: MOVF 40,W
01C0: MOVWF 46
.................... // TMR1ON=0;
.................... if(sounddata<170)
.................... {//red=!red;
01C1: MOVF 46,W
01C2: SUBLW A9
01C3: BTFSS 03.0
01C4: GOTO 232
.................... if(sounddata<40)
.................... sound_code=0xCE;
01C5: MOVF 46,W
01C6: SUBLW 27
01C7: BTFSS 03.0
01C8: GOTO 1CC
01C9: MOVLW CE
01CA: MOVWF 44
.................... else if(sounddata<=50)
01CB: GOTO 1F8
.................... sound_code=0x4E;
01CC: MOVF 46,W
01CD: SUBLW 32
01CE: BTFSS 03.0
01CF: GOTO 1D3
01D0: MOVLW 4E
01D1: MOVWF 44
.................... else if(sounddata<=70)
01D2: GOTO 1F8
.................... sound_code=0x8E;
01D3: MOVF 46,W
01D4: SUBLW 46
01D5: BTFSS 03.0
01D6: GOTO 1DA
01D7: MOVLW 8E
01D8: MOVWF 44
.................... else if(sounddata<=90)
01D9: GOTO 1F8
.................... sound_code=0x0E;
01DA: MOVF 46,W
01DB: SUBLW 5A
01DC: BTFSS 03.0
01DD: GOTO 1E1
01DE: MOVLW 0E
01DF: MOVWF 44
.................... else if(sounddata<=110)
01E0: GOTO 1F8
.................... sound_code=0xF6;
01E1: MOVF 46,W
01E2: SUBLW 6E
01E3: BTFSS 03.0
01E4: GOTO 1E8
01E5: MOVLW F6
01E6: MOVWF 44
.................... else if(sounddata<=130)
01E7: GOTO 1F8
.................... sound_code=0x76;
01E8: MOVF 46,W
01E9: SUBLW 82
01EA: BTFSS 03.0
01EB: GOTO 1EF
01EC: MOVLW 76
01ED: MOVWF 44
.................... else if(sounddata<=150)
01EE: GOTO 1F8
.................... sound_code=0xB6;
01EF: MOVF 46,W
01F0: SUBLW 96
01F1: BTFSS 03.0
01F2: GOTO 1F6
01F3: MOVLW B6
01F4: MOVWF 44
.................... else //if(sounddata<=170)
.................... sound_code=0x36;
01F5: GOTO 1F8
01F6: MOVLW 36
01F7: MOVWF 44
....................
.................... if(((sound_code!=olddata)||(sound_code==0xCE))&&(!P01))
.................... {
01F8: MOVF 3F,W
01F9: SUBWF 44,W
01FA: BTFSS 03.2
01FB: GOTO 200
01FC: MOVF 44,W
01FD: SUBLW CE
01FE: BTFSS 03.2
01FF: GOTO 232
0200: BTFSC 07.4
0201: GOTO 232
.................... olddata=sound_code;
0202: MOVF 44,W
0203: MOVWF 3F
.................... // if((sounddata<160)&&(!P01)){
.................... // olddata=sound_code;
.................... // if(!P01)
.................... // {
.................... P00=0;
0204: BCF 07.2
.................... delay_ms(16);
0205: MOVLW 10
0206: MOVWF 47
0207: CALL 004
.................... for(i=8;i>0;i--)
0208: MOVLW 08
0209: MOVWF 45
020A: MOVF 45,F
020B: BTFSC 03.2
020C: GOTO 231
.................... {
.................... //sounddata=sounddata<<1;
.................... #asm
.................... RRF sound_code,f
020D: RRF 44,F
.................... #endasm
.................... if(C)
.................... {
020E: BTFSS 03.0
020F: GOTO 220
.................... P00=1;delay_ms(1);
0210: BSF 07.2
0211: MOVLW 01
0212: MOVWF 47
0213: CALL 004
.................... P00=0;delay_us(250);delay_us(250);
0214: BCF 07.2
0215: MOVLW A6
0216: MOVWF 20
0217: DECFSZ 20,F
0218: GOTO 217
0219: NOP
021A: MOVLW A6
021B: MOVWF 20
021C: DECFSZ 20,F
021D: GOTO 21C
021E: NOP
.................... }
.................... else
.................... {
021F: GOTO 22F
.................... P00=1;delay_us(250);delay_us(250);
0220: BSF 07.2
0221: MOVLW A6
0222: MOVWF 20
0223: DECFSZ 20,F
0224: GOTO 223
0225: NOP
0226: MOVLW A6
0227: MOVWF 20
0228: DECFSZ 20,F
0229: GOTO 228
022A: NOP
.................... P00=0;delay_ms(1);
022B: BCF 07.2
022C: MOVLW 01
022D: MOVWF 47
022E: CALL 004
.................... }
.................... }
022F: DECF 45,F
0230: GOTO 20A
.................... P00=1;
0231: BSF 07.2
.................... }
.................... }
.................... }
0232: BCF 0A.3
0233: GOTO 28F (RETURN)
....................
Configuration Fuses:
Word 1: 3FBA HS NOWDT NOPUT NOPROTECT NOBROWNOUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -