📄 ad.lst
字号:
copy_loop: C:\MCC18\src\traditional\startup\c018i.c
00024e e102 BNZ 0x254 bnz 2 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c
000250 5384 MOVF 0x84,0x1,0x1 movf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c
000252 e007 BZ 0x262 bz 7 // done_copying C:\MCC18\src\traditional\startup\c018i.c
C:\MCC18\src\traditional\startup\c018i.c
copy_one_byte: C:\MCC18\src\traditional\startup\c018i.c
000254 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000256 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000258 6eee MOVWF 0xee,0x0 movwf POSTINC0, 0 C:\MCC18\src\traditional\startup\c018i.c
C:\MCC18\src\traditional\startup\c018i.c
// decrement byte counter C:\MCC18\src\traditional\startup\c018i.c
00025a 0783 DECF 0x83,0x1,0x1 decf curr_byte, 1, 1 C:\MCC18\src\traditional\startup\c018i.c
00025c e2f8 BC 0x24e bc -8 // copy_loop C:\MCC18\src\traditional\startup\c018i.c
00025e 0784 DECF 0x84,0x1,0x1 decf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c
000260 d7f9 BRA 0x254 bra -7 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c
C:\MCC18\src\traditional\startup\c018i.c
done_copying: C:\MCC18\src\traditional\startup\c018i.c
C:\MCC18\src\traditional\startup\c018i.c
_endasm C:\MCC18\src\traditional\startup\c018i.c
/* restore the table pointer for the next entry */ C:\MCC18\src\traditional\startup\c018i.c
000262 c087 MOVFF 0x87,0xff6 TBLPTR = data_ptr; C:\MCC18\src\traditional\startup\c018i.c
000264 fff6
000266 c088 MOVFF 0x88,0xff7
000268 fff7
00026a c089 MOVFF 0x89,0xff8
00026c fff8
/* next entry... */ C:\MCC18\src\traditional\startup\c018i.c
00026e 0100 MOVLB 0x0 curr_entry--; C:\MCC18\src\traditional\startup\c018i.c
000270 0785 DECF 0x85,0x1,0x1
000272 0e00 MOVLW 0x0
000274 5b86 SUBWFB 0x86,0x1,0x1
000276 d7bf BRA 0x1f6 goto test; C:\MCC18\src\traditional\startup\c018i.c
done: C:\MCC18\src\traditional\startup\c018i.c
; C:\MCC18\src\traditional\startup\c018i.c
000278 0012 RETURN 0x0 } C:\MCC18\src\traditional\startup\c018i.c
#include<p18f4620.h> E:\2420\LAB\AD\ad.c
E:\2420\LAB\AD\ad.c
E:\2420\LAB\AD\ad.c
void initial() E:\2420\LAB\AD\ad.c
{ E:\2420\LAB\AD\ad.c
00002c 6af2 CLRF 0xf2,0x0 INTCON=0x00; //bit7-bit0:关总中断 */ E:\2420\LAB\AD\ad.c
00002e 0e07 MOVLW 0x7 ADCON1=0X07; //* 设置数字输入输出口 */ E:\2420\LAB\AD\ad.c
000030 6ec1 MOVWF 0xc1,0x0
000032 6a9d CLRF 0x9d,0x0 PIE1=0; E:\2420\LAB\AD\ad.c
000034 6aa0 CLRF 0xa0,0x0 PIE2=0; E:\2420\LAB\AD\ad.c
000036 0012 RETURN 0x0 } E:\2420\LAB\AD\ad.c
E:\2420\LAB\AD\ad.c
/* **************************************************************** E:\2420\LAB\AD\ad.c
** 函 数 名: sciinitial() E:\2420\LAB\AD\ad.c
** 功能描述: 232串行通讯初始化子程序,设置低优先级中断接收,使能232收和发 E:\2420\LAB\AD\ad.c
*************************************************************** */ E:\2420\LAB\AD\ad.c
void EUSART_Init() E:\2420\LAB\AD\ad.c
{ E:\2420\LAB\AD\ad.c
000038 0ea4 MOVLW 0xa4 TXSTA=0xa4; //选择异步高速方式传输8位数据 E:\2420\LAB\AD\ad.c
00003a 6eac MOVWF 0xac,0x0
00003c 0e90 MOVLW 0x90 RCSTA=0x90; //允许串行口工作使能, E:\2420\LAB\AD\ad.c
00003e 6eab MOVWF 0xab,0x0
000040 6ab8 CLRF 0xb8,0x0 BAUDCON=0x00; E:\2420\LAB\AD\ad.c
000042 0e80 MOVLW 0x80 TRISC=TRISC|0X80; //将RC7(RX)设置为输入方式 E:\2420\LAB\AD\ad.c
000044 1094 IORWF 0x94,0x0,0x0
000046 6e94 MOVWF 0x94,0x0
000048 0ebf MOVLW 0xbf TRISC=TRISC&0Xbf; //RC6(TX)设置为输出 E:\2420\LAB\AD\ad.c
00004a 1494 ANDWF 0x94,0x0,0x0
00004c 6e94 MOVWF 0x94,0x0
00004e 0e19 MOVLW 0x19 SPBRG=25; //4M晶振时波特率为25 E:\2420\LAB\AD\ad.c
000050 6eaf MOVWF 0xaf,0x0
000052 0012 RETURN 0x0 } E:\2420\LAB\AD\ad.c
000054 cfd9 MOVFF 0xfd9,0xfe6 void sent_ch(unsigned char d) E:\2420\LAB\AD\ad.c
000056 ffe6
000058 cfe1 MOVFF 0xfe1,0xfd9
00005a ffd9
{ E:\2420\LAB\AD\ad.c
00005c 989e BCF 0x9e,0x4,0x0 PIR1bits.TXIF=0; //清发送接收中断标志位 E:\2420\LAB\AD\ad.c
00005e 0efe MOVLW 0xfe TXREG=d; // 返送接收到的数据 E:\2420\LAB\AD\ad.c
000060 50db MOVF 0xdb,0x0,0x0
000062 6ead MOVWF 0xad,0x0
000064 0000 NOP Nop(); E:\2420\LAB\AD\ad.c
000066 a2ac BTFSS 0xac,0x1,0x0 while(TXSTAbits.TRMT==0); E:\2420\LAB\AD\ad.c
000068 d7fe BRA 0x66
00006a 52e5 MOVF 0xe5,0x1,0x0 } E:\2420\LAB\AD\ad.c
00006c cfe7 MOVFF 0xfe7,0xfd9
00006e ffd9
000070 0012 RETURN 0x0
E:\2420\LAB\AD\ad.c
void AD_Init() E:\2420\LAB\AD\ad.c
{ E:\2420\LAB\AD\ad.c
000072 0e0d MOVLW 0xd ADCON1=0x0d; //参看电压为VCC~GND,配置IN0和IN1 E:\2420\LAB\AD\ad.c
000074 6ec1 MOVWF 0xc1,0x0
000076 0ea6 MOVLW 0xa6 ADCON2=0xA6; //AD结果右对齐,8个TAD,Fos/64 E:\2420\LAB\AD\ad.c
000078 6ec0 MOVWF 0xc0,0x0
00007a 0e01 MOVLW 0x1 ADCON0=1; //启动AD E:\2420\LAB\AD\ad.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -