- Необходими материали:
- Кратко въведение в матричен LCD дисплей с размери 16 × 2 точки:
- Електрическа схема и връзка:
- Програмиране на MSP430 за LCD с помощта на Energia:
- 16x2 LCD с MSP430G2:
Това е третият урок от поредицата уроци, в който се учим да програмираме MSP430G2 LaunchPad с помощта на Energia IDE. В предишния ни урок научихме как да контролираме цифровите входни и изходни щифтове на нашата MSP платка. В този урок ще научим как да свързваме LCD с платката, така че да можем да показваме полезна информация.
LCD, който използваме в този проект, е най-често използваният 16 × 2 матричен LCD дисплей като буквено-цифрови дисплеи. Повечето от нас биха се сблъскали с това или чрез публични PCO, или чрез други проекти за електроника. Подобен дисплей ще бъде много полезен за бъдещите ни уроци за показване на данни и друга информация за отстраняване на грешки. Връзката с този LCD с MSP430 е много лесна, благодарение на наличната библиотека. Така че нека се потопим !!
Необходими материали:
- MSP430G2 LaunchPad от Texas Instruments
- 16 × 2 матричен LCD дисплей
- Свързващи проводници
- Energia IDE
Кратко въведение в матричен LCD дисплей с размери 16 × 2 точки:
Както беше казано по-рано, Energia IDE предлага красива библиотека, която прави връзката парче торта и следователно не е задължително да се знае нещо за дисплейния модул. Но не би ли било интересно да покажем какво използваме !!
Името 16 × 2 предполага, че дисплеят има 16 колони и 2 реда, което заедно (16 * 2) образува 32 кутии. Една единична кутия ще изглежда нещо подобно на снимката по-долу
Едно поле има 40 пиксела (точки) с матричен ред от 5 реда и 8 колони, тези 40 пиксела заедно образуват един символ. По същия начин 32 символа могат да бъдат показани с помощта на всички полета. Сега нека да разгледаме щифтовете.
LCD има общо 16 щифта, както е показано по-горе, те могат да бъдат категоризирани в четири групи, както следва
Изходни щифтове (1, 2 и 3): Тези щифтове осигуряват ниво на мощност и контраст за дисплея
Контролни щифтове (4, 5 и 6): Тези щифтове задават / контролират регистрите в интегралната интегрална схема на LCD (повече това можете да намерите в линка по-долу)
Данни / командни щифтове (7 до 14): Тези щифтове предоставят данни за това каква информация трябва да се показва на LCD дисплея.
LED щифтове (15 и 16): Тези щифтове се използват за осветяване на подсветката на LCD, ако е необходимо (по избор).
От всички тези 16 пина, само 10 щифта трябва да се използват задължително за правилната работа на LCD, ако искате да научите повече за тези LCD дисплеи, преминете към тази статия за LCD.
Електрическа схема и връзка:
Пълната схема на схемата за свързване на 16 × 2 матричен LCD дисплей с MSP430G2 е показана по-долу.
Едно основно ограничение при взаимодействието на тези две е работното им напрежение. LCD дисплеят има работно напрежение + 5V, докато MSP работи само с 3.6V. За наш късмет изводът за данни на LCD интерфейс IC (HD44780U) има широко работно напрежение от 2.7V до 5.5V. Така че трябва да се тревожим само за Vdd (щифт 2) на LCD, докато щифтовете за данни могат да работят дори и с 3.6V.
Платката MSP430G2 по подразбиране не ви дава + 5V щифт, но ние можем да направим малък хак, за да получите + 5V от MSP430 с помощта на USB порта. Ако погледнете отблизо близо до USB порта, можете да намерите терминал, наречен TP1, този терминал ще ни даде + 5v. Всичко, което трябва да направим, е да запоим малък мъжки щифт на заглавката, както е показано по-долу, за да можем да го свържем с нашия LCD дисплей.
Забележка: Не свързвайте товари, които могат да консумират повече от 50 mA към този 5V щифт, това може да изпържи вашия USB порт.
Ако не се интересувате от запояване, просто използвайте каквото и да е + 5V регулирано захранване и захранвайте LCD дисплея, в този случай не забравяйте да свържете земята на захранването си към земята на платката MSP.
След като приключите с + 5V щифт, свързващ останалите щифтове, е доста ясен. Сега, когато нашият хардуер е готов, нека преминем към софтуерната част.
Програмиране на MSP430 за LCD с помощта на Energia:
Най- пълната програма за действие на интерфейсите с MSP430G2553 с LCD дисплей е дадена в края на тази страница. Кодът може да се компилира, качи и използва като такъв. В следващите параграфи ще обясня как работи програмата.
Преди да продължим с обяснението, трябва да отбележим щифтовете, които използваме. Ако разгледате схемата по-горе и схемата за извеждане на MSP430 отдолу
Можете да заключите, че сме свързали LCD дисплея съгласно следната таблица
Име на LCD щифт |
Свързан с |
Vss |
Земя |
Vdd |
+ 5V USB щифт |
Rs |
Пин 2 на MSP |
R / W |
Земя |
Активиране |
ПИН 3 на MSP |
D4 |
Пин 4 на MSP |
D5 |
ПИН 5 на MSP |
D6 |
ПИН 6 на MSP |
D7 |
Пин 7 на MSP |
Имайки това предвид, нека започнем да дефинираме LCD щифтовете, използвани в нашата програма. Ще назовем всеки щифт с по-смислено име, за да можем да го използваме лесно по-късно.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Това просто означава, че вместо да извиквам пин 2, мога да го посоча като RS оттук нататък, подобно на всички 6 пина.
Следващата стъпка ще бъде включването на LCD библиотеката. Тази библиотека би била инсталирана автоматично, когато сте инсталирали Energia IDE. Така че просто го добавете, като използвате следния ред
#include
Следващата стъпка е да споменем щифтовете, към които е свързан LCD дисплеят, тъй като вече го нарекохме с помощта на #define, сега можем просто да споменем имената на LCD щифтовете. Уверете се, че се спазва същият ред.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Сега нека да се премести в невалидни настройка () функцията. Има толкова много видове LCD дисплеи, различни по размер и естество, този, който използваме, е 16 * 2, така че нека уточним, че в нашата програма
lcd.begin (16, 2);
За да отпечатаме нещо на LCD, трябва да споменем две неща в програмата. Едната е позицията на текста, която може да бъде спомената с помощта на реда lcd.setCursor (), а другата е съдържанието за отпечатване, което може да бъде споменато от lcd.print (). В този ред задаваме курсора на 1- ви ред и 1- ва колона.
lcd.setCursor (0,0);
По същия начин можем и ние
lcd.setCursor (0, 1); // задайте курсора на 1-ва колона 2-ри ред
Подобно на изтриването на бяла дъска след писане върху нея, LCD също трябва да бъде изтрит, след като върху него е написано нещо. Това може да стане с помощта на реда по-долу
lcd.clear ();
Така че пълната функция за настройка на void () ще изглежда по следния начин.
void setup () {lcd.begin (16, 2); // Използваме 16 * 2 LCD дисплей lcd.setCursor (0,0); // Поставете курсора на 1-ви ред 1-ва колона lcd.print ("MSP430G2553"); // Показване на встъпително съобщение lcd.setCursor (0, 1); // задайте курсора на 1-ва колона 2-ри ред lcd.print ("- CircuitDigest"); // Показване на закъснение на встъпително съобщение (2000); // Изчакайте дисплеят да покаже информация lcd.clear (); // След това го почистете}
След това, вътре в нашата функция void loop () , нека продължим да увеличаваме число на всеки 500ms и да показваме числото на LCD. Този брой тества и се инициализира на 1, както е показано по-долу
int тест = 1;
За да създадем забавяне, можем да използваме вградената функция delay (). Трябва да споменем колко време се нуждаем от закъснението. В нашия случай използвах 500ms, както е показано по-долу
забавяне (500);
Увеличаването на променлива може да се направи чрез тест ++, останалите вече са обяснени. В пълния код вътре в невалидни линия е показано по-долу
цикъл void () {lcd.print ("LCD с MSP"); // Показване на встъпително съобщение lcd.setCursor (0, 1); // задаваме курсора на колона 0, ред 1 lcd.print (тест); // Показване на закъснение на встъпително съобщение (500); lcd.clear (); // След това го почистете test ++; }
16x2 LCD с MSP430G2:
След като вашият хардуер и код са готови, просто свържете дъската си с компютъра и качете кода, както направихме в урок един. След като кодът бъде качен, трябва да видите дисплея, показващ следното.
След две секунди екранът на дисплея ще се промени от настройка на цикъл и ще започне да увеличава променливата и да се показва на екрана, както е показано на снимката по-долу.
В пълна обработка може да се намери във видеото по-долу. Продължете и опитайте да промените това, което се показва на LCD дисплея, и играйте с него. Надявам се, че сте разбрали урока и сте научили нещо полезно от него. Ако имате някакви съмнения, оставете ги в раздела за коментари по-долу или използвайте форумите. Нека се срещнем в друг урок.