Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Микроконтроллер вывода рисунков на графический ЖК-индикатор

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.
Краткое сожержание материала:

Размещено на

17

Курсовая работа

Микроконтроллер вывода рисунков на графический ЖК-индикатор

Содержание

1. Техническое задание

2. Разработка структурно-функциональной схемы

3. Разработка принципиальной схемы

3.1 Принципиальная схема и ее описание

3.2 Выбор элементной базы

4. Разработка программного обеспечения

4.1 Алгоритм программы

4.2 Листинг программы

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

6. Список используемой литературы

Приложение

1. Техническое задание

Необходимо спроектировать схему на основе микроконтроллера для вывода рисунков на графический ЖК-индикатор. Графические данные должны поступать с LPT порта, обрабатываться микроконтроллером и затем выводиться на дисплей.

Написать программу для контроллера, которая будет обрабатывать поступающие с LPT порта данные, и выводить их на ЖК-дисплей.

2. Разработка структурно-функциональной схемы

Рис.1. Структурно-функциональная схема.

Назначение блоков и принцип работы структурно-функциональной схемы.

· LPT порт - 25-контактный параллельный порт персонального компьютера. По сигналу Ack# приходящему от микроконтроллера, он может отправлять графические данные (набор координат X, Y) для MCS - 51 по протоколу Centronics. При этом он выставляет сигнал Strobe#, по которому буферный регистр начинает принимать данные, а микроконтроллер считывает их.

· Буферный регистр. Предназначен для хранения данных, присланных LPT портом.

· MCS-51 - микроконтроллер серии МК51. Он принимает по прерыванию INT0 два байта, означающие соответственно, координаты X и Y выводимой точки, преобразует их в один байт для битовой карты графического дисплея и отсылает его на ЖК-дисплей.

· LCD дисплей - жидкокристаллический дисплей. Высвечивает принятый от микроконтроллера байт.

3. Разработка принципиальной схемы

3.1 Принципиальная схема и ее описание

Принципиальная схема приведена на чертеже КП02.98020088.01.Э3.

С помощью LPT порта по протоколу Centronics графические данные передаются с персонального компьютера через буферный регистр-защелку на микроконтроллер. Данные подаются на 8-битную шину данных порта в виде последовательности байтов. В каждом байте содержится одна координата (X или Y), причем они должны чередоваться.

Буферный регистр начинает считывать данные только по положительному перепаду сигнала на входе С, который происходит при подаче сигнала Strobe# через инвертор на одиннадцатую линию регистра. После этого он защелкивается и переходит в режим хранения до следующего перепада на С.

Микроконтроллер после программного сброса и инициализации ЖК-дисплея, которую он производит, засылая последовательность из семи трехбайтовых команд на 8-разрядную шину данных, выставляет высокий уровень на 36 линию, сигнализируя этим LPT порту о своей готовности к приему информации.

После этого MCS-51 переходит в режим ожидания до тех пор, пока не возникнет прерывание INT0 по сигналу на двенадцатой линии микроконтроллера.

Как только это происходит, он считывает данные с порта P1. Затем микроконтроллер снова сообщает о готовности к приему. После принятия двух байт MCS-51 обрабатывает их, получая координату в битовой карте дисплея, где необходимо засветить точку.

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

3.2 Выбор элементной базы

Микросхема XP1 - параллельный LPT порт.

Кварцевый резонатор ZQ1 - 16МГц типа РГ-5-16МГц

Микросхема DD1 - К1554ИР23. 8-разрядный буферный регистр-защелка.

Микросхема DD2 - микроконтроллер АТ89С52.

Микросхема DD3 - жидкокристаллический дисплей Hantronix 240x64.

Микросхема DD4 - КР1554ЛН1. Микросхема представляет собой 6 инверторов.

Конденсаторы С2 и С3 выбираются равными 33 пФ, C1 -1 мкФ.

Резисторы R1 - 20КОм, R2 - 10 КОм.

Диод VD1 - КД521.

4. Разработка программного обеспечения

4.1 Алгоритм программы

Сначала микроконтроллер осуществляет программный сброс жидкокристаллического дисплея, посылая на вход RST нулевое значение, поддерживая его в течение 2 микросекунд. Затем производится инициализация дисплея следующим образом:

· Проверяется готовность дисплея к приему байтов команд.

· На вход СD через выход Р2.2 подается высокий уровень сигнала, означающий, что присланный байт будет являться командой.

· В порт Р0 записывается байт команды.

· Активизируется вход WR с помощью подачи через выход P2.0 сигнала низкого уровня для считывания байта дисплеем с входов D0D7.

· На входе WR (через выход Р2.0) снова устанавливается логическая единица, означающая конец считывания байта команды.

Таким образом, на дисплей посылается последовательность из 21 байта (семь команд).

Затем микроконтроллер посылает на линию Ack# LPT порта через выход Р2.4 логическую единицу, означающую готовность к приему, после чего разрешает все прерывания.

По приходу логического нуля на 12 линию микроконтроллера возникает прерывание INT0, вступает в действие обработчик этого прерывания, который считывает данные с порта Р1 и запускает процедуру обработки принятого байта.

В вызванной процедуре принятый байт запоминается и микроконтроллер ожидает следующего байта выставляя единицу на Р2.4.

Когда приходит второй байт, процедура обработки принятого байта, используя первый байт, вычисляет координату на битовой карте дисплея.

Затем микроконтроллер считывает с LCD байт с таким же местоположением, следующим способом:

· На выход Р2.2 выставляется единица, означающая что будет команда.

· На порт Р0 посылается поочередно три байта команды установки позиции на битовой карте дисплея.

· Считывается байт, записанный в этой позиции.

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

В программе также предусмотрена возможность очистки дисплея, которая происходит при посылании с LPT порта байта 0FFH.

4.2 Листинг программы

ts:do;

$include(reg51.dcl)

declare (i,r0,r1,a,a1,x,y,bait,ostatok,nomer,counter,mask,j) byte,

inibyte(*) byte constant (80h, 07h, 40h,

1eh, 00h, 41h,

00h, 00h, 42h,

1eh, 00h, 43h,

00h, 00h, 81h,

00h, 00h, 24h,

00h, 00h, 98h);

/*Проверка готовности дисплея*/

status: procedure;

declare c byte;

p2=p2 or 00000100b; /*cd=1*/

p0=0ffh;

c=0bh;

r1=0;

do while r1-c<>0;

p2=p2 and 11111101b; /*rd=0*/

r1=p0;

p2=p2 or 00000010b; /*rd=1*/

r1=r1 and c;

end;

end status;

/*Чтение байта с дисплея*/

read: procedure;

call status;

p2=p2 or 00000100b; /*cd=1*/

p0=low(nomer);

p2=p2 and 11111110b; /*wr=0*/

p2=p2 or 00000001b; /*wr=1*/

p0=high(nomer);

p2=p2 and 11111110b; /*wr=0*/

p2=p2 or 00000001b; /*wr=1*/

p0=24h;

p2=p2 and 11111110b; /*wr=0*/

p0=p2 or 00000001b; /*wr=1*/

p2=p0 and 11111011b; /*cd=0*/

p2=p2 and 11111101b; /*rd=0*/

a=p0;

p2=p2 or 00000010b; /*rd=1*/

end read;

/*Запись байта на дисплей*/

write: procedure;

p0=a;

p2=p2 and 11111110b; /*wr=0*/

p2=p2 or 00000001b; /*wr=1*/

end write;

/*Обработка принятых от LPT координат*/

send: procedure;

if a=0ffh then goto label1; /*Если пользователь засылает 0ffh, то дисплей очищается и снова готов к приему*/

counter=counter+1;

if counter=2 then

do;

counter=0;

y=a;/*коорди...

Другие файлы:

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

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

Midi-контроллеры клавиатурного типа
Технические характеристики микропроцессора Aduc 812. Основные блоки электрической структурной схемы: микроконтроллер, клавиатура, индикатор, интерфейс...

Шина Inter-Integrated Circuit Bus
Составление схемы электрической структурной и функциональной. Описание элементной базы: микроконтроллер PIC16F88, микросхема DS18B20, ЖК-индикатор MT1...

Устройство ввода-вывода
Монитор ( дисплей ) компьютера IBM PC предназначен для вывода на экран текстовой и графической информации. Мониторы бывают цветными и монохромными. Он...