Микроконтроллер вывода рисунков на графический ЖК-индикатор. Курсовая работа (т). Информационное обеспечение, программирование.

Микроконтроллер вывода рисунков на графический ЖК-индикатор. Курсовая работа (т). Информационное обеспечение, программирование.




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

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

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

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







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


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


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


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


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







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




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




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


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


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


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


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







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




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


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


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


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


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


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


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





Микросхема 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 мкФ.


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




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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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




$include(reg51.dcl)(i,r0,r1,a,a1,x,y,bait,ostatok,nomer,counter,mask,j)
byte,(*) byte constant (80h, 07h, 40h,     


status:
procedure;c byte;=p2 or 00000100b; /*cd=1*/=0ffh;=0bh;=0;while
r1-c<>0;=p2 and 11111101b; /*rd=0*/=p0;=p2 or 00000010b;       /*rd=1*/=r1
and c;;status;


/*Чтение
байта с дисплея*/: procedure;status;=p2 or 00000100b; /*cd=1*/=low(nomer);=p2
and 11111110b; /*wr=0*/=p2 or 00000001b; /*wr=1*/=high(nomer);=p2 and 11111110b;
/*wr=0*/=p2 or 00000001b; /*wr=1*/=24h;=p2 and 11111110b; /*wr=0*/=p2 or
00000001b; /*wr=1*/=p0 and 11111011b; /*cd=0*/=p2 and 11111101b;
/*rd=0*/=p0;=p2 or 00000010b; /*rd=1*/read;


p0=a;=p2
and 11111110b; /*wr=0*/=p2 or 00000001b; /*wr=1*/write;


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


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


counter=counter+1;counter=2
then ;=0;=a;/*координата по Y*/


if x>7 then bait=y*30+x/8; /*вычисление байта на битовой карте дисплея*/


else
bait=y*30;=bait;=x mod 8;/*вычисление бита*/


mask=ror(mask, ostatok); /*циклический сдвиг вправо переменной mask на ostatok позиций*/


call read;/*чтение байта с дисплея*/


a=mask or a;/*наложение маски на считанный байт*/


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


p2=p2
or 00000100b;/*cd=1*/=low(nomer);=p2 and 11111110b;/*wr=0*/=p2 or
00000001b;/*wr=1*/=high(nomer);=p2 and 11111110b;/*wr=0*/=p2 or
00000001b;/*wr=1*/=24h;=p2 and 11111110b;/*wr=0*/=p2 or 00000001b;/*wr=1*/2=p2 and 11111011b;/*cd=0*/


call write;/*вывод байта на дисплей*/


p2=p2 or 00010000b;/*готов к приему*/


a=0;=p2
or 00010000b;/*ack=1*/; send;


call send;/*вызов процедуры обработки принятого байта*/


/*Инициализация дисплея*/: procedure;i=0
to 20;


a=inibyte(i); status;/*проверка готовности дисплея*/


call write;/*вывод байта на дисплей*/


/*-------------------НАЧАЛО
ПРОГРАММЫ---------------------------*/


/*Программный сброс
дисплея в течение 2-х микросекунд*/


label1:
p2=p2 and 11110111b; /*RST=0*/i=0 to 25;


/*инициализация
дисплея*/initialization;


/*acknowledge
- готов к приему*/=p2 or 00010000b;/*Ack=1*/;/*разрешение прерываний*/=0;while
1;;;


При написании
программы была использована библиотека, указанная в программе как файл reg51.dcl. Его листинг приведен
ниже:


/*
Copyright 1982,1983,1986 Intel Corporation */


/*
REGISTER DECLARATIONS FOR 8051 */


/*********
BYTE REGISTERS ********/BYTE AT(80H) REG,BYTE AT(90H) REG,BYTE AT(0A0H)
REG,BYTE AT(0B0H) REG,BYTE AT(0D0H) REG,BYTE AT(0E0H) REG,BYTE AT(0F0H)
REG,BYTE AT(81H) REG,BYTE AT(82H) REG,BYTE AT(83H) REG,BYTE AT(84H) REG,BYTE
AT(87H) REG,BYTE AT(88H) REG,BYTE AT(89H) REG,BYTE AT(8AH) REG,BYTE AT(8BH) REG,BYTE
AT(8CH) REG,BYTE AT(8DH) REG,BYTE AT(0A8H) REG,BYTE AT(0B8H) REG,BYTE AT(98H)
REG,BYTE AT(99H) REG;


/*********
PSW BITS ********/BIT AT(0D7H) REG,BIT AT(0D6H) REG,BIT AT(0D5H) REG,BIT
AT(0D4H) REG,BIT AT(0D3H) REG,BIT AT(0D2H) REG,BIT AT(0D0H) REG,


/*********
TCON BITS ********/BIT AT(8FH) REG,BIT AT(8EH) REG,BIT AT(8DH) REG,BIT AT(8CH)
REG,BIT AT(8BH) REG,BIT AT(8AH) REG,BIT AT(89H) REG,BIT AT(88H) REG,


/*********
IE BITS ********/BIT AT(0AFH) REG,BIT AT(0ACH) REG,BIT AT(0ABH) REG,BIT
AT(0AAH) REG,BIT AT(0A9H) REG,BIT AT(0A8H) REG,


/*********
IP BITS ********/BIT AT(0BCH) REG,BIT AT(0BBH) REG,BIT AT(0BAH) REG,BIT
AT(0B9H) REG,BIT AT(0B8H) REG,


/*********
P3 BITS ********/BIT AT(0B7H) REG,BIT AT(0B6H) REG,BIT AT(0B5H) REG,BIT
AT(0B4H) REG,BIT AT(0B3H) REG,BIT AT(0B2H) REG,BIT AT(0B1H) REG,BIT AT(0B0H)
REG,


/*********
SCON BITS ********/BIT AT(9FH) REG,BIT AT(9EH) REG,BIT AT(9DH) REG,BIT AT(9CH)
REG,BIT AT(9BH) REG,BIT AT(9AH) REG,BIT AT(99H) REG,BIT AT(98H) REG;


После компиляции
получился .hex файл, листинг которого приведен ниже:


:1021F1008007401E00410000421E00430000810094


:10202600E5A04404F5A07580FF75150B750A00E55B


:102036000AC395156017E5A054FDF5A085800AE54D


:10204600A04402F5A0E50A5515F50A80E222122001


:1020560026E5A04404F5A0E511F580E5A054FEF5BB


:10206600A0E5A04401F5A0E4F580E5A054FEF5A0A6


:10207600E5A04401F5A0758024E5A054FEF5A0E591


:10208600A04401F580E58054FBF5A0E5A054FDF5DC


:10209600A085800BE5A04402F5A022850B80E5A073


:1020A60054FEF5A0E5A04401F5A022E50BB4FF031C


:1020B60002216E0512E512B4020280030221617547


:1020C6001200850B0E751380E50DD394074018E5B5


:1020D6000E75F01EA4FFAEF0E50D75F00884FD7CCC


:1020E60000EF2DF50F800BE50E75F01EA4FFAEF088


:1020F6008F0F850F11E50D75F00884AFF07E008F08
:102116000BF50B122026E5A04404F5A0E511F58089


:10212600E5A054FEF5A0E5A04401F5A0E4F580E5A0


:10213600A054FEF5A0E5A04401F5A0758024E5A015


:1021460054FEF5A0E5A04401F5A0E5A054FBF5A0DA


:102156001220A1E5A04410F5A0800C850B0D750B8F


:1021660000E5A04410F5A0229021A812220F859028


:102176000B1220B122750800E508D394145022E50D


:10218600089021F193F50B122026E5A04404F5A052


:102196001220A1E5A054FBF5A07808740126F6509C


:1021A600D722E5A054F7F5A0750800E508D39419E1


:1021B60050087808740126F650F1E5A04408F5A009


:1021C60012217BE5A04410F5A0D2AF75120080FE67


:1021D600C0E0C0F0C083C082C0D075D000122174A8


При выполнении данного курсового проекта была
изучена архитектура микроконтроллера AT89C52
фирмы Atmel и построена
на его основе микропроцессорная система управления выводом изображения на
графический ЖК-дисплей. Также приобретены навыки программирования
микропроцессорных систем.


микроконтроллер вывод данные порт дисплей








Похожие работы на - Микроконтроллер вывода рисунков на графический ЖК-индикатор Курсовая работа (т). Информационное обеспечение, программирование.
Дипломная работа: Организация мероприятий по повышению безопасности движения в городе Йошкар-Ола
Курсовая Работа На Тему Сущность Издержек Производства
Топик: Система образования в Англии, США и России /english/
Дипломная работа: Конвоирование осужденных к лишению свободы (содержание, правовое регулирование, проблемы совершенствования)
Курсовая работа по теме Гражданские войны в Риме 44-31 гг. д.н.э
Реферат по теме Геометрические свойства равнобедренных треугольников
Курсовая работа: Адаптация человека к окружающей среде
Курсовая Работа По Психологии Темперамент
Реферат: Education Ability Discrimination Essay Research Paper I
Реферат: The Mysterious Bermuda Triangle Essay Research Paper
Дипломная работа по теме Мультимедийные технологии как средство коррекции дисграфии у детей младшего школьного возраста
Курсовая работа: Международные автомобильные перевозки. Скачать бесплатно и без регистрации
Курсовая работа по теме Производство соды кальцинированной
Учебное Пособие На Тему Технология Управления
: Примерная учебная «Обучение населения по гражданской обороне и защите от чрезвычайных ситуаций» (наименование программы)
Реферат по теме Особливості міжособистісних взаємовідносин в колективі молодших школярів
Контрольная работа по теме Прокурор в хозяйственном судопроизводстве
Контрольная работа по теме Понятие "Эдипов комплекс" в философии З. Фрейда
В Чем Заключается Счастье Сочинение Рассуждение Сочуна
Реферат: A Comparison Of Macbeth And Crime And
Похожие работы на - Обеспечение сохранности документов в век цифровых технологий
Реферат: Pablo Picasso
Реферат: Главное о метаболизме и обмене веществ

Report Page