Устройство контроля интенсивности движения через мост
Министерство общего и профессионального образования Российской
Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И
РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
УСТРОЙСТВО_КОНТРОЛЯ_ИНТЕНСИВНОСТИ
ДВИЖЕНИЯ
Пояснительная записка к курсовому проекту по дисциплине
«Микропроцессорные устройства и системы»
ФЭТ КП.ХХХХХХ.001 ПЗ
Студент
группы 367-3
________
Д.А. Сахно
Руководитель
проекта
аспирант
кафедры ПрЭ
_______М.Ю.
Шевелев
АННОТАЦИЯ
Дисциплина
«Цифровая и микропроцессорная техника» (ЦиМПТ) является одной из центральных
фундаментальных дисциплин, изучаемых будущими инженерами специальности
«Промышленная электроника». Любая инженерная деятельность без знания основ
данной дисциплины является несостоятельной. ЦиМПТ является дисциплиной жестко
привязанной к прикладным схемотехническим задачам.
Схемотехническая
деятельность многогранна и предполагает умение решать различные виды
схемотехнических задач, в том числе задач синтеза электронных схем, то есть
проектирования электронных устройств заданного функционального назначения.
Микропроцессоры
являются основой совершенно нового поколения интеллектуальных машин.
Современные специалисты в области электронной техники должны обладать знаниями
о микропроцессорах и микропроцессорных систем.
Данный
курсовой проект позволит сделать первые серьезные шаги в применении этих и
других знаний для оптимального проектирования электронных систем, так как
процесс проектирования всегда связан с выбором оптимального варианта из
множества возможных.
Разработанное
устройство контроля интенсивности движения машин через мост позволяет наглядно
на практике рассмотреть возможности применения микропроцессорных систем в быту.
Данное устройство воспроизводит таймер и счетчик внешних событий в общем
корпусе. Оно просто в использовании и может применяться как в ГАИ, так и
дорожными службами.
Министерство общего и профессионального образования Российской
Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И
РАДИОЭЛЕКТРОНИКИ
(ТУСУР)
Кафедра промышленной электроники (ПрЭ)
УТВЕРЖДАЮ
Зав. кафедрой ПрЭ
_______А. В. Кобзев
ЗАДАНИЕ
по курсовому проектированию
студенту Сахно Дмитрию Анатольевичу
группа №367-3 факультет электронной
техники.
1. Тема проектирования: Разработка устройства
контроля интенсивности движения через мост.
2. Срок сдачи студентом законченного проекта:
3. Исходные данные к проекту: Устройство ведет
подсчет количества автомобилей, проехавших через мост, и по запросу внешнего
устройства выдает час-пик и количество автомобилей, проехавших в этот час.
4. Содержание пояснительной записки (перечень подлежащих разработке
вопросов): выбор микроконтроллера, обоснование
функциональной схемы, распределение функций между аппаратными и программными
средствами, разработка полной принципиальной схемы устройства с перечнем
элементов, алгоритм работы программы, листинг управляющей программы.
5. Перечень графического материала (с точным указанием обязательных
чертежей): функциональная схема устройства, схема
алгоритма прикладной программы, схема электрическая принципиальная.
6. Дата выдачи задания:
РУКОВОДИТЕЛЬ
аспирант
кафедры ПрЭ Шевелев Михаил Юревич
______________
Задание принял к исполнению
Сахно Дмитрий Анатольевич
CОДЕРЖАНИЕ
1.
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 6
2.
Конкретизация технического задания . . . . . . . . . . . . . . . . . . . .8
3.
Разработка функциональной схемы устройства . . . . . . . . . . . . 9
4.
Алгоритм работы устройства . . . . . . . . . . . . . . . . . . . . . . . . .
11
5.
Разработка управляющей программы . . . . . . . . . . . . . . . . . . . . 13
6.
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .14
7.
Список использованной литературы . . . . . . . . . . . . . . . . . . . . . 15
Приложение
А. Листинг управляющей программы . . . . . . . . . . 16
Приложение
Б. Карта прошивки памяти программ . . . . . . . . . . 21
1.
ВВЕДЕНИЕ.
Широкое
внедрение во все сферы человеческой деятельности получила микропроцессорная
техника. Этот процесс неразрывно связан как с развитием многочисленных сложных
технических разработок, так и с уровнем подготовки в этой области специалистов
самого различного профиля.
Микропроцессоры,
как основа совершенно нового поколения интеллектуальных машин, встречаются
повсюду. В настоящее время микропроцессорные системы широко внедряются во все
сферы учебной, научной и производственной деятельности. Вследствие создания
программируемого элемента, называемого микропроцессором, можно рассчитывать на
ускорение разработок искусственного интеллекта.
Электронные
вычислительные машины широко используются с 50-х годов. Сначала это были
ламповые и дорогие машины, предназначенные для административно-управленческих
целей, доступные только крупным предприятиям. Из-за появления нового элемента -
микропроцессора структура и формы вычислительных машин изменились.
Микропроцессор - это интегральная схема (ИС), обладающая такой же
производительностью при переработке информации, что и большая ЭВМ. Более точно
- это очень сложное программируемое устройство малых размеров, представляющее
собой большую интегральную схему (БИС). Электронные вычислительные машины
работают в соответствии с загружаемой в них программой, микро-ЭВМ действуют по
такому же принципу, она содержит микропроцессор и, по меньшей мере, один
какой-либо либо тип полупроводниковой памяти.
Выполнение
курсового проекта требует от будущего специалиста промышленной электроники
обязательных знаний не только о микропроцессорах и микропроцессорных системах в
общем, т. е. сведениями об её аппаратной и программной частях, но и о различных
аспектах архитектуры, функционирования и применения микропроцессоров и
микропроцессорных систем. Курсовой проект позволит студентам укрепить знания в
области цифровой и микропроцессорной техники, почувствовать себя специалистами
в области разработки этой аппаратуры и её программного обеспечения.
Кроме
того, проектирование микропроцессорных систем наряду с организацией
центрального процессора, подключением памяти и устройств ввода/вывода
информации связано с разработкой прикладных программ на языке ассемблера
используемого микропроцессора. Для успешного и эффективного построения
микропроцессорных систем необходимо в совершенстве знать их программные
возможности и предоставляемые ими средства. На этапе разработки прикладной
программы используются различные компьютерные средства поддержки
проектирования: кросс-трансляторы, эмуляторы, редакторы текстов, программаторы.
При
выполнении курсового проекта прямые интересы проектировщика электронного
устройства замыкаются на решении специальных технических проблем: моделирование
технического объекта, его эксплуатация и управление, разработки различных видов
технологии и оборудования и т. д. В проекте раскрываются сложные вопросы структуры,
функционирования, принципов построения аппаратных и программных средств
микропроцессоров и микропроцессорных систем.
В
курсовом проекте по ЦиМПТ микропроцессор является основой для построения
электронного устройства с заданными в техническом - задании функциональными
свойствами. Применение однокристальных микроконтроллеров в цифровых электронных
устройствах обеспечивает достижение исключительно высоких показателей
эффективности при низкой стоимости.
2. КОНКРЕТИЗАЦИЯ ТЕХНИЧЕСКОГО ЗАДАНИЯ
Конструктивные
особенности этого устройства: диапазон рабочих температур, конструктивное
исполнение, характеристики аналоговых узлов и т. д.
Устройство
ориентировано на установку на четырех полосах проезжей части моста, оно
работает в режиме таймера и одновременно счетчика внешних импульсов с входа INТ0, которые создают автомобили, проезжающие по дорожным пластинам
(конструктивно они похожи на большие кнопки). По уровню логической
"1" входа INТ1 программа выдает на внешнее
устройство количество автомобилей в час-пик и час, в которое это количество
автомобилей было достигнуто. Контролируемое количество автомобилей не должно
превышать 9999 за час, иначе переполнение регистров может вызвать некорректную
работу устройства.
Применение
микроконтроллера в данном устройстве вызвано задачами подсчета внешних
импульсов при параллельной работе часов и выводе нужной информации на цифровые
индикаторы и внешнее устройство.
Разработанный
прибор по заданным характеристикам и выполняемым им функциям должен выпускаться
в специальном корпусе, обеспечивающем температурный режим, не нарушающий
работоспособность микропроцессорной системы.
3. РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ УСТРОЙСТВА
Устройство
можно спроектировать с применением однокристального микроконтроллера семейства
МК51. Микросхемы семейств МК48 и МК51 получили наибольшее распространение среди
микросхем такого класса. Использование микросхемы К1830ВЕ51 в данном случае -
самый экономичный вариант реализации устройства с удовлетворяющими требованиями
быстродействия. Функциональная схема устройства изображена на рисунке 3.1. Для
подсчета количества автомобилей к линии пота Р3 (INT0)
микроконтроллера подключаем датчики с коммутатором импульсов, c которого снимаем сигнал на вход INТ0 при проезде
автомобиля. Датчик формирует импульс с единичным уровнем в тот момент, когда
автомобиль проезжает по нему. Принципиальная схема датчика приведена на рисунке
3.2.
Датчик
представляет собой гигантские кнопки шириной в половину полосы и длинной 3м. При
проезде автомобиля по двум частям полосы дорожного покрытия формируется
единичный импульс, который переключает счетный триггер из "1" в
"0" и наоборот. В результате на триггере сформируется единичный
импульс, соответствующий по длительности времени проезда автомобиля.
Затем,
после формирования сигналов с датчиков, информация поступает на коммутатор.
Вывод
информации о текущем времени осуществляется через порты Р1 и Р2 и светодиодные
семи-сегментные цифровые индикаторы HG1.. HG4, в качестве которых можно использовать индикаторы типа АЛС324А.
Индикаторы подключаются к линиям портов микроконтроллера через дешифраторы DD2..DD5, в качестве которых используются микросхемы
514ИД1, преобразующие двоично-десятичное содержимое портов в коды управления
цифровыми индикаторами. Начальные установки таймера реального времени задаются
кнопками подключенными к линиям Т0 и T1 порта Р3, которые
обозначаются на функциональной схеме «час» и «мин». Сразу при включении
устройство переходит в режим счета.
Программно
реализуется счетчик внешних событий на регистрах R4 и R6, а таймер реального времени на таймере-счетчике Т/С1. Импульс,
приходящий с коммутатора вызывает увеличение содержимого счетчика, причем
информация о максимальном значении автомобилей и час-пике обновляется каждый
час. Время берется из таймера реального времени.
При включении устройства происходит обнуление информации и сброс
счетчика коммутатора единичным импульсом Urd. Почти
одновременно с этим производится сброс триггеров. Эпюры напряжений на основных
элементах устройства приведены на рисунке 4.1.
Рисунок
4.1. Эпюры напряжений на основных элементах схемы.
Рассмотрим
наихудший случай для проектируемой системы: пусть по четырем полосам через
датчики одновременно проехали автомобили. Тогда коммутатор будет распределять
импульсы следующим образом: на счетчик поступают тактирующие импульсы Uwr, формируется код номера датчика, линию которого надо опросить. Этот
код поступает на мультиплексор, который осуществляет подключение соответствующего
датчика к микропроцессору. На выходе коммутатора будут информационные импульсы Uвых. При единичном состоянии датчика триггер сбрасывается в
"0" импульсом Urst для предотвращения повторного
учета "старой" информации.
При
каждом приходе импульса по линии INТ0 порта Р3 содержимое
регистров R4 и R6 будет
увеличиваться, при этом параллельно будет работать таймер реального времени.
Каждый час информация будет обновляться, будет происходить сравнение количества
автомобилей, проехавших за минувший час через мост с максимальным количеством
автомобилей, находящимся в памяти МК.
При
поступлении на вход INT1 положительного единичного
импульса, через последовательный порт, через регистр сдвига, дешифраторы на
семи-сегментные цифровые индикаторы внешнего устройства выводится количество
автомобилей, проехавших через мост в час-пик и сам час-пик.
5. РАЗРАБОТКА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ.
Схема
алгоритма работы управляющей программы изображена на рисунке 5.1.
После
включения устройства производится операция обнуления и установки начальных
параметров. Разрешаются прерывания от таймера-счетчика и запускается таймер
реального времени, причем.
Счетчик
внешних событий, реализованный на регистрах R4 и R6, будет считать количество проехавших автомобилей, обнуляясь каждый
час, а информация будет сравниваться с хранимой в памяти и обновляться. Также
информация будет обновляться каждые сутки.
6. ЗАКЛЮЧЕНИЕ
Микропроцессоры
и микропроцессорные системы являются основой построения электронных устройств с
заданными функциональными свойствами. Решающими факторами при проектировании
таких устройств являются удобство практической эксплуатации и новый набор
качественных характеристик (более высокое быстродействие, точность, новые
функциональные возможности) по сравнению с домикропроцессорным вариантом
реализации подобного устройства. В таком варианте изделие функционирует
автономно и не требует постоянного вмешательства человека.
Данный
курсовой проект позволил сделать серьёзные упражнения в применении знаний,
полученных в процессе изучения дисциплины “Микропроцессорные устройства и
системы”.
7. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ.
ОС
ТАСУР 6.1-97. Работы студенческие учебные и выпускные квалификационные. Общие
требования и правила оформления.
Шарапов
А. В. Микропроцессорные устройства и системы. Методические указания к
выполнению курсового проекта. - Томск: ТУСУР, 1998. - 39 с.
Шарапов
А. В. Примеры решения схемотехнических задач. Учебное пособие. - Томск: ТИАСУР,
1994. - 141 с.
Шарапов
А. В. Цифровая и микропроцессорная техника: Учебное пособие. 2-е изд., перер. и
доп. - Томск: Изд-во Том. Ун-та, 1997. - 108 с.
Токхайм
Р. Микропроцессоры: Курс и упражнения/ Пер. С англ., под ред. В. Н. Грасевича.
- М.: Энергоатомиздат, 1988. - 336 с.
Приложение А
Листинг
управляющей программы
Основная
программа:
ORG
00H;начальный адрес программы
CLR
A;очистка аккумулятора
;начальная
загрузка счетчика часов
MOV
R5,A;начальная загрузка
MOV
R7,A;счетчика минут
MOV
P2,A;начальная загрузка счетчика секунд
MOV
R2,#1;загрузка
MOV
R1,#1;счетчиков генератора
MOV
TH1,#156;секундных импульсов
MOV
TMOD,#20H;T/C1 в режиме 2
MOV
IE,#8DH;разрешение прерываний от T/C1
SETB
TR1;старт таймера T/C1
SJMP
MAIN;Переход к основной программе
;-----======
П/п обслуживания прерывания от T/C1 =====--------
ORG
1BH;вектор прерывания
PUSH
PSW;задержка
DJNZ
R2,EXIT;в одну
MOV
R2,#1;секунду
DJNZ R1,EXIT;
MOV R1,#1;
PUSH ACC;
JNB
T0,M1;коррекция минут
JNB
T1,M2;коррекция часов
MOV
A,R7;счетчик секунд
ADD A,#1;
DA A;
MOV R7,A;
CJNE R7,#60H,M3;
MOV R7,#0;
M1:MOV
A,R5;счетчик минут
ADD A,#1;
DA A;
MOV R5,A;
CJNE R5,#60H,M3;
MOV R5,#0;
M2:CALL
COMP;Запуск п/п выявления мах кол-ва а/м.
MOV
R4,#0 ;Обнуление количества а/м,
MOV
R6,#0;проехавших через мост за час.
MOV
A,R3;Счетчик часов.
ADD A,#1;
DA A;
MOV R3,A;
CJNE R3,#24H,M3;
MOV
R3,#0;Установка 0 (24) часов.
MOV
R4,#0;Обнуление количества а/м, проехавших
MOV
R6,#0 ;через мост, с началом новых суток.
M3:MOV
P1,R3;Вывод информации .
MOV
P2,R5;индикаторы.
EXIT:POP
PSW;Восстановление регистра PSW.
RETI;Возврат
из п/п.
;-----========
Основная программа. ========----------
MAIN:MOV
R4,#0;Обнуление
MOV
R6,#0;количества а/м.
MOV
P0,#0FFH;Сброс триггеров
SETB
RD;Сброс счетчика.
NOP
;Задержка в 1мкс (для срабатывания CT)
CLR
RD;
MOV
P0,#0;Восстановление работы триггеров.
SETB
WR ;Импульс переключения линий с датчиков.
MOV
SP,#100;Установка указателя стека.
BEGIN:MOV
B,#4;Число датчиков.
MOV R0,#1;R0=1.
CYCLE:CLR
WR;Импульс переключения линий с датчиков.
NOP;Задержка
в 1мкс (для срабатывания CT и MS).
JNB
INT0,J11;Опрос линии порта (проверка состояния датчиков).
MOV
P0,R0;Сброс соответсвующего триггера датчика
CALL
SUM;Вызов п/п суммипрвания.
MOV
P0,#0;Восстановление счетнго режима триггера
J11:MOV
A,R0;A=R0.
RL
A;Пестановка сбрасывающего бита триггеров.
MOV R0,A;R0=A.
SETB
WR;Импульс переключения линий с датчиков.
DJNZ
B,CYCLE;B=B-1. If B<>0, то переход на новый цикл
;опроса
датчиков.
JB
INT1,J2;Если INT1=1, то J2,
CALL
DSPLY; иначе вызов п/п вывода инф-ции на
;внешнее
устройство.
J2:SJMP
BEGIN;Переход на начало опроса датчиков.
;П/п
суммирования количества прошедшего транспорта.
SUM:MOV
A,R6;Суммирование десятков.
ADD A,#1;A=A+1.
DA
A;Десятичная коррекция.
MOV R6,A;R6=A.
JNC S1;Если С<>1, то S1,
MOV
A,R4; иначе прибавить 1 к сотням.
ADD A,#1;A=A+1.
DA
A;Десятичная коррекция.
MOV R4,A;R4=A.
S1:RET;Возврат
из п/п.
;-------=====
П/п сравнения количесва а/м, прошедших ранее, ======-----
;с
прошедшими в этот час.
COMP:
MOV A,R0;Сохранение R0
PUSH
ACC;в стеке.
MOV
R0,#20H;Адрес хранения младшего байта максимального
;количеств
а/м.
MOV A,R6;A=R6.
SUBB A,@R0;A=A-@R0.
JC
C1;Если содержимое @R0>A, то переход к C1,
MOV
A,R6;иначе записать
MOV
@R0,A;в память мах. кол-во а/м.
C1:INC
R0;Увеличение указателя памяти.
MOV A,R4;A=R4.
SUBB A,@R0;
JC C2;
MOV A,R4;
MOV @R0,A;
INC R0;
MOV A,R3;
MOV @R0,A;
POP
ACC;Восстановление
MOV
R0,A;R0 из стека.
C2:RET;Возврат
из п/п
;---------=======
П/П ВЫВОДА ДАННЫХ НА ВНЕШ. УСТР-ВО ========--------
DSPLY:MOV
R0,#20H;Начальный адрес данных.
MOV
SBUF,@R0;Вывод данных ч/з последовательный порт
INC
R0;Увеличение указателя памяти.
MOV SBUF,@R0;
INC R0;
INC R0;
RET;Возврат
из п/п.
END
Приложение Б
Карта
прошивки памяти программ
0: 1: 2: 3: 4:
5: 6: 7: 8: 9: A: B: C: D: E: F:
0000: 99 00 9A
0FD5 0E 03 F0 A9 0D 47 A8 0C 68 A8 C5
0010: 26 10 27
A8 A9 AA AB AC AE BD05 36 1B 14 42 14
0020:53 FD 47 53
0F AD FE 47 53 F0 6DAD39 FE 53 F0
0030: 3A47 AED5
69 C5 F6 3E FD D5 68 C5 E6 40 14 6F
0040: 04 10 28
03 01 57 28 29 13 00 57 29 BF 2F EF4E
0050: 26 42 83
2A 68 57 2A 2B 79 57 2B 2C 13 00 57 B2
0060: 6E2C2D 03
01 57 2D 2E 13 00 57 2E 04 53 83 56
0070: 6F 23 FE
9F 46 74 23 01 8F 83 FF FF FF FF FF FF
0080: FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF
0090: FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF
00A0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
00B0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
00C0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
00D0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
00E0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
00F0:FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF