PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và 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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 20-03-2006, 11:20 AM   #10
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Mình có một vài ý kiến về cách thiết kế mạch đèn giao thông của nhh như thế này:

Tất nhiên là chọn PORT điều khiển như thế nào cũng được, nhưng theo mình, khi thiết kế một ứng dụng, cần tìm cách để thiết kế là tối ưu.

Do PIC16F877A được tích hợp khá nhiều chức năng ngoài chức năng I/O thông thường, nên việc lựa chọn PORT điều khiển cũng nên cân nhắc. MÌnh nêu lên một số điểm như sau:

PORT C của PIC16F877A ngoài chức năng I/O là các chức năng CCP và giao tiếp nối tiếp (SPI, I2C,... ). Nếu nhh chọn PORT này làm PORT điều khiển các chân a-g của các LED thì các chức năng on-chip nêu trên sẽ không tương tác được nữa.

PORT D ngoài chức năng I/O là chức năng PSP (Parallel Slave Port). Chức năng giao tiếp này ít được sử dụng do số lượng chân cần cho giao tiếp khá lớn (8 chân PORT D và 3 chân PORT E), nhưng nhh đã sử dụng 3 chân để bật đèn giao thông. Như vậy chức năng này cũng bị mất luôn.

Có thể nói ta đã phí phạm 3 chức năng on-chip của PIC16F877A. Tất nhiên là trong ứng dụng của nhh ta chưa cần quan tâm đến vấn đề này, nhưng mình cũng muốn nêu lên để anh em cùng thảo luận.

Theo mình thì nên sửa lại như thế này:

Các chân data của Led 7 đoạn, mình sẽ đưa vào PORT D.
Các chân điều khiển đèn giao thông và quét LED sẽ đưa vào PORT B luôn.

Như vậy ta có thể tiết kiệm được các chức năng CCP và giao tiếp ở PORT C, cái mất đi chỉ là cái ít đụng tơi PSP, còn ngắt PORT B thì vẫn còn vài chân.

Trong các ứng dụng của mình có dính tới LED 7 đoạn, mình cũng bố trí các chân điều khiển như vậy.

Về chương trình cũng sẽ không có thay đổi lớn. Bạn nên "#define ..." các chân và PORT điều khiển. Như vậy khi cần thay đổi chân điều khiển, ta chỉ cần thay đổi cái phần define mà không cần phải sửa lại trong toàn bộ chương trình. Hơn nữa chương trình khi đọc cũng sẽ thân thiện và dễ hiểu hơn.

Một vài ý kiến góp vui như vậy. Anh em thấy thế nào.

__________________


thay đổi nội dung bởi: ntc, 20-03-2006 lúc 11:24 AM.
ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
CCS C for PIC16F877A nhh Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 405 24-04-2008 12:00 PM


Múi giờ GMT. Hiện tại là 04:50 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