Цитата(ILYAUL @ Jan 20 2013, 23:17)

Какой ? Где?
Всё что скрыто под этим убрать
вот сюда
static void _lcd_delay(void) - только задержку согласно DS на Ваш дисплей
Не въехал.

Что под чем скрыто и куды его убрать?
Ну вот такая схемка пока.
Т.е. ЖКИ сидит на порту В
Кнопки на D
Ежели забрать компаратор, то пины освободятся на D а управление экраном надо буит осуществлять из двух портов.
RS, RW, E повесить на порт D
а данные гнать через порт B.
Может конечно єто все не сильно грамотно, с точки зрения профи, ну да я и не претендую. Это так, для дома для себя изредка заглядываю в МК.

Ну а сие кусок говнокода который это должон оживлять.
CODE
#include <tiny2313.h>
#include <string.h>
#include <delay.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x18 ;PORTB //Подключаем дисплей к порту B
#endasm
int c;
unsigned char numdigchar(int x)
{
unsigned char temp;
if ((x>=1000)||(x<=-1000)) return 1;
if (x<0) {
lcd_putchar('-');
x=-x;
}
temp=x/1000; //вычисляем тысячи
lcd_putchar(0x30+temp); //выводим на ЖКИ
x=x-temp*1000; //вычитаем тысячи
temp=x/100; //вычисляем сотни
lcd_putchar(0x30+temp); //выводим
x=x-temp*100; //вычитаем сотни
temp=x/10; //вычисляем десятки
lcd_putchar(0x30+temp); //выводим
x=x-temp*10; //вычитаем десятки
temp=x/1; //вычисляем единицы
lcd_putchar(0x30+temp); //выводим
x=x-temp; //вычитаем единицы
return 0;
}
//Главная функция программы
void main(void)
{
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
PORTB=0x00;
DDRB=0xDF;
PORTD=0x00;
DDRD=0x20;
TCNT0=0xFF;
TCCR0A=0xF3;
TCCR0B=0x01;
OCR0B=0x05;
OCR0A=0xF0;
//Инициализируем дисплей
lcd_init(16);
#asm("cli")
c=5;
lcd_clear(); //функция очистки дисплея
while(1){
delay_ms(1000); //задержка 1 секунда
if (PIND.6==0) {
if (OCR0A<0xFF)
OCR0A++;
}
if (PIND.2==0) {
if (OCR0A>0)
OCR0A--;
}
if (PIND.4==0) {
if (OCR0B<0xFF)
OCR0B++;
}
if (PIND.1==0) {
if (OCR0B>0)
OCR0B--;
}
lcd_gotoxy(7,0);
numdigchar(OCR0A);
lcd_gotoxy(7,1);
numdigchar(OCR0B);
}
}
Т.е. Гдето так.
Приношу извинения, не умею код засовывать в отдельный блок. Может подскажете как?
Сообщение отредактировал IgorKossak - Jan 20 2013, 21:33
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!