Nguyên văn bởi jackychan
Xem bài viết
Timer - Watchdog - Dao động...
Collapse
X
-
ko có ADC thì có thể dùng ngắt ngoài để điều khiển. mỗi lần ngắt sẽ tăng 1 khoảng delay theo yêu cầu. khi delay đến một mức max thì quay về mức min. hoặc có thể dùng 2 nút ngắt. 1 nút tăng, 1 nút giảmLMD 238 Tăng Bạc Hổ - TP. Quy Nhơn.
-
gửi bạn đoạn chương trình sau tham khảo nhé.Nguyên văn bởi fcvanbachc1 Xem bài viếtem mới vào nghề,có bài sau muốn hỏi.em đang đọc về ngắt của con dspic,thử lập trình ngắt cho nháy đèn led từ 0-9 cho nó.chương trình của em gặp vấn đề thì phải,vì khi em thay đổi giá trị của PR1 thì thời gian nháy vẫn thế.nó vẫn nháy loạn lên.vậy mong các anh sửa giúp em với,và tư vấn cho em chút it về ngắt.sau đây là đoạn chương trình của em:
#define __dsPIC33FJ12MC202__
#include <p33fj12mc202.h>
int led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 7};
int i;
void _ISR _T1Interrupt(void)
{
_T1IF = 0;
}
main()
{
TMR1=0;
PR1=0x2625A; //cho phep ngat sau 1 giay
T1CON=0x8030; //chon ti le dem trc la 256
_T1IF=0; //xoa co ngat TMR1
_T1IE=1; //cho phep ngat
TRISB=0xff00;
while(1)
{
for (i=0;i<10;i++)
{
PORTB=led[i];
}
}
}
#include <p33FJ12MC202.h>
int led[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 8};
int i = 0;
//Cac prototype cho cac chuong trinh con
void Init_PORTS(void);
void Init_TMR1(void);
//Chuong trinh chinh
int main(void) {
Init_PORTS(); //Khoi tao cac cong I/O
Init_TMR1(); //Khoi tao Timer 1
while (1) { //Vong lap chinh
};
}
//Chuong trinh con khoi tao cac cong I/O, de noi voi LED
void Init_PORTS(void) {
PORTB = 0xffff;
TRISB = 0x0000; //LED noi vao chan RB, la ngo ra
}
//Chuong trinh con khoi tao Timer 1, tran sau moi 1 giay o muc xung 40 Mips
void Init_TMR1(void) {
TMR1 = 0x0000; //Xoa so dem trong TMR1
PR1 = 0x2625A; //Nguong tran la 1 giay tuong ung voi clock = 80 MHz
_T1IF = 0; //Xoa co ngat cua Timer 1
T1CON = 0x8030; //Dung fcy lam clock, prescale = 1:256
_T1IE = 1; //Cho phep ngat Timer 1
}
//chuong trinh ngat
void _ISR _T1Interrupt(void)
{
_T1IF = 0; //Xoa co ngat
if (i>9)
{i=0;}
else
{PORTB = led[i];
i++;
}
}
tôi đã test bằng protues thấy tạm ổn.nhưng theo tính toàn của tôi là trễ 1 giây nhưng lúc mô phỏng thì lên đến 2s thì phải.mong các cao thủ chỉ giáo thêm
Comment
-
watchdog mình cũng ko rành lắm.
giờ cho hỏi mình muốn reset thì có thể dùng ngắt được ko?
ko cần phải chờ tràn bộ nhớ gì cả.
VD : mình cài đặt ngắt TiMER ,khi ngắt xảy ra thì vào ngắt reset lại toàn bộ được ko?
nếu dc hay ko gì thì cũng cho hỏi khi reset wachdog cần set những bít nào. cách tính toán thời gian tràn ra sao? cho xin tài liệu tham khảo càng tốt
thanks!
Comment
-
Sử dụng được. Nhưng nó :Nguyên văn bởi Lenh Ho Xem bài viếtủa, em chưa thử nhưng vì WDT là một timer nên có thể sử dụng nó như một timer được không>
- Nó không ổn định di bộ dao động RC bị phụ thuộc môi trường => không thể làm bộ đếm+ hẹn giờ do ko chính xác.
- Nếu chương trình chạy ổn định thì timer không bao giờ tràn => không dùng được ngắt.
Vậy bạn muốn ứng dụng nó vào việc gì đây ?
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
hôm nay, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
hôm nay, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-

Comment