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

📄 harve.lst

📁 6探头液晶显示倒车雷达系统 方位指示
💻 LST
📖 第 1 页 / 共 3 页
字号:
CCS PCM C Compiler, Version 3.187, 16465

               Filename: harve.LST

               ROM used: 662 (16%)
                         Largest free fragment is 2048
               RAM used: 37 (19%) at main() level
                         42 (22%) worst case
               Stack:    2 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   234
0003:  NOP
....................  #include "harve.h" 
....................  #include <16F73.h> 
....................  //////// Standard Header file for the PIC16F73 device ////////////////  
.................... #device PIC16F73  
.................... #list  
....................  
.................... //#include <stdio.h>  
.................... #device adc=8  
.................... #use delay(clock=8000000)  
0004:  MOVLW  47
0005:  MOVWF  04
0006:  MOVF   00,W
0007:  BTFSC  03.2
0008:  GOTO   016
0009:  MOVLW  02
000A:  MOVWF  21
000B:  CLRF   20
000C:  DECFSZ 20,F
000D:  GOTO   00C
000E:  DECFSZ 21,F
000F:  GOTO   00B
0010:  MOVLW  97
0011:  MOVWF  20
0012:  DECFSZ 20,F
0013:  GOTO   012
0014:  DECFSZ 00,F
0015:  GOTO   009
0016:  RETLW  00
.................... #fuses NOWDT,HS, NOPUT, NOPROTECT, NOBROWNOUT  
.................... //#use    rs232(baud=9600, parity=N,xmit=PIN_C6,rcv=PIN_C7,stream=,bits=8)  
....................  
.................... #byte   STATUS=0x03  
.................... #bit    C=STATUS.0  
.................... #byte   SPBRG=0x99  
.................... #byte   TXSTA=0x98  
.................... #byte   RCSTA=0x18  
.................... #byte   TXREG=0x19  
.................... #byte   RCREG=0x1A  
.................... #bit    RX9 =RCSTA.6  
.................... #bit    CREN=RCSTA.4  
.................... #bit    FERR=RCSTA.2  
.................... #bit    RX9D=RCSTA.0  
.................... #bit    OERR=RCSTA.1  
.................... #bit    SPEN=RCSTA.7  
.................... #bit    CSRC=TXSTA.7  
.................... #bit    TXEN=TXSTA.5  
.................... #bit    SYNC=TXSTA.4  
.................... #bit    BRGH=TXSTA.2  
.................... #bit    TRMT=TXSTA.1  
.................... #bit    TX9 =TXSTA.6      //for serial  
.................... #byte   PIR1=0x0C  
.................... #bit    RCIF=PIR1.5  
.................... #bit    TXIF=PIR1.4  
.................... #byte   TRISA=0x85  
.................... #byte   TRISB=0x86  
.................... #byte   TRISC=0x87  
.................... #byte   POTA=0x05  
.................... #byte   POTB=0x06  
.................... #byte   POTC=0x07  
.................... //#byte   POTD=0x08  
.................... //#byte   POTE=0x09         //define port  
....................   
.................... #byte   INTCON=0x0B  
.................... #byte   OPTION=0x81  
.................... #byte   PIE1  =0x8C  
.................... #byte   PIR1  =0x0C  
.................... #byte   TMR1L = 0x0e  
.................... #byte   TMR1H = 0x0f  
.................... #byte   T1CON = 0x10  
.................... #byte   TMR0  = 0x01  
.................... #bit    TMR1ON=T1CON.0  
.................... #bit    TMR1IF=PIR1.0  
.................... #bit    T0IF=INTCON.2     //use for time  
....................   
.................... #bit    LinEN=POTA.0  
.................... #bit    testbit1=POTA.1  
.................... #bit    testbit2=POTA.2  
.................... #bit    testbit3=POTA.3  
.................... #bit    testbit4=POTA.4  
.................... #bit    testbit5=POTA.5  
.................... #bit    A1=POTC.0  
.................... #bit    A2=POTC.1  
.................... #bit    A3=POTC.2  
.................... #bit    A4=POTC.3  
.................... #bit    A5=POTC.4  
.................... #bit    CAR1=POTC.5  
.................... #bit    TXD=POTC.6  
.................... #bit    RXD=POTC.7  
....................   
.................... //#bit P02=POTC.1  
.................... //#bit P03=POTC.2  
.................... //#bit P07=POTC.3  
.................... #bit P00=POTC.2  
.................... #bit P01=POTC.4  
.................... #bit P02=POTC.3  
.................... #bit red=POTA.2  
.................... //HT1621控制位(液晶模块接口定义)  
.................... #bit HT1621_DAT=POTB.2  
.................... #bit HT1621_CS=POTB.5  //lower enable  
.................... #bit HT1621_WR=POTB.3  //rising edge  
.................... #bit LED=POTB.0        //LED  
....................   
.................... #define BIAS    0x52   //0b1000 0101 0010 1/3duty 4com  
.................... #define BIAS2   0x50   //0b1000 0101 0000 1/2duty 4com  
.................... #define SYSDIS  0x00   //0b1000 0000 0000 关振系统荡器和LCD偏压发生器  
.................... #define LCDOFF  0x04   //0b1000 0000 0100 关LCD偏压  
.................... #define LCDON   0x06   //0b1000 0000 0110 打开LCD偏压  
.................... #define SYSEN   0x02   //0b1000 0000 0010 打开系统振荡器  
.................... #define XTAL    0x28   //0b1000 0010 1000 外部接时钟  
.................... #define RC256   0x30   //0b1000 0011 0000 内部时钟  
.................... #define TONEON  0x12   //0b1000 0001 0010 打开声音输出  
.................... #define TONEOFF 0x10   //0b1000 0001 0000 关闭声音输出  
.................... #define WDTDIS  0x0A   //0b1000 0000 1010 禁止看门狗  
....................   
....................   
.................... unsigned char show[6]=0x00,0x00,0x00,0x00,0x00,0x00;  
*
023A:  BCF    03.5
023B:  CLRF   25
023C:  CLRF   26
023D:  CLRF   27
023E:  CLRF   28
023F:  CLRF   29
0240:  CLRF   2A
.................... unsigned char data[11]=0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00;  
0241:  MOVLW  FF
0242:  MOVWF  2B
0243:  MOVWF  2C
0244:  MOVWF  2D
0245:  MOVWF  2E
0246:  MOVWF  2F
0247:  CLRF   30
0248:  CLRF   31
0249:  CLRF   32
024A:  CLRF   33
024B:  CLRF   34
024C:  CLRF   35
.................... unsigned char sound[8]=0x0E,0x36,0x4E,0x76,0x8E,0xB6,0xCE,0xF6;  
024D:  MOVLW  0E
024E:  MOVWF  36
024F:  MOVLW  36
0250:  MOVWF  37
0251:  MOVLW  4E
0252:  MOVWF  38
0253:  MOVLW  76
0254:  MOVWF  39
0255:  MOVLW  8E
0256:  MOVWF  3A
0257:  MOVLW  B6
0258:  MOVWF  3B
0259:  MOVLW  CE
025A:  MOVWF  3C
025B:  MOVLW  F6
025C:  MOVWF  3D
.................... unsigned char getdatatimeout=0;  
025D:  CLRF   3E
.................... unsigned char olddata=9;  
025E:  MOVLW  09
025F:  MOVWF  3F
.................... unsigned char new_rx_data=0xFF;  
0260:  MOVLW  FF
0261:  MOVWF  40
.................... #use fixed_io(a_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4,PIN_A5)  
.................... #use fixed_io(b_outputs=PIN_B0,PIN_B2,PIN_B3,PIN_B4,PIN_B5,PIN_B6,PIN_B7)  
.................... //#use fixed_io(c_outputs=PIN_C0,PIN_C2,PIN_C3,PIN_C4,PIN_C5)                      //harve070314  
.................... #use fixed_io(c_outputs=PIN_C0,PIN_C2,PIN_C3,PIN_C5)  
.................... void show0(void);  
.................... void show1(void);  
.................... void show2(void);  
.................... void show3(void);  
.................... void show4(void);  
.................... void getdata(void);  
.................... void RTError(void);  
.................... void getword(void);  
.................... void getbit(unsigned char i);  
.................... void intlzation(void);  
.................... void Ht1621WrByte(unsigned char ucTmpData);  
.................... void Ht1621WrDataCmd(unsigned char ucAddr);  
.................... void Ht1621WrCmd(unsigned char ucTmpCmd);  
.................... void soundout(void);  
.................... void main()  
.................... {  
*
0234:  CLRF   04
0235:  MOVLW  1F
0236:  ANDWF  03,F
0237:  MOVLW  06
0238:  BSF    03.5
0239:  MOVWF  1F
....................    unsigned char i,j,now;  
....................     //sleep();  
....................    output_a(0x00);  
*
0262:  MOVLW  C0
0263:  TRIS   5
0264:  CLRF   05
....................    output_b(0x00);  
0265:  MOVLW  02
0266:  TRIS   6
0267:  CLRF   06
....................    output_c(0x00);  
0268:  MOVLW  D2
0269:  TRIS   7
026A:  CLRF   07
....................    P02=1;  
026B:  BSF    07.3
....................    intlzation();  
026C:  GOTO   058
....................     
....................    LED=1;  
026D:  BSF    06.0
....................      
....................     
....................    while(1)  
....................    {  
....................    TMR1H=10;  
026E:  MOVLW  0A
026F:  MOVWF  0F
....................    TMR1L=0;  
0270:  CLRF   0E
....................    TMR1ON=1;  
0271:  BSF    10.0
....................    TMR1IF=0;  
0272:  BCF    0C.0
....................    i++;  
0273:  INCF   41,F
.................... //if (i%15==0)  
....................     {  
....................       HT1621_CS=0;  
0274:  BCF    06.5
....................       Ht1621WrDataCmd(0);  
0275:  CLRF   44
0276:  GOTO   0AB
....................       for(j=0;j<6;j++)  
0277:  CLRF   42
0278:  MOVF   42,W
0279:  SUBLW  05
027A:  BTFSS  03.0
027B:  GOTO   28C
....................       {  
....................         if(getdatatimeout<70)  
....................         Ht1621WrByte(show[j]);  
027C:  MOVF   3E,W
027D:  SUBLW  45
027E:  BTFSS  03.0
027F:  GOTO   288
0280:  MOVLW  25
0281:  ADDWF  42,W
0282:  MOVWF  04
0283:  MOVF   00,W
0284:  MOVWF  44
0285:  MOVWF  45
0286:  CALL   0E9
....................         else  
....................         Ht1621WrByte(0x00);  
0287:  GOTO   28A
0288:  CLRF   45
0289:  CALL   0E9
....................       }  
028A:  INCF   42,F
028B:  GOTO   278
....................       HT1621_CS=1;  
028C:  BSF    06.5
....................     }  
....................    getdata();   
028D:  GOTO   133
....................    soundout();  
028E:  GOTO   1BF
....................    while(TMR1H<0x80);  
028F:  MOVF   0F,W
0290:  SUBLW  7F
0291:  BTFSC  03.0
0292:  GOTO   28F
....................     
....................    i++;  
0293:  INCF   41,F
....................    }  
0294:  GOTO   26E
.................... }  
....................   
.................... /////////////////////////  
.................... //       get-data      //  
.................... /////////////////////////  
.................... void getdata(void)  
.................... {  
0295:  SLEEP
....................   unsigned char i,sum,ErrorData;  
....................   int1 flag;  
....................   TXREG=0x00;            //out put 00H  
*
0133:  CLRF   19
....................   delay_us(250);  
0134:  MOVLW  A6
0135:  MOVWF  20
0136:  DECFSZ 20,F
0137:  GOTO   136
0138:  NOP
....................   delay_us(250);  
0139:  MOVLW  A6
013A:  MOVWF  20
013B:  DECFSZ 20,F
013C:  GOTO   13B
013D:  NOP
....................   TXREG=0x55;	         //out put 55H	  
013E:  MOVLW  55
013F:  MOVWF  19
....................   sum=RCREG;  
0140:  MOVF   1A,W
0141:  MOVWF  45
....................   delay_us(250);  
0142:  MOVLW  A6
0143:  MOVWF  20
0144:  DECFSZ 20,F
0145:  GOTO   144
0146:  NOP
....................   delay_us(250);  
0147:  MOVLW  A6
0148:  MOVWF  20
0149:  DECFSZ 20,F
014A:  GOTO   149
014B:  NOP
....................   TXREG=0x47;//0x47;//0100-0111  //out put ID  
014C:  MOVLW  47
014D:  MOVWF  19
.................... while(!TRMT);  
014E:  BSF    03.5
014F:  BTFSC  18.1
0150:  GOTO   153
0151:  BCF    03.5
0152:  GOTO   14E
.................... delay_cycles(4);  
0153:  NOP
0154:  NOP
0155:  NOP
0156:  NOP
.................... 	CREN=1;                    //open recive  
0157:  BCF    03.5
0158:  BSF    18.4
.................... 	  for(i=0;i<9;i++)         //修改后  
0159:  CLRF   44
015A:  MOVF   44,W
015B:  SUBLW  08
015C:  BTFSS  03.0
015D:  GOTO   17A
.................... 	  //for(i=0;i<8;i++)           
.................... 	   {  
.................... 	     TMR0=0;  
015E:  CLRF   01
....................          delay_cycles(20);  
015F:  MOVLW  06
0160:  MOVWF  20
0161:  DECFSZ 20,F
0162:  GOTO   161
0163:  NOP
....................          RTError();  
0164:  CALL   120
....................          if(OERR)  
....................            RTError();  
0165:  BTFSC  18.1
0166:  CALL   120
.................... 	     while(!RCIF&&TMR0<60);  
0167:  BTFSC  0C.5
0168:  GOTO   16D
0169:  MOVF   01,W
016A:  SUBLW  3B
016B:  BTFSC  03.0
016C:  GOTO   167

⌨️ 快捷键说明

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