|
|
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 2024 11 30, 14:30. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Skaitmeninė elektronika » atmega 8 skaitmeninis tachometras ir impulso plocio valdymas
|
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
|
|
|
|
|
|
atmega 8 skaitmeninis tachometras ir impulso plocio valdymas |
Parašytas: 2014 11 16, 20:50 |
|
|
|
Sveiki. pasidariau skaitmenini tachometra pagal internete rasta programa, viskas veikia gerai. Taciau dar prireike, kad priklausomai nuo rpm, atmega keistu i viena koja paduodamo impulso ploti. Impuls plocio programa irgi jau pasirasiau, bet dabar kazkaip reik jas susiet i viena. Butu galima jas sudet i viena atmega 8, ar reikia naudot 2 mikroschemas?
Programu kodai:
tachometras
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "lcd.h"
volatile uint16_t count=0;
volatile uint16_t rpm=0;
volatile uint16_t rps=0;
void Wait()
{
uint8_t i;
for(i=0;i<2;i++)
{
_delay_loop_2(0);
}
}
void main()
{
LCDInit(LS_NONE);
LCDWriteString("RPM Meter");
LCDWriteStringXY(0,1,"- by avinash");
Wait();
Wait();
Wait();
Wait();
MCUCR|=(1<<ISC01);
GICR|=(1<<INT0);
TCCR1B|=((1<<WGM12)|(1<<CS12)|(1<<CS10));
OCR1A=976;
TIMSK|=(1<<OCIE1A);
sei();
DDRB|=(1<<PB1);
LCDClear();
LCDWriteStringXY(0,0,"RPM =");
LCDWriteStringXY(0,1,"RPS =");
while(1)
{
LCDWriteIntXY(6,0,rpm,5);
LCDWriteIntXY(6,1,rps,5);
if(PIND & (1<<PD2))
{
PORTB|=(1<<PB1);
}
else
{
PORTB&=(~(1<<PB1));
}
Wait();
}
}
ISR(INT0_vect)
{
}
ISR(TIMER1_COMPA_vect)
{
rps=count;
rpm=rps*60;
count=0;
}
Impulso plotis:
#include <avr\io.h>
int main(void) {
DDRD=0x00;
PORTD=0xFF;
DDRB=0xFF;
ICR1=20000;
OCR1A=10000;
TCCR1A|=(0<<COM1A0)|(1<<COM1A1)|(0<<COM1B0)|(0<<COM1B1)|
(0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(0<<WGM10);
TCCR1B|=(0<<ICNC1)|(0<<ICES1)|(1<<WGM13)|(1<<WGM12)|
(0<<CS12)|(1<<CS11)|(0<<CS10);
while (1)
{
}
} |
|
|
|
|
|
|
atmega 8 skaitmeninis tachometras ir impulso plocio valdymas |
Parašytas: 2014 11 17, 12:57 |
|
|
|
kas trukdo i pagrindini programos cikla ivesti paprograme "plotis"? Tada cikle kreipsis i paprograme ir priklausomai nuo greicio formuos impulsa, jei paprograme parasyta teisingai... |
|
_________________ Nieko taip lengvai nedaliname, kaip patarimus... |
|
|
|
|
|
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 |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
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 |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
|
|