Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа МС-Пример.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
224 Кб
Скачать
☆
    1. Разработка принципиальной схемы модуля памяти

Прежде чем рассматривать внешние модули памяти необходимо определить карты распределения памяти в микроконтроллере и методы адресации памяти.. и для данных (смотри рисунок 17). Также на этом рисунке видно, что дополнительно доступно для использования 640 байт для памяти данных во внешней Flash/EE.

Рисунок 17 - Карты памяти программ и данных ADuC842.

….. блок бит адресуемого места памяти в битовые адреса от 00h до 7Fh.

Рисунок 18 - Нижние 128 байт внутренней ОЗУ.

Место блока регистров специальных функций нанесено на карту в верхних 128 байтах ….. через область блока регистров специальных функций, представлена на рисунке 19.

……

Рисунок 19 - Программная модель ADuC842.

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

Согласно варианту задания необходимо разработать модуль интерфейса пользователя со следующими характеристиками:

  • количество клавиш в клавиатуре – 16 (матричная 4x4);

  • количество знакомест дисплея – 2 строки по 16 символов.

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

Таким образом получаем функциональную схему (рисунок 20):

……

В качестве ПИУ выступит микросхема ПЛИС MAX3064, которая входит в состав МПК.

  1. Описание структуры разрабатываемого микропроцессорного комплекта

Описание структуры микропроцессорного комплекта (МПК) приведено на рисунке 21.

В состав разрабатываемого учебного стенда входят:

  • микроконтроллер ADuC842BS;

    • …….чателей;

  • параллельный 16..20-ти разрядный порт;

  • ОЗУ 256 байт IDATA + 2048 байт XDATA

  • электрически стираемое программируемое ПЗУ (EEPROM) на кристалле ОКЭВМ ADuC842 (4 Кб);

Таким образом, … устройства, предназначенные для ввода, обработки и вывода дискретных и аналоговых данных

Основные параметры и характеристики основных элементов, входящих в МПК были рассмотрены ранее.

…….

Рисунок 21 - Структура разрабатываемого стенда.

  1. Описание принципиальной схемы разрабатываемого микропроцессорного комплекта

МК ADuC842 может обращаться к внешней памяти данных или какой-либо периферии. При доступе к внешней памяти программ используется сигнал . ………………..Q8. Активный уровень на входе CLR (логический «0») приводит к обнулению содержимого регистра-защелки. Регистры-защелки получают данные по сигналу ALE.

……

Рисунок 22 - Подключение ADuC842 к внешнему ОЗУ

Таблица 2 - Таблица истинности 8-разрядного регистра-защелки 74HCT73W.

INPUTS

OUTPUT

RESET (MR)

CLOCK CP

DATA Dn

Q

L

X

X

L

H

↑

H

H

H

↑

L

L

H

L

X

Qo

В U3 попадает младшая часть адреса (A0..A7), в U7 – старшие 4 бита адреса (A16..A19). Бит A19 . линии. Это не ошибка, а специальный прием, применяемый при проектировании печатных плат и позволяющий упростить разводку проводников.

При замыкании JP11 сигнал PSEN замыкается на корпус через резистор R22. Это переводит ADuC842 в режим загрузки ПО после аппаратного сброса… на разъем J1. Кроме того, выходы DAC0 и DAC1 можно замкнуть на входы ADC0 и ADC1 с помощью переключателя SW1.

5 Разработка программной части

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

Для трансляции . языке C, сохраняя ………ные в инструментальные средства Keil, обеспечивают полный доступ к ресурсам микроконтроллеров 8051.

……..

Рисунок 23 - Блок-схема программы для стенда

Программный код:

#include «ADuC842.h»

#include «lcd.h»

#include «…………………………..

{

LCD_GotoXY(i,j);

LCD_Type("...SDK...");

i++;

if (i==15) i=0,j++;

if (j==2) j=0;

}

}

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

void SwitchCurPosControl(bit o)

{

……………………..

,c & 0xFE);

for (i=0;i<300;i++)continue;

}

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

void LCD_Clear(void)

{

int i;

WriteMax(DATA_IND, CLEAR);

Strobe(0x8);

cur_x = 0;

cur_.

...............................

x=0,cur_y=~cur_y;

}

WriteMax(DATA_IND,ch);

Strobe(0xC);

}

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

void LCD_GotoXY(unsigned char x,bit y)

{

……………………

while(*s)

LCD_Putch(*s++);

SwitchCurPosControl(t);

}

Алгоритм программы построен таким образом, что при необходимости может без внесения существенных изменений в код выводить на экран разрабатываемой ……………..). Этим обуславливается наличие переменной j, обозначающей номер строки.

В программном коде используются следующие процедуры:

  • Main( ),

  • SwitchCurPosControl ( ),

  • LCD_......

  • ( ),

  • LCD_Type( ).

Main( ) – основная программа. Выполняет действия по алгоритму, указанному на блок-схеме (рисунок 23). Переменным i и j, определяющим положение курсора, присваиваются нулевые значения.

SwitchCurPosControl ( ) – процедура переключения позиции курсора. Используется процедурой вывода строки на дисплей.

LCD_Clear( ) – процедура очистки дисплея. Опрашивается значение флага BF. Записывается в DATA_IND код команды установки адреса DD RAM на 0x01. Устанавливается значение RS=0, R/W=0 и выставляется строб E. Для этого в ……………..

………… дисплея, процедура прекращается. В противном случае вызывается функция установки адреса DD RAM с соответствующими параметрами.

LCD_Type( ) – процедура вывода строки на дисплей. Процедура выводит на дисплей С строку, указатель на которую передаётся ей в качестве атрибута. В цикле осуществляется последовательный вывод символов строки.