Радиоэлектроника и телекоммуникации
Программа написана на языке ассемблер и составлена в соответствии с алгоритмом программы
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--);
. }
. }
Другие стьтьи в тему
Радиоприемные устройства персонального вызова (пейджер)
Основу
любого пейджера составляет радиоприемник, настроенный на частоту
"радиостанции" пейджинговой компании, в которой он обслуживается.
Приемник
осуществляет основную функцию пейджера - прием сообщений от нужной компании.
Разные пейджинговые компании могут работать в р ...
Разработка измерительного канала температуры на основе бесконтактных методов
Без грамотного построения измерительного канала невозможно построить
систему автоматического регулирования и управления технологическим процессом
(АСУТП). Данный курсовой проект дает возможность не только в теории, но на
практике познать сущность проблемы проектирования измерительных ...