theit61 kế aptomat số dùng ic 8051 hiển thị được dòng điện tải và đặt được dòng cắt của aptomat,dòng cắt có thể chảy từ 0-10A mỗi bước cắt là 1A.ai biết nói sơ sơ cho em với
Thông báo
Collapse
No announcement yet.
Dành cho người mới tìm hiểu 8051
Collapse
X
-
Mấy sư huynh đệ giúp em bài này với,em làm cả tuần vẫn không chạy được
thiết kế đồng hồ số với 8 led 7 đoạn phương pháp quét và 1 nút nhấn đơn,yêu cầu:
*Hiển thị dc đồng hồ khi nhấn nút ko bị tắt led
*Khi nhấn nút giữ quá 2s thì sẽ tăng biến Mode.Mode=0:không chỉnh;Mode=1:chỉnh giờ:Mode=2 chỉnh phút.Khi nhấn giữ ko quá 2s thì tăng giá trị.
*Khi nhấn Mode đang chỉnh ở vị trí nào thì 2 led đó nhấp nháy.
Em cảm ơn mọi người nhiều
Comment
-
bạn ơi? bạn có thể giải thích cho mình ý ngĩa của đoạn này không?
usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
for(i=0;i<ms;i++)
for(j=0;j<120;j++)
mình mới tìm hiểu về lập trình nên k rõ lắm về đoạn này? mong bạn chỉ giúp?
cảm ơn bạn nhiều!!!!
Comment
-
Nguyên văn bởi Rock_Man Xem bài viếtbạn ơi? bạn có thể giải thích cho mình ý ngĩa của đoạn này không?
usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
for(i=0;i<ms;i++)
for(j=0;j<120;j++)
mình mới tìm hiểu về lập trình nên k rõ lắm về đoạn này? mong bạn chỉ giúp?
cảm ơn bạn nhiều!!!!
for(unsigned char i=0;i<8;i++);
{portB=0x00<<i};
Hàm này có ý nghĩa port B có 8 bit, thì từ vòng lặp ban đầu i=0 --> port B =0x00
i=1 --> port B =0x00000001
i=2 --> port B =0x00000010
i=3 --> port B =0x00000100
i=4 --> port B =0x00001000
i=5 --> port B =0x00010000
i=6 --> port B =0x00100000
i=7 --> port B =0x01000000
i=8 --> port B =0x10000000
khi hàm for gặp điều kiện i=8 thì hàm for sẽ thực hiện xong và chuyển đến hàm kế tiếp. Mong giúp ích cho bạn!Tran Thanh Tuan
Comment
-
mình là sinh viên.bây giờ đang muốn tìm hiểu và học vi điều khiển& vi xử lý!
mình có vài thắc mắc muốn hỏi những người có kinh nghiệm.Rất mong mọi người chỉ bảo!thanks
c1:trong các họ vi điều khiển và vi xử lý (8051,PIC,AVR) thì cái nào thường được dùng nhiều cho đi làm sau này?và là sinh viên nên học cái nào trước?
c2:để học vi điều khiển và vi xử lý thì phải học tốt điện tử tương tự và điện tử số có phải không?
c3:trong các phần mềm viết code cho vi điều khiển thì phần mềm nào hay dùng nhất và có tính ưu việt nhất?
và ngôn ngữ lập trình phổ biến thường dùng cho VDK&VXL là gì?
Mình rất muốn những anh chị có kinh nghiệm giải đáp3 câu hỏi trên!
Comment
-
Nguyên văn bởi hackerone Xem bài viếtmình là sinh viên.bây giờ đang muốn tìm hiểu và học vi điều khiển& vi xử lý!
mình có vài thắc mắc muốn hỏi những người có kinh nghiệm.Rất mong mọi người chỉ bảo!thanks
c1:trong các họ vi điều khiển và vi xử lý (8051,PIC,AVR) thì cái nào thường được dùng nhiều cho đi làm sau này?và là sinh viên nên học cái nào trước?
c2:để học vi điều khiển và vi xử lý thì phải học tốt điện tử tương tự và điện tử số có phải không?
c3:trong các phần mềm viết code cho vi điều khiển thì phần mềm nào hay dùng nhất và có tính ưu việt nhất?
và ngôn ngữ lập trình phổ biến thường dùng cho VDK&VXL là gì?
Mình rất muốn những anh chị có kinh nghiệm giải đáp3 câu hỏi trên!
_ Để lập trình tốt VDK thì bạn phải có kiến thức căn bản về kỹ thuật số, Analog, lý thuyết điều khiển tự động, phuơng pháp tính, toán, Matlab, Protues, OrCAD... bạn đi theo cái này phải có đam mê vì khi đi làm khó kiếm việc lắm, mà có thì làm việc rất căng thẳng. Khi làm một mạch ứng dụng vi điều khiển bạn phải tính toán rất nhiều mới ra thị trường chứ ko như trường lớp có sẵng.
_ Ngôn ngữ lập trình thường là dùng C, còn trình dịch chỉ là công cụ hổ trợ dịch chuơng trình C ra mã thập lục phân. Nhưng thường một lập trình viên chuyên nghiệp sẽ dịch qua mã ASM rồi tinh chỉnh và chuyển tiếp sang mã hex. Vì làm như thế sẽ tiết kiệm bộ nhớ VXL. Cái này đòi hỏi phải biết ngôn ngữ C & ASM. Ngoài ra còn có các ngôn ngữ hổ trợ lạp trình giao tiếp máy tính với VDK, C# là một ngôn ngữ thường dùng.
_ Nếu bạn đam mê và dùng nó làm cơm gạo thì nên đầu tư ngay từ bây giờ các môn toán lý để sau này đọc những tài liệu công thức thì dễ hiểu hơn.Tran Thanh Tuan
Comment
-
bạn gửi qua địa chỉ email của mình lun nhé. Thanks rất nhiều
email của mình là: malphite1993@yahoo.com
Comment
-
mình đang điều khiển robot 3 động cơ muốn thêm 3 nút : chậm - vừa - nhanh nữa (khi ấn là nó set duty là 50-75-100)
nhưng ko biết làm thế nào để set duty sau đó điều khiển các nút tiến-lùi-rẽ trái-phải-leo lên-leo xuống.
ai pro thêm hộ 3 nút cài tốc độ với
mô phỏng protues:mo phong 01101220
Code:#include <REGX51.H> sbit data0 = P1^0; // 4 cong data (0-3) tu PT2272 vao` sbit data1 = P1^1; sbit data2 = P1^2; sbit data3 = P1^3; sbit ch_trai = P0^1; //chieu dong co trai sbit ch_phai = P0^3; //chieu dong co phai sbit dc_trai = P0^2; //xung dong co trai sbit dc_phai = P0^4; //xung dong co phai sbit ch_xich = P0^5; //chieu dong co xich sbit dc_xich = P0^6; //xung dong co xich unsigned char dem = 0, duty = 0, count = 0, dem2 = 0, duty2 = 0, dem1 = 0, duty1 = 0; ///////////// //tao tre void delay_ms(unsigned int t) { unsigned int i,j; for(i=0;i<120;i++) for(j=0;j<t;j++); } //khoi tao timer 100us void khoitao() { TMOD = 0x02; //timer che do 2 tu nap IE = 0x82; TH0 = TL0 = -50000; //tao tan 100us TA 12MHZ => 100us x 100% = 10000us = 10ms TR0 = 1; } //ngat tao pwm void timer0(void) interrupt 1 { TR0=0; TF0=0; dem++; dem1++; dem2++; if(dem>=100) dem=0; if(dem1>=100) dem1=0; if(dem2>=100) dem2=0; if(duty<=dem) { dc_trai = 1; //dc_phai = 1; } if(duty>dem) { dc_trai = 0; //dc_phai = 0; } if(duty1<=dem1) { dc_phai = 1; } if(duty1>dem1) { dc_phai = 0; } if(duty2<=dem2) { dc_xich = 1; } if(duty2>dem2) { dc_xich = 0; } TR0=1; } //cac ham tien-lui-trai-phai void ctien() { ch_trai = 0; ch_phai = 0; delay_ms(70); duty = 80; duty1 = 80; } void clui() { ch_trai = 1; ch_phai = 1; delay_ms(70); duty = 80; duty1 = 80; } void ctrai() { ch_trai = 1; ch_phai = 0; delay_ms(70); duty = 70; duty1 = 80; } void cphai() { ch_trai = 0; ch_phai = 1; delay_ms(70); duty = 80; duty1 = 70; } void stop() { ch_trai = 1; ch_phai = 1; ch_xich = 1; delay_ms(70); duty = 0; duty1 = 0; duty2 = 0; } void leo_len() { ch_xich = 1; delay_ms(70); duty2 = 50; } void leo_xuong() { ch_xich = 0; delay_ms(70); duty2 = 50; } //chuong trinh quet nut chay void chay() { stop(); //chay tien while(data0==1&&data1==0&&data2==0&&data3==0) { ctien(); } //chay lui while(data0==0&&data1==1&&data2==0&&data3==0) { clui(); } //re trai while(data0==0&&data1==0&&data2==1&&data3==0) { ctrai(); } //re phai while(data0==0&&data1==0&&data2==0&&data3==1) { cphai(); } //leo le^n while(data0==1&&data1==1&&data2==0&&data3==0) { leo_len(); } //leo xuong while(data0==0&&data1==0&&data2==1&&data3==1) { leo_xuong(); } } /////////CT CHINH//////// void main(void) { khoitao(); P1=0x00 ,P0 = P2 = P3 = 0xff; while(1) {chay();} }
Comment
-
Nguyên văn bởi quynh Xem bài viếtĐây là quyển sách khá hay về lạp trinh C cho 8051.
Tui up mãi lên đây ko được.Bạn nào cần thì liên hệ với mình nhé.Quyển này viết bằng tiếng anh, khá cơ bản.Dung lượng gần 5MB
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamKhông thể đổ lỗi cho không biết nhạc lý. Nhắm mắt lại gõ vào chương trình viết nhạc, phần mềm vẫn tạo ra giai điệu.
Phần mềm chia nốt đen cho trường canh không sai. Cái sai ở đây là cháu không phân biệt phách mạnh, yếu để tạo nhịp thuận....-
Channel: Tâm tình dân kỹ thuật
05-06-2024, 10:35 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ là vì tác giả không có căn bản nhạc lí nên cái sheet đó chắc hẳn sẽ sai về qui cách biểu thị, và đó chỉ là thể hiện các nốt nhạc như trên piano vậy, phần mền nó vẫn chạy ra am thanh giai điệu được....
-
Channel: Tâm tình dân kỹ thuật
05-06-2024, 08:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamTôi không hiểu ý tác giả thế nào, khi shhet nhac không đúng làm sao có giai điệu?
Khi hát, hay chơi đàn, ca sĩ hoặc nhạc công giẫm chân để giữ nhịp, cap cấp hơn trong organ có cả máy metronom để giữ nhịp. Tác giả sáng tác toàn nhịp chỏi, rất khó hát và khó giữ nhịp....-
Channel: Tâm tình dân kỹ thuật
04-06-2024, 16:28 -
-
bởi jack22Tôi có một chiếc máy in Anet A6 cũ ở đây, chiếc máy in này tôi đã dần dần chuyển đổi thành bản sao Prusa MK3. Chỉ có động cơ bước và trục là Anet nguyên bản. Mặc dù đã có nhiều cải tiến và chất lượng in khá tốt nhưng vẫn có những...
-
Channel: Điện tử dành cho người mới bắt đầu
04-06-2024, 16:02 -
-
bởi pia2k1Chạy nhiều thì nó nóng thui
-
Channel: Điện tử dành cho người mới bắt đầu
04-06-2024, 11:48 -
-
Trả lời cho Lý luận về hướng phát triển thị trườngbởi pia2k1Lý luận là thế nhưng sẽ còn tùy thuộc vào hiện trạng nữa....
-
Channel: Xu hướng, nhu cầu và thị trường
04-06-2024, 11:09 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chỉ ngân dài từ ơn thôi bác, không thay đổi nhạc là mấy ...
-
Channel: Tâm tình dân kỹ thuật
04-06-2024, 10:20 -
-
Trả lời cho Kiểm tra biến ápbởi nhathung1101Lão lại mô tả dây chuyền dùng robot cơm à? Giờ công nghệ 4.0 chứ có phải 0.4 đâu.
Biến áp xung giờ chế tạo đơn giản lắm. Máy tự quấn. Robot gắp ra, đặt lên đế test, máy tự phát xung rồi đo kiểm. Ngon thì nó im lìm đưa lên...-
Channel: Điện tử dành cho người mới bắt đầu
04-06-2024, 02:27 -
-
Trả lời cho Kiểm tra biến ápbởi nguyendinhvanLàm BAX sẽ cần nhiều công đoạn kiểm tra hơn là biến áp sắt.
- Công đoạn đầu tiên là bạn phải phân loại được lõi Ferit, Có nhiều lõi Feerrit rất đẹp, không khác gì mọi cái khác, nhưng hệ số từ thẩm thì lại giống như không...-
Channel: Điện tử dành cho người mới bắt đầu
04-06-2024, 01:13 -
-
Trả lời cho Kiểm tra biến ápbởi nguyendinhvanTôi cố gắng tưởng tượng xem làm thế nào để công nhân tháo tác cho nó sai vòng dây, nhưng không tưởng tượng ra được.
Nhưng sai sót cực kỳ dễ xảy ra , đó là nhầm chân.
Theo quy trình, công nhân lắp cốt vào dưỡng, khóa lại,...-
Channel: Điện tử dành cho người mới bắt đầu
04-06-2024, 00:57 -
Comment