PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 22-08-2009, 12:02 AM   #1
khangspkt
Đệ tử 1 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 14
:
Lỗi liên quan đến gửi data qua RS232

1. Vấn đề:
Mình viết chương trình =ASM với hoạt động như sau:-đọc bàn phím-đủ 6 phím- hiển thị LCD-gửi qua cổng com-lặp lại

Tuy nhiên khi gọi chương trình khởi tạo ngay từ đầu chương trình, ngay sau khởi tạo cho LCD thì chương trình chỉ đọc được 1 lần và gửi qua cổng com 1 lần duy nhất và ngưng

Sau đó, mình debug và phát hiện là do khi set bit 7 RCSTA-cho phép gửi, thì chương trình "có vấn đề". Debug bằng MSPSIM thì chương trình chạy liền tù tì.

Mình sáng tạo bằng cách điều chỉnh như sau: khi khởi tạo, ko set bit 7, RCSTA. trước khi gửi set bit này và sau gửi thì clear bit này.

Nhưng dữ liệu gửi lên lúc nào cũng dư 1 ký tự cuối. VD đúng : 077452 nhưng chương trình nhận được là 077452<0>. Nếu không thực hiện clr bit 7,RCSTA thì chươg trình gửi đúng.

Nhờ anh em có sử dụng chức năng này hướng dẫn mình xác định cách giải quyết vấn đề này.

2. Chương trình trích như sau

2.1 chương trình con

cho_gui_serial
bsf RCSTA,7; clr
return
cam_gui_serial
bcf RCSTA,7; clr
return
truy_cap_send ; chuong trinh con gui du lieu serial
MOVWF TXREG ; load transmit register
waitot: BTFSS PIR1,TXIF ; sent?
GOTO waitot ; no
return

2.2 chương trình chính

send_serial
call Init_serialport ; khởi tạo
clrf rampointer
bcf STATUS,Z

send_ram ; chuong trinh lấy ram và gửi
movf rampointer,w
addlw h'20' ;add countdat+FSR
movwf FSR ;nhay den dia chi RAM=1F+countdat
movf INDF,w ;lay data tu o tempw

call cho_gui_serial
call truy_cap_send


call long_delay
incf rampointer,f

;kiem tra du? du lieu chua?
movf rampointer,w
sublw ramcapacity ; dung lượng RAM=6=6ký tự
call cam_gui_serial
btfss STATUS,Z
goto send_ram ;chua du ky tu
; da du ky tu
clrf rampointer
goto ok_clear ; clear và trở lại đầu

Thanks all
khangspkt 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à 07:07 AM.


Đượ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