Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
EMBED Word.Picture.8
Звіт
до лабораторної роботи №2
з курсу „Проектування контролерів периферійних пристроїв”
«Ознайомлення з універсальним асинхронним приймачем/передавачем (UART)»
Підготував: ст. гр. СКС-1
Львів 2008
Тема: Ознайомлення з універсальним асинхронним приймачем/передавачем (UART)
Мета: Ознайомлення з режимами роботи Універсального асинхронного приймача/передавача (UART) в мікроконтролера АТ89С51 та його можливостями по зв'язку з персональним комп'ютером.
Виконання роботи
Завдання:
Настроїти UART в заданий режим роботи (частота, формат повідомлення);
Прийняти дані з перемикачів та кнопок підключених до вхідного порту та вивести їх через UART в на дисплей комп'ютера;
Прийняти дані з комп'ютера через UART та вивести їх на світлодіодний індикатор підключений до вихідного порту.\
#include <reg51.h>
#include <intrins.h>
#define P_OUT P1
#define P_IN P0
void init_UART(void);
void delay(void);
/*---------------------------------*/
void main(void)
{
unsigned char k;
init_UART();
EA=1;
while(1)
{
if(k!=P_IN)
{ SBUF=P_IN;
k=P_IN;
delay(); } }
}
/*---------------------------------*/
void delay(void)
{
unsigned int i;
for(i=0;i<0xfff0;i++);
}
/*---------------------------------*/
void init_UART(void)
{
SCON=0x50;
PCON=0;
TMOD=0x20;
TH1=0xF4;
TR1=1;
RI=0;
ES=1;}
/*---------------------------------*/
void int_UART(void) interrupt 4
{if(RI)
{ RI=0;
// P_OUT=SUBF^0xff;
P_OUT=SBUF^0xff; }
if(TI)TI=0;}
Висновок:
Ознайомився з режимами роботи універсального асинхронного приймача/передавача (UART) в мікроконтролера АТ89С51 та його можливостями по зв'язку з персональним комп'ютером.
В результаті виконання програми на світлодіодний індикатор виводиться двійкове значення байту посланого програмою управління терміналом. Після кожного посланого байту показ світлодіодного індикатора змінюється. Нове, виставлене з допомогою кнопок та перемикачів значення виводиться на дисплей терміналу.