Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

// -------------------------------------------------------------------------

void newline {

 int i;

 for(i=0; i16; i++) LCD_char(' ');

}


// ------------------------------------------------------------------------

// Функция LCD_output производит преобразование кодов ASCII строки символов

//в коды табл. рис. 5.15 для отображения на дисплее и передает эту строку в

//ОЗУ буфера экрана дисплея

// ------------------------------------------------------------------------

void LCD_output(char s[]) {

 int n = 0;

 while (s[n] != '\0') {

  LCD_char(s[n]);

  ++n;

 }

}


// --------------------------------------------------------------------

// Функция delay формирует временную задержку длительностью в указанное

//число мкс

// --------------------------------------------------------------------

void delay(int usec) {

 int i,j;

 for(i=0; iusec; i++) {

  for(j=0; j 7; j++) { }

 }

}


// ------------------------------------------------------------------

// Функция write конфигурирует линии порта PORTP для вывода данных на

// дисплей

// ------------------------------------------------------------------

void write {

 DDRP = 0xFF; //Порт PORTP на вывод

}


// -------------------------------------------------------------------------

// Функция data производит запись одного символа в ОЗУ данных дисплея. Перед

// обменом с контроллером дисплея контролируется бит состояния, который

// свидетельствует о том, закончил контроллер выполнение предыдущей команды

// управления или нет. Затем на порт PORTP выставляется код символа и

// формируются необходимые сигналы управления

// -------------------------------------------------------------------------

void data(unsigned char n) {

 status_wait;

 PORTP = n;

 PORTDLC = 0xFF;

 PORTDLC = PORTDLC 0xF7; //C/D в 0

 PORTDLC = PORTDLC 0xFE; //WR в 0

 PORTDLC = PORTDLC 0xFB;

 enable;

 disable;

}


// -------------------------------------------------------------------

// Функция command производит передачу команды управления в контроллер

// дисплея

// -------------------------------------------------------------------

void command(unsigned char n) {

 status_wait;

 PORTP = n;

 PORTDLC = 0xFF;

 PORTDLC = PORTDLC 0xFE;

 enable;

 disable;

}

5.7. Управление электрическим двигателем

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже