Thông báo
Collapse
No announcement yet.
lap trinh c cho vi khien
Collapse
X
-
Lập trình C:
Các bác nói đến lập trình C cho vi điều khiển, hình như là người biết rồi thì mới đọc được hay sao ý.
có một trang dễ hơn cho người mới bắt đầu, các bác tham khảo xem !
http://www.k3it.net/home/modules.php...iewtopic&t=195
Comment
-
Các bác ơi cho hỏi chút nhé
Trong delay theo mọi người khuyến khích thì nen dùng ngắt nhưng tui không hiểu là như thế nào
void delay1S()
{
//Chế độ 1 thanh ghi 16 bIT,TH0 và TL0 chứa 65536-50000
FOR(I=0;I<2;I++)
{
TH0=0X3C;
TL0=0X60;
TR0=1;
WHILE(!TF0);
TRO=0;
TF0=0;
}
VÀ CHƯƠNG TRÌNH NÀY
VOID DELAY1S()
{
INT16 I;
INT J;
FOR(J=0;J<2;J++)
FOR(I=0;I<50000;I++);
}
Cả hai chương trình đều chạy như nhau nhưng tại sao lại nên dung timer hơn.???
Còn dùng ngắt timer thì trong trường hợp giá trị delay lớn hơn 0.65ms thì sao nhỉ. Lúc đó làm sao dùng ngắt timer được.Và sẽ phải thêm các vòng lặp.Như vậy cũng đâu có lợi gì so với không dùng ngắt?????
Thắc mắc quá.Nhờ cá cao thủ cho lời giải đáp nha
ThanksAi nên khôn mà chẳng dại đôi lần.
Comment
-
Lấy một ví dụ sau để làm sáng tỏ vấn đề hoặc nên hay không dùng ngắt:
- Giả sử cần tạo 1s, trong khi đó ta cũng đang làm công việc thăm dò 1 cảm biến trộm
vậy làm sao để vừa tạo được 1s , vừa quan sát -phát hiện nhanh nhất trang thái trên ch6n cảm biến? Khi đó 1 giải pháp hay nhất có lẻ là dùng nghắt TIMER sau mỗi 50ms, như vậy chỉ cần 20 lần ngắt là đủ 1s nhưng vẫn đảm bảo tốt nhất 2 công việc lúc.
- Hoặc giải ta cần tạo một Clock Digital, khi đó dùng ngắt để tạo 1s theo Phi thấy đó là cách hiệu quả nhất !
Comment
-
Nguyên văn bởi tuananh_tactCác bác nói đến lập trình C cho vi điều khiển, hình như là người biết rồi thì mới đọc được hay sao ý.
có một trang dễ hơn cho người mới bắt đầu, các bác tham khảo xem !
http://www.k3it.net/home/modules.php...iewtopic&t=195
Lời nhận xét cảu bạn thật đáng để cho Phi ghi nhớ.Vâng, rất cảm ơn sự góp ý của TuaAnh. Anh em chúng ta cũng nên xem lại chổ này.
Comment
-
Neu khong dung ngat thi trong khoang thoi gian delay khong the thuc hien duoc cac cong viec khac. Nguoi lap trinh nen tranh truong hop phai cho vong lap ma khong lam gi het, nhu vay rat lang phi tai nguyen
void timer0_ISR (void) interrupt 1
{
code
}
Neu thoi gian delay lon co the su dung them bien de dem.
Comment
-
Nguyên văn bởi led1312Các bác ơi cho hỏi chút nhé
Trong delay theo mọi người khuyến khích thì nen dùng ngắt nhưng tui không hiểu là như thế nào
void delay1S()
{
//Chế độ 1 thanh ghi 16 bIT,TH0 và TL0 chứa 65536-50000
FOR(I=0;I<2;I++)
{
TH0=0X3C;
TL0=0X60;
TR0=1;
WHILE(!TF0);
TRO=0;
TF0=0;
}
VÀ CHƯƠNG TRÌNH NÀY
VOID DELAY1S()
{
INT16 I;
INT J;
FOR(J=0;J<2;J++)
FOR(I=0;I<50000;I++);
}
Cả hai chương trình đều chạy như nhau nhưng tại sao lại nên dung timer hơn.???
Còn dùng ngắt timer thì trong trường hợp giá trị delay lớn hơn 0.65ms thì sao nhỉ. Lúc đó làm sao dùng ngắt timer được.Và sẽ phải thêm các vòng lặp.Như vậy cũng đâu có lợi gì so với không dùng ngắt?????
Thắc mắc quá.Nhờ cá cao thủ cho lời giải đáp nha
Thanks
khi timer hoạt động bộ vdk có thể thực hiện những việc khác
khi có ngắt tràn timer thì mới dũng công việc hiện tẠI
có dùng vòng lặp bộ vdk có một khoảng thời gian ko làm gì
như vậy thì rất lãng phí
với delay>0.65ms hoàn toàn có thể dùng timer
bẵng cách dùng thuật toán bạn dùng 1 biến đếm
cứ khi nào tràn timer thì có ngắt đếm tăng lên 1 sau đó nạp lại
giá trị cho th ,tl rồi lại đếm trở lại
như vậy có thể cho biến đếm đạt đến 1 giá trị x nào đó thì thơi gian
delay = x*(giá trị nạp của th,tl)SHARE KHO PHIM LỚN
Comment
-
Cảm ơn Duy Phi và giaosucan nhiều. Vậy có nghĩa là trong lúc dùng ngắt Timer ta nên thêm một số vòng lặp nhỏ để tạo nên giá trị delay lớn hơn phải không?.Cái chổ này làm tại hạ suy nghĩ hơi bị nhiều. Các bác cho hỏi thêm chút nha
Khi ta dùng timer0 làm bộ đếm thì giá trị đếm sẽ được nạp vào TH0 và TL0.Khi có cạnh xuống trên chân T0 thì thanh ghi TH0 và TL0 sẽ tăng lên một phải không mấy bác.Tuy nhiên có cách nào để lấy giá trị này hiên lên LED 7seg không?
void main()
{
TMOD=0X05;
UNSIGNED CHAR I,J,K,L;
TR0=1;
WHILE(1)
{
I=TL0;
IF(I==10)
{
I=0;
J++;
HIENTHILED(I);//led1
DELAY();
HIENTHILED(J)//led2
DELAY();
IF(J==10)
{
J=0;
K++;
HIENTHILED(I);//led1
DELAY()
HIENTHILED(J);//led2
DELAY();
HIENTHILED(K);//led3
DELAY();
}
}
}
Ví dụ như vậy đi ha.còn một số lệnh setb để điều khiển LED nào sáng thì tại hạ tạm bỏ qua cho đỡ dài dòng .Tuy nhiên đối với TH0 thì làm thế nào các bác nhỉ.Bác nào có thuật toán khác không share cho anh em với.
Làm phiền các bác nhaAi nên khôn mà chẳng dại đôi lần.
Comment
-
Co the ban thiet ke LED theo kieu quet phai khong?. Ban nen dung Ngat de hien thi LED thi hay hon. Neu su dung delay thi trong thoi gian quet khong the nhan duoc tin hieu tu ngoai vao neu he thong cua ban can doc tin hieu tu cac cam bien.
Comment
-
Nguyên văn bởi tramhero#pragma asm
//code asm
#pragma endasm
Theo toi thay thi chuong trinh Keil ho tro lap trinh C rat tot,co day du tinh nang, khong can phai ket hop ca C va asm lam gi cho kho.
De chen duoc code asm vao keil ngoai dong #pragma con phai set SRC cho no nua.
Bam phai chuot vao file dang lap trinh, chon Option, tim cho nao trong Option co SRC thi enable het len.
Chen Asm vao nhieu cho rat tien, cu the nhu ham delay, chi can nhin vao, biet xtal loai nao la nham ra thoi gian bao lau..
Comment
-
Nguyên văn bởi fangiaTôi mới học 8051 lập trình bằng ASM sử dụng trình dich Reads51
khi khai báo chíp bằng dòng lệnh
#include <sfr51.inc>
lúc dịch no cứ báo lỗi là sao vậy mấy bác?
làm ơn chỉ giáo
cảm on may bac nhé
Comment
-
Anh fan gia chỉ cần khai báo # include <RC51Regs.inc>
là được.
Lập trình C có chèn thêm ASM rất thuận tiện, tiện nhất là mấy cái khởi tạo baud, tính thời gian timer và hơn nữa nó có sẵn cái hàm delay() , viết được cái hàm này trong C cũng mất nhiều thời gian hơn là asm.Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Theo toi, Keil co chuong trinh Debug rat day du, co the chay mo phong xem thoi gian thuc thi cua cac chuong trinh delay la bao nhieu rat chinh xac, khong chi la chuong trinh delay ma cac chuong trinh con ton bao nhieu tthoi gian chung ta cung co the quan sat.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ thấy chú dinh... có vẻ mặn nồng với đèn sự cố nên cháu rình lúc chị hàng xóm đi vắng bắc thang trèo lên chụp mấy cái đèn nhà chị ấy ạ. Tầm vài trăm cái dùng tuýp led 220v bình thường ấy ạ. Dùng chiếu sáng thay bóng tuýp luôn Hơn...
-
Channel: Điện tử công suất
Hôm qua, 22:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietTheo sơ đồ bạn đã vẽ thì đây chỉ là mạch nguồn flyback không cách ly, phản hồi cả dòng lẫn áp thôi mà. Một dạng nguồn CC-CV thông dụng. Kiếm con chip tốt làm là được, nếu chịu chạy dãy LED có cách ly thì càng tốt.
Vấn đề...-
Channel: Điện tử công suất
Hôm qua, 21:56 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Phật có dạy là CHÁNH NIỆM (hay CHÍNH gì ấy, ĐT bị... rối loạn ngôn ngữ và trí nhớ, mong lượng thứ!) - CHÁNH NGỮ - CHÁNH HÀNH ĐỘNG, đó là đường hướng tới CHÁNH ĐẠO.
ĐT ngu muội nên cứ áp dụng vào điện tử: phải cố...-
Channel: Điện tử công suất
06-02-2025, 06:16 -
-
Trả lời cho [HELP] mạch cầu H inverter 100vdc to 100v ?bởi ngoctn93Em cũng có nguồn 250 đến 280vdc muốn chuyển sang 100vac bằng mạch cầu H dùng esg002. Có bác nào làm rồi chỉ em hoặc bán em với ạ. Em xin cảm ơn ạ
-
Channel: Điện tử công suất
05-02-2025, 23:00 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpCháu thấy chú nhat... viết toàn cái gì gì ấy ạ khó hiểu ghê, chắc mai cháu phải đi hỏi mấy anh chị lớp lớn hơn xem sao ạ. Những việc lớn tầm cỡ thì hông phải ai cũng có đủ kiến thức, thời gian, sức khỏe, tiền bạc, đam mê, kiên...
-
Channel: Điện tử công suất
05-02-2025, 22:11 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Bác bảo ai lớn tờ iếng tiếng?
Hùng là không nhé. Chỉ bảo tận tình chứ không tận diệt.
Yêu kỹ thuật nên vẫn tham gia cho vui thôi. Mấy của nợ này dùng con PIC hai chục ngàn còn ngon luôn....-
Channel: Điện tử công suất
05-02-2025, 21:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi vi van phamThôi mà, anh em giúp đỡ nhau, có gì mà lớn tiếng?
Ai không chịu giúp đỡ nhau thì vào đây nhậu với tui. Bà xã hôm nay ngũ sớm tui được tự do, solo buồn quá, Nhathung,Dinhthuong ,Đinh Vặn gì đó tui cân tuốt.-
Channel: Điện tử công suất
05-02-2025, 21:16 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Thằng I Lôn Mút nó sắp đưa người lên sao Hỏa rồi.
Mấy anh em vẫn bàn cái "Một Phát Phải Thôi" thì nẫu quá.
Ngâm cứu cái gì cho đáng đi. Còn tôi nói gì hơi quá thì xin lỗi nhé.-
Channel: Điện tử công suất
05-02-2025, 19:45 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Và tôi thấy cái này như con bò sữa thôi mà. Nếu xét nguyên lý.
Bóp bóp bóp... đến hết thì thôi. Cái mạch thì nguồn sơ đẳng. Con để bóp thì vu nó lại cáo cào cao.
Ắc qui hay pin thì vưỡn giá nào xào nấy. Inverter thì...-
Channel: Điện tử công suất
05-02-2025, 19:33 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Chip hay trở? Chip tôi có vài bịch để từ trước tết, mai giặt.
Trở thì tồn vài cân. Toàn hàng đặt, sai số 1%.
Nhưng ở đây ko buôn bán, chỉ tặng....-
Channel: Điện tử công suất
05-02-2025, 19:14 -
Comment