Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ПРОГРАММА ВИКОНАННЯ ОКРЕМИХ ЛАБОРАТОРНИХ РОБІТ НА СТЕНДІ





Лабораторна робота № 1

Тема: Вивчення стенда, команд однокристальної ЕОМ сімейства MCS-51.
Мета роботи: Вивчення функціональних можливостей навчально-налагоджувального стенда, внутрішньої структури та системи команд ОЕОМ сімейства MCS-51.

Порядок виконання лабораторної роботи:

1) Вивчити структурну схему стенда, розподіл пам'яті, призначення вузлів. Вивчити структуру ОЕОМ сімейства MCS-51. Вивчити синтаксис команд пересилки, арифметичних команд, команд переходів.

2) Розробити алгоритм для виконання індивідуального завдання до початку лабораторного заняття.

3) Розробити програму для виконання індивідуального завдання до початку лабораторного заняття.

4) Ввести програму індивідуального завдання на персональному комп'ютері.

5) Вивчити програмно налагоджувальні засоби (ПНЗ) для MCS-51

6) За допомогою ПНЗ проаналізувати виконання індивідуальної програми.

7) Завантажити програму в стенд ОЕОМ. Переконатися в правильному виконанні індивідуального завдання, змінити значення вимірюваної частоти, повторити перетворення, при негативному результаті здійснити зміну алгоритму або програми. Повторити завантаження програми в стенд ОЕОМ

8) Роздрукувати лістинг правильно працюючої програми.

9) Відповісти на контрольні питання викладача.

Стислі теоретичні відомості

Адресація (звернення) процесора до периферійних пристроїв стенду реалізовано як адресація до комірок пам'яті в адресному просторі від 8000Н до FFFFH. Сигнали вибірки периферійних пристроїв формуються дешифратором адреси всередині мікросхеми системного контролера. На рисунку 53 схематично зображена структурна схема стенда та його складових.

 

Рисунок 53 – Структурна схема стенда



Матрична клавіатура

Стан стовпця матриці клавіатури зчитується з комірки з базовою адресою 0x9000, бітів 3 .. 0. Відповідний стовпець вибирається нулем в розрядах адреси A2 .. A0. Тобто, адреса 0x9006 вибере перший стовпець, адреса 0x9005 - другий стовпець, адреса 0x9003 - третій стовпець. Ознака натиснутою кнопки зчитується як нуль у відповідному розряді.

 

Статична індикація

Чотирирозрядний семисегментний світлодіодний індикатор підключений до системного контролера, який автоматично виконує динамічну регенерацію і декодування двійкового коду в код семисегментного індикатора. Контролер індикатора містить два восьмирозрядних регістра, вміст яких відображається на індикаторі. Вміст регістра з адресою 0xA000 відображається на двох лівих розрядах, вміст регістра з адресою 0xA001 (0xB000) - на двох правих розрядах в шістнадцятковій формі. Керування десятковими точками і гасінням здійснюється через регістр DC_REG (0xA004). Біти DP3 .. DP0 управляють десятковими точками. Запис 1 в відповідний розряд включає десяткову точку. Біти BL3 .. BL0 управляють гасінням розрядів індикатора. Запис 1 в ці біти викликає гасіння відповідного розряду індикатора. У таблиці 30 наведена карта портів введення/виведення стенда.

Таблиця 30 – Карта портів введення/виведення стенда
Адреса Тип циклу B7 B6 B5 B4 B3 B2 B1 B0 Имя  
Порти периферійних пристроїв  
8xx0 Запис [Порт A] PA_REG  
8xx1 Запис [Порт B] PB_REG  
8xx2 Запис [Порт C] PC_REG  
8xx3 Запис x x x x x TRISC x x TRIS  
Рідкокристалічні індикатори  
8xx4 Запис Регістр команд РК індикатора LCD_CMD  
8xx5 Запис Регістр даних РК індикатора LCD_DATA  
Послідовний порт  
9xxx Зчитування CTS DSR DCD RI KL3 KL2 KL1 KL0 US_REG  
Cxx0 Запис x x X x DTR RTS CFG1 CFG0 UC_REG  
   
CFG1 CFG0    
RS-232 СОМ1, Х11  
RS-232 СОМ2, Х12  
RS-485 Приймання, Х13  
RS-485 Передача, Х13  
Індикатор і світодіоди  
Axx0 Запис [Регістр індикатора 0] DISPLAY[0]  
Axx1 Запис [Регістр індикатора 1] DISPLAY[1]  
Axx2 Запис <зарезервовано> DISPLAY[2]  
Axx3 Запис <зарезервовано> DISPLAY[3]  
Продовження таблиці 30
Axx4 Запис DP3 DP2 DP1 DP0 BL3 BL2 BL1 BL0 DC_REG  
Axx5 Запис <зарезервовано> EDC_REG  
Axx6 Запис LED7 LED6 LED5 LED4 LED3 LED2 LED1 LED0 LED_REG  
Керування роботою  
Axx7 Запис x x x x x x x RUN SYS_CTL  
                       
Сумісні регістри  
Bxx0 Запис [Регістр індикатора 1] DISPLAYB  
F000 Запис                 DAC nCS7

Динамічна індикація

Виведення дискретної інформації здійснюється за допомогою чотирьох розрядного семисегментного індикатора включеного за схемою динамічної індикації. Керування динамічною індикацією здійснюється за допомогою елементів DD3 (лінія даних А, B, C, D, E, F, G, DP,-РВ0, РВ1, РВ2, РВ3, РВ4, РВ5, РВ6, РВ7) сигнали надходять з порту РВ, сигнали вибору відповідного індикатора надходять від ліній PC0, PC1 порту С.

Схеми до лабораторної роботи

Кнопки дискретного введення

На рисунку 54 представлено схематичне зображення кнопок дискретного введення.

Рисунок 54 – Схема кнопок дискретного введення

При натисненні кнопки (зміні її стану) генерується користувацьке переривання (INT0 або INT1). На схемі видно, що на вхід INTx при розімкнутому ключі подається напруга живлення, тобто одиниця. При замиканні ключа встановлюється низький рівень (земля), котрий і провокує переривання. Конденсатор працює як фільтр високих частот і компенсує вібрації контактів. Також можна аналізувати стан окремих бітів у порті D і таким чином робити висновок про стан кнопок дискретного введення.

Цифрова клавіатура

Рисунок 55 – Схема цифрової клавіатури

 

На стенді (рисунок 55) присутня стандартна 12 клавішна цифрова матрична клавіатура (10 цифр, октоторп (#), зірочка(*)). Зчитування натискань клавіш на стенді виконується наступним чином:

- зчитуємо байти по адресам 0x9003, 0x9005, 0x9006

- аналізуємо значення 4-ох молодших біт кожного зчитаного байту. Схема аналізу біт при зчитуванні натискань клавіш наведена на рисунку 56.

9xxx         KL3 KL2 KL1 KL0 US_REG

Рисунок 56 – Аналіз біт при зчитуванні натискань клавіш

- якщо на якихось лініях KL0-KL3 присутній логічний нуль – це означає, що була натиснута клавіша відповідного до KL рядка.

- стовпчик визначається по зчитуваній адресі:

- 0x9006 – перший;

- 0x9005 – другий;

- 0x9003 – третій.

Чому саме такі адреси? Справа в тому, що 3 молодші біти адресних пінів контролера (A0-A2) підключено безпосередньо до матричної клавіатури. Так, 3 означає 011, 5 – 101, а 6 – 110. Тому на входи A2,A1,A0 приходять саме ці логічні рівні і логічний нуль на одному з входів виконує вибірку стовпчика.

Приклад написання програми

Завдвння: Вміст регістрів R1 і R4 скласти і відобразити на індикаторі

Текст програми:









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.