Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių .
Pastebėjus nusižengimus, prašome pranešti .
Dabar yra 2025 05 12, 03:45. Visos datos yra GMT + 2 valandos.
Forumas » Mikrovaldikliai » ATtiny2313 progamavimas
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
Pasirinkite forumą Pagrindinis forumas ---------------- Forumo informacija Pastabos ir pageidavimai Vykdomi projektai Žinantiems ir klausiantiems. Ar žinai, kad... Įvairūs Elektronikos technologijos ---------------- Elektronika žaliems Mokslai Schemų montažas, skaičiavimai, derinimas Principinės elektrinės schemos Analoginė elektronika Skaitmeninė elektronika Korpusai Prietaisai, įrankiai, medžiagos Mikrovaldikliai Atminties elementai Maitinimo šaltiniai Indukciniai elementai Kiti elektronikos komponentai Energetika ir elektrotechnika Buities elektronika ---------------- Garso aparatūra Garso stiprintuvai Lempinė technika Akustika Televizija, vaizdo aparatūra Optika, skaitmeninė fotografija Apsaugos ir valdymo sistemos Buitinė technika, apšvietimas Autoelektronika, automatika, robotai ---------------- Autoelektronika Automobilinė garso aparatūra Autotiuningas Autodiagnostika Automobilinės apsaugos sistemos Automatika, robotai, RC modeliai Ryšio technologijos ---------------- Radioelektronika Radioelektronika – siųstuvai Radioelektronika – imtuvai Telefonija, tinklai, ryšio elektronika GPS technologijos, navigacija, GIS sistemos Kompiuterinė ir programinė įranga ---------------- Informacijos kaupikliai Sisteminės plokštės, procesoriai Vaizdo plokštės, monitoriai, TV-tiuneriai Kompiuteriai, jų priedai, periferija PK spartinimas ir modifikavimas Programinė įranga Programavimas Skelbimai ir pareiškimai ---------------- Darbas, remontas, paslaugos, renginiai Siūlo, parduoda, dovanoja daiktus Ieško, perka daiktus Pareiškimai, padėkos, skundai
Visi pranešimai 1 dienos 7 dienų 2 savaičių 1 mėnesio 3 mėnesių 6 mėnesių 1 metų Iš pradžių senesni Iš pradžių naujesni
Puslapis 1 iš 2 Pereiti prie 1 , 2 Toliau
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:04
Tai neriekia? Nepykit aš tik pradedantysis su tokiais dalykais.
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:20
jo, programatoriaus gal ir nereiks, tik reikes susirast kompa su LPT jungtim ir senesniais windowsais ar prie linuxo pratintis.
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:22
Tinks windows 2003 ? Pas mane yra lpt jungtis ir tokie windows.
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:33
juk viskas prasyta prie projekto:
kompiliuoti hex nereikia, ji tik su avrdude ar kokiu kitu softu irasyti i attiny
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:51
Ar geras kodas dabar galiu jį gelti i mikroshema?
Kodas:
#include <avr/io.h> // this contains all the IO port definitions
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
void delay_ms( uint16_t milliseconds)
{
for( ; milliseconds > 0; milliseconds--)
{
_delay_ms( 1);
}
}
#define TIMER1_PRESCALE_1 1
#define TIMER1_PRESCALE_8 2
#define TIMER1_PRESCALE_64 3
#define TIMER1_PRESCALE_256 4
#define TIMER1_PRESCALE_1024 5
// We use these macros because binary constants arent always supported. ugh.
#define HEX__(n) 0x##n##UL
#define B8__(x) ((x&0x0000000FLU)?1:0) \
+((x&0x000000F0LU)?2:0) \
+((x&0x00000F00LU)?4:0) \
+((x&0x0000F000LU)?8:0) \
+((x&0x000F0000LU)?16:0) \
+((x&0x00F00000LU)?32:0) \
+((x&0x0F000000LU)?64:0) \
+((x&0xF0000000LU)?128:0)
#define B8(d) ((unsigned char)B8__(HEX__(d)))
// store all the image data in program memory (ROM)
// instead of RAM (the default)
const uint8_t large_image[] PROGMEM = {
B8(00000000),
B8(01110000),
B8(10101000),
B8(10101000),
B8(10101000),
B8(10110000),
B8(00000000),
B8(00000000),
B8(10000000),
B8(10000010),
B8(11111110),
B8(10000000),
B8(10000000),
B8(00000000),
B8(00000000),
B8(01110000),
B8(10101000),
B8(10101000),
B8(10101000),
B8(10110000),
B8(00000000),
B8(10000010),
B8(11111110),
B8(00100000),
B8(10101000),
B8(11011000),
B8(10001000),
B8(00000000),
B8(00001000),
B8(01111100),
B8(10001000),
B8(10001000),
B8(10001000),
B8(01000000),
B8(00000000),
B8(00000000),
B8(10001000),
B8(11111000),
B8(10010000),
B8(10001000),
B8(00001000),
B8(00000000),
B8(00000000),
B8(01110000),
B8(10001000),
B8(10001000),
B8(10001000),
B8(01110000),
B8(00000000),
B8(10001000),
B8(11111000),
B8(10010000),
B8(00001000),
B8(10001000),
B8(11110000),
B8(10000000),
B8(00000000),
B8(10001000),
B8(10001000),
B8(11111010),
B8(10000000),
B8(10000000),
B8(00000000),
B8(10000010),
B8(11111110),
B8(00100000),
B8(10101000),
B8(11011000),
B8(10001000),
B8(00000000),
B8(00000000),
B8(11010000),
B8(10101000),
B8(10101000),
B8(10101000),
B8(11110000),
B8(10000000),
B8(00000000),
};
// special pointer for reading from ROM memory
PGM_P largeimage_p PROGMEM = large_image;
#define NUM_ELEM(x) (sizeof (x) / sizeof (*(x)))
int imagesize = NUM_ELEM(large_image);
// this function is called when timer1 compare matches OCR1A
uint8_t j = 0;
SIGNAL( SIG_TIMER1_COMPA ) {
if (j >= imagesize)
j = 0;
// read the image data from ROM
PORTB = pgm_read_byte(largeimage_p + j);
j++;
}
int main(void) {
DDRB = 0xFF; // set all 8 pins on port B to outputs
/*
the frequency of the interrupt overflow is determined by the
prescaler and overflow value.
freq = clock_frequency / ( 2 * prescaler * overflow_val)
where prescaler can be 1, 8, 64, 256, or 1024
clock_freq is 8MHz
and overflow_val is 16bit
the overflow value is placed in OCR1A, the prescale is set in TCCR1B
so for example:
A good POV frequency is around 400Hz
desired freq = 400Hz
clock freq = 8MHz
8MHz / (400Hz * 2) = 10000
since 10000 is less than 655536 (largest 16 bit number)
OCR1A = 10000 and the prescale is 1
*/
TCCR1B = (1 << WGM12) | TIMER1_PRESCALE_1;
OCR1A = (uint16_t)10000;
TIMSK |= 1 << OCIE1A; // Output Compare Interrupt Enable (timer 1, OCR1A)
sei(); // Set Enable Interrupts
while (1);
}
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:55
Kurioje vietoje ką reikia spausti nes su Winavr nemoku dirbti.
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 16:59
tai susikelk AvrStudio ir po to WinAVR
is programatoriu valdymo softo gal koki PoniProg ar IC-Prog, kuris labiau tiks tavam varinatui arba mokykis su avrdude dulkintis tiesa jam yra kazkokia amzinai neveikianti grafine aplinka.
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 17:10
Jau turiu asm. faila Dabar jau galima kelti faila į mikroschema?
ATtiny2313 progamavimas
Parašytas: 2012 03 17, 17:18
asm yra tekstinis failas, o i mcu flashinasi binarinis (bin, hex, raw ir t.t.)
„Google“ paieška forume
Naujos temos forume
FS25 Tractors
Farming Simulator 25 Mods ,
FS25 Maps ,
FS25 Trucks
ETS2 Mods
ETS2 Trucks ,
ETS2 Bus ,
Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods ,
FS22 Maps ,
FS25 Mods
VAT calculator
VAT number check ,
What is VAT ,
How much is VAT
FS25 Mods
FS25 Harvesters ,
FS25 Tractors Mods ,
FS25 Maps Mods
Dantų protezavimas
All on 4 implantai ,
Endodontija mikroskopu ,
Dantų implantacija
FS25 Mods
FS25 Maps ,
FS25 Cheats ,
FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods ,
FS25 Maps
ATS Trailers
American Truck Simulator Mods ,
ATS Trucks ,
ATS Maps
Football Training Kit
Football Training Equipment ,
Football Skills ,
Football Training