Пример #1
0
void Ind19U6(void)
{
	const unsigned char R2[]="ÊØÓ 19Ó6";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=3;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=0x20;
	}

	for(R1=0;R1<=7;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
	for(R1=0;R1<=3;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=0x20;
	}
}
Пример #2
0
void	ClearInd(void)
    {
     
     while(!(UCSRA & 0x20))//!RegInd)
     _WDR();
    UDR=0xc;
    }
Пример #3
0
void delay(uint16_t n)
{
	while(n--) {
		_WDR();
		_delay_us(1000);
	}
}
Пример #4
0
int main(void)
{
uint16_t cnt=0;
uint8_t c,div;
	DDRA = 0;
	PORTA = 0xff;
	DDRB = (1 << 4);	//TXD
	DDRC = 0xff;
	PORTC = 0;
	DDRD = 0xfe;

	USART_Init(8);		// 115.2K
	ADCSRA = 0x87;		// init ADC

//	TCCR0 = 1;
//	TIMSK = 1;
//	sei();

	for( ; ; ) {
		_WDR();

		if(USART_Ready()) {
			c = USART_Receive(STD_TIMEOUT);
			switch(c) {
				case 'g':
					div = rhex();
					if(USART_Timeout()) break;
					ADCSRA = 0x80 | div;
					div = rhex();
					if(USART_Timeout()) break;
					PORTC = div;	// gain
					get_wave();
					send_wave();
					break;

				case 'q':
					div = rhex();
					if(USART_Timeout()) break;
					ADCSRA = 0x80 | div;
					div = rhex();
					if(USART_Timeout()) break;
					PORTC = div;	// gain
					div = rhex();	// ch
					if(USART_Timeout()) break;
					get_sync_wave(div);
					send_wave();
					break;

				default:;
			}
		}

		if(++cnt > 1000) {
			PORTB = PINB ^ (1<<4); // blink
			cnt = 0;
		}
	}

	return 0;
}
Пример #5
0
    void IndPar(void)
    {
    unsigned int R0; 
    R0=400;
    while(R0--)         _WDR(); 
    SPDR=IndData[3]+0x30;
    R0=400;
    while(R0--)         _WDR(); 
    SPDR=IndData[2]+0x30;
    R0=400;
    while(R0--)         _WDR(); 
    SPDR=IndData[1]+0x30;

    R0=400;
    while(R0--)         _WDR(); 
    SPDR=IndData[0]+0x30;


    }
Пример #6
0
void TransmitInd(unsigned char R1)
{
    unsigned int R10;

    if(R1>=192)
    R1=R1-64;
    R10=500;
     while(R10--) _WDR();   
    SPDR=R1;           
 }
Пример #7
0
void    TransmitInd(unsigned char R1)
{
	unsigned int R0;  
	R0=400;

	if(R1>=192)
	R1=R1-64;
	while(R0--)         _WDR();	   
	SPDR=R1;           
}
Пример #8
0
void    TransmitInd(unsigned char R1)
{


    if(R1>=192)
    R1=R1-64;
    while(!(UCSRA & 0x20))
    _WDR();    
    UDR=R1;           
 }
Пример #9
0
	void	TransmitUsart(unsigned char R0)
	{
	unsigned char R1;
	for(R1=0;R1<=R0;++R1)
		{
     while(!(UCSRA & 0x20))
   _WDR();
    UDR=RegTransmitUsart[R1];
		}
			
	}
Пример #10
0
void SetSize(unsigned char R2,unsigned char R1)
{
	 unsigned int R0; 
	 
	R0 = 400;
	 while(R0--) _WDR(); 
	SPDR = 0x1f;
	
	R0 = 400;
	 while(R0--) _WDR();	 
	SPDR = 0x28;
	
	R0 = 400;
	 while(R0--) _WDR(); 
	SPDR = 0x67;
	
	R0 = 400;
	 while(R0--) _WDR(); 
	SPDR = 0x40;

	R0 = 400;
	 while(R0--) _WDR(); 
	SPDR = R2;

	R0 = 400;
	 while(R0--) _WDR(); 
	SPDR = R1;
}
Пример #11
0
void IndicatorTest(void)
{
	unsigned char R1;
	unsigned int R0;		
	SetCursor(0,0);
	for(R1=1;R1<=5;++R1)
	{
		HexDec(RomReceive[R1]);
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[0];
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[1];
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[2];
	}
	SetCursor(0,1);
	for(R1=6;R1<=10;++R1)
	{
		HexDec(RomReceive[R1]);
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[0];
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[1];
		R0=500;
		while(R0--)         _WDR(); 
		SPDR=Data10[2];
	}

}	
Пример #12
0
/*  void	ClearCursor(void)
    {
     unsigned int R0;     
    R0=300;
    while(R0--)         _WDR();
    SPDR=0xb;
    }*/
void SetCursor(unsigned char R2,unsigned char R1)
{
	unsigned int R0;  
	R0=300;
	while(R0--) _WDR();
	
	SPDR=0x1f;
	R0=300;
	while(R0--) _WDR();
	
	SPDR=0x24;
	R0=300;
	while(R0--) _WDR();
	
	SPDR=R2;
	R0=300;
	while(R0--) _WDR();
	
	SPDR=0;
	R0=300;
	while(R0--) _WDR();
	
	SPDR=R1;
	R0=300;
	while(R0--) _WDR();
	
	SPDR=0;

}
Пример #13
0
void	InitUSART(void)
	{
    UCSRA=0;//двойная скорость
    UCSRB=0x1c;//enable transmit,receive,8bit
    UCSRC=0x86;//0x24 7 bit control parity
    UBRRH=0;
    UBRRL=103;//9600

     while(!(UCSRA & 0x20))
   _WDR();

	UCSRB  |=0x80;//Interrupt Receive enable

	}
Пример #14
0
void    InitIndStart(void)
{
	unsigned long R0;
	PORTB &=0xfe;
	R0=780000;
	while(R0--)         _WDR();
	PORTB |=0x1;
	R0=5000;
	while(R0--)         _WDR();
	SPDR=0x1b;
	R0=5000;
	while(R0--)         _WDR();


	SPDR=0x74;
	R0=5000;
	while(R0--)         _WDR();
	SPDR=17;//Kirilica 

	R0=5000;
	while(R0--)         _WDR();     
	SPDR=0xc;//clear ind
	
} 
Пример #15
0
void    InitInd(void)
{
	unsigned int R0;
	PORTB &=0xfe;
	R0=65;
	while(R0--)         _WDR();
	PORTB |=0x1;
	R0=3000;
	while(R0--)         _WDR();
	SPDR=0x1b;
	R0=1500;
	while(R0--)         _WDR();


	SPDR=0x74;
	R0=100;
	while(R0--)         _WDR();
	SPDR=17;//Kirilica 

	R0=100;
	while(R0--)         _WDR();     
	SPDR=0xc;//clear ind
	
}
Пример #16
0
//21
void IndOtkazDT(void)
{
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);

	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 
		R3=pgm_read_byte_near(&OtkazDT[R1]);
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #17
0
 unsigned char WaitTWCR(void)
    {
   while(!(TWCR & 0x80))
        {
   _WDR();

    if(CtTWCR)
    --CtTWCR;
    else
            {
    CtTWCR=CtTWCR0;
    return 0;
            }
        }
    CtTWCR=CtTWCR0;
    return 1;
    }   
Пример #18
0
//7
void IndNoPusk(void)
{
	const unsigned char R2[]="    HET осяйю   ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--) _WDR(); 

		R3=R2[R1];
		if(R3>=192)
			R3=R3-64;
		SPDR=R3;
	}
}
Пример #19
0
//9	
void IndRegimMSHU(void)
{
	const unsigned char R2[]="  ÐÅÆÈÌ ÌÙÓ    ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #20
0
//8
void IndOtkazSHSN(void)
{
	const unsigned char R2[]="  OTKA3 ØÑÍ     ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #21
0
//3			
void IndGotovDU(void)
{
	const unsigned char R2[]="  ÃÎÒÎÂÍÎÑÒÜ ÄÓ ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{
		R0=500;
		while(R0--)_WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #22
0
//9
void IndNoOborotov(void)
{
	const unsigned char R2[]="  мер нанпнрнб  ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #23
0
//10	
void IndNoVozb(void)
{
	const unsigned char R2[]="мер бнгасфдемхъ  ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}	
Пример #24
0
//12
void IndPeregruzKG(void)
{
	const unsigned char R2[]=" оепецпсгйю бц   ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #25
0
//21	
void IndUKorpus(void)
{
	const unsigned char R2[]="  U мю йнпосяе   ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}	
Пример #26
0
//23
void IndErrorSet(void)
{
	const unsigned char R2[]=" яерэ ме мнплю   ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #27
0
//26
void IndDozapravkaMasla(void)
{
	const unsigned char R2[]="днгюопюбйю люякю ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0;R1<=15;++R1)
	{		
		R0=500;
		while(R0--)         _WDR(); 

		R3=R2[R1];
		if(R3>=192)
		R3=R3-64;
		SPDR=R3;
	}
}
Пример #28
0
	void TransmitUsart(void)
	{
	volatile unsigned char R0;
	
	PORTB |=0x4;//Out Transmit=on
	R0=100;
	while(R0)
	--R0;
	 while(!(UCSRA & 0x20))
	_WDR();
	
	R0=NumberBlok;//LinkRS;	
	UCSRA |=1;//Receive only 9 bit=1
	UCSRB |=1;//9 bit=1
	
	UDR=R0;//LinkRS;
	ControlTransmitRS =NumberBlok;	
	}		  
Пример #29
0
//8		
void IndNoLinkMSHU(void)
{
	const unsigned char R2[]="мер ябъгх я лыс ";
	unsigned int R0;
	unsigned char R1;
	unsigned char R3;
	SetCursor(0,0);
	for(R1=0; R1<=15; ++R1)
	{		
		R0=500;
		while(R0--) _WDR(); 

		R3=R2[R1];
		if(R3>=192)
			R3=R3-64;
		SPDR=R3;
	}
}	
Пример #30
0
unsigned char WaitTWCR(void)
    {
   while(!(TWCR & 0x80))
        {

    if(CtTWCR)
		{
    --CtTWCR;
	_WDR();
		}
    else
            {
    CtTWCR=CtTWCR0;
    return 0;//error
            }
        }
    CtTWCR=CtTWCR0;
    return 1;
    }