PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-12-2008, 10:10 PM   #1
dientubk3
Đệ tử 1 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 14
:
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!
dientubk3 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-12-2008, 11:43 PM   #2
lion
Đệ tử 6 túi
 
lion's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 127
:
Trích:
Nguyên văn bởi dientubk3 View Post
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 :
Hình Kèm Theo
File Type: jpg INTERRUPT.JPG (22.8 KB, 157 lần tải)

thay đổi nội dung bởi: lion, 21-12-2008 lúc 11:51 PM.
lion vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-12-2008, 09:05 AM   #3
dientubk3
Đệ tử 1 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 14
:
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!
dientubk3 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-12-2008, 01:17 PM   #4
0903579509
Đệ tử 4 túi
 
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
:
Trích:
Nguyên văn bởi lion View Post
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!
0903579509 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam