PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 19-10-2009, 11:50 PM   #1
gataytay
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 1
:
Unhappy giup do gium em ve usart

Chào các anh,em viết chương trình giao tiếp giữa hai con PIC 16F877A dùng USART,chương trình của em là 32 led sáng dần rồi tắt dần.Tức là em dùng port b và port d của con 1 và con 2 để xuất,mỗi con là 16 led.Em cho giá trị vào 2 thanh ghi ở con 1 để truyền qua cho con 2.Khi biên dịch thì không báo lỗi nhưng khi mô phổng thì nó không chạy.Mấy anh giúp dùm em với......
code của em

con A:

{

title "USART_NHOM_12.asm"
processor p16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_ON&_HS_OSC&_LVP _OFF&_CPD_OFF
;---------------------------------------------------------------------
;su dung P_b va p_d cua MCU_A va P_b,P_d cua MCU_A
;lay noi dung thanh ghi 0x22 va 0x23 cua MCU_A truyen cho MCU_B(hien thi qua PORTB va PORTD)
;---------------------------------------------------------------------

ORG 0X00
GOTO MAIN_MCU_A

;---------------------------------------------------------------------
;khoi tao PORTB va PORTD
;---------------------------------------------------------------------
ORG 0X05
MAIN_MCU_A
BCF STATUS,RP1
BSF STATUS,RP0 ;CHON BANK 1
CLRF TRISB
CLRF TRISD
;---------------------------------------------------------------------
;khoi tao truyen du lieu
;---------------------------------------------------------------------

MOVLW D'129' ;toc do baud=9600
MOVWF SPBRG
BSF TXSTA,BRGH ;BRGH=1:chon toc do cao

BCF XSTA,SYNC ;SYNC=0:chon che do bat dong bo
BCF STATUS,RP1
BCF STATUS,RP0 ;chon BANK 0
BSF RCSTA,SPEN ;PSEN=1:cho phep cong noi tiep USART
;----------------------------------------------------------------------
;vong lap chuong trinh chinh
;----------------------------------------------------------------------

CLRF PORTB ;
CLRF PORTD ;
CLRF 0X22 ; tat het 4 port
CLRF 0X23 ;

SANG_DAN
CALL A_TO_B ;goi noi dung cua 0x22,0x23 qua MCU_B
CALL DELAY
BSF STATUS,C ;SET C=1;
CALL ROTA ;xoay trai cac port qua co C
BTFSS STATUS,C ;kiem tra C=1 thi nhay
GOTO SANG_DAN

TAT_DAN
CALL A_TO_B
CALL DELAY
BCF STATUS,C ;XOA C=0;
CALL ROTA
BTFSC STATUS,C ;kiem tra C=0
GOTO TAT_DAN
GOTO SANG_DAN

;----------------------------------------------------------------------
; chuong trinh con
;----------------------------------------------------------------------

A_TO_B
BSF TXSTA,TXEN ;TXEN=1 cho phep truyen du lieu
MOVF 0X22,0 ;chep noi dung cua thanh ghi 0x22 vao W
MOVWF TXREG ;dua noi dung can truyen vao thanh ghi dem truyen
W1 BTFSS PIR1,TXIF ;kiem tra co hieu truyen
GOTO W1

MOVF 0X23
MOVWF TXREG
W2 BTFSS PIR1,TXIF
GOTO W2
RETURN
;-----------------------------------------------------------------------

ROTA
RLF PORTB,1
RLF PORTD,1
RLF 0X22,1
RLF 0X23,1
RETURN
;-----------------------------------------------------------------------
DELAY
CLRF 0X30
D2 CLRF 0X31
D1 DECFSZ 0X31
GOTO D1
DECFSZ 0X30
GOTO D2
RETURN

END

}

con B
{
title "USART_NHOM_12_B.asm"
processor p16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_ON&_HS_OSC&_LVP _OFF&_CPD_OFF
;---------------------------------------------------------------------
;su dung Portb va portd cua MCU_A va Portb,Portd cua MCU_A
;lay noi dung thanh ghi 0x22 va 0x23 cua MCU_A truyen cho MCU_B
;---------------------------------------------------------------------

ORG 0X00
GOTO MAIN_MCU_B

;---------------------------------------------------------------------
;khoi tao PORTB va PORTD
;---------------------------------------------------------------------
ORG 0X05
MAIN_MCU_B
BCF STATUS,RP1
BSF STATUS,RP0 ;CHON BANK 1
CLRF TRISB
CLRF TRISD
;---------------------------------------------------------------------
;khoi tao nhan du lieu
;---------------------------------------------------------------------

MOVLW D'129' ;toc do baud=9600
MOVWF SPBRG
BSF TXSTA,BRGH ;BRGH=1:chon toc do cao

BCF TXSTA,SYNC ;SYNC=0:chon che do bat dong bo
BCF STATUS,RP1
BCF STATUS,RP0
BSF RCSTA,SPEN ;PSEN=1:cho phep cong noi tiep USART
;----------------------------------------------------------------------
;chuong trinh chinh
;----------------------------------------------------------------------
BSF RCSTA,RCEN ;cho phep nhan du lieu
L1 BTFSS PIR1,RCIF ;kiem tra co hieu nhan
GOTO L1
MOVF RCREG,0
MOVWF PORTB ;dua du lieu nhan vao PORTB
CLRF RCREG ;xoa de nhan data tiep theo

L2 BTFSS PIR1,RCIF
GOTO L2
MOVF RCREG,0
MOVWF PORTD
CLRF RCREG
GOTO L1
END
}
gataytay vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 04:02 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam