O
ooicheesan
Guest
حاليا أقوم به المسلسل الاتصال بين بلدي باء في السلع الأساسية (1) ومجلس PICDEM 2.. لا ندري لماذا أنا فقط أنا غير قادر على إرسال البيانات إلى بلدي تضيء LCD في مجلس بلدي؟ باستخدام MPLAB ICD2؟ هنا أقدم على القد efor لك أن تلقي نظرة على ما إذا كانت حصلت على تفوت أي شيء أم لا؟ الشكر...
# تشمل <p18f452.h>
# تشمل <xlcd.h>
# تشمل <delays.h>
# تشمل <usart.h>تشار البيانات [2] ؛
الفراغ Initialise_Serial_Port_Pin (الفراغ)
(
/ / المسلسل تكساس Rx & دبابيس التكوين.
/ / تكساس -- الميناء جيم دبوس 6
TRISCbits.TRISC6 = 0 ؛
/ / Rx -- الميناء 7 جيم دبوس
TRISCbits.TRISC7 = 1 ؛
)
الفراغ Process_Information (الفراغ)
(
التحول (البيانات [0]) (
قضية 'ألف' :
بورتا = بيانات [1] ؛
كسر ؛
حالة 'ب' :
PORTB = بيانات [1] ؛
كسر ؛
الحالة جيم :
= PORTC بيانات [1] ؛
كسر ؛
الافتراضي :
putrsUSART ( "خطأ!") ؛
العودة ؛
) ؛
putrsUSART ( "طيب") ؛
)
تشار getcharusart ()
(
في حين (! PIR1bits.RCIF)
تواصل ؛
PIR1bits.RCIF = 0 ؛
عودة RCREG ؛
)
الفراغ DelayFor18TCY (الفراغ)
(
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
)
الفراغ DelayPORXLCD (الفراغ)
(
Delay1KTCYx (60) ؛ / / من التأخير 15ms
العودة ؛
)
الفراغ DelayXLCD (الفراغ)
(
Delay1KTCYx (20) ؛ / / من التأخير 5ms
العودة ؛
)
باطلة الرئيسي ()
(
غير موقعة تشار عد = 0 ؛
تشار مؤقت ؛/ / المسلسل تكساس Rx & دبابيس التكوين.
Initialise_Serial_Port_Pin () ؛/ / تكوين الخارجية LCD
OpenXLCD (EIGHT_BIT & LINES_5X7) ؛/ / تكوين المرسل المستقبل التزامني اللاتزامني العالمي
OpenUSART (USART_TX_INT_OFF &
& USART_RX_INT_OFF / / التهيئة المرسل المستقبل التزامني اللاتزامني العالمي
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH ، 25) ؛في حين أن (1)
(
= الحرارة getcharusart () ؛
بيانات [الفرز ] = درجة الحرارة ؛
إذا كان (العد == 2)
(
Process_Information () ؛
putsXLCD (مؤقت) ؛
عد = 0 ؛
)
)(
CloseUSART () ؛
)
)
# تشمل <p18f452.h>
# تشمل <xlcd.h>
# تشمل <delays.h>
# تشمل <usart.h>تشار البيانات [2] ؛
الفراغ Initialise_Serial_Port_Pin (الفراغ)
(
/ / المسلسل تكساس Rx & دبابيس التكوين.
/ / تكساس -- الميناء جيم دبوس 6
TRISCbits.TRISC6 = 0 ؛
/ / Rx -- الميناء 7 جيم دبوس
TRISCbits.TRISC7 = 1 ؛
)
الفراغ Process_Information (الفراغ)
(
التحول (البيانات [0]) (
قضية 'ألف' :
بورتا = بيانات [1] ؛
كسر ؛
حالة 'ب' :
PORTB = بيانات [1] ؛
كسر ؛
الحالة جيم :
= PORTC بيانات [1] ؛
كسر ؛
الافتراضي :
putrsUSART ( "خطأ!") ؛
العودة ؛
) ؛
putrsUSART ( "طيب") ؛
)
تشار getcharusart ()
(
في حين (! PIR1bits.RCIF)
تواصل ؛
PIR1bits.RCIF = 0 ؛
عودة RCREG ؛
)
الفراغ DelayFor18TCY (الفراغ)
(
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
Nop () ؛
)
الفراغ DelayPORXLCD (الفراغ)
(
Delay1KTCYx (60) ؛ / / من التأخير 15ms
العودة ؛
)
الفراغ DelayXLCD (الفراغ)
(
Delay1KTCYx (20) ؛ / / من التأخير 5ms
العودة ؛
)
باطلة الرئيسي ()
(
غير موقعة تشار عد = 0 ؛
تشار مؤقت ؛/ / المسلسل تكساس Rx & دبابيس التكوين.
Initialise_Serial_Port_Pin () ؛/ / تكوين الخارجية LCD
OpenXLCD (EIGHT_BIT & LINES_5X7) ؛/ / تكوين المرسل المستقبل التزامني اللاتزامني العالمي
OpenUSART (USART_TX_INT_OFF &
& USART_RX_INT_OFF / / التهيئة المرسل المستقبل التزامني اللاتزامني العالمي
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH ، 25) ؛في حين أن (1)
(
= الحرارة getcharusart () ؛
بيانات [الفرز ] = درجة الحرارة ؛
إذا كان (العد == 2)
(
Process_Information () ؛
putsXLCD (مؤقت) ؛
عد = 0 ؛
)
)(
CloseUSART () ؛
)
)