View Single Post
Old 21-02-2010, 06:14 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hongquyen View Post
chào anh Nam

anh cho em hỏi .như trong hình anh gửi kèm thì như anh nói những ô màu xanh là những ô có sai số nhỏ, vậy giả sử như trong hình với thạch anh là 4M và với tốc độ buad là 19200 thì rõ ràng là em thấy ô màu trắng có sai số nhỏ hơn (2,26) trong khi ô màu xanh có sai số là 12,02 thì mình phải dùng tốc độ baud và thạch anh như trong ô màu trắng chứ phải kg anh??

và trong file *.asm của BLD thì làm sao ta chỉnh dc giá trị của BRGH để đạt được sai số nhỏ nhất??

tốc độ mình sửa trong file asm của BLD phải với giống với tốc độ chọn trong phần mềm tiny BLD (chỉ tvo71i các tốc độ: 115200,57600,38400,19200,9600) phải kg ạ?

em cảm ơn.
Giá trị trong các ô là giá trị cần thiết phải đặt vào thanh ghi tạo tốc độ baud (SPBRG), nhưng chỉ có thể đặt phần nguyên vào thanh ghi đó. Do vậy, ô có giá trị 2,26 sẽ có sai số lớn hơn nhiều (vì chỉ có thể đặt 2 trong khi giá trị chính xác là 2,26) so với ô có giá trị 12,02 (vì phần nguyên 12 sai khác rất ít so với giá trị chính xác là 12,02).

Việc tính ra giá trị cần đặt vào SPBRG đã được xử lý tự động bằng các macro trong tập tin "spbrgselect.inc", bạn không cần phải chỉnh lại giá trị này nếu chọn các tổ hợp ứng với các ô màu xanh. Tuy nhiên, nếu bạn chọn một ô màu vàng thì bạn phải chỉnh lại spbrg_value thành số nguyên gần nhất với giá trị của ô màu vàng đó tại dòng lệnh (macro của Claudiu về nguyên tắc là chạy tốt, nhưng với một số ô màu vàng lại cho kết quả không tốt, theo trí nhớ khá mờ nhạt của tôi):
Code:
	movlw	spbrg_value
Chú ý: Các macro của Claudiu chỉ dùng cho trường hợp BRGH = 1. Do đó, nếu bạn chọn các tổ hợp ứng với BRGH = 0 (và đã chỉnh lại firmware như đề cập dưới đây), thì bạn phải chỉnh tay giá trị spbrg_value như đã nói ở trên.

Về bit BRGH, nó là bit 2 của thanh ghi TXSTA, bạn có thể tùy nghi điều chỉnh bit này tại hai dòng lệnh:
Code:
	movlw	b'00100100'
	movwf	TXSTA
Tốc độ trong firmware phải khớp với tốc độ chọn trong phần mềm (là 1 trong 5 giá trị mà bạn đã mô tả). Giá trị cho 56000 bps là để dùng với các ứng dụng khác có hỗ trợ tốc độ này.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263

thay đổi nội dung bởi: namqn, 21-02-2010 lúc 07:15 PM. Lý do: Bổ sung thông tin
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn