Բովանդակություն:
- Քայլ 1: Խորաթափանցություն
- Քայլ 2: Նավահանգստի սկզբնականացում
- Քայլ 3: ծայրահեղ ցածր էներգիա
- Քայլ 4: IMԱՄԱՆԱԿ
- Քայլ 5: Powerածր էներգիայի ռեժիմ
- Քայլ 6: ISR- ժմչփ
- Քայլ 7: Սարքաշարի ընդհատում
- Քայլ 8: ISR- Վերագործարկեք/ սեղմեք կոճակը
- Քայլ 9: ԿՈԴ
- Քայլ 10: Հղման ծածկագիր
![MSP430 վայրկյանների հաշվիչ ՝ 10 քայլ MSP430 վայրկյանների հաշվիչ ՝ 10 քայլ](https://i.howwhatproduce.com/images/006/image-15304-23-j.webp)
Video: MSP430 վայրկյանների հաշվիչ ՝ 10 քայլ
![Video: MSP430 վայրկյանների հաշվիչ ՝ 10 քայլ Video: MSP430 վայրկյանների հաշվիչ ՝ 10 քայլ](https://i.ytimg.com/vi/3C2umwfKQKA/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
![MSP430 վայրկյան հաշվիչ MSP430 վայրկյան հաշվիչ](https://i.howwhatproduce.com/images/006/image-15304-24-j.webp)
Բարի գալուստ: Վայրկյանների հաշվիչի պատրաստում. Նախագծի համար օգտագործելով CCStudio 8 և MSP430F5529:
C լեզու `միկրոկարգավորիչը կոդավորելու համար: Lowածր էներգիայի ռեժիմների, ժամաչափերի և ընդհատումների կիրառում: Արդյունքը ցուցադրվում է 7 հատվածի միջոցով:
Քայլ 1: Խորաթափանցություն
![Խորաթափանցություն Խորաթափանցություն](https://i.howwhatproduce.com/images/006/image-15304-25-j.webp)
Եկեք սկսենք!
Գործարկեք դիտորդի ժմչփը դեպի OFF վիճակ ՝ օգտագործելով դիտորդի ժամաչափի համար անհրաժեշտ գաղտնաբառը (Այն օգնում է ստուգել անսահմանափակ օղակները ՝ ապահով պահելով պրոցեսորը):
#ներառում
/** * main.c */
int հիմնական (անվավեր)
{
WDTCTL = WDTPW | WDTHOLD; // դադարեցնել հսկիչ ժամաչափը
վերադարձ 0;
}
Քայլ 2: Նավահանգստի սկզբնականացում
{
P3DIR = 0xFF; // P3DIR = 0x00;
P6DIR = 0xFF;
P4DIR | = 0x00;
P4REN | = 0xFF;
P4OUT | = 0xFF;
}
P3DIR | = 0x00- ը մեզ ասում է, որ ամբողջ PORT-3- ը նախաստորագրված է մուտքեր ընդունելու համար:
P3DIR | = 0xFF- ն մեզ ասում է, որ PORT-3- ի ամբողջը նախաստորագրված է ելքեր տալու համար:
P3DIR | = 0x01 միայն P3.0 կապը նախաստորագրված է PORT-3- ում ելքի համար: Սա հետևում է տասնվեցերորդ նավահանգստի քարտեզագրմանը:
P4REN | = 0xFF, սա ցույց է տալիս, որ PORT-4- ի կապում միացված և բարձրացնող դիմադրամները միացված են:
Pull UP կամ Pull DOWN միջև դրանք ընտրելու համար օգտագործվում է P $ OUT | = 0xFF հրահանգը:
Եթե օգտագործվում է 0xFF, դրանք կազմաձևվում են որպես Pull UP ռեզիստորներ, իսկ եթե 0x00- ով ՝ որպես Pull DOWN:
Քայլ 3: ծայրահեղ ցածր էներգիա
MSP430F5529 թույլ է տալիս մեզ նվազեցնել էներգիայի կորուստը պրոցեսորից: Սա օգտակար է ինքնուրույն ծրագրերում:
Սա պահանջում է բոլոր փին կամ նավահանգիստների ելք հայտարարելը:
{
P7DIR | = 0xFF;
P6DIR | = 0xFF;
P5DIR | = 0xFF;
P4DIR | = 0xFF;
P3DIR | = 0xFF;
P2DIR | = 0xFF;
P1DIR | = 0xFF;
}
Քայլ 4: IMԱՄԱՆԱԿ
. Ամաչափի օգտագործումը Հետաձգման մեկ վայրկյան առաջացման համար: Սա օգտագործում է 1 ՄՀց SMCLK- ը, ինչպես նաև ժմչփն աշխատում է ցածր էներգիայի ռեժիմում (հաջորդ քայլին, երբ այն հաշվելուց հետո այն ընդհատվել է LPM- ից): Այս գործընթացը խնայում է էներգիան և բեռը պրոցեսորի վրա
TA0CCTL0 = CCIE;
TA0CCR0 = 999;
TA0CTL = TASSEL_2 + MC_1;
Արժեքները 999 են, քանի որ ժամանակաչափի գրանցամատյանում զրո վերադառնալու համար անհրաժեշտ է ևս մեկ հաշվարկ:
Քայլ 5: Powerածր էներգիայի ռեժիմ
_BIS_SR (LPM0_bits+GIE);
Սա հնարավորություն է տալիս Ընդհանուր ընդհատում միացնել (GIE), և պրոցեսորը դնում է LPM0, որտեղ անջատված է CPU- ն աջակցող MCLK- ը, և SMCLK և ACLK գործարկումը, որը պահում է ժամաչափի աշխատանքը: այնպես որ մենք կարող ենք տեսնել, որ պրոցեսորը անջատված է ՝ էներգիա խնայելով:
Քայլ 6: ISR- ժմչփ
![ISR- ժմչփ ISR- ժմչփ](https://i.howwhatproduce.com/images/006/image-15304-26-j.webp)
#պրագմայի վեկտոր = TIMER0_A0_VECTOR
_ ընդհատվող դատարկ ժամանակաչափ_Ա (անվավեր)
{
z ++;
եթե (z> ուշացում)
{
P3OUT = ծածկագիր [x];
P6OUT = code1 [y];
x ++;
եթե (x == 10)
{
x = 0;
y ++;
}
եթե (y == 6)
y = 0;
z = 0;
}
}
պրագմայի վեկտորը նախատեսված է C embd- ում ISR ներկայացման համար:
կոդը [x] և code1 [y] այն զանգվածներն են, որոնք պարունակում են ելքային արժեքներ երկու յոթ հատվածների համար ՝ 60 վայրկյան հաշվիչ ցուցադրելու համար:
Քայլ 7: Սարքաշարի ընդհատում
P2DIR = 0x00;
P2REN = 0x02;
P2OUT = 0x02;
P2IE | = BIT1;
P2IES | = BIT1;
P2IFG & = ~ BIT1;
Այստեղ P2.1- ը հայտարարվում է որպես ապարատային ընդհատում, եթե կոճակը սեղմված է, հաշվիչը վերադառնում է արժեքին:
մնացած ծրագիրը գրված է այս ընդհատման ISR- ի ներսում:
Քայլ 8: ISR- Վերագործարկեք/ սեղմեք կոճակը
#պրագմայի վեկտոր = PORT2_VECTOR
_ ընդհատվող դատարկ պորտ_2 (դատարկ)
{
P2IFG & = ~ BIT1;
x = 0; y = 0;
P3OUT = ծածկագիր [x];
P6OUT = code1 [y];
v ++;
համար (i = 0; i
{
P1OUT | = BIT0; //P1.0 = միացում
_ ուշացման_հեծանիվներ (1048576);
P1OUT & = ~ BIT0; // P1.0 = անջատում
_ ուշացման_հեծանիվներ (1048576);
}
Այս ISR- ն վերականգնում է հաշվիչը և հաշվում է, թե մնացածը քանի անգամ է սեղմվել:
(Այստեղ ցուցադրումը կատարվում է led անջատիչի միջոցով, կարող է նաև օգտագործել մեկ այլ զանգված և ժամանակաչափ ՝ այդ արժեքները որպես ելք 7 հատվածում ցուցադրելու համար):
Քայլ 9: ԿՈԴ
![ԿՈԴ ԿՈԴ](https://i.howwhatproduce.com/images/006/image-15304-27-j.webp)
#ներառում
#սահմանի 1000 հետաձգում
char կոդը = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xE6};
char կոդը 1 = {0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B};
անկայուն անստորագիր int x = 0, y = 0, z = 0;
անկայուն անստորագիր int v = 0, i = 0;
դատարկ հիմնական ()
{
WDTCTL = WDTPW | WDTHOLD; // դադարեցնել պահակախմբի ժամաչափը
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);
}
// erամաչափ A0 ծառայության ընդհատման ռեժիմ
#պրագմայի վեկտոր = TIMER0_A0_VECTOR
_ ընդհատվող դատարկ ժամանակաչափ_Ա (անվավեր)
{
z ++;
եթե (z> ուշացում)
{
P3OUT = ծածկագիր [x];
P6OUT = code1 [y];
x ++;
եթե (x == 10)
{
x = 0;
y ++;
}
եթե (y == 6)
y = 0;
z = 0;
}
}
// Սարքավորման ընդհատման ծառայության ռեժիմ
#պրագմայի վեկտոր = PORT2_VECTOR
_ ընդհատվող դատարկ պորտ_2 (դատարկ)
{
P2IFG & = ~ BIT1;
x = 0;
y = 0;
P3OUT = ծածկագիր [x];
P6OUT = code1 [y];
v ++;
համար (i = 0; i
{P1OUT | = BIT0; // P1.0 = անջատում
_ ուշացման_հեծանիվներ (1048576);
P1OUT & = ~ BIT0; // P1.0 = անջատում
_ ուշացման_հեծանիվներ (1048576);
}
}
Քայլ 10: Հղման ծածկագիր
![Հղման ծածկագիր Հղման ծածկագիր](https://i.howwhatproduce.com/images/006/image-15304-28-j.webp)
GitHub շտեմարան
Խորհուրդ ենք տալիս:
Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով` 3 քայլ
![Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով` 3 քայլ Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով` 3 քայլ](https://i.howwhatproduce.com/images/001/image-09-j.webp)
Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով. Հարգելի ընկերներ, ես բացատրել եմ, թե ինչպես պատրաստել այցելուների հաշվիչ` օգտագործելով 8051 և IR սենսորներ և ցուցադրել այն LCD- ում: 8051 -ը ամենահայտնի միկրոկառավարիչներից է, որն օգտագործվում է ամբողջ աշխարհում հոբբի, առևտրային ծրագրեր պատրաստելու համար: Ես տեսակցել եմ
Բանկային հաշվի խնայողությունների հաշվիչ `18 քայլ
![Բանկային հաշվի խնայողությունների հաշվիչ `18 քայլ Բանկային հաշվի խնայողությունների հաշվիչ `18 քայլ](https://i.howwhatproduce.com/images/001/image-81-j.webp)
Բանկային հաշվի խնայողությունների հաշվիչ. Շնորհակալություն իմ խնայողությունների հաշվիչն ընտրելու համար: Այսօր մենք կսովորենք, թե ինչպես ծրագրավորել BankAccount դաս `ձեր անձնական ծախսերն ու խնայողությունները հետևելու համար: Ձեր ծախսերին հետևելու համար բանկային հաշիվ ստեղծելու համար նախ անհրաժեշտ կլինի հիմնական
Ներքին օդի որակի հաշվիչ `5 քայլ (նկարներով)
![Ներքին օդի որակի հաշվիչ `5 քայլ (նկարներով) Ներքին օդի որակի հաշվիչ `5 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-197-j.webp)
Ներքին օդի որակի հաշվիչ. Ձեր տանը օդի որակը ստուգելու պարզ նախագիծ: Քանի որ վերջին շրջանում մենք շատ ենք մնում/աշխատում տնից, գուցե լավ գաղափար լինի վերահսկել օդի որակը և հիշեցնել ինքներդ ձեզ, երբ ժամանակն է բացել պատուհանը և մի քիչ մաքուր օդ ներս մտեք
Պարզ 20 LED Vu հաշվիչ ՝ օգտագործելով LM3915: 6 քայլ
![Պարզ 20 LED Vu հաշվիչ ՝ օգտագործելով LM3915: 6 քայլ Պարզ 20 LED Vu հաշվիչ ՝ օգտագործելով LM3915: 6 քայլ](https://i.howwhatproduce.com/images/001/image-615-j.webp)
Պարզ 20 LED Vu հաշվիչ ՝ օգտագործելով LM3915. VU հաշվիչ պատրաստելու գաղափարը երկար ժամանակ եղել է իմ նախագծերի ցանկում: Եվ վերջապես, ես հիմա կարող եմ հասնել դրան: VU հաշվիչը միացում է ձայնային ազդանշանի ուժի ցուցիչի համար: VU հաշվիչի սխեման սովորաբար կիրառվում է ուժեղացուցիչի սխեմայի վրա, որպեսզի
CMOS Հաճախականության հաշվիչ `3 քայլ
![CMOS Հաճախականության հաշվիչ `3 քայլ CMOS Հաճախականության հաշվիչ `3 քայլ](https://i.howwhatproduce.com/images/001/image-854-j.webp)
CMOS Հաճախականության հաշվիչ. Սա ուղեցույց է `ներառված PDF- ներով և լուսանկարներով, թե ինչպես եմ ես նախագծել իմ սեփական հաճախականությունների հաշվիչը` զվարճալի տրամաբանությունից դուրս: Ես ամբողջությամբ չեմ մանրամասնի, թե ինչպես եմ պատրաստել վարագույրները կամ ինչպես պետք է այն միացնել, բայց սխեմաները պատրաստված են KICAD- ով, որը փափուկ է