Orodha ya maudhui:
- Hatua ya 1: Ufahamu
- Hatua ya 2: Uanzishaji wa Bandari
- Hatua ya 3: Nguvu ya chini ya Ultra
- Hatua ya 4: TIMER
- Hatua ya 5: Njia ya Nguvu ya Chini
- Hatua ya 6: ISR-Timer
- Hatua ya 7: Usumbufu wa vifaa
- Hatua ya 8: ISR- Rudisha / Kitufe cha Kushinikiza
- Hatua ya 9: CODE
- Hatua ya 10: Nambari ya Marejeleo
Video: Kaunta ya sekunde ya MSP430: Hatua 10
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Karibu! Utengenezaji wa Kaunta ya Sekunde: Kutumia CCStudio 8 na MSP430F5529 kwa mradi huo.
Lugha ya C kuweka kificho cha kidhibiti kidogo. Kutumia Njia za Nguvu za Chini, Vipima na Usumbufu. Pato linaonyeshwa kupitia Sehemu 7.
Hatua ya 1: Ufahamu
Wacha tuanze!
Anzisha kipima muda cha mwangalizi kwenda HALI YAZIMA ukitumia nywila inayotakiwa kwa kipima muda cha mwangalizi (Inasaidia kutazama vitanzi visivyo na kipimo, kuweka processor salama).
# pamoja
/ ** * kuu.c * /
kuu (batili)
{
WDTCTL = WDTPW | WDTHOLD; // kuacha kipima muda cha mwangalizi
kurudi 0;
}
Hatua ya 2: Uanzishaji wa Bandari
{
P3DIR = 0xFF; // P3DIR = 0x00;
P6DIR = 0xFF;
P4DIR | = 0x00;
P4REN | = 0xFF;
P4OUT | = 0xFF;
}
P3DIR | = 0x00 inatuambia kuwa PORT-3 nzima imeanzishwa kuchukua pembejeo.
P3DIR | = 0xFF inatuambia kuwa PORT-3 nzima imeanzishwa ili kutoa matokeo.
P3DIR | = 0x01 pini tu P3.0 imeanzishwa ili kutoa PORT-3. Hii inafuata ramani ya Hexadecimal Port.
P4REN | = 0xFF, hii inaonyesha kuwa pini za PORT-4 zina vipinzaji vyake vya juu / chini.
Ili kuwachagua kati ya Vuta juu au Vuta chini, maagizo P $ OUT | = 0xFF hutumiwa.
Ikiwa 0xFF inatumiwa wanasanidi kama Vuta vipinga na ikiwa 0x00 wanasanidi kama Vuta CHINI.
Hatua ya 3: Nguvu ya chini ya Ultra
MSP430F5529 inaruhusu sisi kupunguza upotezaji wa nguvu kutoka kwa processor. Hii ni muhimu katika matumizi ya kibinafsi.
Hii inahitaji kutangazwa kwa pini zote au Bandari ili kutoa.
{
P7DIR | = 0xFF;
P6DIR | = 0xFF;
P5DIR | = 0xFF;
P4DIR | = 0xFF;
P3DIR | = 0xFF;
P2DIR | = 0xFF;
P1DIR | = 0xFF;
}
Hatua ya 4: TIMER
Matumizi ya kipima muda kwa kizazi cha Kuchelewa kwa sekunde moja. Hii hutumia SMCLK ya 1MHz, pia timer inaendesha katika Njia ya Nguvu ya Chini (katika hatua inayofuata, baada ya hesabu yake kukatizwa kutoka kwa LPM). Utaratibu huu huokoa nguvu na mzigo kwa processor
TA0CCTL0 = CCIE;
TA0CCR0 = 999;
TA0CTL = TASSEL_2 + MC_1;
Maadili ni 999, kwani inachukua hesabu moja zaidi kurudi nyuma hadi sifuri kwenye rejista ya kipima muda.
Hatua ya 5: Njia ya Nguvu ya Chini
_BIS_SR (LPM0_bits + GIE);
Hii inawezesha Usumbufu wa Jumla Wezesha (GIE), na inaweka CPU kwa LPM0, ambapo MCLK ambayo inasaidia cpu imezimwa, na SMCLK na ACLK zinaendesha ambazo zinaweka kipima muda. ili tuweze kuona CPU imezimwa, huko kwa kuokoa nguvu.
Hatua ya 6: ISR-Timer
#pragma vector = TIMER0_A0_VECTOR
_katiza timer Timer_A (batili)
{
z ++;
ikiwa (z> kuchelewa)
{
P3OUT = nambari [x];
P6OUT = code1 [y];
x ++;
ikiwa (x == 10)
{
x = 0;
y ++;
}
ikiwa (y == 6)
y = 0;
z = 0;
}
}
veg pragma ni ya uwakilishi wa ISR katika C embd.
nambari [x] na code1 [y] ni safu ambazo zina maadili ya pato kwa sehemu hizo mbili, kwa kuonyesha kaunta ya sekunde 60.
Hatua ya 7: Usumbufu wa vifaa
P2DIR = 0x00;
P2REN = 0x02;
P2OUT = 0x02;
P2IE | = BIT1;
P2IES | = BIT1;
P2IFG & = ~ BIT1;
Hapa P2.1 inatangazwa kama usumbufu wa vifaa, ikiwa kitufe kinabanwa, kaunta inarejeshea thamani.
mpango uliobaki umeandikwa ndani ya ISR ya usumbufu huu.
Hatua ya 8: ISR- Rudisha / Kitufe cha Kushinikiza
#pragma vector = PORT2_VECTOR
_katiza bandari batili_2 (batili)
{
P2IFG & = ~ BIT1;
x = 0; y = 0;
P3OUT = nambari [x];
P6OUT = code1 [y];
v ++;
kwa (i = 0; i
{
P1OUT | = BIT0; //P1.0 = kugeuza
_kuchelewesha_mizunguko (1048576);
P1OUT & = ~ BIT0; // P1.0 = kugeuza
_kuchelewesha_mizunguko (1048576);
}
ISR hii inarudisha kaunta, na inahesabu hesabu ni mara ngapi zingine zilibanwa.
(Hapa kuna onyesho hufanywa kupitia toggle iliyoongozwa, inaweza pia kutumia safu nyingine na kipima muda, kuonyesha maadili hayo kama pato katika sehemu 7).
Hatua ya 9: CODE
# pamoja
#fafanua kuchelewa 1000
nambari ya char = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xE6};
nambari ya char1 = {0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B};
tete isiyo sainiwa int x = 0, y = 0, z = 0;
tete unsigned int v = 0, i = 0;
utupu kuu ()
{
WDTCTL = WDTPW | WDTHOLD; // kuacha kipima muda cha mwangalizi
P7DIR | = 0xFF;
P7OUT | = 0x00;
P8DIR | = 0xFF;
P8OUT | = 0x00;
P4DIR | = 0xFF;
P4OUT | = 0x00;
P5DIR | = 0xFF;
P5OUT | = 0x00;
P1DIR = 0xFF;
P3DIR = 0xFF;
P6DIR = 0xFF;
P2DIR = 0x00;
P2REN = 0x02;
P2OUT = 0x02;
P2IE | = BIT1;
P2IES | = BIT1;
P2IFG & = ~ BIT1;
TA0CCTL0 = CCIE;
TA0CCR0 = 999;
TA0CTL = TASSEL_2 + MC_1;
_BIS_SR (LPM0_bits + GIE);
}
// Timer A0 kukatiza utaratibu wa huduma
#pragma vector = TIMER0_A0_VECTOR
_katiza timer Timer_A (batili)
{
z ++;
ikiwa (z> kuchelewa)
{
P3OUT = nambari [x];
P6OUT = code1 [y];
x ++;
ikiwa (x == 10)
{
x = 0;
y ++;
}
ikiwa (y == 6)
y = 0;
z = 0;
}
}
// Vifaa vya kukatiza utaratibu wa huduma
#pragma vector = PORT2_VECTOR
_katiza bandari batili_2 (batili)
{
P2IFG & = ~ BIT1;
x = 0;
y = 0;
P3OUT = nambari [x];
P6OUT = code1 [y];
v ++;
kwa (i = 0; i
{P1OUT | = BIT0; // P1.0 = kugeuza
_kuchelewesha_mizunguko (1048576);
P1OUT & = ~ BIT0; // P1.0 = kugeuza
_kuchelewesha_mizunguko (1048576);
}
}
Hatua ya 10: Nambari ya Marejeleo
Hifadhi ya GitHub
Ilipendekeza:
Kaunta Rahisi ya Frequency Kutumia Arduino: Hatua 6
Kukabiliana na Frequency Frequency Kutumia Arduino: Katika mafunzo haya tutajifunza jinsi ya kutengeneza kaunta rahisi ya Frequency ukitumia Arduino. Tazama video
Jinsi ya Kutengeneza Kaunta ya Hatua ?: Hatua 3 (na Picha)
Jinsi ya Kutengeneza Kaunta ya Hatua ?: Nilikuwa nikifanya vizuri kwenye michezo mingi: kutembea, kukimbia, kuendesha baiskeli, kucheza badminton nk. Kweli, angalia tumbo langu la portly …… Vizuri, hata hivyo, ninaamua kuanza tena mazoezi. Ni vifaa gani ninafaa kuandaa?
Jinsi ya Kufanya DIY Arduino Sekunde 30 Kuosha Timer, Acha COVID KUENEA: Hatua 8
Jinsi ya Kufanya DIY Arduino Sekunde 30 Kuosha Timer, Acha COVID KUENEA: hello
Kubadili Makofi (Makofi 40 kwa sekunde 5): Hatua 4 (na Picha)
Clap Switch (40 Claps in 5 Second): Clap Switch ina uwezo wa KUZIMA / KUZIMA sehemu yoyote ya umeme kwa kuunganisha pato la mzunguko kwa swichi ya relay. Hapa tutafanya ubadilishaji wa makofi na vifaa vichache na ufafanuzi mzuri sana. Ikilinganishwa na kubadili makofi mengine yote
Ua Takwimu zote kwenye CD / DVD kwa sekunde 5 au chini: 3 Hatua
Ua Takwimu zote kwenye CD / DVD kwa sekunde 5 au chini: Ua Takwimu zote kwenye CD / DVD kwa sekunde 5 au chini. Kwa nini ungependa kufanya hivi: ++ Kuharibu chelezo za zamani za miaka michache ++ Kumbuka kuchoma muda maalum wa kulala kwa DVD ++ Ex wako anataka CD / DVD irudi. ++ FURAHA NA AOL DISK !!!! LOL