31-01-2009, 12:26 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Nov 2008
Bài gửi: 15
: |
thac mac ve cac file 16f877a.h và def877a.h
em đang học về CCS, có làm theo luồng hướng dẫn sau
http://www.picvietnam.com/forum/showthread.php?t=689 khi làm theo project 2 thì có báo lỗi ko xác định trisD (vì file def877a.h là được đổi tên từ file 876 vốn ko có port D) chỉ cần xóa đi hàng này là có thể compile được và chạy đúng. (ko cần chèn thêm define của portD) Điều đó nghĩa là, file lcd4bit.c đã tự động truy cập portD mà ko thông qua file def877a.h. Xem kĩ lại file lcd4bit.c, thấy có dòng lệnh sau: #separate void LCD_SetData ( unsigned int cX ) { output_bit ( LCD_D4, cX & 0x01 ); output_bit ( LCD_D5, cX & 0x02 ); output_bit ( LCD_D6, cX & 0x04 ); output_bit ( LCD_D7, cX & 0x08 ); nhưng LCD_D4 là define PIN_D4 (đồng thời cũng được define là số 68 trong file 16f877a.h) Vậy tóm lại, em muốn hỏi số 68 này làm sao lại là đại diện cho pinD4 được vì hình như pic ko có chế độ định địa chỉ từng bit. và quan trọng hơn, em nhận thấy cả 2 file 16f877a.h và def877a.h đều có tác dụng định nghĩa con Pic trong C vậy tại sao phải tách ra làm 2 file? bản chất của việc đó là gì? P/S: lẽ ra nên post ở luồng cũ nhưng vì hình như không còn ai xem luồng đó nữa nên mới post ra đây, mong các anh thông cảm Thân chào! |
|
|