Разработка и отладка рабочей программы

Программа написана на языке ассемблер и составлена в соответствии с алгоритмом программы

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--);

. }

. }

Другие стьтьи в тему

Разработка преобразователя углового перемещения
В системах автоматического контроля и управления широко применяются различные преобразователи перемещений, значительный процент из которых составляют преобразователи угловых перемещений. От надёжности, точности, быстродействия преобразователей во многом зависит технико - экономичес ...

Расчет надежности системы телемониторинга
Системы СЖАТ (системы железнодорожной автоматики и телемеханики) предназначены для регулирования движения поездов с целью решения таких важных задач, как обеспечение безопасности движения поездов и повышение эффективности перевозочного процесса. Уровень надежности СЖАТ непосредственно ...

Разделы

Радиоэлектроника и телекоммуникации © 2024 : www.techelements.ru