Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.08.2007, 14:01
|
#91
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Atmel выпустил дополнение - подключение lcd экрана. Этим честно говоря не пользовался, но думаю что работать должно. В приложении прикрепляю...
Прикрепленный файл: 7167904.rar
|
|
|
|
24.08.2007, 14:02
|
#92
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
А давится потому наверное, что ждет ответа от LCD. Я для работы с lcd сам писал функции...
|
|
|
|
24.08.2007, 14:20
|
#93
|
Частый гость
Регистрация: 11.07.2006
Сообщений: 32
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Наверное, это более надежное решение. Так, правда, придется много чего писать... Если есть образец работы с LCD-дисплеем, может обнародуете?
|
|
|
|
24.08.2007, 14:24
|
#94
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Писать - не много, обнародовать - пожалуйста:
Код:
|
void strob (void)
{
delay_us(500);
PORTC.2=1;
delay_us(500);
PORTC.2=0;
}
void send_byte (unsigned char byte_s)
{
unsigned char temp;
temp=byte_s & 0b11110000;
PORTD=(PORTD & 0b00001111) | temp;
strob();
temp=byte_s ‹‹ 4;
PORTD=(PORTD & 0b00001111)| temp ;
strob();
delay_ms(2);
}
void lcdclr(void)
{
PORTC.3=0;
send_byte(1);
PORTC.3=1;
delay_ms(2);
}
void lcd_init (void)
{
delay_ms(20);
PORTC.3=0;
PORTC.2=0;
send_byte(0b00110011);
send_byte(0b00110010);
send_byte(0b00101000);
send_byte(0b00001000);
send_byte(0b00001100);
send_byte(0b00000001);
}
void gotoxy (unsigned char xx,unsigned char yy)
{
if (yy==1)xx=xx+128; else xx=0x40+xx+128;
PORTC.3=0;
send_byte(xx);
PORTC.3=1;
} |
Будут вопросы по коду - пишите...
|
|
|
|
24.08.2007, 14:41
|
#95
|
Частый гость
Регистрация: 11.07.2006
Сообщений: 32
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Спасибо! Пока понятно. Вечером попробую на железе. Думал сделать немного иначе: Формировать буфер строк в памяти и выводить разом всю строку. Плюсы в этом случае - легче синхронизировать таймером, обновление через определенные промежутки времени, а изменять буфер можно в любое время.
|
|
|
|
24.08.2007, 14:55
|
#96
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
ICD PICFlash2 не пашет Перерывание в PIC16F877A не работает. Если откомпилировать как Release работает 8O как ICD Debug не хочет. Для ICD2 микрочипа написано : нелзя исползовать $70, микробейсик использует. Если не изменяет память, первая инструкция должна быть nop. Куда там.... Послал запрос, надеюсь ответят.
А может переутомился. Всю недлею пишу программу
__________________
Мыслю, следовательно существую
|
|
|
|
27.08.2007, 10:08
|
#97
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Пашет А вобщем всегда предлагал запретить пятницу после обеда законом. Не время для работы
Для ПИКФлаш2 из МикроЕ ответили : mikroICD has no restrictions regarding occupied program memory. Нет ограничений. Правда для программной памяти. Надеюсь и для РАМ тоже нет. Пока похоже, что так.
__________________
Мыслю, следовательно существую
|
|
|
|
31.08.2007, 17:34
|
#98
|
Прохожий
Регистрация: 11.02.2007
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Ребята, помогите! Мне нужно обрабатывать в MicroBasic
внешнее прерывание PIC. Как это сделать?
|
|
|
|
31.08.2007, 17:47
|
#99
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Там есть зарезервированная процедура interrupt: Если разрешить перерывание она выполняется. Тонкости две
1. Разершить перерывания, котороые нужны.
2. В процедуре по флагам определить какое перерывание случилось и соответно обработать его.
Специальных требований к обработке внешнего перерывания INT нет.
__________________
Мыслю, следовательно существую
|
|
|
|
02.09.2007, 17:56
|
#100
|
Прохожий
Регистрация: 11.02.2007
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Спасибо. А как разрешить внешние прерывание?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:32.
|
|