Tema: Re: Nesuprantu AtTiny45 aprasymo...
Autorius: Shadowed
Data: 2014-09-19 21:52:33
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
    }
}