频率发生器_client.c~

来自「有LCD菜单的 频率发生器制作资料」· C~ 代码 · 共 120 行

C~
120
字号

#include <mega8.h>
#include <delay.h>
#include <USART.h>
#include <Config.h>


interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
	PORTD.2^=1;
}

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
}

interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
}

interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
}

interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
}

interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
	PORTD.3^=1;
}

interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
}

void Execute(void)
{
	delay_ms(3);
	TransmitByte(0x55);
	TransmitByte(0xAA);
	
	for (i=0;i<SETUP_COUNT;i++)
	{
		mSetup[i]=ReceiveByte();
	}
	
	if (mASSR&(1<<AS2))
	{
		ASSR|=(1<<AS2);
	}
	else
	{
		ASSR&=~(1<<AS2);
	}

	TCCR0  = mTCCR0;
	TCCR1A = mTCCR1A;
	TCCR1B = mTCCR1B;
	TCCR2  = mTCCR2;
	
	ICR1H  = mICR1H;
	ICR1L  = mICR1L;
	OCR1AH = mOCR1AH;
	OCR1AL = mOCR1AL;
	OCR1BH = mOCR1BH;
	OCR1BL = mOCR1BL;

	OCR2=mOCR2;

	TIMSK=mTIMSK;
}

void Demo(void)
{
	ASSR=(1<<AS2);
	
	TCCR0  = mTCCR0;
	TCCR1A = mTCCR1A;
	TCCR1B = mTCCR1B;
	
	ICR1H  = mICR1H;
	ICR1L  = mICR1L;
	OCR1AH = mOCR1AH;
	OCR1AL = mOCR1AL;
	OCR1BH = mOCR1BH;
	OCR1BL = mOCR1BL;

	TCCR2  = 0x11;
	OCR2   = 0xFF;

	TIMSK  = 0x00;
}

void main(void)
{
	unsigned char i;
	
	PORTB=0x00;
	DDRB=((1<<PB1)||(1<<PB2)||(1<<PB3));

	PORTC=0x00;
	DDRC=0x00;
	
	PORTD=0x00;
	DDRD=((1<<PD2)||(1<<PD3));
	
	USART_Init(0x33);
	
	
	#asm
	sei
	#endasm
	
	while (1)
	{
	};
}

⌨️ 快捷键说明

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