четвер, 22 березня 2018 р.

Керування LCD без драйвера

LCD без драйвера


Завалявся в мене LCD дисплей від електронних ваг, має 14 виводів, 4 семисегментних цифри з мультиплексорним управлінням. 

Фото виключеного екрану
Фото розпіновки та внутрішнього підключення дисплея

Спочатку я вирішив підключити до борда Cypress. Накидав прогу, правда трішки прийшлося з настройками побавитися...але в кінцевому випадку запрацював. 


Після запуску програми на екранчику весело забігали циферки


Я не хотів використовувати цей дисплей разом із чіпом Cypress, тому я вирішив подивитися як їхня бібліотека керує дисплеєм. Я підключився логічним аналізатором, і побачив вот такі сигнал
Збільшений варіант
Цифра 0  на дисплеї
На осцилограмі добре видно що сегменти A,B,C,D,E,F є включеними (вони мають протилежне логічне значення відносно керуючих COM)

Перші чотири - сигнали, які підключені до спільних виводів - СOM0-COM3. Наступні два - SEG0, SEG1 , які керують першою цифрою.
Тобто звідси виходить, що потрібно просто видати на спільні виводи шим частотою 15кГц, і почерзі кожного з них включати, виставляючи відповідні логічні рівні на SEG1 та SEG0.

Вот ще один варіант, в PSoC Creator це називається "digital correlation":
принцип управління той же самий.