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 05-12-2008, 05:32 PM   #1
dream
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 5
:
Cơ bản về timer (CCS C)

Mình hiện nay cũng đang làm mạch đếm sản phẩm dùng PIC hiển thị số đếm ra LCD . chương trình mình viết dùng CCS Compile . Nhưng hiện nay không biết cách sử dụng Timer của PIC như thế nào . Mong các huynh đệ giúp đỡ .
Sau đây là một đoạn chương trình tham khảo sử dụng Timer mà mình không hiểu :
Code:
         set_timer0(0);       //Gan gia tri ban dau cho counter
         setup_timer_1(T1_EXTERNAL); // khoi tao timer 1 dem xung ngoai
         while (1)
            {

               giatri=get_timer0();   //Lay gia tri trong cac thanh ghi cua counter


               HEX_BCD();          //goi chuong trinh con HEX_BCD
               hienthi();             //goi chuong trinh con hien thi

            }
về phần cứng thì ngõ vào xung ngoại mình cấp là xung clock đưa vào chân RA4/TOCKI/C1OUT . Khi mô phỏng dùng proteus thì đã chạy , nhưng không hiểu rõ timer .
Xin được giúp đỡ . Cám ơn nhiều !

thay đổi nội dung bởi: namqn, 05-12-2008 lúc 05:43 PM.
dream vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-12-2008, 10:26 AM   #2
0903579509
Đệ tử 4 túi
 
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
:
Ở đoạn chương trình trên, chỉ làm việc ở timer0, không quan tâm đến timer1, bạn nên thay dòng lệnh :
setup_timer_1(T1_EXTERNAL); // khoi tao timer 1 dem xung ngoai
bằng dòng lệnh:
setup_timer_0(RTCC_EXT_L_TO_H|RTCC_DIV_1) // khởi tạo timer0 đếm xung ngoài theo cạnh lên, prescaler = 1
Chúc vui!
0903579509 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-12-2008, 12:36 PM   #3
trungduc
Đệ tử 2 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 44
:
Mình cũng đang quan tâm đến vấn đề đếm bằng timer0. Anh em nào có code ASM cho mình tham khảo với.
Thanks!
trungduc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-12-2008, 11:35 PM   #4
dream
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 5
:
chương trình trên tui thấy khi chạy chương trình thì nó đếm từ 0-->255.
Giờ muốn đặt trước số đếm thì làm sao các Bác .
Nghĩa là tui muốn cho nó đếm từ 0-->100 thôi.
Sau đây tôi có tham khảo được một đoạn chương trình sau .Nhờ các bác phân tích dùm nhé :

setup_counters(rtcc_ext_l_to_h, rtcc_div_1); //khoi tao counter0 o che do dem
// voi he so chia 1
i=208;

while(1)
{
set_rtcc(208); //dat truoc gia tri cho counter vao thanh ghi option*/

while (tmr0!=0) //tang bien dem thanh ghi option*/

{
a=(tmr0-i);
}

HEX_BCD(); //goi chuong trinh con HEX_BCD
hienthi(); //goi chuong trinh con hien thi

}
dream vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-12-2008, 11:46 PM   #5
dream
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 5
:
ở chương trình trên : tui thấy hàm set_rtcc(208) có nghĩa là đặt trước số đếm ban đầu là 208. sau đó hàm a=(tmr0-i) là lấy số đếm từ 0-->50.
Như vậy số đếm sản phẩm của chương trình là 50 thoi .
khi tui thử với chương trình của mình thì thấy báo lỗi ở dòng lệnh while(tmr!=0) với thông báo là "undefined identifier tmr0" . Nghĩa là nó không xác định được tmr0 .
theo tui biết thì tmr0 là thanh ghi chứa số đếm của Timer0 .
Vậy không hiểu cái lỗi đó là sao hả các Bác .

các Bác giúp em với !
dream vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-12-2008, 01:09 PM   #6
dream
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 5
:
Cơ bản về timer (CCS c)

Dưới đây là bài đếm sản phẩm hiển thị LCD tui đã mô phỏng xong .
chương trình mô phỏng proteus , ngôn ngữ C.
Bác nào chưa biết có thể tham khảo .
chúc các bác một ngày vui vẻ
dream 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:03 AM   #7
thongdtk3
Nhập môn đệ tử
 
Tham gia ngày: Oct 2008
Bài gửi: 7
:
ở đâu vậy?
thongdtk3 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-12-2008, 11:47 PM   #8
dream
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 5
:
Bữa trước mình post lên nhưng không được . Nay post được rùi .
Bác nào quan tâm có thể tham khảo nè .
File Kèm Theo
File Type: rar LCD_DEM_SP.rar (15.9 KB, 329 lần tải)
File Type: rar dsp.rar (4.1 KB, 261 lần tải)
dream vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-05-2009, 03:45 AM   #9
the_duyet
Đệ tử 1 túi
 
Tham gia ngày: Mar 2008
Nơi Cư Ngụ: Hạ Long City
Bài gửi: 18
:
Send a message via Yahoo to the_duyet
Post

Trích:
Nguyên văn bởi dream View Post
Bữa trước mình post lên nhưng không được . Nay post được rùi .
Bác nào quan tâm có thể tham khảo nè .
Cảm ơn bạn,nhưng sao tôi tải về lại không có file dsp.c,bạn có thể share cho mọi người nghiên cứu được không? Rất mong hồi âm của bạn!Cảm ơn!
the_duyet vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-04-2009, 02:00 AM   #10
thaithien
Đệ tử 7 túi
 
Tham gia ngày: Aug 2007
Bài gửi: 213
:
Có ai giải thích dùm là đếm cạnh lên và cạnh xuống là thế nào không ?Ảnh hưởng tới ngắt như thế nào ?
thaithien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-04-2009, 12:28 AM   #11
thaithien
Đệ tử 7 túi
 
Tham gia ngày: Aug 2007
Bài gửi: 213
:
Làm ơn giúp dùm đi.Cho hỏi thêm câu nữa về chức năng timer và counter của timer0 đi.Chưa hiểu nhiều lắm mặc dù đã search diễn đàn rồi.
thaithien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-04-2009, 10:38 AM   #12
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
cạnh lên (rising edge) : thay đổi từ mức 0 ==> mức 1.
cạnh xuống (falling edge) : thay đổi từ mức 1 ==> mức 0.
Timer dùng để delay , đếm (counter), hoặc 1 số timer có chức năng đặc biệt.
việc dùng ngắt timer làm cho chương trình trở nên linh hoat hơn phương pháp tuần tự.
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-04-2009, 11:47 AM   #13
thaithien
Đệ tử 7 túi
 
Tham gia ngày: Aug 2007
Bài gửi: 213
:
Ai có chưong trình để thể hiện 2 hiện hai chức năng counter và timer của timer0 cho mình xin.Nếu có các code khác cũng được.Cảm ơn rất nhiều.
thaithien 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à 12:34 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