جدول المحتويات:
- الخطوة 1: البصيرة
- الخطوة 2: تهيئة المنفذ
- الخطوة 3: طاقة منخفضة للغاية
- الخطوة 4: المؤقت
- الخطوة 5: وضع الطاقة المنخفضة
- الخطوة 6: ISR-Timer
- الخطوة 7: مقاطعة الأجهزة
- الخطوة 8: ISR- زر إعادة الضبط / الضغط
- الخطوة 9: الكود
- الخطوة 10: الرمز المرجعي
فيديو: عداد الثواني MSP430: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
أهلا بك! عمل عداد الثواني: استخدام CCStudio 8 و MSP430F5529 للمشروع.
لغة C لترميز وحدة التحكم الصغيرة. تطبيق أوضاع الطاقة المنخفضة والمؤقتات والمقاطعات. يتم عرض الإخراج عبر 7 قطاعات.
الخطوة 1: البصيرة
هيا نبدأ!
قم بتهيئة مؤقت المراقبة إلى حالة إيقاف التشغيل باستخدام كلمة المرور المطلوبة لمؤقت المراقبة (يساعد في الحفاظ على التحقق من الحلقات اللانهائية ، والحفاظ على أمان المعالج).
#يشمل
/** * ج الرئيسية */
int main (باطل)
{
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 ، يتم تكوينها كمقاومات سحب وإذا كانت 0x00 يتم تكوينها على أنها سحب لأسفل.
الخطوة 3: طاقة منخفضة للغاية
يسمح لنا MSP430F5529 بتقليل فقد الطاقة من المعالج. هذا مفيد في التطبيقات المستقلة.
هذا يستدعي الإعلان عن كل رقم التعريف الشخصي أو المنافذ للإخراج.
{
P7DIR | = 0xFF ؛
P6DIR | = 0xFF ؛
P5DIR | = 0xFF ؛
P4DIR | = 0xFF ؛
P3DIR | = 0xFF ؛
P2DIR | = 0xFF ؛
P1DIR | = 0xFF ؛
}
الخطوة 4: المؤقت
استخدام الموقت لتوليد تأخير من ثانية واحدة. يستخدم هذا SMCLK بسرعة 1 ميجاهرتز ، ويعمل المؤقت أيضًا في وضع الطاقة المنخفضة (في الخطوة التالية ، بعد أن تم قطعه من LPM). هذه العملية توفر الطاقة والعبء على المعالج
TA0CCTL0 = CCIE ،
TA0CCR0 = 999 ؛
TA0CTL = TASSEL_2 + MC_1 ،
القيم هي 999 ، حيث يأخذ العدد عدًا إضافيًا للتراجع إلى الصفر في سجل المؤقت.
الخطوة 5: وضع الطاقة المنخفضة
_BIS_SR (LPM0_bits + GIE) ؛
يتيح ذلك تمكين المقاطعة العامة (GIE) ، ويضع وحدة المعالجة المركزية على LPM0 ، حيث يتم إيقاف تشغيل MCLK الذي يدعم وحدة المعالجة المركزية ، وتشغيل SMCLK و ACLK الذي يحافظ على تشغيل المؤقت. حتى نتمكن من رؤية وحدة المعالجة المركزية متوقفة عن التشغيل ، عن طريق توفير الطاقة.
الخطوة 6: ISR-Timer
# متجه براغما = TIMER0_A0_VECTOR
_interrupt Void Timer_A (باطل)
{
z ++ ؛
إذا (z> تأخير)
{
P3OUT = كود [x] ؛
P6OUT = code1 [y] ،
x ++ ؛
إذا (س == 10)
{
س = 0 ؛
ذ ++ ؛
}
إذا (ص == 6)
ص = 0 ؛
ض = 0 ؛
}
}
متجه براغما هو لتمثيل ISR في C embd.
الكود [x] و code1 [y] هي المصفوفات التي تحتوي على قيم مخرجات للقطعتين السبعة ، لعرض عداد 60 ثانية.
الخطوة 7: مقاطعة الأجهزة
P2DIR = 0x00 ؛
P2REN = 0x02 ،
P2OUT = 0x02 ؛
P2IE | = BIT1 ؛
P2IES | = BIT1 ؛
P2IFG & = ~ BIT1 ؛
هنا يتم الإعلان عن P2.1 كمقاطعة للأجهزة ، إذا تم الضغط على الزر ، يتم إعادة تعيين العداد إلى القيمة.
برنامج الباقي مكتوب داخل ISR لهذه المقاطعة.
الخطوة 8: ISR- زر إعادة الضبط / الضغط
# متجه براغما = PORT2_VECTOR
_interrupt void port_2 (باطل)
{
P2IFG & = ~ BIT1 ؛
س = 0 ؛ ص = 0 ؛
P3OUT = كود [x] ؛
P6OUT = code1 [y] ،
v ++ ؛
لـ (أنا = 0 ؛ أنا
{
P1OUT | = BIT0 ؛ //P1.0 = تبديل
_delay_ycles (1048576) ؛
P1OUT & = ~ BIT0 ؛ // P1.0 = تبديل
_delay_ycles (1048576) ؛
}
يعيد ISR ضبط العداد ، ويحتفظ بعدد المرات التي تم فيها الضغط على الباقي.
(هنا يتم العرض عبر تبديل الصمام ، ويمكن أيضًا استخدام صفيف ومؤقت آخر ، لإظهار هذه القيم كإخراج في 7 مقاطع).
الخطوة 9: الكود
#يشمل
# تعريف تأخير 1000
كود char = {0xFC، 0x60، 0xDA، 0xF2، 0x66، 0xB6، 0xBE، 0xE0، 0xFE، 0xE6} ؛
رمز الحرف 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) ؛
}
// روتين خدمة المقاطعة Timer A0
# متجه براغما = TIMER0_A0_VECTOR
_interrupt Void Timer_A (باطل)
{
z ++ ؛
إذا (z> تأخير)
{
P3OUT = كود [x] ؛
P6OUT = code1 [y] ،
x ++ ؛
إذا (س == 10)
{
س = 0 ؛
ذ ++ ؛
}
إذا (ص == 6)
ص = 0 ؛
ض = 0 ؛
}
}
// روتين خدمة مقاطعة الأجهزة
# متجه براغما = PORT2_VECTOR
_interrupt void port_2 (باطل)
{
P2IFG & = ~ BIT1 ؛
س = 0 ؛
ص = 0 ؛
P3OUT = كود [x] ؛
P6OUT = code1 [y] ،
v ++ ؛
لـ (أنا = 0 ؛ أنا
{P1OUT | = BIT0 ؛ // P1.0 = تبديل
_delay_ycles (1048576) ؛
P1OUT & = ~ BIT0 ؛ // P1.0 = تبديل
_delay_ycles (1048576) ؛
}
}
الخطوة 10: الرمز المرجعي
مستودع جيثب
موصى به:
عداد الزوار باستخدام مستشعر 8051 و IR مع شاشة LCD: 3 خطوات
عداد الزائرين باستخدام 8051 و IR Sensor مع LCD: أصدقائي الأعزاء ، لقد شرحت كيفية إنشاء عداد زائر باستخدام مستشعر 8051 و IR وعرضه على شاشة LCD. 8051 هو أحد أكثر المتحكمات الدقيقة شيوعًا المستخدمة في صناعة الهوايات والتطبيقات التجارية في جميع أنحاء العالم. لقد قمت بزيارة
عداد تردد CMOS: 3 خطوات
CMOS FREQUENCY COUNTER: هذا دليل مع ملفات PDF مضمنة وصور لكيفية تصميم عداد التردد الخاص بي من أجل المتعة خارج المنطق المنفصل. لن أخوض في التفاصيل الكاملة حول كيفية صنع الخنازير الدائرية أو كيفية توصيلها بسلك ولكن المخططات مصنوعة في KICAD وهي خالية من اللينة
اقرأ عداد الكهرباء والغاز (بلجيكي / هولندي) وقم بتحميله على موقع Thingspeak: 5 خطوات
اقرأ عداد الكهرباء والغاز (بلجيكي / هولندي) وقم بالتحميل على موقع Thingspeak: إذا كنت قلقًا بشأن استهلاكك للطاقة أو مجرد شخص غريب الأطوار ، فربما ترغب في رؤية البيانات من عدادك الرقمي الجديد الرائع على هاتفك الذكي. مشروع سوف نحصل على البيانات الحالية من إلكترونيات رقمية بلجيكية أو هولندية
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
عداد الوقت NE555 - تكوين عداد الوقت NE555 بتكوين مستقر: 7 خطوات
عداد الوقت NE555 | تكوين عداد الوقت NE555 في تكوين مستقر: يعد عداد الوقت NE555 أحد أكثر الدوائر المتكاملة استخدامًا في عالم الإلكترونيات. إنه على شكل DIP 8 ، مما يعني أنه يحتوي على 8 دبابيس