⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 18f_ad.lst

📁 pic18f4580的ad转换子程序工程文件
💻 LST
📖 第 1 页 / 共 4 页
字号:
000178   e2f8     BC        0x16a          	bc -8 // copy_loop                                                              C:\MCC18\src\traditional\startup\c018i.c
00017a   0772     DECF      0x72,0x1,0x1           decf curr_byte + 1, 1, 1                                                 C:\MCC18\src\traditional\startup\c018i.c
00017c   d7f9     BRA       0x170          	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
00017e   c075     MOVFF     0x75,0xff6           TBLPTR = data_ptr;                                                         C:\MCC18\src\traditional\startup\c018i.c
000180   fff6                                                                                                               
000182   c076     MOVFF     0x76,0xff7                                                                                      
000184   fff7                                                                                                               
000186   c077     MOVFF     0x77,0xff8                                                                                      
000188   fff8                                                                                                               
                                                 /* next entry... */                                                        C:\MCC18\src\traditional\startup\c018i.c
00018a   0100     MOVLB     0x0                  curr_entry--;                                                              C:\MCC18\src\traditional\startup\c018i.c
00018c   0773     DECF      0x73,0x1,0x1                                                                                    
00018e   0e00     MOVLW     0x0                                                                                             
000190   5b74     SUBWFB    0x74,0x1,0x1                                                                                    
000192   d7bf     BRA       0x112                goto test;                                                                 C:\MCC18\src\traditional\startup\c018i.c
                                           done:                                                                            C:\MCC18\src\traditional\startup\c018i.c
                                           ;                                                                                C:\MCC18\src\traditional\startup\c018i.c
000194   0012     RETURN    0x0            }                                                                                C:\MCC18\src\traditional\startup\c018i.c
                                           //************************************************                               D:\work\pic\18f_ad\18f_ad.c
                                           //用18f6585写的5通道ad程序,2006-9-22调试通过                                    D:\work\pic\18f_ad\18f_ad.c
                                           //************************************************                               D:\work\pic\18f_ad\18f_ad.c
                                           #include<p18f6585.h>                                                             D:\work\pic\18f_ad\18f_ad.c
                                           #include<math.h>                                                                 D:\work\pic\18f_ad\18f_ad.c
                                           void Int_tmr0(void);                                                             D:\work\pic\18f_ad\18f_ad.c
                                           void ad_init(void);                                                              D:\work\pic\18f_ad\18f_ad.c
                                           void initial(void);                                                              D:\work\pic\18f_ad\18f_ad.c
                                                                                                                            D:\work\pic\18f_ad\18f_ad.c
                                           int count,res[5];                                                                D:\work\pic\18f_ad\18f_ad.c
                                           union adres                                                                      D:\work\pic\18f_ad\18f_ad.c
                                           {                                                                                D:\work\pic\18f_ad\18f_ad.c
                                           	int				y1;                                                                      D:\work\pic\18f_ad\18f_ad.c
                                           	unsigned char	adre[2];                                                          D:\work\pic\18f_ad\18f_ad.c
                                           }adresult;//使用联合来存放ad转换的结果                                           D:\work\pic\18f_ad\18f_ad.c
                                                                                                                            D:\work\pic\18f_ad\18f_ad.c
                                           //ad初始化                                                                       D:\work\pic\18f_ad\18f_ad.c
                                           void ad_init(void)                                                               D:\work\pic\18f_ad\18f_ad.c
                                           {                                                                                D:\work\pic\18f_ad\18f_ad.c
00002c   80c2     BSF       0xc2,0x0,0x0   	ADCON0bits.ADON=1;//ad转换器工作                                                D:\work\pic\18f_ad\18f_ad.c
00002e   0e82     MOVLW     0x82           	ADCON1=0x82;//选择5个口均为模拟输入                                             D:\work\pic\18f_ad\18f_ad.c
000030   6ec1     MOVWF     0xc1,0x0                                                                                        
000032   9c9e     BCF       0x9e,0x6,0x0   	PIR1bits.ADIF=0;                                                                D:\work\pic\18f_ad\18f_ad.c
000034   0e2f     MOVLW     0x2f           	TRISA=0x2f;//RA4为输出,其他均为输入                                            D:\work\pic\18f_ad\18f_ad.c
000036   6e92     MOVWF     0x92,0x0                                                                                        
000038   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_ad\18f_ad.c
                                           //主程序初始化                                                                   D:\work\pic\18f_ad\18f_ad.c
                                           void initial(void)                                                               D:\work\pic\18f_ad\18f_ad.c
                                           {                                                                                D:\work\pic\18f_ad\18f_ad.c
00003a   0ea0     MOVLW     0xa0           	INTCON=0xa0;//开放总中断和T0中断                                                D:\work\pic\18f_ad\18f_ad.c
00003c   6ef2     MOVWF     0xf2,0x0                                                                                        
00003e   84f1     BSF       0xf1,0x2,0x0   	INTCON2bits.TMR0IP=1;//tmr0高优先中断                                           D:\work\pic\18f_ad\18f_ad.c
000040   0e01     MOVLW     0x1            	TMR0L=0x01;                                                                     D:\work\pic\18f_ad\18f_ad.c
000042   6ed6     MOVWF     0xd6,0x0                                                                                        
000044   6ad7     CLRF      0xd7,0x0       	TMR0H=0x00;//装初值                                                             D:\work\pic\18f_ad\18f_ad.c
000046   0e87     MOVLW     0x87           	T0CON=0x87;//使能tmr0,16位,预分频位256                                        D:\work\pic\18f_ad\18f_ad.c
000048   6ed5     MOVWF     0xd5,0x0                                                                                        
00004a   6a93     CLRF      0x93,0x0       	TRISB=0;//设置输出为0                                                           D:\work\pic\18f_ad\18f_ad.c
00004c   6a81     CLRF      0x81,0x0       	PORTB=0x00;                                                                     D:\work\pic\18f_ad\18f_ad.c
00004e   0100     MOVLB     0x0            	count=0;                                                                        D:\work\pic\18f_ad\18f_ad.c
000050   6b60     CLRF      0x60,0x1                                                                                        
000052   6b61     CLRF      0x61,0x1                                                                                        
000054   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_ad\18f_ad.c
                                                                                                                            D:\work\pic\18f_ad\18f_ad.c
                                                                                                                            D:\work\pic\18f_ad\18f_ad.c
                                           void main(void)                                                                  D:\work\pic\18f_ad\18f_ad.c
                                           {                                                                                D:\work\pic\18f_ad\18f_ad.c
000056   dfea     RCALL     0x2c           	ad_init();                                                                      D:\work\pic\18f_ad\18f_ad.c
000058   dff0     RCALL     0x3a           	initial();                                                                      D:\work\pic\18f_ad\18f_ad.c
00005a   8ef2     BSF       0xf2,0x7,0x0   	INTCONbits.GIE=1;                                                               D:\work\pic\18f_ad\18f_ad.c
00005c   82c2     BSF       0xc2,0x1,0x0   	ADCON0bits.GO=1;                                                                D:\work\pic\18f_ad\18f_ad.c
00005e   d7ff     BRA       0x5e           	while(1)                                                                        D:\work\pic\18f_ad\18f_ad.c
                                           	{                                                                               D:\work\pic\18f_ad\18f_ad.c
                                           	;	                                                                              D:\work\pic\18f_ad\18f_ad.c
                                           	}                                                                               D:\work\pic\18f_ad\18f_ad.c
000060   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_ad\18f_ad.c
                                           #pragma code InterruptVectorHigh=0x08//从中断向量地址跳转的服务程序              D:\work\pic\18f_ad\18f_ad.c
                                           void InterruptVectorHigh(void)                                                   D:\work\pic\18f_ad\18f_ad.c
                                           {                                                                                D:\work\pic\18f_ad\18f_ad.c
                                           	_asm                                                                            D:\work\pic\18f_ad\18f_ad.c
000008   ef31     GOTO      0x62           	goto	Int_tmr0//跳转要执行的子程序                                               D:\work\pic\18f_ad\18f_ad.c
00000a   f000                                                                                                               
                                           	_endasm                                                                         D:\work\pic\18f_ad\18f_ad.c
00000c   0012     RETURN    0x0            }                                                                                D:\work\pic\18f_ad\18f_ad.c
                                           //定时中断来读取5通道的ad转换值                                                  D:\work\pic\18f_ad\18f_ad.c
                                           #pragma code                                                                     D:\work\pic\18f_ad\18f_ad.c
                                           #pragma interrupt Int_tmr0                                                       D:\work\pic\18f_ad\18f_ad.c
000062   cfda     MOVFF     0xfda,0xfe4    void Int_tmr0()                                                                  D:\work\pic\18f_ad\18f_ad.c
000064   ffe4                                                                                                               
000066   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000068   ffda                                                                                                               
00006a   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
00006c   ffe4                                                                                                               
00006e   cfea     MOVFF     0xfea,0xfe4                                                                                     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -