Торговые весы

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 11.12.2020
Размер файла 722,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

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

“Московский технологический университет” МИРЭА

Институт радиотехнических и телекоммуникационных систем

Кафедра радиоприемных устройств

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

по дисциплине “Цифровые устройства и микропроцессоры”

Тема курсовой работы “Торговые весы”

Студент группы РССО-1-13

Пересторонин Дмитрий

Руководитель курсовой работы

Кандидат технических наук, доцент А.Н. Богаченков

Москва 2016

ЗАДАНИЕ

на выполнение курсовой работы

1.Тема “ Торговые весы ”

2.Исходные данные:

3.Перечень вопросов, подлежащих разработке, и обязательного графического материала:

4.Срок представления к защите курсовой работы: до « » 2016 г

Текст задания

Торговые весы

В устройстве применен тензометрический датчик с параметрами: максимальный вес -- 10 кг; минимальный измеряемый вес -- 10 г; ошибка измерений -- 0,05%; выходной сигнал при использовании измерительного преобразователя -- 0…10 В. Весы имеют символьный дисплей для отображения названия товара, веса, цены единицы веса, стоимости взвешиваемой продукции, клавиатуру для ввода кода товара. Предусмотреть средства для переоценки существующих товаров и добавления в память параметров новых.

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

Внешний вид

Инструкция

цифровой торговые весы микропроцессор

При помещении товара в чашу весов, датчик веса начинает измерять его вес. Далее посредству смещения джойстика вниз выбирается одна из 15 ячеек для товаров. При нажатии на джойстик товар выбирается, и стоимость рассчитывается на основе весовой цены выбранного товара. Для изменения цены или названия товара необходимо «долистать» до него джойстиком и нажать вправо. Затем выбрать необходимую строку для измерения цены или названия и нажать джойстик. После этого с клавиатуры необходимо ввести новые данные и нажать на джойстик. Для отмены нажмите влево. Для добавления нового товара выберите ячейку с надписью «добавить новый товар», и заполните ее по принципу аналогичному изменению данных о товаре.

Функциональная схема

В данном устройстве основой является процессор STM32F407. К нему подключен датчик веса через порт РС.

Органами управления являются джойстик и клавиатура. Джойстик подключен к 5 портам PG, а клавиатура к 13 портам PF. При нажатии клавиши на соответствующий разряд порта поступает сигнал логического "0". Подтяжка разрядов до логической "1" осуществляется встроенными в процессор резисторами.

В качестве устройства вывода выступает графический дисплей

При каждом нажатии кнопки или смещении джойстика для исключения дребезга приводится в действие следующий цикл

Пример выдачи результата на экран

Текст программы

Для работы программы используются файлы stm32f4xx_conf.h, lcd.h, adc.с и main.с

Файл adc.с является библиотечным и поэтому раскрываться здесь не будет.

Файл main.с приведен ниже.

//---------------------------------------------------------------------------

//

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

// Торговые весы

// Copyright (C) 2016 МИРЭА

// Выполнил Пересторонин Дмитрий РССО-1-13

//

// Программа имитирует принцип работы торговых весов. Весы имеют 5 торговых позиций, переключаемых // джойстиком.

//---------------------------------------------------------------------------

#include "stm32_p407.h" //Файл конфигурации отладочной платы STM32-P407

#include "adc.h" //Функции для работы с АЦП

#include "lcd.h" //Функции для работы с дисплеем

#define AVERAGE 200 //Число усреднений данных с АЦП

//-------------------------------------------------------------------

// ГЛАВНАЯ ФУНКЦИЯ

int main()

{

long AdcData; //Суммированные данные с АЦП

unsigned short UData16; //Приведенный смещенный (беззнаковый) код

short Data16; //Приведенный дополнительный (знаковый) код

int Average = 1; //Текущее число усреднений

int i; //Текущая переменная цикла

int price1=70; //Цена бананов за кг

int price2=60; //Цена огурцы за кг

int price3=20; //Цена арбуза за кг

int price4=130; //Цена помидоров за кг

int price5=160; //Цена лимонов за кг

int code=0; //Номер товарной позиции соответствующий цене товара

//Инициализация индикаторов

STM_LEDInit(LED3); STM_LEDOff(LED3);

//Инициализация дисплея

LCD_Init(); LCD_Clear(1);

LCD_FontSize(11);

LCD_FontColor(0x0F0);

LCD_TextPos(1,1); LCD_print("Торговые весы");

LCD_FontColor(0x08F);

LCD_TextPos(1,2); LCD_print("Вес(кг). Цена.");

LCD_TextPos(1,5); LCD_print(" цена за кг ");

LCD_FontColor(0xFFF);

//Инициализация и первичный запуск АЦП

ADC_Initialize(ADC2, ADC_Channel_10, 0);

ADC_SoftwareStartConv(ADC2);

//Цикл в основной программе

while (1)

{

//Указание выбранной товарной позиции

if (STM_PBGetState(BUTTON_RIGHT))

{ Average = AVERAGE;

code=2;

LCD_TextPos(1,4); LCD_print(" Огурцы ");

}

if (STM_PBGetState(BUTTON_LEFT))

{ Average = AVERAGE;

code=1;

LCD_TextPos(1,4); LCD_print(" Бананы ");

}

if (STM_PBGetState(BUTTON_DOWN))

{ Average = AVERAGE;

code=3;

LCD_TextPos(1,4); LCD_print(" Арбуз ");

}

if (STM_PBGetState(BUTTON_UP))

{ Average = AVERAGE;

code=4;

LCD_TextPos(1,4); LCD_print(" Помидоры ");

}

if (STM_PBGetState(BUTTON_SEL))

{ Average = AVERAGE;

code=5;

LCD_TextPos(1,4); LCD_print(" Лимоны ");

}

//Цикл по измерениям

for (i = Average, AdcData = 0; i > 0; i--)

{

while (!ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC)); //Ожидание окончания преобразования

AdcData += ADC_GetConversionValue(ADC2); //Ввод и суммирование показаний

ADC_SoftwareStartConv(ADC2); //Новый запуск преобразования

Delay_ms(1);

}

//Преобразование кода с АЦП

UData16 = AdcData / Average; //Вычисление среднего

//Вывод результатов на дисплей

if (code==1)

{

Data16 >>= 4; UData16 >>= 4; //Имитация выравнивания вправо

LCD_TextPos(1,3); LCD_print("%1.2f", UData16*10.1/4095); //Вес в кг

LCD_TextPos(10,3); LCD_print("%1.2f", UData16*10.1*price1/4095); //Цена

LCD_TextPos(4,6); LCD_print("%5d", price1); //Стоимость 1 кг продукта

}

if (code==2)

{

Data16 >>= 4; UData16 >>= 4; //Имитация выравнивания вправо

LCD_TextPos(1,3); LCD_print("%1.2f", UData16*10.1/4095); //Вес в кг

LCD_TextPos(10,3); LCD_print("%1.2f", UData16*10.1*price2/4095); //Цена

LCD_TextPos(4,6); LCD_print("%5d", price2); //Стоимость 1 кг продукта

}

if (code==3)

{

Data16 >>= 4; UData16 >>= 4; //Имитация выравнивания вправо

LCD_TextPos(1,3); LCD_print("%1.2f", UData16*10.1/4095); //Вес в кг

LCD_TextPos(10,3); LCD_print("%1.2f", UData16*10.1*price3/4095); //Цена

LCD_TextPos(4,6); LCD_print("%5d", price3); //Стоимость 1 кг продукта

}

if (code==4)

{

Data16 >>= 4; UData16 >>= 4; //Имитация выравнивания вправо

LCD_TextPos(1,3); LCD_print("%1.2f", UData16*10.1/4095); //Вес в кг

LCD_TextPos(10,3); LCD_print("%1.2f", UData16*10.1*price4/4095); //Цена

LCD_TextPos(4,6); LCD_print("%5d", price4); //Стоимость 1 кг продукта

}

if (code==5)

{

Data16 >>= 4; UData16 >>= 4; //Имитация выравнивания вправо

LCD_TextPos(1,3); LCD_print("%1.2f", UData16*10.1/4095); //Вес в кг

LCD_TextPos(10,3); LCD_print("%1.2f", UData16*10.1*price5/4095); //Цена

LCD_TextPos(4,6); LCD_print("%5d", price5); //Стоимость 1 кг продукта

}

}

}

Заключение

В результате выполнения курсовой работы мною был разработан алгоритм работы торговых весов. Был пройден практически весь путь разработки устройства от ТЗ до написания кода программы, пусть и упрощенного.

Список литературы

1. А.Н. Богаченков. Процессоры с ядром ARM в лабораторном практикуме и курсовом проектировании

2. А.Н. Богаченков Краткие сведения о программировании на Си

3. Тревор Мартин Ознакомительное руководство по ARM-микроконтроллерам Cortex-M3

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [1,3 M], добавлен 12.03.2012

  • Рассмотрение устройства простейшего проволочного тензорезистора. Изучение основных параметров микросхемы АЦП HX711. Выбор датчика, микропроцессора и дисплея. Разработка алгоритма работы программы, программы устройства и выбор языка программирования.

    курсовая работа [1,5 M], добавлен 26.07.2022

  • Принцип действия электронных весов, их структурная, функциональная и принципиальная электрические схемы, выполненные на современной элементной базе. Общая характеристика основных электрических параметров таких микросхем как - КР142ЕН5А, КР572ПВ2, К153УД2.

    курсовая работа [32,2 K], добавлен 18.06.2010

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

    дипломная работа [776,4 K], добавлен 20.10.2010

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

    презентация [752,1 K], добавлен 01.02.2016

  • Разработка и описание общего алгоритма функционирования цифрового режекторного фильтра на основе микропроцессорной системы. Обоснование аппаратной части устройства. Отладка программы на языке команд микропроцессора. Расчёт быстродействия и устойчивости.

    курсовая работа [266,1 K], добавлен 03.12.2010

  • Разработка структурной схемы устройства. Изучение принципиальной электрической схемы устройства с описанием назначения каждого элемента. Характеристика программного обеспечения: секции деклараций, инициализации микропроцессора и основного цикла.

    курсовая работа [260,3 K], добавлен 14.11.2017

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

    лабораторная работа [264,7 K], добавлен 27.01.2013

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

    курсовая работа [113,8 K], добавлен 04.12.2010

  • Проектирование устройства, измеряющего температуру в помещении. Выбор датчика температуры, микроконтроллера и отладочной платы. Изучение работы встроенного датчика температуры. Разработка программного обеспечения. Функциональная организация программы.

    курсовая работа [2,0 M], добавлен 26.12.2013

  • Разработка и выбор функциональной схемы датчика электромагнитного расходомера. Формирование и исследование аналоговой, цифровой схемы. Расчет блока питания устройства. Порядок разработки алгоритма работы и программного обеспечения микроконтроллера.

    курсовая работа [1,9 M], добавлен 19.08.2012

  • Разработка общего алгоритма и функционирования цифрового фильтра. Составление и описание электрической принципиальной схемы устройства, расчет его быстродействия. Листинг программного модуля вычисления выходного отсчета. Оценка устойчивости устройства.

    курсовая работа [236,2 K], добавлен 03.12.2010

  • Разработка принципиальной электрической схемы на базе микропроцессора. Механизм работы устройства, его зависимость от сигналов, приходящих на микроконтроллер от датчиков присутствия человека в помещении. Выбор датчика присутствия. Расчет параметров реле.

    курсовая работа [491,6 K], добавлен 03.04.2017

  • Описание принципа действия аналогового датчика и выбор его модели. Выбор и расчет операционного усилителя. Принципа действия и выбор микросхемы аналого-цифрового преобразователя. Разработка алгоритма программы. Описание и реализация выходного интерфейса.

    курсовая работа [947,1 K], добавлен 04.02.2014

  • Разработка общего алгоритма функционирования цифрового фазового звена. Расчет аппаратной части устройства и написание программы на языке микропроцессора. Составление принципиальной схемы блока. Порядок расчета амплитудно-частотной характеристики фильтра.

    курсовая работа [197,8 K], добавлен 03.12.2010

  • Разработка алгоритма функционирования устройства. Разработка и отладка рабочей программы на языке команд микропроцессора. Составление и описание электрической принципиальной схемы. Расчет АЧХ устройства для заданных и реальных значений коэффициентов.

    курсовая работа [313,9 K], добавлен 28.11.2010

  • Логические основы цифровой техники, типы сигналов. Анализ, разработка и синтез логических схем; мультиплексоры. Принцип аналого-цифрового преобразования информации. Конструктивные и функциональные модули микропроцессоров для персонального компьютера.

    курс лекций [1,8 M], добавлен 28.06.2013

  • Проектирование устройства преобразования цифровой информации в аналоговую и наоборот для цифрового магнитофона. Описание используемых интегральных микросхем. Разработка структурной и принципиальной схемы цифрового канала звукозаписи без кодера и декодера.

    курсовая работа [1,8 M], добавлен 18.10.2010

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

    курсовая работа [399,3 K], добавлен 17.02.2013

  • Структура и основные направления деятельности НПО "Мостовик". Производительность, принцип работы бетоносмесительной установки фирмы Stetter. Загрузка и разгрузка смесителя. Электромеханические весы для взвешивания отдельных компонентов бетонной смеси.

    отчет по практике [1,5 M], добавлен 14.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.