Помогите составить программу на языке assembler

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Sebastuan
Сообщения: 1
Зарегистрирован: 02 янв 2017, 22:30

02 янв 2017, 22:48

Вариант 11
а). На базе контроллера i8X51 составить и отладить программу управления, выполняющую следующие функции.
На вход устройства поступают импульсы с частотой до 300 кГц, подсчитываемые счетчиком, с получением 16-битного значения Р. По последовательному интерфейсу на частоте 4800 Гц принимается масштабный коэффициент М старшим байтом вперед с фиксированной точкой после четвертой позиции справа: 12 целых бит и 4 дробных. С прецизионного АЦП, подключенного по схеме внешней памяти с адресами 08Н и 09Н, принимается 16-разрядное данное S. Результат обработки информации в цикле с периодичностью 100 мс вычисляется по формуле А = Р * М / S и выдается на 12 линий внешнего ЦАП, подключенного к портам вывода.
Обмен информацией по последовательному интерфейсу используется в условиях помех, при этом необходимо принять следующие меры. В протоколе обмена используется 9-й бит четности, перед действительной информацией должен присутствовать заголовок 55Н, байты информации должны поступать не реже, чем через 100-200 мс, то есть при неполной трехбайтной посылке не должно быть цикла, в котором отсутствует прием байта. При нарушении хотя бы одного из трех условий передается запрос на повтор приема информации с кодом 29Н. Этот же код передается при начальной инициализации устройства.
При особых случаях деления результат равен максимальному. Пока не получено первое слово масштаба, он принимается равным среднему значению: 800.0Н.
Слива
Сообщения: 133
Зарегистрирован: 19 мар 2016, 10:15

04 янв 2017, 12:31

Sebastuan писал(а):Вариант 11
а). На базе контроллера i8X51 составить и отладить программу управления, выполняющую следующие функции.
На вход устройства поступают импульсы с частотой до 300 кГц, подсчитываемые счетчиком, с получением 16-битного значения Р.
- что подсчитывает счетчик? Паузы между импульсами?
Ответить