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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 02-03-2007, 04:57 PM   #1
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Question Bộ so sánh và PWM cho PIC16F877A

ai biết thì chỉ cho em về bộ so sánh và PWM hai kênh cùng một lúc.
và cho em biết bắt đầu từ đâu và làm như thế nào?
Xin chân thành cảm ơn!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-03-2007, 05:36 PM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Đây là vấn đề về thiết kế phần cứng, có nghĩa là khi bạn dùng thiết bị cùng một chân, thì bạn không thể dùng chung được. Chỉ đơn giản là bạn tìm cách thiết kế phần cứng, cho nó giống cái switch và dùng một tín hiệu để bật tắt cái switch này để chuyển chân. Sau đó, tại cùng một thời điểm bạn không thể dùng nó cùng lúc.

Ngoại trừ trường hợp bạn thay một con PIC có nhiều chân CCP hơn.

Chúc vui.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-03-2007, 09:01 PM   #3
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
ý cùa em là ko dùng hai cái cùng một lúc mà hoặc là dùng bộ so sánh hoặc là dùng PWM hai kênh CCP1 và CCP2 cùng một lúc. Hai cái này riêng biệt không dùng chung so sánh và PWM cùng lúc!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-03-2007, 10:09 PM   #4
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Hai chức năng này, sẽ dùng chung timer trên hai chân (nếu 2 chân được setup cùng chức năng). Do đó, bạn chỉ cần bật chức năng này, setup timer 1 lần, và chạy nó.

Có nghĩa là, bạn chỉ phải setup cho chân CCP1 là PWM, chân CCP2 là PWM, rồi chỉnh timer theo ý bạn, rồi chạy. Tương tự, CCP1 là comparator, CCP2 là comparator, rồi setup timer, rồi chạy.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-03-2007, 08:05 PM   #5
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
vậy anh falleaf có chương trinh demo nào cho hai phần này thì up len cho em dc ko?
Xin cảm ơn!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-03-2007, 02:19 PM   #6
PICC
Nhập môn đệ tử
 
Tham gia ngày: Mar 2007
Bài gửi: 3
:
16f877a khong PWM duoc

toi dang dung 16f877a de lam pwm nhung la 1 cho la luc dau van pwm duoc, nap chuong trinh vai lan la no khong pwm duoc nua, chang biet chuyen gi xay ra. Neu mua 1 con nua bo vao thi lai bi y nhu con dau, co ai biet chuyen gi da xay ra khong?
PICC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-03-2007, 06:37 PM   #7
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi PICC View Post
toi dang dung 16f877a de lam pwm nhung la 1 cho la luc dau van pwm duoc, nap chuong trinh vai lan la no khong pwm duoc nua, chang biet chuyen gi xay ra. Neu mua 1 con nua bo vao thi lai bi y nhu con dau, co ai biet chuyen gi da xay ra khong?
Bạn mô tả quá chung chung. Chưa thấy có ai phản ánh về PWM của PIC16F877A như bạn, mà số người dùng PWM của PIC16F877A đâu phải chỉ có một vài.

Bạn đã cấu hình chip như thế nào, đã nạp chương trình vào chip như thế nào, đoạn code set up PWM của bạn như thế nào, và những nơi nào trong chương trình của bạn cập nhật giá trị cho PWM (post những đoạn code đó luôn).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2007, 10:27 PM   #8
phamvanthang
Nhập môn đệ tử
 
Tham gia ngày: Sep 2006
Bài gửi: 7
:
dung CCP1 de tao song vuong voi PIC877a

Toi dang tim cach su dung che do CCP1 cua PIC877a tao ra song vuong, chuong trinh viet bang CCS C. Nhung chay mo phong bang Proteous thi lai thu duoc song co chu ki khong phai la 2 ms. Xin moi nguoi sua giup. Cam on!
Code:
#include <16F877.h>
#INCLUDE<def_877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

int16 pulse;

#int_ccp1
void isr()
{
      
   if (!bit_test(PORTB,0)){
   output_high(PIN_b0);
   }
   else{
   output_low(PIN_B0);}
   CCP_1+=1000;   
}



void main()
{
   CHAR VALUE;
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);   
   setup_ccp1(CCP_COMPARE_INT);
   enable_interrupts(INT_CCP1);
   enable_interrupts(GLOBAL);


   pulse = 1000;
   TRISB = 0;
   PORTB = 0;
   CCP_1 = PULSE;
   
   set_timer1(0);
       
   while(true);                       
}

thay đổi nội dung bởi: namqn, 28-03-2007 lúc 12:30 AM.
phamvanthang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2007, 12:58 AM   #9
phamvanthang
Nhập môn đệ tử
 
Tham gia ngày: Sep 2006
Bài gửi: 7
:
Khong hieu sao chuong trinh tren lai chay dung roi! Nhung ma khi toi thay CCP1 bang CCP2 thi chuong trinh lai chay sai.

namqn: Bạn chú ý viết tiếng Việt có dấu, diễn đàn có sẵn bộ gõ tiếng Việt rồi, bạn không cần cài thêm gì vào máy của bạn đâu.

thay đổi nội dung bởi: namqn, 13-07-2008 lúc 12:40 AM.
phamvanthang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-07-2008, 12:23 AM   #10
0509592
Đệ tử 3 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 58
:
các bác co tai liệu tiếng Việt về pic 16F877A thi load lên cho em với.
email: truongtv0510@gmail.com
thanks!
0509592 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2008, 02:06 PM   #11
tallht
Đệ tử 5 túi
 
tallht's Avatar
 
Tham gia ngày: Mar 2008
Nơi Cư Ngụ: Bình Thạnh, TPHCM
Bài gửi: 98
:
bạn search trên mạng thì có đó mà.
__________________
-------------------------------------------------------------------
Cung cấp bo mạch thực hành Arduino và các mạch sáng tạo.
Mời tham quan: https://www.facebook.com/eshop1109

Cung cấp dịch vụ order hàng từ Aliexpress
Liên hệ: https://www.facebook.com/Mua-h%E1%BB...5265931515571/
tallht vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2008, 07:23 PM   #12
tmtm
Đệ tử 4 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 79
:
Trích:
Nguyên văn bởi 0509592 View Post
các bác co tai liệu tiếng Việt về pic 16F877A thi load lên cho em với.
email: truongtv0510@gmail.com
thanks!
Bạn có thể vào đây http://dientuvietnam.net/forums/showthread.php?t=12053 hoặc vào đây http://park.geocities.jp/hitechcontr...en-tu-dong.htm (cái này tải hơi khó, hình như là mục báo cáo ngay trên đầu thì phải).
tmtm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2008, 07:28 PM   #13
tmtm
Đệ tử 4 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 79
:
Trích:
Nguyên văn bởi tallht View Post
bạn search trên mạng thì có đó mà.
có thì nói là có, ko có thì nói là ko có, ''search trên mạng'', tất nhiên rồi, nhưng nói thế sao nghe khó quá!
tmtm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-08-2008, 05:46 PM   #14
minhdt10
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 18
:
Code:
#include <16F877a.h>
#INCLUDE<def_877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

int16 pulse;

//#int_ccp1
#int_ccp2
void isr()  
{
   if (!bit_test(PORTB,0)) 
   {
      output_high(PIN_B0);
   }
   else
   {
      output_low(PIN_B0);
   }
//   CCP_1+=1000; 
   CCP_2+=5000;
}

void main()
{
//   CHAR VALUE;
 
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);   
   setup_ccp2(CCP_COMPARE_INT);

   enable_interrupts(INT_CCP2);  //-> Cho phep ngat
   enable_interrupts(GLOBAL);

   pulse = 5000;
   TRISB = 0;  
   PORTB = 0;  
//  CCP_1 = PULSE;
   CCP_2 = PULSE;
   
//   set_timer1(0);
   set_timer1(0); 
      
   while(true);                       
}
Bạn thử cái này xem thế nào
minhdt10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-09-2008, 11:55 AM   #15
window
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 6
:
Các bạn có thể gom lại thành một tài liệu chi tiết , cơ bản và đầy đủ cho anh em mới được học hỏi.
window 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 26 07-05-2024 08:55 AM
TUT về USART trong PIC16F877A mafd_47a MPASM 11 04-05-2024 04:43 AM
Lập nhóm PIC16F877A nhh Cơ bản về vi điều khiển và PIC 285 08-03-2017 11:08 PM
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à 08:18 AM.


Đượ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