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

📄 asuro 016, build 001, left tracksensor controls left engine.c

📁 Asuro示例源码 Left tracksensor controls left engine.rar
💻 C
📖 第 1 页 / 共 2 页
字号:
/*

  ================================================================================

	This program measures the amount of light that is detected by the left bottom-side
	track sensor diode and sets the left engine speed according the measured light value.
	
  ================================================================================

	Program		: Asuro 016, Build 001, Left tracksensor controls left engine.c
	Release date	: 2005-02-07
	Author		: Henk van Winkoop

	Build	: 001, 2005-02-07, original release

  ================================================================================

*/

//--------------------------------------------------------------------------------
// INCLUDES
//--------------------------------------------------------------------------------
#include "hvwdefines.h"
//================================================================================
//	DELAY MILLI SECONDS
//================================================================================
void vDelayMilliSeconds(int iDelMilSec){

	//var
	unsigned int i,j;
	
	//handle all milli seconds
	for(i=0;i<iDelMilSec;i++){
	
		//delay 1 millisecond
		for(j=0;j<28750;j++){
		
		}//for
		
	}//for
	
}
//================================================================================
//	INIT ALL PORTS
//================================================================================
void vInitAllPorts(void){

  //disable all output pull-up resistors
  SFRX(SFIOR,PUD_H);

  //+-------------------------------------------------------------------------------------------+
  //| DDRB =  Data Direction Register port B                                                    |
  //|                                                                                           |
  //| FWD_RGT = Forward Right engine                                                            |
  //| REV_RGT = Reverse Right engine                                                            |
  //| IR_TXD1 = InfraRed Transmit data (connection1, connected to R16)                          |
  //| SPD_RGT = Speed of Right engine                                                           |
  //| SPD_LFT = Speed of Left engine                                                            |
  //| SLD_GRN = System LeD Green                                                                |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|port name  |   PB7   |   PB6   |   PB5   |   PB4   |   PB3   |   PB2   |   PB1   |   PB0   |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|bit number |    7    |    6    |    5    |    4    |    3    |     2   |     1   |    0    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|pin number |   10    |    9    |   19    |   18    |   17    |    16   |    15   |   14    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|signal name|  XTAL2  |  XTAL1  | REV_RGT | FWD_RGT | IR_TXD1 | SPD_RGT | SPD_LFT | SLD_GRN |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( DDRB   ,                    REV_RGT_O|FWD_RGT_O|IR_TXD1_O|SPD_RGT_O|SPD_LFT_O|SLD_GRN_O);
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( PORTB  ,                    REV_RGT_H|FWD_RGT_L|IR_TXD1_L|SPD_RGT_L|SPD_LFT_L|SLD_GRN_H);
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //                 x         x         .         .         .         .         .         .    = unused (connected to 8MHz Xtal)
  //                 .         .         n         n         .         .         .         .    = OL OL = both engine poles connected to VCC (break?)
  //                 .         .         n         n         .         .         .         .    = OL OH = set right engine direction to reverse
  //                 .         .         OH        OL        .         .         .         .    = OH OL = set right engine direction to forward
  //                 .         .         n         n         .         .         .         .    = OH OH = both engine poles are equally pulsed if speed is programmed
  //                 .         .         .         .         OL        .         .         .    = Infra Red transmit signal
  //                 .         .         .         .         .         OL        OL        .    = left-engine and right-engine speed output
  //                 .         .         .         .         .         .         .         OH   = system-led green-light control output, ON
  //+-------------------------------------------------------------------------------------------+

  //+-------------------------------------------------------------------------------------------+
  //| DDRC =  Data Direction Register port C                                                    |
  //|                                                                                           |
  //| VPL_SNS = V+ Sense                                                                        |
  //| SWI_JNC = Switch Junction                                                                 |
  //| TRS_LFT = Tracksensor Left                                                                |
  //| TRS_RGT = Tracksensor Right                                                               |
  //| BOD_LFT = Break and Odometer Left                                                         |
  //| BOD_RGT = Break and Odometer Right                                                        |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|port name  |   PC7   |   PC6   |   PC5   |   PC4   |   PC3   |   PC2   |   PC1   |   PC0   |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|bit number |    7    |    6    |    5    |    4    |    3    |     2   |     1   |    0    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|pin number |    -    |    1    |   28    |   27    |   26    |    25   |    24   |   23    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|signal name|    -    |  RESET  |VPL_SNS  |SWI_JNC  |TRS_LFT  |TRS_RGT  |BOD_LFT  |BOD_RGT  |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( DDRC   ,                    VPL_SNS_I|SWI_JNC_I|TRS_LFT_I|TRS_RGT_I|BOD_LFT_O|BOD_RGT_O);
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( PORTC  ,                    VPL_SNS_N|SWI_JNC_N|TRS_LFT_N|TRS_RGT_N|BOD_LFT_L|BOD_RGT_L);
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //                 .         .         IN        .         .         .         .         .    = V+ sensor measurement as input
  //                 .         .         .         IN        .         .         .         .    = key-press detector as input
  //                 .         .         .         .         IN        IN        .         .    = left/right track sensors as input
  //                 .         .         .         .         ,         ,         OL        OL   = left/right break/odo-meter sensors as input
  //+-------------------------------------------------------------------------------------------+

  //+-------------------------------------------------------------------------------------------+
  //| DDRD =  Data Direction Register port D                                                    |
  //|                                                                                           |
  //| BOD_COM = Breaks and Odoleds Common connection                                            |
  //| TRK_LED = Track Led                                                                       |
  //| FWD_LFT = Forward Left engine                                                             |
  //| REV_LFT = Reverse Left engine                                                             |
  //| SWI_IAC = Switches Interrupt And Control                                                  |
  //| SLD_RED = System Led Red                                                                  |
  //| IR_TXD2 = InfraRed Transmit data (connection2, connected to D10)                          |
  //| IR_RXD  = InfraRed Receive data                                                           |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|port name  |   PD7   |   PD6   |   PD5   |   PD4   |   PD3   |   PD2   |   PD1   |   PD0   |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|bit number |    7    |    6    |    5    |    4    |    3    |     2   |     1   |    0    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|pin number |   13    |   12    |   11    |    6    |    5    |     4   |     3   |    2    |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //|signal name| ODO_LDS |FRT_LED  |FWD_LFT  |REV_LFT  |SWI_INT  |SLD_RED  |IR_RXD   |IR_TXD2  |
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( DDRD   ,BOD_COM_O|TRK_LED_O|REV_LFT_O|FWD_LFT_O|SWI_IAC_I|SLD_RED_O|IR_TXD2_I|IR_RXD_I ); 
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  SFRX ( PORTD  ,BOD_COM_L|TRK_LED_L|REV_LFT_H|FWD_LFT_L|SWI_IAC_L|SLD_RED_L|IR_TXD2_L|IR_RXD_L ); 
  //+-----------+---------+---------+---------+---------+---------+---------+---------+---------+
  //                 OL        .         .         .         .         .         .         .    = both odometrie leds (#001)
  //                 .         OL        .         .         .         .         .         .    = front (tracking) led (#002)
  //                 .         .         n         n         .         .         .         .    = OL OL = both engine poles connected to VCC (break?)
  //                 .         .         n         n         .         .         .         .    = OL OH = set left engine direction to reverse
  //                 .         .         OH        OL        .         .         .         .    = OH OL = set left engine direction to forward
  //                 .         .         n         n         .         .         .         .    = OH OH = both engine poles are equally pulsed if speed is programmed
  //                 .         .         .         .         IL        .         .         .    = 'switches' is input
  //                 .         .         .         .         .         OL        .         .    = system-led red-light control output
  //                 .         .         .         .         .         .         IL        IL   = Infra-Red signals both as input
  //+-------------------------------------------------------------------------------------------+

}

//================================================================================
//  INIT ENGINES USING MODE 1
//================================================================================
void vInitEnginesUsingMode1(void){

⌨️ 快捷键说明

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