Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Цевух.doc" (без форматирования) Міністерство освіти і науки України Одеський національний політехнічний університет Інститут радіоелектроніки та телекомунікацій Кафедра радіотехнічних систем Розрахунково – графічна робота з дисципліни : ”Цифрові пристрої та мікропроцесори” Варіант Виконав: ст. гр. РТ Перевірив: доц. каф. РТС Цевух І. В. Одеса 2005 Зміст 1. Завдання на розрахунково-графічну роботу 3 2. Розробка принципової схеми мікропроцесорного пристрою 4 3. Програмне забезпечення 1-го мікроконтролера 5 4. Програмне забезпечення 2-го мікроконтролера 10 Висновки 25 Список використаної літератури 26 1. .Завдання на розрахунково-графічну роботу Розробити мікропроцесорну систему (МПС), у якої 1)апаратна частина: - 2 однокристальні мікроконтролера типу MCS-51, які з'єднані між собою за допомогою УАПП (у режимі SM); - пристрої введення інформації: клавіатура на К клавіш; N-розрядний аналого-цифровий перетворювач (АЦП) ADC-типу; - пристрій виводу інформації : індикатор IND-типу; - зовнішній постійний запам'ятовувальний пристрій (ПЗП), ємністю ROM (КБ); - зовнішній оперативний запам'ятовувальний пристрій (ОЗП), ємкістю RAM (КБ); 2)програмне забезпечення: Провести ініціалізацію мікроконтролерів. Після рестарту мікроконтролери працюють у режимі генерування відеоімпульсів з періодом Т мс і тривалістю ( мс. Мікроконтролери використовують для цього свої таймери-лічильники. Для одного з МК значення Т та ( знаходяться в ПЗП. Мікроконтролер МК1 отримує з клавіатури (можливо по перериванню) команду на введення М- відліків вхідного процесу з АЦП. Здійснює обчислення параметра PAR і пересилає цю інформаціюї через УАПП до мікроконтролера МК2 і далі на індикатор IND та за адресою ADR в ОЗП. Після цього мікроконтролери повинні знову перейти в режим генерування ві-деоімпульсів. Чисельні значення вхідних даних для виконання РГР вибираються з таблиці 1. Табл.1 SM K N ADC IND ПЗП ОЗП T M PAR ADR 1 9 8 Парал. PK1 32 4 5 3 5 Макс. 301 2. Розробка принципової схеми мікропроцесорного пристрою 3.Програмне забезпечення для першого мк51 CS EQU Р3.7 RD EQU Р3.6 CONVST EQU Р3.5 ; глобальне привласнення MAXS EQU 18h MAXM EQU 19h ---------------------------------------------------------------------------------------------------- ORG 0H JMP 30H ORG 03H ; вектор переривання INT0 JMP KLAVA ; перехід на підпрограму KLAVA ORG 0BH ; вектор переривання таймера 0 JMP TIME_0 ; перехід на підпрограму TIME_0 ORG 01BH ; вектор переривання таймера 1 JMP TIME_1 ; перехід на підпрограму TIME_1 ORG 30h ---------------------------------------------------------------------------------------------------- MOV TMOD, #00010001B ; задання режимів для таймерів-лічильників MOV SCON, #10010000B ; задання режиму UART MOV IE, #00011011B ; дозвіл переривань MOV IP, #00000001B ; виставлення пріоритетів MOV TH0, #0F8H ; установка 0-го лічильника MOV TL0, #035H MOV TH1, #0FCH ; установка 1-го лічильника MOV TL1, #01EH SETB EA ; дозвіл всіх переривань SETB P3.4 ; установка 1 на 4-у піні порту Р3 MOV TCON, #00010000B ; дозвіл 0-го лічильника JMP $ ; зациклення ---------------------------------------------------------------------------------------------------- TIME_0: CLR P3.4 ; очистка 4-го піну порту Р3 MOV TCON, #01000000B ; запуск таймера 1 RETI ; повернення з підпрограми обробки перер. ---------------------------------------------------------------------------------------------------- TIME_1: SETB P3.4 ; установка 1 на 4-м піні порту Р3 MOV TH0, #0F8H ; установка 0-го счётчика MOV TL0, #035H MOV TH1, #0FCH ; установка 1-го лічильника MOV TL1, #01EH MOV TCON, #00010000B ; запуск таймера 0 RETI ; повернення з підпрограми обробки перер. ----------------------------------------------------------------------------------------------------- KLAVA: CLR EA ; зняття блокування переривань MOV P2, #11111110B ; завантаження в порт константи JNB P2.4, M0 ; якщо 0 то перехід на мітку М0 JNB P2.5, M1 ; якщо 0 то перехід на мітку М1 JNB P2.6, M2 JNB P2.7, M3 CLR P2.1 ; очистка 1-го піну порту Р2 SETB P 2.0 ; установка 1 на 0-му піні порту Р2 JNB P2.4, M4 ; якщо 0 то перехід на мітку М4 JNB P2.5, M5 JNB P2.6, M6 JNB P2.7, M7 CLR P 2.2 ; очистка 2-го піну порту Р2 SETB P2.1 ; установка 1 на 1-м піні порту Р2 JNB P2.4, M8 ; якщо 0 то перехід на мітку М8 JNB P2.5, M9 JNB P2.6, MA JNB P2.7, MB CLR P 2.3 ; очистка 3-го піну порту Р2 SETB P 2.2 ; установка 1 на 2-м піні порту Р2 JNB P2.4, MC ; якщо 0 то перехід на мітку МС JNB P2.5, MD MOV 20h, #0EH JMP DRB M0: MOV 20h, #0H ; записування коду нажатої клавіші JMP DRB ; перехід на DRB M1: MOV 20h, #1H JMP DRB M2: MOV 20h, #2H ; записування коду нажатої клавіші JMP DRB ; перехід на DRB M3: MOV 20h, #3H JMP DRB M4: MOV 20h, #4H ; записування коду нажатої клавіші JMP DRB ; перехід на DRB M5: MOV 20h, #5H JMP DRB M6: MOV 20h, #6H ; записування коду нажатої клавіші JMP DRB ; перехід на DRB M7: MOV 20h, #7H JMP DRB M8: MOV 20h, #8H ; записування коду нажатої клавіші JMP DRB ; перехід на DRB M9: MOV 20h, #9H JMP DRB MA: MOV 20h, #0AH ; записування коду нажатої клавіші JMP DRB ; перехід на DRB MB: MOV 20h, #0BH JMP DRB MC: MOV 20h, #0CH ; записування коду нажатої клавіші JMP DRB MD: MOV 20h, #0DH JMP DRB DRB: ; п-ма видалення брязкоту контактів MOV R2, #5 MOV R1, #250 U_2: DJNZ R1, U_1 U_1: DJNZ R2, U_2 WORK: MOV A, P2 CJNE A, #0F0H, WORK ; порівняння. акум. з #0F0H та перехід CALL ACP SETB EA RETI ---------------------------------------------------------------------------------------------------- ACP: MOV R2, 20H MOV R1, #21H MOV R0, #22H L7880: CLR CONVST ; імпульс старту перетворення SETB CONVST MOV R5, #19 ; затримка на час перетворення (20 мкс) DJNZ R5, $ CLR CS ; CS=0 CLR RD ; RD=0 MOV A,P1 ; Читаємо з порту P1 мл. и сp. тетради MOV R4,A ; зберігаємо їх в R4 MOV A,P0 ; читаємо з порту Р3 старшу тетраду MOV R5, A ; в R4R5 - результат SETB RD ; Установка RD в 1 SETB CS ; Установка CS в 1 MOV A, R4 ; MOV @R1, A MOV A, R5 MOV @R0, A DJNZ R2, L7880 ; декремент R2 та п-хід якщо на L7880: CALL SCHET ; виклик підпрограми SCHET RET ; повернення з підпрограми ---------------------------------------------------------------------------------------------------- SCHET: MOV R2, 20H MOV R1, #21H MOV R0, #22H MOV MAXM, @R0 MOV MAXS, @R1 MM3: INC R0 ; збільшення на 1 R0 INC R0 INC R1 ; збільшення на 1 R1 INC R1 MOV A, @R1 MOV R4, A MOV A, @R0 MOV R3, A MOV A, MAXS ; записування МАХS в акумулятор CLR C ; скидання переносу CJNE A, R4, MM1 ; зрівн. ак. з R4 и пер. на ММ1 якщо JC MM2 JMP MM6 MM2: MOV MAXS, @R1 MOV MAXM, @R0 JMP MM6 MM1: MOV A, MAXM CLR C CJNE A, R3, MM6 ; зрівн. ак. с R3 и пер. на ММ6 якщо JC MM5 ; перехід на ММ5 якщо перенос = 1 JMP MM6 MM5: MOV MAXS, @R1 MOV MAXM, @R0 MM6: DJNZ R2, MM3 MOV R5, #0FFH MOV SBUF, MAXS ; записування в рег. посл. порту MAXS DJNZ R5, $ ; затримка DJNZ R5, $ MOV SBUF, MAXM ; записування в рег. посл. порту MAXМ RET 4. Програмне забезпечення для другого мк51 AD00 .EQU 20H DATIND.EQU P1.0 ; до виводу DI CLKIND.EQU P1.1 ; до виводу SK --------------------------------------------------------------------------------------------------- ORG 0H JMP 30H ORG 0BH ; вектор переривання таймера 0 JMP TIME_0 ORG 01BH ; вектор переривання таймера 1 JMP TIME_1 ORG 23H JMP UART ORG 30H --------------------------------------------------------------------------------------------------- MOV DPTR, #200H MOVX A, @DPTR MOV R0, A ; молодший байт тривалості імпульсів INC DPTR MOVX A, @DPTR MOV R1, A ; старший байт тривалості імпульсів INC DPTR MOVX A, @DPTR MOV R2, A ; молодший байт періоду імпульсів INC DPTR MOVX A, @DPTR MOV R3, A ; старший байт періоду імпульсів ---------------------------------------------------------------------------------------------------- MOV TMOD, #00010001B ; задання режимів дл |
Посетителей: 3, из них зарегестрированных: 0, гостей: 3 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0663 сек. |