Sisukord:

Atmega16/32 LCD -ekraaniga arendusplaat: 8 sammu
Atmega16/32 LCD -ekraaniga arendusplaat: 8 sammu

Video: Atmega16/32 LCD -ekraaniga arendusplaat: 8 sammu

Video: Atmega16/32 LCD -ekraaniga arendusplaat: 8 sammu
Video: Interfacing of LCD 16x2 with Atmega16/32 | LCD Display 2024, November
Anonim
Atmega16/32 LCD -ekraaniga arendusplaat
Atmega16/32 LCD -ekraaniga arendusplaat
Atmega16/32 LCD -ekraaniga arendusplaat
Atmega16/32 LCD -ekraaniga arendusplaat
Atmega16/32 LCD -ekraaniga arendusplaat
Atmega16/32 LCD -ekraaniga arendusplaat

See õpetlik näitab, kuidas Atmega16 või Atmega32 protsessoritele oma arendusplaati teha. Internet on täis kodus valmistatud arendusplaate, kuid ma arvan, et seal on ruumi veel ühele. See plaat on olnud minu projektides väga kasulik ja ma tegelikult kavandasin ja tegin selle ühe oma projekti teenindamiseks. Mida see pakub?- ISP-pistik.- AREF-i reguleeritav võrdluspinge koos trimmeriga.- 8 LED-i on ühendatud PORTA eemaldatavate džempritega, nii et saate LED-e kasutada ka koos mõne teise pordiga.- Pikendusvardad PORTA, PORTB, PORTC ja PORTD jaoks.- Modifitseeritud teravik LCD-ekraani jaoks (4 bitti)- RS232 jadaporti pistik- Eemaldatav RS232 moodul- Reguleeritud 5 V Mida vajate? (osad emaplaadile)- 1x Atmega16 või Atmega32 protsessor- 1x kristall (teie valik, kui palju Mhz see saab olema)- 2x 27 pF kondensaatorid kristalli jaoks- 1x 7805 pingeregulaator- 1x 47uF 16V kondensaator- 3x 100nF kondensaator- 1x Alalisvoolu pistikupesa 2, 1 mm või 2, 5 mm (mida iganes soovite kasutada)- 1x 1K potentsiomeeter- 8x led (mis tahes värvi)- 8x 330 oomi takistid- palju naastvardaid Osad RS232 mooduli jaoks- Max232 IC- 4x 0, 1uF kondensaatorid - 2x led (roheline ja punane)- 2x 330 oomi takistid- Spike bar- D9-pistik

1. samm: trükkplaadid

Trükkplaadid
Trükkplaadid
Trükkplaadid
Trükkplaadid

Mõlemalt plaadilt on vooluringid ja pdf-fail sisaldab nende plaatide prinditud faile. Nendelt piltidelt saate oma plaate söövitada. Zip-fail sisaldab kõiki nende tahvlite Eagle-faile. Muutke neid julgelt, kuidas soovite.

2. etapp: söövitus või freesimine

Söövitamine või freesimine
Söövitamine või freesimine
Söövitamine või freesimine
Söövitamine või freesimine

Nende plaatide valmistamiseks on kaks võimalust - söövitus või freesimine. Ma pole keemik, seega kasutasin viimast võimalust. Ma valmistasin oma veski nendest suurepärastest juhendmaterjalidest, nii et kui kellelgi on ka nc-mill ja soovite seda nende plaatide valmistamiseks kasutada, siis andke mulle sellest teada ja ma saadan G-koodid.

3. samm: jootmine

Jootmine
Jootmine
Jootmine
Jootmine

Alloleval pildil on näha komponendi nimi ja koht, kus see peaks olema.

4. samm: testimine

Testimine
Testimine

Enne arendusplaadi testimist vajame AVR-programmeerija kaablit. Siin on programmeerimiskaabli kohta hea juhend. Vajame ainult 6 juhet. SCK, MISO, MOSI, RST, Ground ja +5V ja sellepärast on minu pistikul ainult 6 kontakti. TÄHTIS! SCK, MISO, MOSI ja RST signaalid vajavad 390 oomi takistit, mis on tavaliselt pardal joodetud, kuid tahtsin plaadilt ruumi kokku hoida ja sellepärast on takistid kaabli sees. Ilma nende takistiteta programmeerimine ei tööta. Peame tegema ka kaabli rs232 mooduli ja emaplaadi vahel. Pildil on ka paar "testjuhtmeid" ja need on tõesti kasulikud, kui kavatseme oma plaati testida.

Samm: programmeerimine ja lihtne testiprogramm

Programmeerimine ja lihtne testprogramm
Programmeerimine ja lihtne testprogramm

Järgmisena vajame oma plaadi testimiseks mõnda "testprogrammi". TÄHTIS! Peame JTAG -i PORTC -st keelama, kui me seda ei tee, ei tööta lcd -moodul, seega on see vajalik. Linuxi operatsioonisüsteemis saame seda teha käsuga avrdude: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m See käsk keelab JTAG -i ja lülitab sisse 8Mhz sisemise ostsillaatori. Meie plaadil on väline kristall, kuid inimesed kasutavad erineva suurusega kristalle, seega on see käsk kõigile ohutu. Kui soovite kasutada oma välist kristalli, on siin õige kaitsmete arvutamise sait. IMPORTATNT! Olge kaitsmete programmeerimisel ettevaatlik. Kui määrate kaitsmete väärtused valesti, ei tööta teie protsessor. On võimalus seda välise impulsi abil taastada, kuid loodame, et te ei pea seda tegema =) Lihtne testimisprogramm: #include (avr/io.h) int main (void) {DDRA = 0xff; // määrake port väljundiksDDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // keela kõik pull-upid meie sadamad töötavad õigesti. Pange juhtme üks ots LED -i tihvtipea külge ja puudutage teise otsaga iga porti samm -sammult. LED peaks iga kord särama. Kui see ei sära, siis on jootmisel midagi viga. Pidage meeles ka testi, et iga LED töötab.

6. samm: jadaporti testimine

Sarjaporti testitakse
Sarjaporti testitakse
Sarjaporti testitakse
Sarjaporti testitakse

Kui kõik töötas ideaalselt, on aeg testida meie RS232 moodulit. Seal on väike programm, mis katsetab, et meie TX ja RX töötavad. Kasutamine Linuxis: looge fail nimega Makefile ja kopeerige faili alla tekst. Makefile'i kood eeldab, et kasutate Atmega16 ja teie programmeerimiskaabel on stk200 teie jadaport/dev/ttyS0CC =/usr/bin/avr -gccCFLAGS = -g -Os -Wall -mcall -prologues -mmcu = atmega16 -std = gnu99OBJ2HEX =/usr/bin/avr -objcopy AVRDUDE =/usr/bin /avrdude: $ (TARGET).hex $ (AVRDUDE) -p m16 -P /dev /parport0 -c stk200 -u -U flash: w: test.hex %.obj: %.o $ (CC) $ (CFLAGS) $ <-o $@%.hex: %.obj $ (OBJ2HEX) -R.eeprom -O ihex $ <$@clean: rm -f *.hex *.obj *.oLaadi alla allalaaditud fail serial.c ja pane see samasse kausta, kus on Makefile. Lülitage oma arendusplaat sisse ja asetage kaabel RS232 mooduli ja põhiplaadi vahele. Mooduli LED -id peaksid nüüd süttima. Pange testtraat PA0 tihvti ja mõne LED -i tihvti vahele. Kasutage oma terminali ja minge kausta, kus on test.c ja Makefile. Ühendage ISP-programmeerija tahvliga. Nüüd on aeg saata meie kood protsessorisse ja see juhtub terminali käsuga: laadige alla tarkvara nimega GTKterm (jadapordi terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Start GTKterm ja vormindage see 9600 kb kiirusega, 8 andmebitti, 1 peatusbitt, pariteeti pole, ülevoolu pole. Kui kõik töötab, peaks see kirjutama "töötab!" GTKterm ekraanil, kui vajutate nuppu "z" ja kui vajutate nuppu "x", peaks pardal olev LED sisse lülituma ja kui vajutate nuppu "c", siis see peaks välja lülituma.

7. samm: LCD-mooduli test

LCD-mooduli test
LCD-mooduli test
LCD-mooduli test
LCD-mooduli test

Nüüd on aeg testida meie LCD-moodulit. Lisasin suurepärase tarkvara LCD-ekraani juhtimiseks. Laadisin koodi alla saidilt Scienceprog.com ja muutsin seda vähe. Programmeerige protsessor selle koodiga ja ühendage oma LCD-moodul pardal. LCD-mooduli tihvtühendused: 1 = VSS (Ground) 2 = VDD (5V) 3 = VO (Ground) 4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Minu lcd-moodul sisaldab 2 pistikut (vt pilti), kuna tekst läheb ülespoole, kui panete mooduli nii, nagu see peaks olema. Peegeldasin ja liimisin uue pistiku teisele küljele. Nüüd töötab see mõlemat pidi.

8. samm: mõned videod

Hämaramad kiirendusmõõturid

Soovitan: