PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Dung ngat cho Port D khi lở làm phần cứng PortB nối với LCD! (http://www.picvietnam.com/forum/showthread.php?t=3338)

dientubk3 21-12-2008 10:10 PM

Dung ngat cho Port D khi lở làm phần cứng PortB nối với LCD!
 
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

1 Attachment(s)
Trích:

Nguyên văn bởi dientubk3 (Post 21583)
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

LCD ,keypad!
 
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

Trích:

Nguyên văn bởi lion (Post 21585)
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!


Múi giờ GMT. Hiện tại là 10:41 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam