View Single Post
Old 04-03-2008, 03:06 AM   #6
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
Viết như bạn đã sửa thì không ổn. Ví dụ, bạn đọc được giá trị 0x20 vào biến adc, sau đó bạn lại xuất trực tiếp giá trị của abc ra LCD, bộ điều khiển LCD sẽ hiểu là bạn muốn xuất 1 ký tự có mã hexadecimal là 0x20, nghĩa là ký tự khoảng trắng. Giả sử hàm ghi dữ liệu của bạn chạy tốt, bạn sẽ thấy có 1 khoảng trắng xuất hiện trên LCD (và thường là bạn không thấy gì, vì nó là khoảng trắng), dẫn đến bạn có thể kết luận là không xuất được gì ra LCD.

Đề nghị bạn làm như sau:
- Chỉ xuất một ký tự gì đó, 'A' chẳng hạn, ra LCD, để khẳng định bạn có thể ghi dữ liệu ra LCD (điều này cũng có nghĩa là các thao tác ghi lệnh trước đó đã thành công). Nếu bạn không xuất ký tự ra LCD được, bạn thử thực hiện quá trình reset mềm (tôi có viết đâu đó trên diễn đàn này, và cả bên www.dientuvietnam.net về quy trình này, 3 lần ghi lệnh 0x33, sau mỗi lần đều có delay, rồi mới thiết lập chế độ, ...)

- Đọc vào một giá trị ADC đã biết, và chuyển nó thành chuỗi ký tự tương ứng (tôi tin là CCS C có hàm chuyển đổi này, đó là itoa()), sau đó xuất ra LCD.

- Khi đã khẳng định được việc đọc từ module ADC và xuất ký tự ra LCD chạy tốt, bạn có thể ghép chúng lại để thực hiện công việc của bạn.

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, 04-03-2008 lúc 07:36 AM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn