الخارجية المقاطعة

G

Guest

Guest
مرحبا
واني اسعى الى جعل النظام بما في ذلك قياس الترددات.للتردد

طريقة القياس : -- قياس الوقت بين اثنين من البقول consequtive.أنا

تغذية وتيرة الخارجية في المقاطعة دبوس.أنا تواجه الصغيرة

المشكلة.عندما أبدأ في شاشات الكريستال السائل يعرض النظام التردد الصحيح

قيمة.(لقد اضفت 5 ثوان من التأخير لتحديث البيانات) لكن الثانية

في وقت تردد يتم تحديث قيمة خاطئة ويأتي بعد ذلك

في كل مرة يتم عرض القيم absart.لقد جربنا كل شيء.لقد

حاول إعادة intializing كل شيء ولكن لا شيء يساعد خارجا.وهنا يكمن

رمز (الجزء الرئيسي الذي يقيس التكرار ، ويعرض عليه. الرجاء المساعدة

أنا.

وبالنسبة لنوع.رمز :قائمة ع = 16F877A ، ث = 2 ، س = المعنية ، ص = ديسمبر ؛ اقول المجمع ما رقاقة اننا نستخدم

وتشمل "P16F877A.inc" ؛ تشمل الافتراضات لرقاقة

ERRORLEVEL 0 ، -302 ؛ منع الرسائل اختيار المصرف

__CONFIG 0x393A ؛ تعيين إعدادات التكوين (مذبذب نوع الخ.)0x20 cblock ؛ بداية تسجيلات للأغراض العامة

العد

count1

counta

countb

COUNT_SEC

السلمون المدخن

Bit_Cntr

Timer_H

الأعلام

Flags2

tmp1

tmp2

tmp3

NumL

NumH
AARGB0

AARGB1

AARGB2

AARGB3

BARGB0

BARGB1

LOOPCOUNT

REMB0

REMB1
TenK

انت

كلب

عشرات

منها

templcd

templcd2

Acc1L ؛ الرياضيات 16 بت سجل 1

Acc1H

نقطة ؛ موقف العشرية؛ المتغيرات الترددات

FreqL

FreqH

TIMER1_LOW

TIMER1_HIGHw_temp ؛ لحفظ قبالة الحالي جورج محتويات تسجيل

status_tempfreq_over

endcLCD_PORT Equ PORTD

LCD_TRIS Equ TRISD

LCD_RS Equ 0x05 ؛ شاشات الكريستال السائل خطوط المصافحة

LCD_RW Equ 0x06

LCD_E Equ 0x07
غزاله 0x0000

نوب

الأحيائي PCLATH ، 3

الأحيائي PCLATH ، 4

بدء جوتو؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>> دعوة تردد>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>غزاله 0x0004MOVWF w_temp ؛ حفظ قبالة الحالي جورج محتويات تسجيل

MOVF حالة ، ث ؛ نقل مركز تسجيل في سجل دبليو

MOVWF status_temp ؛ حفظ قبالة محتويات تسجيل حالةBTFSC T1CON ، TMR1ON

Stop_timer1 غوتوCLRF TMR1H

CLRF TMR1L

البنك السعودي الفرنسي T1CON ، TMR1ON

جوتو END_ANS_INTStop_timer1

الأحيائي T1CON ، TMR1ON

MOVF TMR1H ، ث

MOVWF TIMER1_HIGH

MOVF TMR1L ، ث

MOVWF TIMER1_LOW

البنك السعودي الفرنسي freq_over ، 0x00؛ الأحيائي INTCON ، الأسواق العالمية ضغطها

END_ANS_INT

MOVF status_temp ، ث ؛ استرداد نسخة من تسجيل حالة

MOVWF حالة ؛ استعادة الوضع السابق للتسجيل محتويات طلب الميزانية الإضافية

SWAPF w_temp ، و

SWAPF w_temp ، ث ؛ استعادة قبل طلب الميزانية الإضافية دبليو محتويات تسجيل

الأحيائي INTCON ، INTFretfie

؛================================================= ====================يبدأ

errorlevel -302

البنك السعودي الفرنسي INTCON ، الأسواق العالمية ضغطها ؛ تمكين الخارجية المقاطعة

البنك السعودي الفرنسي INTCON ، جيى

التهيئة clrf العد

بورتا clrf

clrf PORTD

PORTC clrf

أعلام clrfREMB0 clrf

REMB1 clrf

movlw b'00110000 '

T1CON movwf
SetPorts قوات حرس الحدود حالة ، RP0 ؛ البنك حدد 1

0x00 movlw ؛ جعل جميع شاشات الكريستال السائل دبابيس النواتج

LCD_TRIS movwf

movlw B'00000001 '؛ جعل جميع النواتج دبابيس

movwf TRISB

البنك السعودي الفرنسي OPTION_REG ، NOT_RBPU

اف حالة ، RP0 ؛ حدد البنك 0

دعوة LCD_Init ؛ الإعداد شاشات الكريستال السائل وحدة

دعوة LCD_CurOff ؛ المؤشر بدوره قبالة

Delay5 الدعوةرئيسي؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

؛>>>>>>>>>>>>>>>>>>>>>>> قراءة قيم من تحويلة.
المترجم.
لتردد>>>>>>>>>>>>>>>>>>>>>>

؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>movlw b'00110000 '

T1CON movwf

الأحيائي freq_over ، 0x00البنك السعودي الفرنسي INTCON ، الأسواق العالمية ضغطها ؛ تمكين الخارجية المقاطعةCHECK_INT

BTFSS freq_over ، 0x00

جوتو CHECK_INTالأحيائي INTCON ، الأسواق العالمية ضغطها

الأحيائي freq_over ، 0x00يطالبون CALCULATE_FREQ؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> عرض التكرار>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>movlw 0xC0 ؛ 1st الانتقال إلى الصف ، العمود الأول

دعوة LCD_Cmd

movf FreqH ، ث

NumH movwf

movf FreqL ، ث

movwf NumL

دعوة LCD_Decimal ؛ وعرضها على شاشات الكريستال السائل (في العشرية)

movlw ''

دعوة LCD_Char ؛ عرض الفضاء

نوب

نوبيطالبون Delay5sec

غوتو الرئيسية ؛ لحلقة من أي وقت مضى
؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CALCULATE_FREQ>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

CALCULATE_FREQ

movlw 0x5F

AARGB0 movwf

movlw 0x5e

AARGB1 movwf

movlw 0x10

AARGB2 movwf

movf TIMER1_HIGH ، ث

BARGB0 movwf

movf TIMER1_LOW ، ث

BARGB1 movwfدعوة FXD2416U ؛ تقسيم 6250000/TIMER قيمة للحصول على الترددات مع قرار.1

AARGB1 movf ، ث

FreqH movwf

AARGB2 movf ، ث

movwf FreqL

RETLW 0x00

؛>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>؛ شاشات الكريستال السائل الروتينية.........

؛ تقسيم إجراءات.......نهاية
 
محاولة المقاطعات 16F877 الموافقة المسبقة عن علم

 
لم أذهب من خلال التعليمات البرمجية حتى الآن ولكن
إذا كنت تستخدم أكثر من page0 لرمز الخاص بك (شاشات الكريستال السائل الروتينية)
قد تحتاج إلى تغيير المترجم روتينية لحفظ PCLATH.

على سبيل المثال :

رمز :IntVec

W_TEMP movwf ؛ الأمراض المنقولة جنسيا سياق إنقاذ

swapf حالة ، غربا ،...

STATUS_TEMP movwf ؛...

movf PCLATH ، غربا ،...

PCLATH_TEMP movwf ؛...

PCLATH clrf ؛ page0

حالة clrf ؛ bank0

؛

؛ رمز كثافة العمليات هنا يوم page0

؛

movf PCLATH_TEMP ، غربا ، على سياق استعادة الأمراض المنقولة جنسيا

PCLATH movwf ؛...

swapf STATUS_TEMP ، غربا ،...

حالة movwf ؛...

swapf W_TEMP ، واو ؛...

swapf W_TEMP ، غربا ،...

retfie
 

Welcome to EDABoard.com

Sponsor

Back
Top