قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

Waseem15
:: مهندس ::
تاريخ التسجيل: Mar 2010
المشاركات: 4
نشاط [ Waseem15 ]
قوة السمعة:0
قديم 26-03-2010, 08:07 AM المشاركة 1   
افتراضي طلب مساعدة: كيف اعمل كونفيجر للبيك مع UART Twitter FaceBook Google+



السلام عليكم
انا عندي مشكلة في بروجكتي عندي دائرة ارسال ودائرة استقبال بإستخدام البيك 16F877A والوايرلس المستخدم هو XBee وسويت البرنامج للبيك بالأسمبلي لنجوج المشكله هي طريقة الكونفيجر للبرتكول UART هل من الممكن مساعدتي في كيفية عمل الكونفيجر للبرتكول UART مع البيك البرنامج اللي سويته هو للترانسميتر
include <p16f877a.inc>
COUNT1 equ H'20'
COUNT2 equ H'21'
COUNT3 equ H'22'
COUNT4 equ H'23'
Init
bsf STATUS,RP0 ;Move to Bank1
movlw b'11111111'
movwf TRISA ;Set port A as input
movlw b'00000000'
movwf TRISB ;Set port B as output
movlw b'00000000'
movwf TRISC ;Set port C as output
movlw b'00000000'
movwf TRISD ;Set port D as output
movlw b'00000000'
movwf TRISE ;Set port E as output

bcf STATUS,RP0 ;Return to Bank0

clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE

bcf TXSTA,TX9 ;Selects 8-bit transmission
bsf TXSTA,TXEN ;Transmit Enable bit
bcf TXSTA,SYNC ;Asynchronous mode select
bsf TXSTA,BRGH ;High Baud Rate Select bit
bcf TXSTA,TRMT ;Transmit Shift Register Status bit

start

btfsc PORTC,7
goto powerON
goto powerfail

powerfail
bsf PORTC,6 ;send data to transmitter
bsf PORTD,1 ;switch ON alarm
goto start


powerON
bcf PORTC,6 ;power resume stop sending data for transsmitter
bcf PORTD,1 ;switch off alarm
goto start



Delay ;a delay subroutine of around 1 sec.
movlw d'239'
movwf COUNT3

end

اعلانات

الصورة الرمزية Abdulla873
Abdulla873
:: مهندس متميز ::
تاريخ التسجيل: Sep 2009
الدولة: Baghdad, Iraq
المشاركات: 504
نشاط [ Abdulla873 ]
قوة السمعة:0
قديم 26-03-2010, 01:37 PM المشاركة 2   
افتراضي


اخي العزيز
برنامجك خاطيء!!! اذا ارت عمل Configration لل UART
فقم بتغير ال Registers الاتية وحسب حاجتك اليها, وهي
TXSTA, RCSTA, SPBRG

م. عبدالله

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Waseem15
:: مهندس ::
تاريخ التسجيل: Mar 2010
المشاركات: 4
نشاط [ Waseem15 ]
قوة السمعة:0
قديم 27-03-2010, 03:18 AM المشاركة 3   
افتراضي


أستاذي
هل من ممكن المساعدة كيف اقوم بتغيير register مع التوضيح
مشكور


الصورة الرمزية Abdulla873
Abdulla873
:: مهندس متميز ::
تاريخ التسجيل: Sep 2009
الدولة: Baghdad, Iraq
المشاركات: 504
نشاط [ Abdulla873 ]
قوة السمعة:0
قديم 27-03-2010, 06:12 AM المشاركة 4   
افتراضي


في البداية, نبدا بال TْXSTA Register , عادة في بداية البرنامج يجب ان يكون UART
غير فعال, لذالك نقوم بما يلي
BANKSEL TRISD ; Select bank 1
CLRF TRISD ; make it output port
BCF TXSTA,TX9 ; Select 8-bit tx
BCF TXSTA,TXEN ; Disable transmission
BCF TXSTA,SYNC ; Asynchronous mode
BSF TXSTA,BRGH ; High baud rate

بعد ذالك نحدد معدل نقل المعلومات Baud Rate من خلال SPBRG Register
الان وبعد ان قمت بوضع كل ال Configrations المطلوبة قم بتفعيل عملية النقل
من الTXSTA Register وفعل ايضا serial port من الRCSTA Register
بعد ان قمت بكل هذا اعمل جدول للرسالة التي تحب ان ترسلها للكومبيوتر,
ثم ابدا بنقل الاحرف على التوالي الى الTXREG الذي يقوم بارسال اي معلومات
توضع فية الى الكومبيوتر, بالمناسبة ضع delay مناسب بين كل عمليتين ارسال
او يمكنك الاعتماد على Interrupt Flag الموجود في PIR1
ارجوا منك ان تقرا Data sheet ,
خالص التحية

م. عبدالله


Waseem15
:: مهندس ::
تاريخ التسجيل: Mar 2010
المشاركات: 4
نشاط [ Waseem15 ]
قوة السمعة:0
قديم 27-03-2010, 10:51 AM المشاركة 5   
افتراضي


شكرا جزيلا استاذي
فكرة دائرتي هي فقط ارسال 1 او 0 الى XBee receiver فإذا كان 1 فذلك يعني ان دائرة receiver سوف تقوم بتشغيل alarm و LED و سوف يعمل relay لتشغيل timer وهذا برنامج receiver
include <p16f877a.inc>
COUNT1 equ H'20'
COUNT2 equ H'21'
COUNT3 equ H'22'
COUNT4 equ H'23'
Init
bsf STATUS,RP0 ;Move to Bank1
movlw b'11111111'
movwf TRISA ;Set port A as input
movlw b'00000000'
movwf TRISB ;Set port B as output
movlw b'00000000'
movwf TRISC ;Set port C as output
movlw b'00000000'
movwf TRISD ;Set port D as output
movlw b'00000000'
movwf TRISE ;Set port E as output

bcf STATUS,RP0 ;Return to Bank0

clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE

bsf RCSTA,SPEN ;Serial port enabled (configures RC7/RX/DT and RC6/TX/CK pins as serial port pins)
bcf RCSTA,RX9 ;Selects 8-bit reception
bsf RCSTA,CREN ;Enables continuous receive
bcf RCSTA,FERR ;No framing error
bcf RCSTA,OERR ;No overrun error



start

btfss PORTC,7
goto powerON
goto powerfail

powerfail
bsf PORTD,0 ;turn on led
bsf PORTD,1 ;alarm switch on
bsf PORTD,3 ;energize relay to start timer
goto start


powerON
bcf PORTD,0 ;turn off led
bcf PORTD,1 ;alarm switch off
bcf PORTD,3 ;de-energize timer relay
goto start



Delay ;a delay subroutine of around 1 sec.
movlw d'239'
movwf COUNT3

end
فكيف يمكنني ان اصحح البرنامج مشكور

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:50 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025