PDA

View Full Version : Dung ngat cho Port D khi lở làm phần cứng PortB nối với LCD!


dientubk3
21-12-2008, 10:10 PM
Mình đang làm luận văn,mình thiết kế con pic làm Master để truyền theo chuẩn I2c!Mình đã thiết kế phần cứng cho Pic như sau:PortB giao tiếp LCD,port D giao tiếp bàn phím.Port C giao tiếp I2c bus!Mình muốn viết chương trình như sau:
+Mỗi lần nhấn 1 phím trên Keypad 4x4 thì sẽ tự động 1 ký tự truyền đến LCD và cũng ký tự đó truyền đến I2C bus!Nhưng mà Pic16f877a chỉ phục vụ ngắt portB,mình chỉ còn có port D giao tiếp với bàn Phím 4x4.Vậy mình muốn thực hiện ngắt quét phím 4x4 đồng thời phát lên LCD và I2C thì mình làm như thế nao với phần cứng như vậy?Help me!Please!

lion
21-12-2008, 11:43 PM
Mình đang làm luận văn,mình thiết kế con pic làm Master để truyền theo chuẩn I2c!Mình đã thiết kế phần cứng cho Pic như sau:PortB giao tiếp LCD,port D giao tiếp bàn phím.Port C giao tiếp I2c bus!Mình muốn viết chương trình như sau:
+Mỗi lần nhấn 1 phím trên Keypad 4x4 thì sẽ tự động 1 ký tự truyền đến LCD và cũng ký tự đó truyền đến I2C bus!Nhưng mà Pic16f877a chỉ phục vụ ngắt portB,mình chỉ còn có port D giao tiếp với bàn Phím 4x4.Vậy mình muốn thực hiện ngắt quét phím 4x4 đồng thời phát lên LCD và I2C thì mình làm như thế nao với phần cứng như vậy?Help me!Please!

Bạn có thể chỉ cần dùng1 ngắt thôi ví dụ : RB0 hoặc ngắt time0 (time1) với gợi ý sau nhé .

thiết lập : TRISD=0xf0 ; PORTD=0xf0 ;
khi 1 phím nào đó của ma trận phím được nhấn thì xẽ xảy ra ngắt ( từ 1 -> 0 ) núc chương trình của bạn sẽ được sử lý trong chương trình ngắt

xem hình :

dientubk3
22-12-2008, 09:05 AM
Thanks ban Lion!Vay ban co code giao tiep Pic 16f877a voi Keypad va hien thi LCD ko .Neu co send minh nhe!Thanks!

0903579509
22-12-2008, 01:17 PM
Bạn có thể chỉ cần dùng1 ngắt thôi ví dụ : RB0 hoặc ngắt time0 (time1) với gợi ý sau nhé .

thiết lập : TRISD=0xf0 ; PORTD=0xf0 ;
khi 1 phím nào đó của ma trận phím được nhấn thì xẽ xảy ra ngắt ( từ 1 -> 0 ) núc chương trình của bạn sẽ được sử lý trong chương trình ngắt

xem hình :

Trong trường hợp bàn phím như hình vẽ của bạn, thì làm thế nào để sử dụng ngắt TimerX cho bàn phím ? Mong bạn chỉ giáo!
Thank!