Мазмұны:

Автобус қарақшысына арналған HD44780 LCD I2C адаптер тақтасы: 9 қадам
Автобус қарақшысына арналған HD44780 LCD I2C адаптер тақтасы: 9 қадам

Бейне: Автобус қарақшысына арналған HD44780 LCD I2C адаптер тақтасы: 9 қадам

Бейне: Автобус қарақшысына арналған HD44780 LCD I2C адаптер тақтасы: 9 қадам
Бейне: Лидертранс. Первый рейс в новом году. 2024, Қараша
Anonim
HD44780 автобус қарақшысына арналған I2C адаптер тақтасына арналған LCD
HD44780 автобус қарақшысына арналған I2C адаптер тақтасына арналған LCD
HD44780 автобус қарақшысына арналған I2C адаптер тақтасына арналған LCD
HD44780 автобус қарақшысына арналған I2C адаптер тақтасына арналған LCD

HD44780 чипсетіне негізделген арзан сипаттағы СКД әр түрлі мөлшерде келеді: 2x16, 4x20, т.б. 8 битке барлығы 11 деректер желісі қажет, 4 битке 7 (тек жазу үшін 6) қажет. Кейбір СКД қосымша сериялық деректер режимін қолдайды, мысалы, мен Hack a Day. HD44780 СКД әдетте 5 вольтты бөліктерден тұрады, олар артқы жарыққа бөлек жеткізіледі. Bus Pirate -те тек 5 вольтты төзімді енгізу -шығару түйреуіштері бар, сондықтан біз СКД -ны басқаруға жеткілікті түйреуіштері бар шағын адаптер тақтасын жасадық. Bus Pirate адаптер тақтасын СКД интерфейсі кітапханасы арқылы басқарады. Bus Pirate HD44780 таңбалы СК адаптер тақтасы мен интерфейс кітапханасы туралы оқуды жалғастырыңыз. Менде Seeed Studio шығарған ПХД, жиынтықтар немесе жинақталған жиынтықтар шамамен 15 долларға, соның ішінде бүкіл әлем бойынша жеткізілімдер болуы мүмкін. Мен нұсқаулыққа кейбір пішімдеу элементтері мен HTML кестелерін қоса алмадым, сіз қауіпті жазбаның түпнұсқасын көре аласыз. блог

1 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Бұл мақалада біз HD44780 негізіндегі СКД үшін I2C адаптер тақтасын ұсынамыз. Біз мұны Bus Pirate әмбебап сериялық интерфейсімен көрсетеміз. I2C негізіндегі HD44780 интерфейс кітапханасына арналған Bus Pirate бастапқы коды-бұл жалпыға қолжетімді, сондықтан сіздің жеке жобаларыңызға бейімделуге болады. Схема мен ПХД Cadsoft Eagle тегін нұсқасымен жасалған. Дизайн файлдарын Bus Pirate SVN каналынан жүктеуге болады. Адаптер тақтасын пайдаланбас бұрын, СКД -нің деректер кестесін адаптер түйіспесінен тексеріңіз. Барлық СКД бірдей емес. PCF8574 енгізу-шығару кеңейткіші IC-бұл екі сымды I2C интерфейсі арқылы басқарылатын қарапайым 8 енгізу-шығару кеңейткіш чипі. I2C интерфейсіне JP1 тақырыбынан қол жеткізуге болады, PCF8574 2,5 -тен 5 вольтке дейін жұмыс істейді. Енгізу -шығару түйреуіштері кернеудің кернеуінде жұмыс істейді, сондықтан егер біз оны 5 вольтты берсек, ол СКД -ге 5 вольтты қосады. C1 (0.1uF) IC -ді қорек көзінің ауытқуынан ажыратады, PCF8574 бір түйреуіші R2 (1000 Ом) шектеу резисторы арқылы 3 мм жарық диодты (LED1) басқарады. Жарықдиодты шамдар қарақшы мен адаптер арасындағы сәтті байланысты көрсетеді. PCF8574 светодиодты қамтамасыз ету үшін жеткілікті ток ала алмайды, сондықтан біз 5 вольтты қоректендіргіштен светодиодты қосамыз және жерге қосамыз. СКД Адаптер тақтасы 4 биттік параллельді интерфейс режимінде HD44780 негізіндегі СКД-мен байланысады. 4 биттік интерфейсті түйреуіштер - RS, RW, EN және D4 -D7 - PCF8574 енгізу -шығару түйреуіштерінің жетеуіне қосылған. Біз адаптерді СКД -ге қосу үшін 0,1 дюймдік түйреуішті қолдануды ұнатамыз, әдетте тестілеу үшін жеткілікті контакт жасау үшін СКД -ны түйреуіштерге сүйенуге болады. СКД тақырыбы. Біз артқы жарық түйреуіштерін қосқан жоқпыз, себебі жарықтандырудың әр түрлі стильдері бар. Жарықдиодты жарықдиодты жарықтандыруды беру теріс кернеуді қажет ететін экранды зақымдауы мүмкін. JP2 тақырыбы. Біз автобус қарақшыларының тартылатын резисторларын қосу үшін екінші қоректендіру түйреуішін бердік. ПХД тізбегі мен ПХД Cadsoft Eagle тегін нұсқасымен жасалған. Дизайн файлдарын Bus Pirate SVN-ден жүктеуге болады. ПХД-бұл бір өтпелі сымы бар біржақты тесік дизайны (қызыл түспен көрсетілген). Бізде Seeed Studio шығарған ПХД, жиынтықтар немесе жинақталған жиынтықтар шамамен 15 долларға, бүкіл әлем бойынша жеткізіліммен бірге болуы мүмкін. Partlist Part Value (барлығы кедір-бұдырлы) C10.1uF/10 вольт+R110000 (10К) ом бір айналымды қайшы/потенциометр, 6мм R21000 (1К) ом резисторы, 1/4 ваттLED13мм (T1) жарықдиодты, қызылJP1+JP20.1 дюймдік ерлер, 5 істікшелі1CPPF8574N IC1I үшін I2C енгізу -шығару кеңейткіші DIP16ICS116 пин DIP ұясы нұсқаулыққа кейбір пішімдеу элементтері мен HTML кестелерін қамтымады, сіз қауіпті жазбаның түпнұсқасын көре аласыз.

2 -қадам: Қосылымдар

Қосылымдар
Қосылымдар

Құрылғы: HD44780 символы бар LCD. Автобус: 4 биттік параллель, PCF8574 I2C адаптер тақтасы. Қуат талаптары: 5 вольт. Әдебиеттер: мысал мәліметтер кестесі [PDF], HD44780 пәрмен сілтемесі, HD44780 LCD uber-site. Бұл көрсетілімге арналған Bus Pirate сессия журналы. Bus Pirate әмбебап сериялық интерфейсінің СКД кітапханасына арналған адаптерді ойлап тапты, бірақ ол I2C протоколында сөйлей алатын кез келген нәрсемен жұмыс істейді. I2C-> HD44780 енгізу үлгісі үшін Bus Pirate бастапқы кодын қараңыз. Bus Pirate-ті адаптер тақтасына кестеде көрсетілгендей қосыңыз. Кестеде сонымен қатар адаптер тақтасынсыз жүретін болсаңыз, PCF8574 IC -ге шикі қосылымдар көрсетілген. Адаптерді СКД үшін жеткілікті қуат көзіне қосыңыз, әдетте 5 вольт. Адаптер мен Bus Pirate арасындағы I2C қосылымы 2 мен 10 К арасындағы тартылатын резисторларды қажет етеді. Бұл жерде кернеудің аралас кернеуі мен борттық тартқыш резисторлары туралы толығырақ ақпарат бар. Мен нұсқаулыққа кейбір пішімдеу элементтері мен HTML кестелерін енгізе алмадым, сіз қауіпті жазбаның түпнұсқасын көре аласыз..

3 -қадам: 1 -қадам. Кітапхананы орнату

Қадам 1. Кітапхананы орнату
Қадам 1. Кітапхананы орнату

Интерфейс Біз адаптердің дизайнын және оны автобус қарақшысына қалай қосуға болатынын қарастырдық, енді СКД -ге бірдеңе жазу уақыты келді. HiZ> m <<11 <<1 <<W <

б <<2 <<v <<< кернеу туралы есеп алуВОЛОТТЫҚ МОНИТОР: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Bus Pirate терминалындағы 'm' түймесін басып, СКД кітапханасын таңдаңыз. Қазіргі уақытта ол тек осы мақаланың бірінші жартысында сипатталған PFC8574 адаптерін қолдана отырып HD44780 таңбалы СКД қолдайды (1-нұсқа). Қуат көздерін (үлкен 'W') және тартылатын резисторларды қосыңыз (мәзір 'p'). Кернеу мониторын тексеріңіз ('v' мәзірі) және тартылатын кернеудің (Vpullup) шамамен 5 вольт болатынын тексеріңіз.

4 -қадам: 2 -қадам. Қалпына келтіру және инициализация

Қадам 2. Қалпына келтіру және инициализация
Қадам 2. Қалпына келтіру және инициализация
Қадам 2. Қалпына келтіру және инициализация
Қадам 2. Қалпына келтіру және инициализация

Бұл кестеде HD44780 LCD дисплейін басқаратын бір байтты командалар көрсетілген, мұнда егжей-тегжейлі сілтеме берілген. Бұл командаларды Bus Pirate пәрмен жолынан енгізуге болады, бірақ біз олардың көпшілігіне уақытты үнемдеу үшін макростар жасадық. LCD> (0) <<< макро мәзірді көрсету0. Макро мәзірі <<< осы мәзір1. <СКД қалпына келтіру2. СКД <<< СКД қалпына келтіру және баптауМакро 0 кез келген Bus Pirate режимінің макро мәзірін көрсетеді. 1 <<< бір жолды көрсету2. Бірнеше <<2 'RESET <<< макросы 2 INIT << қалпына келтіру реттілігін қамтидыСКД макросты инициализациялау (2) экранды 4 биттік интерфейс режиміне конфигурациялайды, курсорды көрсетуді қосады және басқа да пайдалы опцияларды орнатады. Дисплей жолдарының санын конфигурациялаңыз, бір жолды көрсету үшін 1 немесе барлық басқа дисплейлер үшін 2 таңдаңыз. Инициализациядан кейін, бұрышта көрінетін курсормен экран таза болуы керек. Егер ол жұмыс істемесе, I2C қосылымын, тартылатын резисторларды және қуат көзін тексеріңіз, содан кейін қайталап көріңіз. HD44780 СКД 4 биттік немесе 8 биттік интерфейс режиміне инициализацияланар алдында арнайы сигнал ретімен қалпына келтірілуі керек. Макро 1 осы тізбекті жасайды. Макро 2 қалпына келтіру реттілігін қамтиды, сондықтан макро 2 -ге дейін макро 1 -ді қолданудың қажеті жоқ.

5 -қадам: 3 -қадам. Тест таңбаларын жазыңыз

Қадам 3. Тест таңбаларын жазыңыз
Қадам 3. Тест таңбаларын жазыңыз
Қадам 3. Тест таңбаларын жазыңыз
Қадам 3. Тест таңбаларын жазыңыз

СКД> (6:80) <<Жазу сандарының макросы СКД -ны 0 мен 9 аралығындағы сынақ сандарымен толтырады. Көп нүктеден кейінгі сан Bus Pirate -ке қанша тест нөмірін жазу керектігін айтады, біз 4x20LCD қолданамыз, сондықтан біз оны толтыру үшін 80 нөмірін жазамыз. Меңзер 0 'позициясында аяқталатынын ескеріңіз, бірінші' 0 'астында. LCD> (7:80) <<Жазу таңбалары макросы СКД -ны ASCII таңбаларымен толтырады, қос нүктеден кейін санын енгізіңіз. Назар аударыңыз, жұдырық сызығы үшіншісінде, үшіншісі екіншісінде, екіншісі соңғысында жалғасады. Таңбалар үздіксіз болмайды, себебі СКД бір жолдан келесі жолға ауыспайды. Бұл туралы сәл кейінірек сөйлесетін боламыз.

6 -қадам: 4 -қадам. СКД өшіріңіз

4 -қадам. СКД -ны тазалаңыз
4 -қадам. СКД -ны тазалаңыз

СКД> (3) <<Таза СКД макросы экранды өшіретін және курсорды бірінші орынға қайтаратын HD44780 пәрменін жібереді, сонымен қатар осы операциялардың кез келгенін макростарсыз орындауға болады, осы бөлімнің басындағы пәрмендер кестесін қараңыз. Интерфейсті командалық режимге қою үшін

7 -қадам: 5 -қадам. Мәтінді теріңіз

5 -қадам. Мәтінді теріңіз
5 -қадам. Мәтінді теріңіз
5 -қадам. Мәтінді теріңіз
5 -қадам. Мәтінді теріңіз

LCD> (8) <<< пайдаланушы мәтінін енгізу Курсордың орнына енгізу үшін мәтінді енгізіңіз. HD44780 LCD демо <<4 -қадамда СКД тазартылғаннан кейін курсор бірінші блокта орналасады. Біз оны макростың көмегімен орната аламыз (4: 0), ол курсорды бірінші таңбаға жылжытады. Курсорға макросты енгізу мәтінді енгізуді сұрайды, содан кейін enter пернесін басқан кезде оны СКД -ге көшіреді. LCD> (4: 0x40) <& lt

СКД> (8) <<< мәтінді енгізу Курсордың орнына енгізу үшін мәтінді енгізіңіз. Bus Pirate v2go <<Екінші жолға жазу сәл күрделі, ол 4х20 СКД 64 таңбасынан басталады. Егер сіз жазуды 1 -жолдың соңынан (20 -таңба) жалғастырсаңыз, сіз үшінші жолдың басында боласыз! Бұл бетте СКД өлшемдерінің көпшілігіне арналған жад карталарының жақсы жинағы бар, алдымен курсорды екінші жолға орналастырамыз (4: 0x40). Әрі қарай, 'мәтінді енгізу' макросы біздің кірісті алады және оны СКД -ға көшіреді. V2.0+ <<< микробағдарламасын енгіздік, курсордың орнына енгізу үшін мәтінді енгіземіз.Bus Pirate бір жолда бірнеше макростарды қабылдайды, сондықтан бүкіл экранды бірден жазуға болады. Біз синтаксистің бір жолымен соңғы екі жолға жаздық. Біз '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) пайдалана аламыз. (8) 'СКД тазарту және барлық төрт жолды бір синтаксистік жазбамен жазу.

8 -қадам: 6 -қадам. СКД -ден оқу

Қадам 6. СКД арқылы оқу
Қадам 6. СКД арқылы оқу

Bus Pirate және LCD адаптер тақтасы СКД арқылы оқи алады. Біз жазған мәтінді экранға оқимыз (DDRAM), бірақ сіз дұрыс адресті орнату арқылы параметрлер мен реттелетін таңбаларды (CGRAM) оқи аласыз. LCD> [0b10000000 '' ' '] HD44780 RS LOW, ПАРДАЛАУ РЕЖИМІ <<< регистрі түйреуішті таңдаңыз төмен CMD ЖАЗУ: 0x80 <<Алдымен біз Bus Pirate -ге мәліметтерді LCD командалық регистріне жіберуді айтамыз ([). Содан кейін біз DDRAM мекенжайы (0b1xxxxxxx) орнатылған команданы қолданамыз және оқу көрсеткішін DDRAM басына орнатамыз (xxxxxxx = 0000000).] LCD>] rrrrrr <<< оқу жадыHD44780 RS HIGH, DATA MODE <<< регистрді таңдау PIN жоғары ОҚЫР: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'РЕЙД: 0x30 <<<' 0'LCD> Ақырында, Bus Pirate -ке деректер жадынан оқуды айт ()), содан кейін бірнеше байтты оқ (rrrrrrr). Бізде «HD44780» бар, біз 5 -қадамда экранға жазған мәтін. Сонымен қатар, жеті байтты оқу үшін r: 7 пернелер тіркесімін пайдалану керек, бірақ ол қазіргі микробағдарламада жұмыс істемейді - біз мұны алдын ала түзетеміз. келесі шығарылым.

9 -қадам: Көбірек әрекет ету

Көбірек істеу
Көбірек істеу

StepThe HD44780 таңбалы СК адаптеріне жалпы сипаттама беріңіз - автобус қарақшысына ыңғайлы аксессуар. Ол жылдам тестілеу немесе логиканы жетілдіру үшін пайдаланылуы мүмкін. СКД-дан басқа, 2,5 вольтты 5 вольтты 8 кіріс-шығыс түйреуіштерінің саны Pin Bus Pirate-тің басқа жоғары көрсеткіштері үшін пайдалы болуы мүмкін. Бізде ПХД, жинақ, немесе Seeed Studio шығарған жиынтықтар жиынтығы 15 долларға, оның ішінде бүкіл әлем бойынша жеткізілім. Мен нұсқаулыққа кейбір пішімдеу элементтері мен HTML кестелерін қоса алмадым, сіз қауіпті мақаланың түпнұсқасын көре аласыз.

Ұсынылған: