Tai vat.. Prisimenu pas dest. Kirvaiti darem visokius ten postumius ir tas dalykas veikdavo, sumasciau, kad galima prie Attiny45 prisjungti LCD ir tam uztektu poros laidu ir papildomo postumio registro. Tik serti teks nuoseklius duomenis, o paskui jie turetu iskristi kaip lygiagretus. Vienok cia jau ne EWB simuliacija, tai pagooglinau, is esmes ta mintis pasitvirtino, schema nesudetinga, nors vistiek padariau truputi kitaip. Po darbo pradejau rasyti ir stai surasiau toki dalyka (bet uztruko, kol pagaliau davedziau kad kompiliuotu be klaidu). Imetu jusu patikrai. Cia zinoma tik pati pradzia, bet je imastau teisingai tai kritikos neturetu buti per daug. O uz patarimus didelis aciu. /* * Attiny___LCD.cpp * * Created: 2014.09.18 21:33:53 * Author: Shadowed */ # define F_CPU 4000000UL // nustau CPU dazni 4MHz, butina definint pries "includus", nes delay.h turi savyje ta define su 1MHz nustatymu, o kazkuris // kitas neturi - susipyksta ir ismeta error "F_CPU not defined for <util/delay.h>" #include <avr/io.h> // kai apgaubta <> - neiesko failo darbineje direktorijoje (jei " " tada iesko), #include <inttypes.h> // abu variantai iesko defaultineje h vietoje #include <avr/interrupt.h> #include <util/delay.h> #include <avr/iotn45.h> #define duomenys PB1 // nurodomas duomenų kontaktas is Attiny45 i 74LS164D (6 pinas) #define takt_daznis PB0 // nurodomas taktinio daznio kontaktas is Attiny45 i 74LS164D (5 pinas) /* 74LS164D ir LCD jungimas: QA -- DB7 \ QB -- DB6 \_Naudosiu 4 bitu duomenu perdavima, todel tik 4 LCD kojos pajungtos QC -- DB5 / QD -- DB4 / QE -- -- QF -- -- QG -- RS QH -- E (per dioda) */ void attiny45(void) //Sureguliuojam attiny45, nustatant visuose pinuose 0 ir reikalingus pinus kaip isejimus (1 - isejimas, 0 - iejimas) { PORTB = 0; // Visi uCPU pinai nustatomi i zema lygi DDRB = (1<<duomenys)|(1<<takt_daznis); // Auksciau aprasyti (define) pinai PB1 ir PB0 kaip "duomenys" ir "takt_daznis". } int main(void) { while(1) { //TODO:: Please write your application code } }