![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Jun 2005
Bài gửi: 28
: |
![]() Linh kiện:
1- IC PIC16F84A 2- LED x 4 cái 3- R 470 Om x 4 cái 4- Thạch anh 10 M (ceramic - 3 chân) 5- Nguồn 5V. ![]() Kết nối mạch: IC PIC16F84A 1- Chân 4 + chân 14 nối với +5V 2- Chân 5 nối với GND 3- Chân 15 + chân 16 nối với hai chân ngoài của thạch anh ( chân giữa của thạch anh nối với GND) 4- Lần lượt các chân 6; 7; 8; 9 tương ứng với RB0; RB1; RB2; RB3 -> nối tiếp qua R 470 Om tới cực dương của LED -> cực âm của LED nối với GND. Cấp điện +5V cho mạch và... chấm hết. -----------------------------------------------* Mạch điện mang tính cách sườn căn bản (...rườm rà...!) chỉ có vài dòng lập đi lập lại, với mục đích chỉ rõ sự tuần hoàn lập luận trên cơ sở logic. Tuy nhiên mạch có thể tối ưu nhằm tiết kiệm tài nguyên cho ROM. Các bạn có thể cắt bớt hoặc điều chỉnh lại tùy nghi với bài tập trên mạch căn bản này. Hic ! PIC-NGHEO mới download PICC từ forum này và học gấp nên code nó ra thế ! ![]() Cảm ơn falleaf và hphong23 đã coi bài + góp ý . Chúc cả nhà PIC vui ![]() thay đổi nội dung bởi: PIC-NGHEO, 06-07-2005 lúc 10:27 AM. |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Jun 2005
Bài gửi: 2
: |
Bác này nhập môn như vậy là cũng được rùi, chắc mới vào nghề.
Bác nên dùng 1 ngắt timer, trong ngắt này làm 1 biến và tăng dần và làm các lệnh: //Ngắt i++; if(i==1) { Làm việc gì đo; } if(i==3) { Làm việc gì đó; } ... if(i==MAX) { i=0; //kết thúc 1 chu trình } //Kết thúc ngắt. Tuy nhiên có thể dùng lệnh Case... thay if. Như vậy chỉ cần dùng 1 biến+ 1 ngắt là làm tuốt mọi thứ. Dùng delay như bác thì chết chết. |
![]() |
![]() |
![]() |
|
|