Основные разделы


Выбор разрядности переменных и микроконтроллера

Диапазон измеряемых значений длительности составляет T1=937…75000.

Разрядность переменной T1 выбирается как

N[T1]³log2(T1). Получим, что N[T1]=17.

Пересчет значений длительности T1 в частоту производится по формуле

.

Пусть T1`=5×105/Nизм, разрядность константы k3=5×105,

N[k3]=19.

Разрядность переменной T1,

N[T1`]³log2(5×105/937)=10.

Разрядность константы

k1=60/Nцил=5.

Разрядность переменной Nk=100…8000 (значение числа оборотов в об/мин) равна

N[Nk]³log2(8000)=13.

Так как величина Nk выводится на индикатор в виде 4-х разрядного десятичного числа, то разрядность двоично-десятичного значения Nk,

N[Nk10]=4*4=16.

Для датчика скорости:

Разрядность переменной измеренного числа импульсов

v=0…533, N[v]=10.

Для приведения значения скорости к величине км/час используется преобразование

V=v*200/333=v2/333, где v2=v*200.

Разрядность

N[v2]³log2(533)+log2(200)=17.

Разрядность

N[V]³17-log2(333)=8.

Так как величина V выводится на индикатор в виде 3-х разрядного десятичного числа, то разрядность двоично-десятичного значения V,

N[V10]=3*4=12.

Для датчика напряжения:

Разрядность АЦП равна 9, то есть

N[T2]=9.

Нормировка выходного значения к значению напряжения в единицах вольт производится по формуле

U=10*T2/32=T2`/32.

Следовательно, разрядность

N[Т2`]=9+4=13,

а разрядность

N[U]=13-5=8.

Так как величина U выводится на индикатор в виде 3-х разрядного десятичного числа, то разрядность

N[U10]=3*4=12.

В настоящее время распространены однокристальные микроконтроллеры с разрядностью 8 и 16 бит. Для данной работы был выбран 8-разрядный микроконтроллер AT89С51, исходя из требований к стоимости тахометра.

Микроконтроллер имеет 2 16-разрядных аппаратных таймера-счетчика. Для датчика частоты разрядность счетчика N[T1]=17, поэтому 17-й бит формируется программно по признаку переполнения счетчика.

Остальные счетчики, с разрядностью N[v]=10 и N[T2]=9 организуются программно.

В соответствии с выбранным значением разрядности контроллера равной 8 бит, уточним разрядности переменных:

N[T1]=N[k3]=N[v2]=24

N[T1`]=N[Nk]=N[v]=N[T2]=N[T2`]=16

N[k1]=N[V]=N[U]=8.

АЛУ микроконтроллера AT89С51 позволяет производить арифметические и логические операции с 8-разрядными данными. Поэтому для операций сложения чисел с большей разрядностью (например для организации счетчиков) используется число сложений (с учетом переноса из младших разрядов) nсл=N[оп]/8, где N[оп] - разрядность операндов.

Для выполнения деления и умножения в микроконтроллере предусмотрены операции 8-разрядного деления и умножения. Так как в данной работе требуется выполнять

При обработке данных используется 16-разрядное умножение, которое реализуется с помощью 8-разрядного следующим образом:

P16*16[31…0]=A[15…0] ×B[15…0]=

=(a[7…0] ×28+b[7…0]) × (c[7…0] ×28+d[7…0])=

=a[7…0]×c[7…0]×216+(a[7…0]×d[7…0]+b[7…0]×c[7…0])×28+d[7…0] ×b[7…0].

То есть заменяется на 4 операции 8-разрядного умножения и 3 операции сложения.

Операция умножения 16-разрядной величины на 8-разрядную соответственно заменится на

P16*8[23…0]=A[15…0] ×B[7…0]=

=(a[7…0] ×28+b[7…0]) × d[7…0]=a[7…0]×d[7…0]×28+d[7…0] ×b[7…0].

Перейти на страницу: 1 2

Прочитайте еще и эти статьи:

Технология сотовой связи в стандарте GSM
Сотовая связь - один из видов мобильной радиосвязи, в основе которого лежит сотовая сеть. Ключевая особенность заключается в том, что общая зона покрытия делится на ячейки (соты), определяющиеся зонами покрытия отдельных базовых ...

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

© Copyright 2019 | www.techattribute.ru