Радиоэлектроника и телекоммуникации
Программа написана на языке ассемблер и составлена в соответствии с алгоритмом программы
1. #include <avr/io.h>
. #define VREF 5000
. #define RI2M 200
. extern void lcd_com (unsigned char p);
. extern void lcd_dat (unsigned char p);
. extern void lcd_init (void);
. int main (void)
. { unsigned long volt, amp;
. unsigned int a;
. PORTB = DDRD = 0xFF;
. PORTC = 0xFO; DDRC = 0x05;
. lcd_init ();
. ADMUX &= 0xDF & 0x7F & 0xF1; ADMUX |= 0x40 | 0x01;
. ADCSRA &= 0xDF & 0xFC; ADCSRA |= 0x80 | 0x04;
. while (1)
. { for (volt=0, a=10; a>0; a--)
. { ADCSRA |= 0x40;
. while (ADCSRA & 0x40);
. volt += ADSL;
. volt += {(int)(ADCH& 0x03)} << 8};
. }
. volt = volt * VREF/10240;
. 1cd_com(0x83);
. 1cd_dat (volt/1000 + 0x30);
. 1cd_dat (‘,’);
. 1cd_dat ((volt/100)&10 + 0x30);
. 1cd_dat ((volt/10)&10 + 0x30);
. 1cd_dat ((volt&10 + 0x30);
. 1cd_dat (0x20); lcd_dat(‘V’);
. for (a=10; a>0; a--)
. { ADCSRA | = 0x40;
. while (ADCSRA & 0x40);
. amp += ADCH;
. }
. amp=(100*(amp+5)*VREF/2560)/RIZM;
. lcd_com (0xC3);
. lcd_dat (amp/100 +0x30);
. lcd+dat(‘,’);
. lcd_dat((amp/10)&10 +0x30);
. lcd_dat((amp&10 +0x30);
. lcd_dat(0x20) lcd_dat(‘m’); lcd_dat(‘A’);
42. for (a=60000; a > 0; a--);
. }
. }
Другие стьтьи в тему
Расчет силовых компонентов привода механизма подъемаопускания груза промышленного робота
Эффективность средств производства, которыми располагает
человеческое общество, в значительной степени определяется совершенством
способов получения энергии, необходимой для выполнения механической работы в
производственных процессах. Производственные механиз ...
Разработка регулятора для системы автоматического управления
Управление
каким-либо объектом - это процесс воздействия на него с целью обеспечения
требуемого течения процессов в объекте или требуемого изменения его состояния.
Основой управления является переработка информации о состоянии объекта в
соответствии с целью управления.
Объект
упр ...