Математическая модель цифровых весов

 

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего

Профессионального образования

«Северо - Кавказский государственный технический университет»

КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И КТ





КУРСОВАЯ РАБОТА

По дисциплине «Математическое моделирование»

На тему: «Математическая модель цифровых весов»





Выполнил:

Студент 3 курса

Группы ПМ-081

Уракин А.В.

Проверил:

Кравцов А.М.






Ставрополь 2011

Оглавление


Введение3

Блок-схема.5

Интерфейсы ввода, вывода.9

Заключение.15

Литература.16


Введение

электронные весы микропроцессор алгоритм цифровой

В данной курсовой работе мной рассмотрена математическая модель электронных весов.

Задача состоит в индикации веса товара и его цены в цифровой форме. Входная информация поступает в двух форматах: аналоговая величина, соответствующая весу, и цифровая величина, соответствующая цене за килограмм. Напряжение пропорциональное весу товара, берется с датчика давления. Это напряжение преобразуется в микропроцессоре к двоично-кодированному десятичному весу в коде 8421 BCD, который умножается на двоично-кодированную десятичную цену за килограмм, вводимую микропроцессор с десятипозиционных наборов переключателей. Для этих двух операций, аналого-цифрового преобразования и умножения, по существу, и применяется микропроцессорная система.

Будем считать, что вес лежит в диапазоне от 0.00 до 9.99 кг, а цена за кг заключена в диапазоне от 0.00 до 9.99 руб. Каждое из чисел, таким образом, будет представлено тремя десятичными цифрами. Итоговая стоимость, таким образом, могла бы лежать в диапазоне от 00.0000 до 99.8001 руб. Однако, поскольку цены обычно округляются до копеек, итоговая стоимость будет представлена четырьмя десятичными цифрами.

В микрокомпьютере каждая двоично-кодированная десятичная цифра будет размещаться в отдельном восьмибитовом слове. Это может показаться расточительным, поскольку для цифры достаточно 4 битов. Тем не менее возможность отдельно обрабатывать каждую цифру существенно упрощается программирование. Цифра всегда будет располагаться в младших 4 битах слова.

Электронные весы работают следующим образом. Датчик давления воспринимает вес положенного на весы товара и формирует напряжение, пропорционально весу. Напряжение увеличивается и поступает на компаратор. Преобразование аналогового сигнала веса в цифровую форму осуществляется с участием микропроцессора и является частью процесса ввода значения веса.

Процедура преобразования сводится к последовательному подбору битов для каждой цифры. Цифры испытуемого числа заносятся на три четырехбитовых регистра вывода. Число преобразуется в аналого-цифровую форму и сравнивает с выходным напряжением, соответствующим измеряемому весу. Однобитовый результат сравнения (больше/меньше) - вот и вся информация, вводимая в микрокомпьютер в связи с измерением веса. По результату сравнения уточняется очередное пробное значение веса.

Процедура преобразования сводится к последовательному подбору битов для каждой цифры. Цифры испытуемого числа заносятся на три четырехбитовых регистра вывода. Число преобразуется в аналоговую форму и сравнивается с входным напряжением, соответствующим измеряемому весу. Однобитовый результат сравнения (больше/меньше) - вот и вся информация, вводимая в микрокомпьютер в связи с измерением веса. По результату сравнения уточняется очередное пробное значение веса. Завершив подбор значений всех битов, микропроцессор получает вес товара в коде BCD. Затем каждая из трех цифр веса выводится на дополнительные индикационные регистры.

Трехразрядный вес умножается на трехразрядный множитель, являющийся ценой за 1 кг товара. Множитель поступает в микропроцессор с трех наборных колес цифра за цифрой по ходу умножения. В произведении сохраняются только 4 старшие цифры. Эти цифры выводятся на четыре индикационных регистра как итоговая стоимость товара. Вся совокупность описанных действий непрерывно повторяется.


Блок-схема


Алгоритм работы во всех деталях представлен на рис.1 в виде блок-схемы. Она начинается с блока «Сброс, пуск», в котором в микропроцессор посылаются управляющие сигналы «Сброс» и «Пуск». Это делается после включения питания и вызывает запуск выполнения программы с нулевой ячейки. Затем идут три цикла, в каждом из которых методом последовательных приближений подбирается значение одной из трех цифр веса. Будем вес обозначать через W, а отдельные цифры веса (слева направо) - через WH, WM и WL.

В каждом цикле работа начинается с некоторого начального значения всех трех цифр веса. Подбор значений битов в каждой цифре начинается со старшего бита, установкой его в 1 и сравнением преобразованного в аналоговую форму веса с фактически измеренным весом. Если выясняется, что испытуемое значение веса велико, бит сбрасывается в 0. Следует обратить внимание, что при таком методе подбора в испытуемом числе могут появиться цифры, превышающие 9, т. е. недопустимые. Но если предполагать, что

ЦА - преобразователь способен работать с цифрами, большими 9, то в результате сравнения в таких случаях всегда будет оказываться, что испытуемое число велико. Следовательно, подбираемый бит будет сбрасываться, и в конце концов все десятичные цифры окажутся в допустимых пределах.

Указателем позиции подбираемого бита служит индекс i. Его начальное значение 8 соответствует весу старшего бита в десятичной цифре. При переходе в цикле к каждому следующему биту значение i делится пополам. Как показывают скобки «[ ]», сохраняется только целая часть частного, поэтому после обработки четырех битов индекс i примет нулевое значение. По этому условию происходят выходы из циклов. После отыскания всех трех десятичных цифр веса эти цифры выводятся на индикационные регистры.

Последующая часть блок-схемы соответствует умножению веса на цену за 1 кг. Десятичные цифры итоговой стоимости будем обозначать через Р с индексом, соответствующим старшинству цифры. Таким образом, итоговая стоимость Р будет выражаться в рублях как (P5P4*P3P2P1P0). Младшие две цифры не индицируются и поэтому отбрасываются в процессе умножения сразу после того, как учтено их влияние на более старшие цифры. Цифры множителя, т. е. цены за кг, обозначены через М с индексами Н, М и L. Таким образом, цена за 1 кг представляется в виде MHMMML. Путем умножения трехразрядного веса на каждую цифру множителя получаются три частных произведения. Каждое частное произведение цифра за цифрой по мере их получения прибавляется к сумме предыдущих частных произведений. Сумма частных произведений накапливается в цифрах P5, Р4, Р3 и Р2, которые в конце дают итоговую стоимость товара.

Рис. 1 содержит также блок-схему программы УМНЦИФ, которая осуществляет умножение на одну цифру. Цифра множителя обозначена как ЦИФ. Подпрограмма начинается со сдвига четырех цифр, образующих предыдущую частную сумму, на один разряд вправо. При этом младшая цифра теряется, а старшая становится равной нулю. За счет сдвига происходит выравнивание разрядов предыдущих частных произведений по отношению к текущему. Текущее частное произведение равно результату умножения веса на ЦИФ. Фактически вес прибавляется к частной сумме столько раз, каково значение ЦИФ. Процесс прибавления идет цифра за цифрой для четырех цифр в коде 8421 ВСD.

Сложение в первых трех разрядах осуществляется аналогичными сегментами блок-схемы. Сначала в каждом разряде в двоичном виде складывается цифра веса с соответствующей цифрой произведения с учетом переноса из предыдущего разряда. После этого, если нужно, корректируется результат. Для этого делается проверка, не превышает ли полученная цифра 9, и, если это так, из нее вычитается 10, а значение переноса устанавливается равным 1. В четвертом разряде цифра веса равна 0, поэтому к ней только прибавляется перенос из третьего разряда.

После сложения во всех четырех разрядах значение ЦИФ уменьшается на 1. Если в результате получается 0, то происходит выход из подпрограммы; в противном случае сложение повторяется.

В главной блок-схеме подпрограмма УМНЦИФ используется следующим образом. Сначала четыре цифры произведения устанавливаются равными нулю. Затем в каждом из трех аналогичных сегментов блок-схемы очередная цифра множителя заносится в ЦИФ и происходит обращение к подпрограмме УМНЦИФ. После выполнения всех трех сегментов цифры P5,P4, Р3 и Р2 будут содержать произведение. Значения этих цифр выводятся для индикации в качестве итоговой стоимости товара, после чего весь алгоритм повторяется.
































Рисунок 1. Блок-схема алгоритма «Электронные весы»








Рисунок 1. Продолжение


Интерфейсы ввода, вывода


Необходимые компоненты ввода/вывода и их взаимосвязи показаны на рис. 2. Как легко видеть, на нем 4 порта ввода и 10 портов вывода. Для выборки портов применяется дешифратор «1 из 10». Основные четыре входные линии дешифратора подключены к четырем младшим линиям адресной шины. Кроме того, в дешифраторе имеется линия разрешения, на которой должна быть логическая 1, чтобы одна из выходных линий приняла значение логической 1.

На линию разрешения подается логическое И от инверсий остальных четырех линий адресной шины, входящих в код устройства. Следовательно, выходы дешифратора будут возбуждаться от первых десяти шестнадцатеричных кодов устройства от 00 до 09. Выходные линии дешифратора обозначены через s с индексом, соответствующим коду устройства.

Один порт ввода выделен для однобитового результата сравнения пробного значения веса с измеренным. Этот порт имеет код устройства 0016 и состоит из тристабильного формирователя, через который выход компаратора подключается к младшему биту шины данных. На линию разрешения тристабильного формирователя подается логическое И от линии s0 дешифратора портов и линии «ввод» шины управления. Три порта ввода служат для ввода трех цифр множителя MH,MM и ML, набираемых на десятипозиционных переключателях. Этим портам присвоены шестнадцатеричные коды устройств 01, 02 и 03. В каждом из портов по четыре тристабильных формирователя, управляемых сигналами И от соответствующей линии дешифратора портов и управляющей линии «ввод».

Десятипозиционные переключатели выдают четырехбитовый код десятичной цифры, соответствующей позиции переключателя. Кодирование цифр возможно при наличии в переключателе достаточного числа полюсов.

Все порты вывода имеют четырехбитовые регистры для приема информации с четырех младших линий шины данных. Сигнал «разрешение загрузки» на каждый регистр получается как логическое И от сигнала на соответствующей выходной линии дешифратора портов и сигнала на управляющей линии «вывод». Три порта вывода с шестнадцатеричными кодами устройств 00, 01 и 02 получают цифры пробного веса. Эти цифры подаются на вход цифро-аналогового преобразователя в коде BCD, который формирует напряжение, пропорциональное пробному весу.

Следующие три порта вывода, имеющие коды устройств 03, 04 и 05, воспринимают цифры веса, которые должны подаваться на индикаторы. Код каждой цифры подается на специальный дешифратор, управляющий семисегментным цифровым индикатором. Остальные четыре порта вывода, имеющие коды 06, 07, 08 и 09, получают и индицируют цифры итоговой стоимости товара.

Все схемы ввода/вывода связаны с микропроцессором только младшими восемью линиями адресной шины, младшими четырьмя линиями шины данных и управляющими линиями «ввод» и «вывод».


Рисунок 2. Связи компонент ввода/вывода в электронных весах


Рисунок 3. Логическая схема дешифратора «1 из 10»

x3 x2 x1 x0

in









Рисунок 4. Логическая схема 4 битного регистра



















Рисунок 5. Логическая схема семисегментного декодера







Рисунок 6. Условно-графическое обозначение семисегментного дешифратора








Рисунок 7. Изображение семисегментного индикатора и название его сегментов


ВходыВыходы8421ABCDEFG00000000001000110011110010001001000110000110010010011000101010010001100100000011100011111000000000010010000100Таблица 1. Таблица истинности семисегментного декодера

ВходыВыходы8421012345678900001000000000000101000000000010001000000000110001000000010000001000000101000001000001100000001000011100000001001000000000001010010000000001Таблица 2. Таблица истинности дешифратора «1 из 10»


Заключение


В ходе выполнения курсовой работы была создана математическая модель цифрового устройства «Электронные весы», которое тестирует студента на наличие у него знаний на соответствующую тему.

Так для каждого рабочего элемента математической модели была создана таблица истинности.


Литература


.Гивоне Д., Россер Р. Микропроцессоры и микрокомпьютеры: Вводный курс / Пер. с англ. М.: Мир, 1983.

2.Уокерли Дж. Архитектура и программирование микро ЭВМ: В 2-х кн. / Пер. с англ. М.: Мир, 1984.

.Микро ЭВМ / Пер. с англ., Под ред. А. Дирксена. М.: Энергоиздат, 1982.

.http://digital.sibsutis.ru/digital/DC.htm ,2011.

.http://naf-st.ru/articles/digit/decod/ ,2011.

.http://coolreferat.com/Регистры_сдвиги_часть=4 , 2011.


Министерство образования и науки Российской Федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего Профессио

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ