📄 d matrix.lst
字号:
C:\MCC18\example\AV MATRIX\D MATRIX.c
//高优先级中断服务程序 C:\MCC18\example\AV MATRIX\D MATRIX.c
#pragma code C:\MCC18\example\AV MATRIX\D MATRIX.c
#pragma interrupt InterruptHandlerHigh C:\MCC18\example\AV MATRIX\D MATRIX.c
00006e cfda MOVFF 0xfda,0xfe4 void InterruptHandlerHigh () C:\MCC18\example\AV MATRIX\D MATRIX.c
000070 ffe4
000072 cfe2 MOVFF 0xfe2,0xfda
000074 ffda
000076 cfe9 MOVFF 0xfe9,0xfe4
000078 ffe4
00007a cfea MOVFF 0xfea,0xfe4
00007c ffe4
00007e 52e6 MOVF 0xe6,0x1,0x0
{ C:\MCC18\example\AV MATRIX\D MATRIX.c
000080 aa9e BTFSS 0x9e,0x5,0x0 while(PIR1bits.RCIF==1) //若接收中断标志不为1,返回 C:\MCC18\example\AV MATRIX\D MATRIX.c
000082 d00e BRA 0xa0
00009e d7f0 BRA 0x80
{ C:\MCC18\example\AV MATRIX\D MATRIX.c
000084 9a9e BCF 0x9e,0x5,0x0 PIR1bits.RCIF=0; C:\MCC18\example\AV MATRIX\D MATRIX.c
000086 0100 MOVLB 0x0 RC_s[RC_Count++]=RCREG; //将接收到的数据放入RC_s[] C:\MCC18\example\AV MATRIX\D MATRIX.c
000088 516d MOVF 0x6d,0x0,0x1
00008a 2b6d INCF 0x6d,0x1,0x1
00008c 6aea CLRF 0xea,0x0
00008e 0f60 ADDLW 0x60
000090 6ee9 MOVWF 0xe9,0x0
000092 0e00 MOVLW 0x0
000094 22ea ADDWFC 0xea,0x1,0x0
000096 cfae MOVFF 0xfae,0xfef
000098 ffef
00009a 6ad6 CLRF 0xd6,0x0 TMR0L = 0; // Reset Timer0 to 0x0000 C:\MCC18\example\AV MATRIX\D MATRIX.c
00009c 8ed5 BSF 0xd5,0x7,0x0 T0CONbits.TMR0ON = 1; // 起动限时监控 C:\MCC18\example\AV MATRIX\D MATRIX.c
} C:\MCC18\example\AV MATRIX\D MATRIX.c
0000a0 0100 MOVLB 0x0 if((TX_Count<byte_Count)&&(PIE1bits.TXIE)) //需要发送 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000a2 516e MOVF 0x6e,0x0,0x1
0000a4 5d6f SUBWF 0x6f,0x0,0x1
0000a6 e214 BC 0xd0
0000a8 509d MOVF 0x9d,0x0,0x0
0000aa 0b10 ANDLW 0x10
0000ac e011 BZ 0xd0
{ C:\MCC18\example\AV MATRIX\D MATRIX.c
0000ae a89e BTFSS 0x9e,0x4,0x0 if(PIR1bits.TXIF==1){ //若缓冲空 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000b0 d009 BRA 0xc4
0000b2 516f MOVF 0x6f,0x0,0x1 TXREG=RC_s[TX_Count++]; //发送一个字节,发送计数加一 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000b4 2b6f INCF 0x6f,0x1,0x1
0000b6 6aea CLRF 0xea,0x0
0000b8 0f60 ADDLW 0x60
0000ba 6ee9 MOVWF 0xe9,0x0
0000bc 0e00 MOVLW 0x0
0000be 22ea ADDWFC 0xea,0x1,0x0
0000c0 50ef MOVF 0xef,0x0,0x0
0000c2 6ead MOVWF 0xad,0x0
} C:\MCC18\example\AV MATRIX\D MATRIX.c
0000c4 516e MOVF 0x6e,0x0,0x1 if(TX_Count==byte_Count){ //不需要发送 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000c6 5d6f SUBWF 0x6f,0x0,0x1
0000c8 e103 BNZ 0xd0
0000ca 989d BCF 0x9d,0x4,0x0 PIE1bits.TXIE=0; //发送中断不使能 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000cc 6b6f CLRF 0x6f,0x1 TX_Count=0; //准备再次发送记数 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000ce 6b6e CLRF 0x6e,0x1 byte_Count=0; C:\MCC18\example\AV MATRIX\D MATRIX.c
} C:\MCC18\example\AV MATRIX\D MATRIX.c
} C:\MCC18\example\AV MATRIX\D MATRIX.c
0000d0 52e5 MOVF 0xe5,0x1,0x0 } C:\MCC18\example\AV MATRIX\D MATRIX.c
0000d2 cfe5 MOVFF 0xfe5,0xfea
0000d4 ffea
0000d6 cfe5 MOVFF 0xfe5,0xfe9
0000d8 ffe9
0000da cfe5 MOVFF 0xfe5,0xfda
0000dc ffda
0000de 0011 RETFIE 0x1
C:\MCC18\example\AV MATRIX\D MATRIX.c
//初始化程序 C:\MCC18\example\AV MATRIX\D MATRIX.c
void C:\MCC18\example\AV MATRIX\D MATRIX.c
OpenUart(void) C:\MCC18\example\AV MATRIX\D MATRIX.c
{ C:\MCC18\example\AV MATRIX\D MATRIX.c
0000e0 0e19 MOVLW 0x19 SPBRG=0x19; //选择传输波特率为9600bps C:\MCC18\example\AV MATRIX\D MATRIX.c
0000e2 6eaf MOVWF 0xaf,0x0
0000e4 0e04 MOVLW 0x4 TXSTA=0X04; //选择异步高速方式传输8位数据 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000e6 6eac MOVWF 0xac,0x0
0000e8 0e80 MOVLW 0x80 RCSTA=0X80; //允许异步串行口工作 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000ea 6eab MOVWF 0xab,0x0
0000ec 6e94 MOVWF 0x94,0x0 TRISC=0X80; //将RC7,RC6设置为输入 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000ee 967e BCF 0x7e,0x3,0x0 BAUDCONbits.BRG16=0; //高速波特率 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000f0 8aac BSF 0xac,0x5,0x0 TXSTAbits.TXEN=1; //发送允许 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000f2 88ab BSF 0xab,0x4,0x0 RCSTAbits.CREN=1; //接受允许 C:\MCC18\example\AV MATRIX\D MATRIX.c
0000f4 8a9d BSF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -