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

📄 abs.h

📁 adc检测串口反馈到PC上,数据不断发送
💻 H
字号:
#define Red_LedON PORTA&=(~(1<<PA5))    
#define Red_LedOFF PORTA|=(1<<PA5)      
#define Green_LedON PORTA&=(~(1<<PA4))
#define Green_LedOFF PORTA|=(1<<PA4)
#define Red_D1glint  {if((PINA&(1<<PINA5))!=(1<<PINA5)){PORTA|=(1<<PA5);}else{PORTA&=(~(1<<PA5));}}
#define Green_D1glint  {if((PINA&(1<<PINA4))!=(1<<PINA4)){PORTA|=(1<<PA4);}else{PORTA&=(~(1<<PA4));}}

void WDT_ON(void)
 {
   WDR(); //this prevents a timout on enabling
   WDTCR|=(1<<WDTOE)|(1<<WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0);//WDTCR = 0x1F; //特别注意这一条不是ICC生成的,是后来加上的。
   WDTCR&=(~(1<<WDTOE))|(1<<WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0);//WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
 }

void WDT_OFF(void)  ///关看门狗
{
  WDR();
  WDTCR|=(1<<WDTOE)|(1<<WDE);
  WDTCR=0x00;
}
void delay_1ms(void)//1ms延时函数
{
  unsigned int i;
  for (i=0;i<150;i++)
  WDR();  
}

void delay_nms(unsigned int n)//延时n毫秒
{
  unsigned int i;
  for (i=0;i<n;i++)//执行n次1毫秒延时
      {
	     delay_1ms(); 
      }
  WDR(); 
}


void LED_Wait_ISP(void)
{
         Red_LedON;    delay_nms(200);   Red_LedOFF;   delay_nms(200); 
	 Green_LedON;  delay_nms(200);   Green_LedOFF; delay_nms(200); 
	 Red_LedON;    delay_nms(200);   Red_LedOFF;   delay_nms(200); 
	 Green_LedON;  delay_nms(200);   Green_LedOFF; delay_nms(200); 
	 Red_LedON;    delay_nms(200);   Red_LedOFF;   delay_nms(200); 
	 Green_LedON;  delay_nms(200);   Red_LedOFF;   delay_nms(200); 
}
void LED_Texting_ISP(void)
{
     Green_LedON;//delay_nms(100);  Green_LedOFF;
	 Red_LedON;    delay_nms(200);  Red_LedOFF;   delay_nms(200); 
	 Red_LedON;    delay_nms(200);  Red_LedOFF;   delay_nms(200); 
	 Red_LedON;    delay_nms(200);  Red_LedOFF;   delay_nms(200); 
}
#define F_CPU     3686400
void USART_InitM1681( unsigned int baud )
{
unsigned int tmp;
//设置波特率
    tmp= F_CPU/baud/16-1;
    UBRRH = (unsigned char)(tmp>>8);
    UBRRL = (unsigned char)tmp;
//接收器与发送器使能//
    UCSRB = (1<<RXEN)|(1<<TXEN);
//接收器与发送器使能及接收中断使能
	//UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
//接收器与发送器使能及收发中断使能
//	UCSRB = (1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);
// 设置帧格式: 8 个数据位, 1 个停止位//
    UCSRC = (1<<URSEL)|(3<<UCSZ0);
}
void USART_Transmit8( unsigned char data )
{ 
/*检空发送标志*/
while ( !( UCSRA & (1<<UDRE)) );
/*发送数据*/
UDR = data;
while ( !( UCSRA & (1<<UDRE)) );
}

void USART_Transmit_2( void )
{
    while ( !( UCSRA & (1<<UDRE)) );
    UDR = 'H';
    while ( !( UCSRA & (1<<UDRE)) );
    UDR = 'e';
    while ( !( UCSRA & (1<<UDRE)) );
    UDR = 'l';
    while ( !( UCSRA & (1<<UDRE)) );
    UDR = 'l';
    while ( !( UCSRA & (1<<UDRE)) );
    UDR = 'o';
} 
























⌨️ 快捷键说明

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