예제 #1
0
파일: uart_lab7.c 프로젝트: RScrusoe/sem_v
void main()
{
	init_serial();
	LCD_Init();
	while(1){
		if(!(switch_value == old_value))
		{
			old_value = switch_value;
			LCD_CmdWrite(0x80);
			LCD_StringWrite("EE337", 5);
			sendStringForTx("EE337", 5);
		}
		
		else
			LCD_Init();
		//LCD_StringWrite(" BCD", 4);
			
		delay_ms(500);
		
	/*SBUF = 'A';
		while(!transmit_completed);
		transmit_completed = 0;
		toggle_bit=0;*/
		
	}
}
예제 #2
0
파일: uart_lab7.c 프로젝트: RScrusoe/sem_v
void main()
{
	init_serial();
	LCD_Init();
	//P1^4 = 1;
	//SCON |= 0x10;
	while(1){
		switch_value = P1 &=0x0F;
		if(!(switch_value == old_value))
		{
			old_value = P1 &= 0x0F;
			LCD_CmdWrite(0x80);
			LCD_StringWrite("AAAAAAAAAA", 10);
			send_string("AAAAAAAAAA", 10);
		}
		else
			LCD_Init();
		
		delay_ms(500);
		
	/*SBUF = 'A';
		while(!transmit_completed);
		transmit_completed = 0;
		toggle_bit=0;*/
		
	}
}
예제 #3
0
void main(void)
{
	P3 = 0X00;											// Make Port 3 output 
	P2 = 0x00;											// Make Port 2 output 
	P1 &= 0xEF;											// Make P1 Pin4-7 output
	P0 &= 0xF0;											// Make Port 0 Pins 0,1,2 output
	
	SPI_Init();
	LCD_Init();
	Timer_Init();
	LCD_CmdWrite(0x80);
	LCD_StringWrite("Voltage=",8);
	LCD_CmdWrite(0x8E);
	LCD_StringWrite("mV",2);
	while(1)												// endless 
	{ 
		CS_BAR = 0;                 // enable ADC as slave		 
		SPDAT= 0x01;								// Write start bit to start ADC 
		while(!transmit_completed);	// wait end of transmition;TILL SPIF = 1 
		transmit_completed = 0;    	// clear software transfert flag 
		
		SPDAT= 0x80;				// 80H written to start ADC CH0 single ended sampling
	  while(!transmit_completed);	// wait end of transmition 
	  data_save_high = serial_data & 0x03 ;  
		transmit_completed = 0;    	// clear software transfer flag 
		
		SPDAT= 0x00;								// 
		while(!transmit_completed);	// wait end of transmition 
		data_save_low = serial_data;
		transmit_completed = 0;    	// clear software transfer flag 
		CS_BAR = 1;                	// disable ADC as slave
		 
    adcVal = (data_save_high <<8) + (data_save_low);
		//adcVal=500;
	}
}	
예제 #4
0
파일: hwq2.c 프로젝트: RScrusoe/sem_v
void main(void)
{
	P3 = 0X00;											// Make Port 3 output 
	P2 = 0x00;											// Make Port 2 output 
	P1 &= 0xEF;											// Make P1 Pin4-7 output
	P0 &= 0xF0;											// Make Port 0 Pins 0,1,2 output
	
	SPI_Init();
	LCD_Init();
	Timer_Init();
	
	while(1)												// endless 
	{
		CS_BAR = 0;                 // enable ADC as slave		 
		SPDAT= 0x01;								// Write start bit to start ADC 
		while(!transmit_completed);	// wait end of transmition;TILL SPIF = 1 i.e. MSB of SPSTA
		transmit_completed = 0;    	// clear software transfert flag 
		
		SPDAT= 0x80;				// 80H written to start ADC CH0 single ended sampling,refer ADC datasheet
		while(!transmit_completed);	// wait end of transmition 
		data_save_high = serial_data & 0x03 ;  
		transmit_completed = 0;    	// clear software transfer flag 
				
		SPDAT= 0x00;								// 
		while(!transmit_completed);	// wait end of transmition 
		data_save_low = serial_data;
		transmit_completed = 0;    	// clear software transfer flag 
		CS_BAR = 1;                	// disable ADC as slave
		
		adcVal = (data_save_high <<8) + (data_save_low);
		
		
    sprintf(avg_str, "%.2f", average);	  	
		LCD_StringWrite(avg_str,16);
		delay_ms(5000);
		LCD_Init();
		delay_ms(1000);
		
  }
}
예제 #5
0
파일: q3.c 프로젝트: RScrusoe/sem_v
void main(void)
{
    P3 = 0X00;											// Make Port 3 output
    P2 = 0x00;											// Make Port 2 output
    P1 &= 0xEF;											// Make P1 Pin4-7 output
    P0 &= 0xF0;											// Make Port 0 Pins 0,1,2 output

    SPI_Init();
    LCD_Init();
    Timer_Init();

    while(1)												// endless
    {
        CS_BAR = 0;                 // enable ADC as slave
        SPDAT= 0x01;								// Write start bit to start ADC
        while(!transmit_completed);	// wait end of transmition;TILL SPIF = 1 i.e. MSB of SPSTA
        transmit_completed = 0;    	// clear software transfert flag

        SPDAT= 0x80;				// 80H written to start ADC CH0 single ended sampling,refer ADC datasheet
        while(!transmit_completed);	// wait end of transmition
        data_save_high = serial_data & 0x03 ;
        transmit_completed = 0;    	// clear software transfer flag

        SPDAT= 0x00;								//
        while(!transmit_completed);	// wait end of transmition
        data_save_low = serial_data;
        transmit_completed = 0;    	// clear software transfer flag
        CS_BAR = 1;                	// disable ADC as slave

        adcVal = (data_save_high <<8) + (data_save_low);
        writeValueOnLCD(avgVal, 4);


        voltage_val = voltage[0]*1000 + voltage[1]*100 + voltage[2]*10 + voltage[3];
        if(voltage_val >max) {
            max = voltage_val;
        }
        if(ct == 20) {
            ct = 0;

            if(max <= 3300 ) {
                LCD_CmdWrite(0x80);
                LCD_StringWrite("Range 1",7);

            }
            else {
                LCD_CmdWrite(0x80);
                LCD_StringWrite("Range 2", 7);
            }
            max = 0;
        }



        //LCD_StringWrite("Voltage: ", 9);
        //LCD_StringWrite(voltage, 4);
        //LCD_StringWrite(" mV" ,3);

        ct = ct + 1;
    }
}