Реферат: Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48

Изм.

Лист

№ докум.

Подпись

Дата

Лист

4

<img src="/cache/referats/19315/image001.gif" v:shapes="_x0000_s1154 _x0000_s1155 _x0000_s1156 _x0000_s1157 _x0000_s1158 _x0000_s1159 _x0000_s1160 _x0000_s1161 _x0000_s1162 _x0000_s1163 _x0000_s1164 _x0000_s1165 _x0000_s1166 _x0000_s1167 _x0000_s1168 _x0000_s1169 _x0000_s1170 _x0000_s1171 _x0000_s1172 _x0000_s1173">

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

Тем  не менее, интерес кархитектуре ЭВМ и программированию на уровне машинных кодов не угасает, но иявно растет по двум причинам. Первая причина заключается в том, что доступностьиспользования ЭВМ для непрофессиональных программистов достигается ценойнемалых усилий профессиональных программистов, создающих системное программноеобеспечение, для которых знание архитектуры ЭВМ просто необходимы. Происходящийныне процесс компьютеризации неизбежно увеличивает число специалистов оченьвысокой квалификации – системных программистов. Вторая причина обусловленаростом микропроцессорной техники. Современные микропроцессоры обладают такимивозможностями, которые соизмеримы, а порой превосходят возможности вычислительныхсистем, причем обладают меньшими габаритами, потреблением энергии и стоимостью.Программирование микропроцессоров и однокристальных ЭВМ, встраиваемых вкакое-либо оборудование, выполняется, как правило, на языке ассемблера, а применениеих требует детального знания архитектуры ЭВМ.

Темой моей курсовой работы является разработка  котроллер матричной клавиатуры                         на микроконтроллере. Вкачестве него я выбрал  микроконтроллерК1816ВЕ48 (МК48)                  потому, что серия К1816, рис.1, предназначена для построения широкогоспектра микроЭВМ и микроконтроллеров с целью их использования для сбора и обработкиинформации, в системах регулирования технологических процессов, цифровойобработке сигналов в аппаратуре связи и т. д.

Совокупности потребительских параметров, таких, как стоимость, эффективность,энергопотребление, рабочий диапазон температур – представляются достоинствамисерии К1816 при ее использовании в различной аппаратуре.

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

Простейший в серии К1816 микроконтроллерК1816ВЕ48 (МК48) имеет на кристалле следующие аппаратные средства: процессорразрядностью 1 байт, стираемое программируемое ПЗУ программ емкостью 1 Кбайт,ОЗУ данных емкостью 64 байта, программи

Изм.

Лист

№ докум.

Подпись

Дата

Лист

5

<img src="/cache/referats/19315/image002.gif" v:shapes="_x0000_s1174 _x0000_s1175 _x0000_s1176 _x0000_s1177 _x0000_s1178 _x0000_s1179 _x0000_s1180 _x0000_s1181 _x0000_s1182 _x0000_s1183 _x0000_s1184 _x0000_s1185 _x0000_s1186 _x0000_s1187 _x0000_s1188 _x0000_s1189 _x0000_s1190 _x0000_s1191 _x0000_s1192 _x0000_s1193">

Структура МК48 и его системакоманд такова, что в случае необходимости функционально-логические возможностиконтроллера могут быть расширены. С использованием внешних дополнительных БИСпостоянной и оперативной памяти адресное пространство МК может быть расширенодо 4 Кбайт и 320 байт соответственно, а путем подключения различныхинтерфейсных БИС число линий связи МК с объектом управления может быть увеличенопрактически без ограничений.

МК48 требует одного источника питания+5В <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">±

10%, рассеивает мощность около 1,5 Вт и работает в диапазоне температур от 0 до700 С. По входам и выходам МК48 электрически совместимы смикросхемами ТТЛ. МК48 может работать в диапазоне частот синхронизации от 1 до6 МГц, а минимальное время выполнения команды составляет 2,5 мкс.

Из такой характеристики видно,что МК48 обладает значительными функционально-логическими возможностями ипредставляют эффективное средство компьютеризации (автоматизации на основе применениясредств и методов обработки данных и цифрового управления) разнообразныхобъектов и процессов.

Анализ основных признаков МК48показывает, что их целесообразно использовать на этапе опытно-конструкторскойразработки и отладки систем.

Структурная схемаМК48

<img src="/cache/referats/19315/image004.jpg" v:shapes="_x0000_i1026">

                         Рис. 1

1.<span Times New Roman"">  

Изм.

Лист

№ докум.

Подпись

Дата

Лист

6

<img src="/cache/referats/19315/image005.gif" v:shapes="_x0000_s1214 _x0000_s1215 _x0000_s1216 _x0000_s1217 _x0000_s1218 _x0000_s1219 _x0000_s1220 _x0000_s1221 _x0000_s1222 _x0000_s1223 _x0000_s1224 _x0000_s1225 _x0000_s1226 _x0000_s1227 _x0000_s1228 _x0000_s1229 _x0000_s1230 _x0000_s1231 _x0000_s1232 _x0000_s1233">

В структурной схеме отраженовзаимодействие микропроцессора, клавиатуры и пользователя.

 SHAPE * MERGEFORMAT

Пользователь

Клавиатура

Микропроцессор

<img src="/cache/referats/19315/image006.gif" v:shapes="_x0000_s1054 _x0000_s1053 _x0000_s1055 _x0000_s1056 _x0000_s1057 _x0000_s1058 _x0000_s1060 _x0000_s1061 _x0000_s1062 _x0000_s1063 _x0000_s1064 _x0000_s1065">

К порту 1 подключена группа кнопок, сгруппированныхпо матричной схеме, которая представляет собой простую матрицу двоичныхпереключателей (требуемой размерности), включенных на пересечении строк иколонок матрицы, Идентификация (кодирование) нажатой клавиши в таких клавиатурахвыполняется программой.

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

Изм.

Лист

№ докум.

Подпись

Дата

Лист

7

<img src="/cache/referats/19315/image007.gif" v:shapes="_x0000_s1234 _x0000_s1235 _x0000_s1236 _x0000_s1237 _x0000_s1238 _x0000_s1239 _x0000_s1240 _x0000_s1241 _x0000_s1242 _x0000_s1243 _x0000_s1244 _x0000_s1245 _x0000_s1246 _x0000_s1247 _x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251 _x0000_s1252 _x0000_s1253">          <img src="/cache/referats/19315/image009.jpg" v:shapes="_x0000_i1027">     Рис.3

На рис. 3 изображена принципиальная схема контроллера матричной клавиатуры.Для обеспечения синхронизации работы микропроцессора к выводам CR1, CR2 подключен кварцевый резонатор.

Десять кнопок организованы в матрицу, и при нажатии любой кнопки замыкаетсястрока и столбец. Определив замкнутые строку и столбец, можно определить коднажатой клавиши. Такое сканирование клавиатуры реализуется программно.

Три линии  порта 1 Р1.0, Р1.1, Р1.2образуют три линии кнопок, а к выводам Р2.0, Р2.1, Р2.2, Р2.3 подключены четырестолбца.Каждая клавишав такой матрице имеет свой номер, соответствующий ее местоположению. Нацифровые клавиши можно нанести обозначения, соответствующие их кодам (от 0 поF) Резисторы R1-R4 ограничивают ток черезконтакты а диоды обеспечивают защиту от замыкания между собой сканирующих линийв случае одновременного нажатия более чем одной клавиши.

Питание контроллера осуществляется от сети переменного тока с напряжением

220 В и частотой50 Гц. Поскольку напряжение питание контроллера осуществляется постоянным токомс напряжением +5 В, то ставится схема питания, которая состоит из понижающеготрансформатора, выпрямителя, выполненного по схеме диодного моста и стабилизаторанапряжения.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

8

КТИ.000.000.001.ПЗ

<img src="/cache/referats/19315/image010.gif" v:shapes="_x0000_s1254 _x0000_s1255 _x0000_s1256 _x0000_s1257 _x0000_s1258 _x0000_s1259 _x0000_s1260 _x0000_s1261 _x0000_s1262 _x0000_s1263 _x0000_s1264 _x0000_s1265 _x0000_s1266 _x0000_s1267 _x0000_s1268 _x0000_s1269 _x0000_s1270 _x0000_s1271 _x0000_s1272 _x0000_s1273">

Принцип работы клавиатуры следующий:

На одну из линий порта выдается логический «0», а на остальные линии «1».Затем происходит считывание с линий столбцов. Если фиксируется «0», его позициясоответствует номеру столбца нажатой клавиши и вместе с номером текущей строкион используется для определения кода нажатой клавиши. Если на всех входах «1»,процедура сканирования продолжается для следующей строки.

Для обслуживания клавиатур в МК- системах используются две процедуры:опрос состояния клавиатуры и ввод кода нажатой клавиши.

Первая процедура производит однократное обращение к матрице клавиш дляопределения, Нажата ли хотя бы одна из клавиш. Вторая осуществляет циклическийопрос клавиатуры до тех пор, пока не будет нажата (а часто и освобождена)клавиша. Будучи встроена в основную программу, вторая процедура блокируетпроцесс управления объектом на время ожидания нажатия клавиши, а потомуобращение к ней осуществляется только при обнаружении нажатой клавиши процедуройопроса состояния клавиатуры.

Линии порта 1 используются для сканирования, а линии порта 2 — для опросаматрицы клавиш. Каждая клавиша в такой матрице имеет свой номер,соответствующий ее местоположению. На цифровые клавиши нанесены обозначения,соответствующие их кодам (от 0 по B).

Для программного ввода информации с клавиатур характерен один недостаток,а именно — срабатывание по отпусканию клавиши, а не по нажатию. Однако прикратковременных нажатиях клавиш этот эффект не имеет особого значения.

Частная процедура сканирования служит для обнаружения нажатой клавиши и последующейее идентификации. Процедура сводится к поочередному обнулению каждой из линийсканирования и опросу линий возврата. В порт 1 выдается байт сканирования (БС),содержащий 0 только в одном бите. Если на пересечении линии сканирования илинии возврата находится нажатая клавиша, то в соответствующем бите байтавозврата (БВ), принимаемого в порт 2, будет находиться 0.

Последовательность байтов сканирования представляет собой код «бегущийнуль»; формирование очередного байта сканирования осуществляется путемсдвига его предыдущего значения. Направление сдвига определяетпоследовательность опроса клавиш.Если при полном цикле сканирования не было обнаружено нажатойклавиши, то процедура сканирования повторяется сначала.

Оператор «Есть нажатая клавиша?» реализуется тем, что клавиши,подключенные к каждой линии сканирования, анализируются последовательно. Еслипосле анализа каждой клавиши осуществлять прибавление единицы к счетчикуSCANCODE, то процедуру сканирования можно совместить с процедурой идентификациинажатой клавиши (рис. 4).

Изм.

Лист

№ докум.

Подпись

Дата

Лист

9

<img src="/cache/referats/19315/image011.gif" v:shapes="_x0000_s1274 _x0000_s1275 _x0000_s1276 _x0000_s1277 _x0000_s1278 _x0000_s1279 _x0000_s1280 _x0000_s1281 _x0000_s1282 _x0000_s1283 _x0000_s1284 _x0000_s1285 _x0000_s1286 _x0000_s1287 _x0000_s1288 _x0000_s1289 _x0000_s1290 _x0000_s1291 _x0000_s1292 _x0000_s1293">


<img src="/cache/referats/19315/image013.jpg" v:shapes="_x0000_i1028">

4. Разработка текста исходнойпрограммы

R4 — счетчик кода сканирования

Изм.

Лист

№ докум.

Подпись

Дата

Лист

10

<img src="/cache/referats/19315/image014.gif" v:shapes="_x0000_s1294 _x0000_s1295 _x0000_s1296 _x0000_s1297 _x0000_s1298 _x0000_s1299 _x0000_s1300 _x0000_s1301 _x0000_s1302 _x0000_s1303 _x0000_s1304 _x0000_s1305 _x0000_s1306 _x0000_s1307 _x0000_s1308 _x0000_s1309 _x0000_s1310 _x0000_s1311 _x0000_s1312 _x0000_s1313">                                 

                 ORG300H;                       переход на 300 страницу РПП                      

                 DB7EH,30H, 6DH,79H;  коды семисегментного      

                 DB33H,5BH,5FH,70H;    индикатора

                 DB7FH,7BH,76H,1EH;

                 ORG0;                               переход в началопрограммы                            

START: MOVR4,#0;                               сброс SCANCODE

                 MOVR7,#3;                  загрузка счетчика сканирования

                 MOVR6,#11111110B;  загрузка исходногобайта сканирования

LOOP:     MOV A,R6

                  OUTLP1,A;                 вывод текущего байта сканирования

                  RLA;                            сдвиг байта сканирования

                  MOVR6,A;                  сохранениетекущего байта сканирования

                  IN A,P2;                        ввод байта возврата

                  MOV R5,#4;                 загрузка счетчика опросов

LOOK:     RRC A    ;                     сдвиг байта возврата

                  JNC NEXT;                  выходиз процедуры при

                                                       обнаружении первой нажатой клавиши

                  INCR4;                         инкремент SCANCODE

                  DJNZ R5,LOOK;         декремент счетчика опросов и цикл, если ненуль

                  DJNZ R7,LOOP;          декремент счетчика сканированияи цикл, если не 0

        JMP START;                 начать сканирование сначала

next:     mova,r4;                   <span Times New Roman",«serif»;color:black">загрузка в аккумулятор кодасимвола

       movp3 a,@a;             <span Times New Roman",«serif»;color:black">считывание байта индикациииз таблицы

                  

       outlbus,a;               <span Times New Roman",«serif»; color:black">выдача байта индикации на индикатор через порт

<span Times New Roman",«serif»;color:black;mso-ansi-language: EN-US">BUS

       end                               выход изпрограммы

<span Arial",«sans-serif»; color:black;mso-bidi-font-weight:bold">

<span Arial",«sans-serif»; color:black;mso-bidi-font-weight:bold">

<span Arial",«sans-serif»">СОДЕРЖАНИЕ

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Задание наработу........................................................................................3

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Введение.......................................................................................................4

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">1.Анализ поставленной задачи. Структурная схема МК системы...........6

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">2.Разработка принципиальной схемы МК системы..................................7

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">3.Выбори описание алгоритма программы...............................................8

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">3.1.Разработка общей блок-схемы алгоритма (БСА)

<span Arial",«sans-serif»"> работы контроллера……………………………………………………...........9

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">4. разработкатекста исходной программы...............................................10

<span Arial",«sans-serif»">4.1.Отладка программы с помощью индивидуального задания...........11

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">5. Таблица «прошивки»РПЗУ…………………………………………….....12

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Заключение................................................................................................12

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">Список литературы....................................................................................13

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»">  

Изм.

Лист

№ докум.

Подпись

Дата

Лис

1

 Разраб.

Баталов Д.Ю

 Провер.

Иванов В.С.

 Т. Контр.

 Н. Контр.

 Утверд.

Контроллер матричной клавиатуры на микроконтроллере

Листов

КТИ гр. М-31

 Реценз.

<img src="/cache/referats/19315/image015.gif" v:shapes="_x0000_s1090 _x0000_s1091 _x0000_s1092 _x0000_s1093 _x0000_s1094 _x0000_s1095 _x0000_s1096 _x0000_s1097 _x0000_s1098 _x0000_s1099 _x0000_s1100 _x0000_s1101 _x0000_s1102 _x0000_s1103 _x0000_s1104 _x0000_s1105 _x0000_s1106 _x0000_s1107 _x0000_s1108 _x0000_s1109 _x0000_s1110 _x0000_s1111 _x0000_s1112 _x0000_s1113 _x0000_s1114 _x0000_s1115 _x0000_s1116 _x0000_s1117 _x0000_s1118 _x0000_s1119 _x0000_s1120 _x0000_s1121 _x0000_s1122 _x0000_s1123 _x0000_s1124 _x0000_s1125 _x0000_s1126 _x0000_s1127 _x0000_s1128 _x0000_s1129 _x0000_s1130 _x0000_s1131 _x0000_s1132 _x0000_s1133 _x0000_s1134 _x0000_s1135 _x0000_s1136 _x0000_s1137 _x0000_s1138 _x0000_s1139 _x0000_s1140 _x0000_s1141 _x0000_s1142 _x0000_s1143 _x0000_s1144 _x0000_s1145 _x0000_s1146 _x0000_s1147 _x0000_s1148 _x0000_s1149 _x0000_s1150 _x0000_s1151 _x0000_s1152 _x0000_s1153">   

Изм.

Лист

№ докум.

Подпись

Дата

Лист

11

<img src="/cache/referats/19315/image016.gif" v:shapes="_x0000_s1314 _x0000_s1315 _x0000_s1316 _x0000_s1317 _x0000_s1318 _x0000_s1319 _x0000_s1320 _x0000_s1321 _x0000_s1322 _x0000_s1323 _x0000_s1324 _x0000_s1325 _x0000_s1326 _x0000_s1327 _x0000_s1328 _x0000_s1329 _x0000_s1330 _x0000_s1331 _x0000_s1332 _x0000_s1333"><span Times New Roman",«serif»;font-weight:normal;mso-bidi-font-weight: bold;font-style:normal;mso-bidi-font-style:italic">Отладка программы:

Номер нажатой клавиши

Порт 1

Порт2

Порт ССИ BUS

«6»

11111101

11111011

01011111

«А»

11111011

11111011

01110110

Таблица«прошивки» РПЗУ:

<table cellspacing=«0» cellpadding=«0» ">

7E

30

6D

79

33

5B

5F

70

7F

7B

76

1E

72

1a

00

00

00

bc

00

bf

03

be

fe

fe

39

e7

AE

0A

BD

04

67

E6

17

1C

ED

0D

EF

06

04

00

FC

E3

02

C1

00

00

00

01

FF

Изм.

Лист

№ докум.

Подпись

Дата

Лист

12

<img src="/cache/referats/19315/image017.gif" v:shapes="_x0000_s1334 _x0000_s1335 _x0000_s1336 _x0000_s1337 _x0000_s1338 _x0000_s1339 _x0000_s1340 _x0000_s1341 _x0000_s1342 _x0000_s1343 _x0000_s1344 _x0000_s1345 _x0000_s1346 _x0000_s1347 _x0000_s1348 _x0000_s1349 _x0000_s1350 _x0000_s1351 _x0000_s1352 _x0000_s1353">

Для визуальногоконтроля нажатой кнопки, возможно подключение семисегментногоиндикатора к одному из портов, в данном случае к порту BUS. Вывод кода на ССИ осуществленпрограммно, тем самым достигается отображение кода нажатой клавиши на ССИ. Дляудобства индикации на цифровые клавиши нанесены обозначения, соответствующие ихкодам (от 0 по B).

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

Изм.

Лист

№ докум.

Подпись

Дата

Лист

13

<img src="/cache/referats/19315/image018.gif" v:shapes="_x0000_s1514 _x0000_s1515 _x0000_s1516 _x0000_s1517 _x0000_s1518 _x0000_s1519 _x0000_s1520 _x0000_s1521 _x0000_s1522 _x0000_s1523 _x0000_s1524 _x0000_s1525 _x0000_s1526 _x0000_s1527 _x0000_s1528 _x0000_s1529 _x0000_s1530 _x0000_s1531 _x0000_s1532 _x0000_s1533">


           

Списоклитературы

<span Times New Roman"">       

 Лин. В. PDP-11и VAX-11. АрхитектураЭВМ и программирование на языке ассемблера. М. Радио и связь, 1989.-315 с.

<span Times New Roman"">       

 Варламов И.В.,Касаткин И.Л. Микропроцессоры в бытовой технике. М. Радио и связь, 1990.-102 с.

<span Times New Roman"">       

 Калабеков Б.А. Цифровые устройства и микропроцессорныесистемы. М. Радио и связь, 1997.-336 с.

<span Arial",«sans-serif»">МинистерствоРоссийской Федерации по транспорту и связи

<span Arial",«sans-serif»">Новосибирский колледж телекоммуникацийи информатики

<span Arial",«sans-serif»">Сибирского государственногоуниверситета  телекоммуникаций иинформатики

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">

<span Times New Roman",«serif»;mso-bidi-font-family: Arial"><span Times New Roman",«serif»;mso-bidi-font-family: Arial"><span Times New Roman",«serif»; mso-bidi-font-family:Arial;font-weight:normal;mso-bidi-font-weight:bold">КУРСОВОЙПРОЕКТПо дисциплине«Вычислительная техника»

На тему: «Разработкаконтроллера матричной клавиатуры на микроконтроллере К1816ВЕ48 »

                                                                                         Выполнил: Баталов Д. Ю.

                                                                                                      Гр. М-31

                                                                                     Проверил: ИвановВ. С.

2005

еще рефераты
Еще работы по компьютерам и переферийным устройствам