putcommands(0x06); /*установка режима инкремента адреса */
putcommands(0x00);
putcommands(0x00);
putcommands(0xC0); /*курсор на линию 2 знакоместо 1 */
putchars('R'); /* вывести "PRM" - скорость */
/*в об/мин на строку 2 ЖКИ */
putchars('P');
putchars('M');
}
/********************************************************************/
/*putchars: функция посылает ASCII код для вывода на ЖКИ */
/********************************************************************/
void putchars(unsigned char c) {
PORTB = c; /*вывести на порт PORTB код символа */
PORTDLC = PORTDLC|0x08; /*установить RS в 1 для передачи данных */
PORTDLC = PORTDLC|0x04; /*установить E в 1 */
PORTDLC = 0x00; /* установить E и RS в 0 */
delay_100us; delay_100us;
}
/********************************************************************/
/*putcommands: функция посылает команду управления ЖКИ */
/********************************************************************/
void putcommands(unsigned char d) {
PORTDLC = PORTDLC0xF7; /*установить RS в 0 для передачи команды */
PORTDLC = PORTDLC|0x04; /*установить E в 1 */
PORTDLC = 0x00; /* установить E и RS в 0 */
delay_100us;
delay_100us;
}
/********************************************************************/
/* delay_5ms: программная задержка 5 мс */
/********************************************************************/
void delay_5ms(void) {
int i;
for (i=0; i50; i++) {
delay_100us;
}
}
/********************************************************************/
/* delay_100us:программная задержка в 100 мс */
/********************************************************************/
void delay_100us(void) {
int i;
for(i=0; i800; i++) {
asm("nop");/*выполнение команды nор ассемблера занимает 1 период*/
}
}
/********************************************************************/
/* display_count_LCD: преобразует целое число в ASCII символ */
/* для вывода на ЖКИ */
/********************************************************************/
void display_count_LCD(unsigned int count) {
unsigned int thousands_int;
unsigned int hundreds_int;
unsigned int tens_int;
unsigned int ones_int;
char thousands;
char hundreds;
char tens;
char ones;
/*выбирает и преобразует наибольшую значащую цифру в десятичное */
/* значение + 48, образуя ASCII код */
thousands_int = count/1000;
thousands = (char)(thousands_int + 48);
/*выбирает и преобразует следующую наибольшую значащую цифру */