-
Постов
210 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные Arthur
-
-
я имел ввиду вот это.
а вот это - называется Mini CD
0 -
Я тут подумал, что без массивов мне не обойтись, и логично подумать забивать массивами внутреннюю память микроконтроллера не рентабельно, но что если взять microCD и хранить всё там? Но что для этого надо?
0 -
просто ко мне в гости через месяц вылетят из России... Так что...
0 -
а какие есть страны? Австралия, Россия, Украина.
0 -
Хочу заказать LCD дисплей 128x64 на контроллере KS0108 кто заказывал такие и где кроме как на chip-dip можно заказать?
извиняюсь, но думаю не меня одного этот вопрос интересует
0 -
Я нашёл причину торможения прорисовки. У меня тактовая частота МК стояла 1MHz поставил 8MHz всё летать стало. При 16Mhz наверное придётся переписывать ставить паузы побольше в два раза.
0 -
Не лень, специально так написал, посмотреть как будет вести себя LCD дисплей.
вот я посмотрел на видео...
ну блин не тормозит ничего. Как они это делают(
0 -
да я то не спорю) мне еще нужно к этим формулам определитель сделать) что бы определял на какую формулу направить расчет), только я вот просто в протеусе такую глупость сделал
#define F_CPU 1000000UL #include <avr/io.h> #include <avr/iom8.h> #include <stdlib.h> #define SetBit(x,y) (x|=y) #define ClrBit(x,y) (x&=~y) #define TestBit(x,y) (x&y) #define LCD_RST 0b00000001 #define LCD_E 0b00000010 #define LCD_RW 0b00000100 #define LCD_RS 0b00001000 #define LCD_CS2 0b00010000 #define LCD_CS1 0b00100000 #define LCD_DB PORTD #define LCD_COM PORTC #include <util/delay.h> #include "X:\прошивка\Prosha\Prosha\ks0108.h" int main( void ) //void main() { DDRC=0xFF; DDRD=0xFF; init_lcd(); _delay_ms(10); clear(); while (1) { _delay_ms(1); WriteXY(0,0,LCD_CS1); _delay_ms(1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteXY(0,0,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteXY(0,1,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteXY(0,1,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteXY(0,2,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteData(0b11111111,LCD_CS1); WriteXY(0,2,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteData(0b11111111,LCD_CS2); WriteXY(0,0,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteXY(0,0,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteXY(0,1,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteData(0b00000000,LCD_CS1); WriteXY(0,1,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); WriteData(0b00000000,LCD_CS2); } }
сделал что бы посмотреть как по скорости дисплей работает, либо протеус притормаживает либо очень медленно работает lcd дисплей. Вот бы в живую проверить
0 -
Да я проснулся и меня осенило) и я понял что я дурак))))
0 -
вот что понятно, (зоны обозначенные цветом. Не понятные зоны не обозначенные. Помогите кто чем может.
0 -
А поменять местами аргументы не интересно? Чем отличается линия вправо-вверх от линии влево-вниз?
минус на плюс поменять могу. но вот обратно по оси икс в минус не могу организовать.
0 -
о какой погрешности может идти речь на поле 128 на 64 пикселей на 0,01?))) я одного только не пойму) у меня в ступор ввел этот алгоритм Брезенхема, Линию вправо и вниз понятно. Линию вправо и вверх тоже, Вверх влево и Вверх вправо тоже.. А вот как сделать в обратное направление) т.е. влево и вниз влево и вверх. Вниз и влево вниз и вправо, так и не понял)
0 -
а я всё думаю) что я мужу) ведь речь идет не о каких либо миллионах пикселей а всего навсего о 128 на 64 экранчике)))) там погрешность не будет играть значимой роли мне кажется) поэтому можно формулу Брезенхема закопать)))
0 -
я так понял быстродействие вычислений будет зависить от быстродействия мозгов микроконтроллера, а я так понял это у Atmega8 (16MHz), а если взять сразу микроконтроллер пошустрее. Есть ли такие среди AVR или PIC???
0 -
Короче посетила меня идея (с таблеткой эспумезана), имеется дисплей MT-12864A-2FLA по сути он ничем наверное не отличается от LGM12641BS1R у них такие же контроллеры стоят. Рисовать растр, согласитесь это занимает очень много места в памяти микроконтроллера. И задумался я написать драйвер для него (аля векторная графика), задаю точку 1 и точку 2 а он чертит сам мне линию. Алгоритмы уже есть, написаны за долго до меня, за основу взял алгоритм Брезенхема. Написать программу это пол беды, столкнулся я с такой проблемой, ведь дисплей по сути разбит на два сектора (кристалла) по 64 столбца. и если допусти мне надо поставить одну точку в одном кристалле а другую в другом, программа то расчитает мне точки линии, но как мне сделать перенос с одного кристалла на другой?
Дальше еще думаю, как быстро он будет делать расчёты. всех точек. и на сколько быстро он прочертит одну линию.
Конечно я лезу в дебри если честно и наверника уже есть такие дисплеи со встроенным контроллером, которому эту программу не надо писать, и дисплею нужно лишь подать координаты двух точек (графический контроллер) но я пока такие дисплеи не нашёл, может не там искал.
0 -
Кстати вклинюсь в тему, что бы не создавать новую. Нужен LCD дисплей жк, пиксельный, но с графическим процессором, что бы не тратить мне в программе место для написания алгоритмов брезенхема, и других алгоритмов для простых геометрических фигур. Дисплей нужен для подключению к микроконтроллеру Atmega8 или 16 пока не определился, который будет опрашивать датчики разные (температура, часы, и т.п. и выводить на экран), но часы я не хочу делать с числами я хочу делать их графическими. Есть датчики которые опрашивают 10-15 раз засекунду, например датчики акселерометра и компаса, и следовательно, частота кадров дисплея, т.е. скорость графического процессора дисплея, должна соответствовать. Дисплей в районе 128х64, больше немного приветсвуется, меньше нет. Именно черно белый с подсветкой, что бы можно было днем подсветку вырубить. Кто что посоветует?
0 -
здрасти всем.. как осуществить такую задумку??? есть чистый синус, чище небывает. и ниже постоянная составляющая. как замодулировать синусойду? по сути это АМ.Максимальное изменение постоянной составляющей 1мс, что и показано тут. Есть идеи???
0 -
ну например? мне нужно в открытом состоянии что бы было 0 сопротивление в закрытом мегаомы, если лучше то гигаомы... но как... как мне сделать управление ключом это логическая 1 от микроконтроллера... важна еще очень скорость открытия и закрытия...
0 -
Выбрал полевой транзистор в роли ключа, НО, какой бы подобрать, нужно что бы переходил в открытое положение за считанные наносекунды, если есть такие, потом, что бы в открытом положении обязательно было очень низкое сопротивление. равно нулю как бы, я знаю есть такие у которых равно 0,01 Ом, сойдет, но это в википедии написано было просто, и что бы в закрытом было как можно больше мегаом. Вообще есть ли такие транзисторы?? причем как с N каналом так и с P каналом??? или таких в природе не существует?
0 -
Да смысла в этом нет, тебе и 8 разрядов хватит за глаза.
меня настараживает тот факт, что такие переменники не убавляют в ноль, т.е у них сопротивление 50 Ом но остаётся.
0 -
я тут подумал. а если запараллелить допустим два таких переменника то шаг по сути увеличивается. и разрядность тоже 8+8
0 -
Да любой. Хоть 1N5819.
Ну так 10 бит - это же 1024 шага. Допустим, у тебя диапазон регулировки 100дБ (что уже сильно преувеличено), ты получишь точность 0.1дБ на шаг - это более чем "плавно".
допустим.
а есть ли нелинейные искажения в таких потенциометрах?
0 -
Может стоит попробовать диод Шоттки?
был бы он у меня - какой посоветуете? я попробую.
Если уже на то пошло, то нужно огласить - зачем оно вам нужно, а не разводить демагогию на 100500 страниц.
http://www.gaw.ru/ht...im/dp/start.htm выбирайте и смотрите что нужно
у цифровых нет к сожалению линейного смещения там смещается шагово. (ступенчато), были бы 32 битные, былоб конечно идеально, но увы максимум вижу 10 битные
0 -
Есть цифровые потенциометры - вот ими и регулируйте
какая скорость изменения. за 1 мс от минимума до максимума они могут?
0
Подключение Microcd К Atmega В Качестве Flash Памяти.
в AVR
Опубликовано
Только чтение, желательно монохромных BMP расширением 128х64, мк будет скорее всего Atmega128 так как на нем я остановился пораскинув мозгами (о количестве портов), запись на флешку не нужна, но думаю на сколько быстро будет чтение битмапа из флешки?