Примеры CodeVisionAVR - Используем аналоговый компаратор

Автор: Internet. Опубліковано в Початківцям з CV AVR

Зміст статті

 
Пример работы аналогового компаратора, МК ATmega8.
Активируем функцию в генераторе кода..
.  
 
Схема в протеусе
Code
/***************************************************** 
CodeWizardAVR V2.04.4a Advanced 
Date : 07.09.2012 
Author : C@at 
Company : c2.at.ua 
Comments: Analog Comparator 
Chip type : ATmega8 
AVR Core Clock frequency: 8,000000 MHz 
*****************************************************/ 

#include  
#asm 
  .equ __lcd_port=0x18 ;PORTB 
#endasm 
#include  
void main(void) 

PORTB=0x00; 
DDRB=0x00; 
PORTC=0x00; 
DDRC=0x00; 
PORTD=0x00; 
DDRD=0x08; 

// Analog Comparator initialization 
// Analog Comparator: On 
// Analog Comparator Input Capture by Timer/Counter 1: Off 
ACSR=0x00; 
SFIOR=0x00; 
//SFIOR=0x08;//негатив 
lcd_init(20); 
while (1) 
  { 
  PORTD.3=ACSR>>5;  
  if (PORTD.3==1 ) {  
  lcd_putsf("log.1 na PORTD.3 ");  
  }else {  
  lcd_putsf("log.0 na PORTD.3"); }; 
  lcd_gotoxy(0,0);  
  }; 
}

Архив; протеус, прошивка, код.