Микропроцессорная система автоматического учета количества пассажиров транспортного средства

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?инципиальная схема МПС. Данная схема представлена в приложении Б, рис. 3.8. 4. КАРАТ ПАМЯТИ МПС

 

4. Форматы данных

 

Данный микроконтроллер имеет встроенную (резидентную) и внешнюю память программ и данных. Резидентная память программ (RPM) имеет объем 4 Кбайт, резидентная память данных (RDM) - 128 байт. В зависимости от модификации микроконтроллера RPM выполняется в виде масочного ПЗУ, однократно программируемого либо репрограммируемого ПЗУ.

При необходимости пользователь может расширять память программ установкой внешнего ПЗУ.

Доступ к внутреннему или внешнему ПЗУ определяется значением сигнала на выводе ЕА (External Access): ЕА = VCC (напряжение питания) - доступ к внутреннему ПЗУ; ЕА = VSS (потенциал земли) - доступ к внешнему ПЗУ.

Внешняя память программ и данных может составлять по 64 Кбайт и адресоваться с помощью портов РО и Р2. На рис. 4.1 представлена карта памяти микроконтроллера Intel 8051.

 

Рисунок 4.1 - карта памяти микроконтроллера Intel 805

Строб чтения внешнего ПЗУ - PSEN (Program Store Enable) генерируется при обращении к внешней памяти программ и является неактивным во время обращения к ПЗУ, расположенному на кристалле.

Область нижних адресов памяти программ (рис. 4.2) используется системой прерываний. Архитектура микросхемы INTEL 8051 обеспечивает поддержку пяти источников прерываний. Адреса, по которым передается управление по прерыванию, называются векторами прерывания.

 

Рисунок 4.2 - Карта нижней области программной памяти

 

Адреса векторов прерываний расположены с интервалом в 8 байт:

- 0003Н внешнее прерывание 0 (External Interrupt 0) - вывод INT 0;

- 000BH прерывание 0 таймера 0 (по флагу переполнения таймера - TF0);

- 0013Н внешнее прерывание 1 (External Interrupt 1) - вывод INT 1;

- 001ВН прерывание 0 таймера 1 (по флагу переполнения таймера - TF1);

0023Н прерывание от последовательного порта (Serial Interrupt = Receive Interrupt or Transmit Interrupt); и так далее.

Память данных отделена от памяти программ. В этой области возможна адресация 64К внешнего ОЗУ. При обращении к внешней памяти данных ЦП микроконтроллера генерирует соответствующие сигналы чтения (RD) или записи (W R), взаимодействие с внутренней памятью данных осуществляется на командном уровне, при этом сигналы RD и W R не вырабатываются.

Внешняя память программ и внешняя память данных могут комбинироваться путем Совмещения сигналов RD и PSEN по схеме логического И для получения строба внешней памяти (программ/ данных)

Нижние 128 байт внутренней памяти данных (lower 128) присутствуют на всех кристаллах MCS-51 и показаны на рис. 4.3.

Первые 32 байта представляют собой 4 банка (Register Bank) по 8 регистров (R7…R0). Регистры R0 и R1 в любом из банков могут использоваться в качестве регистров косвенного адреса.

Следующие за регистровыми банками 16 байт образуют блок побитно-адресуемого пространства. Набор инструкций MCS-51 содержит широкий выбор операций над битами, а 128 бит в этом блоке адресуются прямо и адреса имеют значения от ООН до 7FH.

Все байты в нижней 128-байтной половине памяти могут адресоваться как прямо, так и косвенно.

Верхняя 128 байтная половина памяти ОЗУ (upper 128) в микросхеме I-8051 отсутствует.

 

Побайтно-адресуемая область ОЗУ (direct, indirect)7Fн7Ен7Dн7Сн7Вн7Ан79н78н77н76н75н74н73н72н71н70нПобайтно-адресуемая область ОЗУ (direct)0Fн0EнODн0Cн0Bн0Aн09н08н07н06нO5н04н03н02н01н00нRB3RB2RB1* SP после RESET RB0 (R7+R0)Рисунок 4.3 - Нижние 128 байт внутреннего ОЗУ

 

5. Разработка программы МПС

 

.1 Блок-схема программы МПС

 

Разрабатываемая МПС состоит из трёх основных модулей (см. раздел 2). Данные модули являются базовыми для разработки ПО МПС и на их основе строится блок-схема ПО. Исходя из пункта 2 первым блоком блок-схемы является модуль ввода информации. За нам следует модуль обработки и модуль вывода информации. Представим данное решение в виде схемы, представленной на рисунке 5.1

 

Рис. 5.1 - Блок-схема МПС по модулям

 

Далее рассмотрим назначение каждого из модулей:

Модуль ввода информации представлен кнопками-переключателями и кнопкой с фиксацией. Данный модуль предназначен для ввода данных о входящих пассажирах посредствам нажатий на кнопку последних (инкремент регистра подсчёта пассажиров) и осуществления операций по сбросу информации и выключению МПС

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

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

 

5.2Программа МПС

 

Разработка ПО МПС ведётся на языке программирования высокого уровня С++. Данное решение было обосновано тем, что частот поступления входной информации не превышает 2 раз в секунду и Микроконтроллер способен обработать данную информацию задолго до поступления новой. Ниже приведены особенности реализации программных модулей представленных в разделе 5.1.

Модуль ввода

Функциональное описание данного модуля приведено в разделе 2.1. Его принципиальная схема представлена в приложении А, рис. 3.4 и рис. 3.5).

Данный модуль должен иметь собственные регистры работы с МК в зави?/p>