PIC16F877A...

K

kiddd

Guest
مرحبا...انا بعمل مشروع باستخدام PIC16F877A وموسفيت سائق LMD18200T...
المشكلة هي شفرة المصدر..لدي ورقة البيانات لPIC16F877A...يمكن any1 حصة اور أو الرأي
، أو أي توجيه؟انا باستخدام لغة التجميع...شكرا...

 
مرحبا ،

ربما لو كنت سجلت شفرة المصدر الخاصة بك ، يمكن للشخص أن تساعد.كل ما أعرفه من رسالتك أن لديك الموافقة المسبقة عن علم هو مطلوب لإخراج PWM لحاء رقاقة الجسر ، جنبا إلى جنب مع اثنين من الإدخال / الإخراج من أجل التوجيه و'الفرامل'.و16F877A هي أكثر من كافية لهذه المهمة ، ومع ذلك ، فإنه يعتمد على شفرة المصدر ، وبالضبط ما تريد أن تفعل في الدقيقة مع المحرك.

تمنيات ،

BuriedCode.

ملاحظة ، أنا في الحقيقة لا تفعل 'ج' ، أو أي لغات أساسية ، ولكن أنا مع غرامة تعدين الذهب حرفيا.

 
قائمة ع = PIC16F877A
وتشمل p16f873.inc
__config _hs_osc & _wdt_off & _pwrte_on & _lvp_off
errorlevel -302 ؛ قمع تحذير البنك

؛**************** تسمية تعريف ********************
سرعة equ d' 8 '؛ مرجع السرعة (5x8/256 = 0.156V)
تغيير equ d' 1 '؛ تغيير القيمة (2mV/ms)

قاد equ h'20 '؛ الصمام حفظ البيانات مراقبة المنطقة

؛**************** برنامج ابدأ ***********************
غزاله 0 ؛ إعادة المتجهات
الحرف الأول غوتو
غزاله (4) ؛ المتجهات المقاطعة
كثافة العمليات غوتو

؛**************** العملية الأولية *********************
الحرف الأول

؛ *** ميناء التهيئة
وضع قوات حرس الحدود ، rp0 ؛ تغيير لBank1
movlw b'00000001 '؛ AN0 لوضع الإدخال
trisa movwf ؛ تعيين TRISA تسجيل
trisb clrf ؛ تعيين TRISB لوضع uotput
clrf trisc ؛ تعيين TRISC لإخراج الوضع
مركز مكعبة ، rp0 ؛ تغيير لBank0

؛ *** / مد المحول التهيئة
movlw b'10000001 '؛ ADCS كلية العلوم الصحية 10 = = = على AN0 ADON
movwf adcon0 ؛ تعيين ADCON0 تسجيل
وضع قوات حرس الحدود ، rp0 ؛ تغيير لBank1
movlw b'00001110 '؛ ADFM = 0 PCFG = 1110
movwf adcon1 ؛ تعيين سجل ADCON1
مركز مكعبة ، rp0 ؛ تغيير لBank0

؛ *** PWM التهيئة
clrf tmr2 ؛ بدون تسجيل TMR2
movlw b'11111111 '؛ ماكس اجب (سرعة منخفضة)
ccpr1l movwf ؛ تعيين CCPR1L تسجيل
وضع قوات حرس الحدود ، rp0 ؛ تغيير لBank1
movlw d' 255 '؛ الفترة = 1638.4usec (610Hz)
movwf pr2 ؛ تعيين سجل PR2
مركز مكعبة ، rp0 ؛ تغيير لBank0
movlw b'00000110 '؛ التوقيت الصيفي الباسفيكي 1:1 TMR2 = = = على مرحلة ما قبل 1:16
t2con movwf ؛ تعيين T2CON تسجيل
movlw b'00001100 '؛ CCP1XY = 0 CCP1M = 1100 (PWM)
ccp1con movwf ؛ تعيين CCP1CON تسجيل

؛ *** قارن بين وضع التهيئة
tmr1h clrf ؛ TMR1H بدون تسجيل
tmr1l clrf ؛ TMR1L بدون تسجيل
movlw h'61 '؛ H'61A8' = 25000
ccpr2h movwf ؛ تعيين CCPR2H تسجيل
movlw h'a8 '؛ 0.4usec * 25000 = 10msec
ccpr2l movwf ؛ تعيين CCPR2L تسجيل
movlw b'00000001 '؛ قبل 1:1 TMR1 = = = على كثافة العمليات TMR1
t1con movwf ؛ تعيين T1CON تسجيل
movlw b'00001011 '؛ CCP2M = 1011 (مقارنة)
ccp2con movwf ؛ تعيين CCP2CON تسجيل

؛ *** انقطاع السيطرة
وضع قوات حرس الحدود ، rp0 ؛ تغيير لBank1
movlw b'00000001 '؛ CCP2IE = تمكين
movwf pie2 ؛ تعيين سجل PIE2
مركز مكعبة ، rp0 ؛ تغيير لBank0
movlw b'11000000 '؛ منطقة غزة الصناعية على PEIE = = على
intcon movwf ؛ تعيين INTCON تسجيل

ينتظر
غوتو $ ؛ الانتظار انقطاع

؛*************** انقطاع عملية *****************
كثافة العمليات
clrf pir2 ؛ بدون انقطاع العلم
ad_check
btfsc adcon0 ، انتقل ؛ أ / مد تحويل نهاية؟
غوتو ad_check ؛ رقممرة أخرى
movfw adresh ؛ اقرأ ADRESH تسجيل
sublw السرعة ؛ المرجع السرعة -- كشف السرعة
مركز btfsc ، ج ؛ مرجع <كشف؟
غوتو check1 ؛ رقمالقفز الى> أو = الاختيار

؛ --- السيطرة على سرعة منخفضة ---
movfw ccpr1l ؛ اقرأ CCPR1L تسجيل
addlw تغير ؛ تغيير قيمة CCPR1L
مركز btfss ، ج ؛ تجاوز؟
ccpr1l movwf ؛ رقمالكتابة CCPR1L
غوتو led_cont ؛ الانتقال للسيطرة على الصمام

check1
مركز btfsc ، ض ، كشف مرجع =؟
غوتو led_cont ؛ نعم.القفز للسيطرة على الصمام

؛ --- السيطرة على سرعة سريع ---
movlw التغيير ؛ تعيين تغيير القيمة
ccpr1l subwf ، و ؛ CCPR1L -- تغيير القيمة
مركز btfsc ، ج ؛ تجاوز الحد الأدنى؟
غوتو led_cont ؛ الانتقال للسيطرة على الصمام
ccpr1l clrf ؛ تعيين أسرع السرعة

؛**************** الصمام مراقبة عملية ******************
led_cont
ccpr1l comf ، ث ؛ يكمل بت CCPR1L
movwf أدت ؛ حفظ البيانات الصمام
movlw b'00010000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led1 ؛ رقم
movlw b'00000000 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led1 movlw b'00100000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو LED2 ؛ رقم
movlw b'00000001 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
LED2 movlw b'01000000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led3 ؛ رقم
movlw b'00000011 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led3 movlw b'01100000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو LED4 ؛ رقم
movlw b'00000111 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
LED4 movlw b'10000000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led5 ؛ رقم
movlw b'00001111 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led5 movlw b'10100000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led6 ؛ رقم
movlw b'00011111 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led6 movlw b'11000000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led7 ؛ رقم
movlw b'00111111 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led7 movlw b'11100000 '؛ تعيين مقارنة البيانات
subwf أدى ، ث ؛ الصمام -- البيانات
مركز btfsc ، ج ، وكيل؟
غوتو led8 ؛ رقم
movlw b'01111111 '؛ تعيين البيانات سيطرة الصمام
غوتو int_end ؛ اذهب إلى حد المقاطعة
led8 movlw b'11111111 '؛ تعيين البيانات سيطرة الصمام

؛************ انتهى من انقطاع عملية **************
int_end
portb movwf ؛ تعيين PROTB
retfie

؛************************************************* *******
؛ انتهى من العاصمة سرعة المحرك تحكم
؛************************************************* *******

نهايةأحصل على هذا الرمز المصدر من بعض الموقع...وأنا أفهم أن هذا الرمز المصدر باستخدام محرك 2...1 المحرك هو استخدام والكشف عن السرعة....

الآن...وات ط الخلط هو intterupt وقارن التهيئة...

 

Welcome to EDABoard.com

Sponsor

Back
Top