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

📄 m.lst

📁 08山东电子电子竞赛智能小车程序基于PIC+红外+电子罗盘ourdev551262 包含源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
....................   LCD_Write (comm,0x01);  /*清屏,地址指针指向00H*/ 
02BA:  CLRF   48
02BC:  MOVLW  01
02BE:  MOVWF  49
02C0:  RCALL  01F6
....................   delay_us(100); 
02C2:  MOVLW  21
02C4:  MOVWF  00
02C6:  DECFSZ 00,F
02C8:  BRA    02C6
....................   LCD_Write (comm,0x06);  /*光标的移动方向*/ 
02CA:  CLRF   48
02CC:  MOVLW  06
02CE:  MOVWF  49
02D0:  RCALL  01F6
....................   LCD_Write(comm,0x0c);  /*开显示,关游标*/ 
02D2:  CLRF   48
02D4:  MOVLW  0C
02D6:  MOVWF  49
02D8:  RCALL  01F6
....................   LCD_disp_CLS (); 
02DA:  RCALL  028C
.................... } 
02DC:  GOTO   0308 (RETURN)
....................  
....................  
....................  
.................... //显示8位数据 
.................... void LCD_disp_valueInt8(unsigned char value) 
.................... { 
.................... unsigned char i,j,k; 
.................... i=value/100; 
.................... k=value%100; 
.................... j=k/10; 
.................... k=k%10; 
....................  
.................... if(i!=0) 
.................... { 
.................... LCD_Write (dat,'0'+i); 
.................... LCD_Write (dat,'0'+j); 
.................... }else if(j!=0) 
.................... { 
.................... LCD_Write (dat,'0'+j); 
.................... } 
.................... LCD_Write (dat,'0'+k); 
.................... } 
....................  
.................... #include "c_realtime_isr.h" 
.................... //系统时钟 不精确		 
.................... unsigned int16 SyS_Clock; 
.................... //超时定时器 
.................... unsigned char TimeOut; 
....................  
.................... //打开定时 
.................... void Time_Start(unsigned int16 timeset) 
.................... { 
.................... SyS_Clock=timeset;	 
*
094C:  MOVFF  3C,29
0950:  MOVFF  3B,28
.................... enable_interrupts(INT_RTCC); 
0954:  BSF    FF2.5
.................... } 
0956:  RETLW  00
....................  
.................... //关闭定时 
.................... void Time_Stop() 
.................... { 
.................... disable_interrupts(INT_RTCC);  
*
09C4:  BCF    FF2.5
.................... } 
09C6:  RETLW  00
....................  
.................... //获得时间 
.................... unsigned int16 Time_Get() 
.................... { 
.................... Time_update=0;	 
*
0958:  CLRF   19
.................... return SyS_Clock; 
095A:  MOVFF  28,01
095E:  MOVFF  29,02
.................... } 
0962:  RETLW  00
....................  
....................  
.................... //------------时钟中断------------- 
.................... #int_RTCC 
.................... void  RTCC_isr(void)  
.................... { 
.................... set_timer0(0); 
*
00E8:  CLRF   FD7
00EA:  CLRF   FD6
....................   
.................... Time_update=1; 
00EC:  MOVLW  01
00EE:  MOVWF  19
.................... SyS_Clock++; 
00F0:  INCF   28,F
00F2:  BTFSC  FD8.2
00F4:  INCF   29,F
.................... //1秒分辨率超时变量 
.................... TimeOut++; 
00F6:  INCF   2A,F
.................... } 
....................  
.................... //初始化实时时钟 
00F8:  BCF    FF2.2
00FA:  GOTO   0064
.................... void  init_rtclock() 
.................... { 
.................... 	Time_update=1; 
*
02E0:  MOVLW  01
02E2:  MOVWF  19
.................... 	SyS_Clock=0;   	 
02E4:  CLRF   29
02E6:  CLRF   28
....................    	setup_counters(RTCC_INTERNAL,RTCC_DIV_16);  
02E8:  BCF    FD1.0
02EA:  MOVLW  83
02EC:  MOVWF  FD5
.................... } 
02EE:  GOTO   030A (RETURN)
....................  
.................... #include "c_carContrl.h" 
.................... //==========================================左轮控制 
....................  
.................... //左前直走 
.................... void CC_Goahead_L() 
.................... { 
.................... 	output_low(ELeft_M0); 
*
012A:  BCF    F93.0
012C:  BCF    F8A.0
.................... 	output_high(ELeft_M1); 
012E:  BCF    F93.1
0130:  BSF    F8A.1
.................... 	 
.................... 	 
.................... 		 
.................... } 
0132:  RETLW  00
.................... //左后直走 
.................... void CC_GoBack_L() 
.................... { 
.................... 	output_low(ELeft_M1); 
0134:  BCF    F93.1
0136:  BCF    F8A.1
.................... 	output_high(ELeft_M0);	 
0138:  BCF    F93.0
013A:  BSF    F8A.0
.................... } 
013C:  RETLW  00
....................  
.................... //左停止 
.................... void CC_Stop_L() 
.................... { 
.................... 	output_low(ELeft_M0); 
*
011E:  BCF    F93.0
0120:  BCF    F8A.0
.................... 	output_low(ELeft_M1);		 
0122:  BCF    F93.1
0124:  BCF    F8A.1
.................... } 
0126:  GOTO   016E (RETURN)
....................  
....................  
....................  
.................... //==========================================右轮控制 
.................... //右前直走 
.................... void CC_Goahead_R() 
.................... { 
.................... output_low(ERight_M0); 
*
00FE:  BCF    F93.2
0100:  BCF    F8A.2
.................... output_high(ERight_M1);	 
0102:  BCF    F93.5
0104:  BSF    F8A.5
.................... } 
0106:  RETLW  00
....................  
....................  
....................  
.................... //右后直走 
.................... void CC_GoBack_R() 
.................... { 
.................... output_low(ERight_M1); 
0108:  BCF    F93.5
010A:  BCF    F8A.5
.................... output_high(ERight_M0); 
010C:  BCF    F93.2
010E:  BSF    F8A.2
.................... } 
0110:  RETLW  00
....................  
.................... //右停止 
.................... void CC_Stop_R() 
.................... { 
.................... output_low(ERight_M1); 
0112:  BCF    F93.5
0114:  BCF    F8A.5
.................... output_low(ERight_M0);	 
0116:  BCF    F93.2
0118:  BCF    F8A.2
.................... } 
011A:  GOTO   0168 (RETURN)
....................  
.................... 	 
....................  
....................  
.................... //===============================================两轮控制 
.................... //左转90 
.................... void CC_turnleft90() 
.................... { 
.................... CC_GoBack_L();	 
*
0986:  CALL   0134
.................... CC_Goahead_R(); 
098A:  CALL   00FE
....................  
.................... } 
098E:  RETLW  00
....................  
.................... //右转90 
.................... void CC_turnright90() 
.................... { 
....................  
.................... CC_GoBack_R();	 
*
097C:  CALL   0108
.................... CC_Goahead_L(); 
0980:  CALL   012A
....................  
.................... } 
0984:  RETLW  00
....................  
.................... //停止 
.................... void CC_CarStop() 
.................... { 
.................... output_low(ELeft_M0); 
*
0964:  BCF    F93.0
0966:  BCF    F8A.0
.................... output_low(ELeft_M1); 
0968:  BCF    F93.1
096A:  BCF    F8A.1
.................... output_low(ERight_M1); 
096C:  BCF    F93.5
096E:  BCF    F8A.5
.................... output_low(ERight_M0);		 
0970:  BCF    F93.2
0972:  BCF    F8A.2
.................... } 
0974:  RETLW  00
....................  
....................  
.................... //倒转 
.................... void CC_carGoBack() 
.................... { 
.................... 	CC_GoBack_R(); 
.................... 	CC_GoBack_L(); 
.................... } 
....................  
.................... //贴左墙走 
.................... void Left_along() 
.................... { 
.................... 		if(LS==1) 
*
08FE:  BTFSS  1E.0
0900:  BRA    091A
.................... 		{ 
.................... 		PWM_SetDRC(1,2); 
0902:  MOVLW  01
0904:  MOVWF  3B
0906:  MOVLW  02
0908:  MOVWF  3C
090A:  RCALL  0872
.................... 		PWM_SetDuty(70,70); 
090C:  CLRF   3C
090E:  MOVLW  46
0910:  MOVWF  3B
0912:  CLRF   3E
0914:  MOVWF  3D
0916:  RCALL  087C
.................... 		} 
.................... 		else if(RS==1) 
0918:  BRA    094A
091A:  BTFSS  1E.1
091C:  BRA    0936
.................... 		{ 
.................... 		PWM_SetDRC(2,1); 
091E:  MOVLW  02
0920:  MOVWF  3B
0922:  MOVLW  01
0924:  MOVWF  3C
0926:  RCALL  0872
.................... 		PWM_SetDuty(70,70); 
0928:  CLRF   3C
092A:  MOVLW  46
092C:  MOVWF  3B
092E:  CLRF   3E
0930:  MOVWF  3D
0932:  RCALL  087C
.................... 		}  
.................... 		else 
0934:  BRA    094A
.................... 		{	                                                  
.................... 		PWM_SetDuty(22,22);	 
0936:  CLRF   3C
0938:  MOVLW  16
093A:  MOVWF  3B
093C:  CLRF   3E
093E:  MOVWF  3D
0940:  RCALL  087C
.................... 		PWM_SetDRC(1,1); 
0942:  MOVLW  01
0944:  MOVWF  3B
0946:  MOVWF  3C
0948:  RCALL  0872
.................... 		} 
.................... 			 
.................... } 
094A:  RETLW  00
....................  
.................... //贴左墙走带参数 
.................... void Left_along(unsigned char Lefttmp,unsigned char righttmp) 
.................... { 
.................... 		if(LS==1) 
.................... 		{ 
.................... 		PWM_SetDRC(1,2); 
.................... 		PWM_SetDuty(70,70); 
.................... 		} 
.................... 		else if(RS==1) 
.................... 		{ 
.................... 		PWM_SetDRC(2,1); 
.................... 		PWM_SetDuty(70,70); 
.................... 		}  
.................... 		else 
.................... 		{	                                                  
.................... 		PWM_SetDuty(Lefttmp,righttmp);	 
.................... 		PWM_SetDRC(1,1); 
.................... 		} 
.................... 			 
.................... } 
....................  
....................  
.................... //贴右墙走 
.................... void Right_along() 
.................... { 
.................... 		if(RS==1) 
*
0990:  BTFSS  1E.1
0992:  BRA    09AC
.................... 		{ 
.................... 		PWM_SetDRC(2,1); 
0994:  MOVLW  02
0996:  MOVWF  3B
0998:  MOVLW  01
099A:  MOVWF  3C
099C:  RCALL  0872
.................... 		PWM_SetDuty(90,90); 
099E:  CLRF   3C
09A0:  MOVLW  5A
09A2:  MOVWF  3B
09A4:  CLRF   3E
09A6:  MOVWF  3D
09A8:  RCALL  087C
.................... 		} 
.................... 		else 
09AA:  BRA    09C0
.................... 		{	                                                  
.................... 		PWM_SetDuty(22,22);	 
09AC:  CLRF   3C
09AE:  MOVLW  16
09B0:  MOVWF  3B
09B2:  CLRF   3E
09B4:  MOVWF  3D
09B6:  RCALL  087C
.................... 		PWM_SetDRC(1,1); 
09B8:  MOVLW  01
09BA:  MOVWF  3B
09BC:  MOVWF  3C
09BE:  RCALL  0872
.................... 		} 
.................... 	 
.................... } 
09C0:  GOTO   0C9C (RETURN)
....................  
....................  
.................... //电磁铁断开 0 关闭 1 开启 
.................... void Iron(int1 enable) 
.................... { 
.................... 	if (enable==1) 
*
0328:  DECFSZ 3B,W
032A:  BRA    0332
.................... 	{		 
.................... 		output_low(EEorn);	 
032C:  BCF    F96.0
032E:  BCF    F8D.0
.................... 	} 
.................... 	else 
0330:  BRA    0336
.................... 	{ 
.................... 		output_high(EEorn);	 
0332:  BCF    F96.0
0334:  BSF    F8D.0
.................... 	} 
.................... } 
0336:  RETLW  00
.................... //喇叭 0 关闭 1 开启 
.................... void Beep(int1 enable) 
.................... { 
.................... 	if (enable==1) 
*
0544:  DECFSZ 3B,W
0546:  BRA    054E
.................... 	{ 
.................... 		output_high(EBeep);			 
0548:  BCF    F96.1
054A:  BSF    F8D.1
.................... 	} 
.................... 	else 
054C:  BRA    0552
.................... 	{ 
.................... 		output_low(EBeep);		 
054E:  BCF    F96.1
0550:  BCF    F8D.1
.................... 	} 
.................... 		 
....................  
....................  
.................... } 
0552:  RETLW  00
.................... 	 
....................  
.................... #include "c_softpwm.h" 

⌨️ 快捷键说明

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