Tại đây các bạn có thể up lên các ứng dụng thực tế của 8051 để mọi người mới học có thể tham khảo, học tập dễ hiểu hơn. và không phải đi tìm nhiều trong diễn đàn.
Thông báo
Collapse
No announcement yet.
các ứng dụng của 8051 vào thực tế
Collapse
This topic is closed.
X
X
-
một ứng dụng rất thực tế là các bạn có thể tự tay mình làm lấy một bộ đồng hồ, đồng hồ báo thức, lịch vạn niên, đo nhiệt độ...bằng 89c51 rất là hấp dẫn. các bạn hãy bắt đầu từ những ý tưởng đơn giản nhất, thiết thực trong cuộc sống. Quá trình làm mắc đâu có thể hỏi anh em trong diễn đàn, mọi người sẽ giúp. trong diễn đàn có rất nhiều cao thủ đấy. Bác kiên (kien.nx@elcom.com.vn) là người rất giỏi về ứng dụng vi điều khiển vào thực tế. và là người rất nhiệt tình. các bạn có thể hỏi a. kiên anh ấy sẽ giúp đỡ đấy.Last edited by minhhieu; 21-12-2006, 21:59.n
ĐT: 0986 492 489
Tham khảo:
-
bạn có thể vào link này tham khảo http://dientuvietnam.net/forums/showthread.php?t=5382n
ĐT: 0986 492 489
Tham khảo:
Comment
-
chao ban mihn hieu ban huogn dan dum minh viet chuogn trình ham hiên thị và ham ngắtCode:unsigned long int so_xung=0; // so xung trong 1 giay unsigned long int so_vong_phut=0; //so vong quay trong mot phut unsinged long int tick=0; //đếm thời gian #define xung_vao P1_0 //xung từ cảm biến nối vào chân này #define Hight 1 #define Low 0 char Trang_thai_cu=0; void Hien_thi(unsigned long int xung) { //bạn tự viết hàm hiển thị ở đây // với giá trị cần hiển thị số vòng/ phút là biến "xung" } //ban tự khởi tạo hàm ngắt 1ms void Interrupt_Timer1(void) interrupt TF1_VECTOR /* Timer 1 ngắt tràn 1ms/ { tick++; //đếm số milisecond if((xung_vao==Hight)&&(Trang_thai_cu==Low)) { so_xung++; //tăng số xung đếm lên 1 đơn vị Trang_thai_cu = Hight; } else if(xung_vao==Low) Trang_thai_cu = Low; if(tick>=1000) // nếu trong 1 giây { so_vong_phut = so_xung/2 * 60 ; //tính số vòng/phút Hien_thi(so_vong_phut); // cứ 1 giây gọi hàm hiển thị số vòng/phút tick=0; so_xung=0; so_vong_phut = 0; } }
http://www.freewebtown.com/nhachue9988/New%20Folder.rarLast edited by VNarmy; 15-07-2007, 01:13.
Comment
-
mình sẽ viết cho bạn. bạn cần phải dịch chương trình sang mã có dạng *.HEX . nếu mô phỏng bằng proteus bạn bấm vào IC89C51 chọn đường dẫn đến file *.HEX bạn vừa tạo ra là được. bạn không thể nạp file *.c vào được đâu.n
ĐT: 0986 492 489
Tham khảo:
Comment
-
trước tiên cảm ơn sự nhiệt tình của minh hiếu đối vơi mình
minh hiếu bạn viết dum mình chương trình đếm tốc độ động cơ 1 chiều hiên thị ra 3 led 7 đèn nhé . Vàhướng dẫn mình sử dụng phần mềm mô phỏng :KeilC51 và Proteus 6.7 sp3 trên diễn đàn cobài hướng dân KeilC51 nhưng mình làm mãi ma nó không chay toàn báo can't load >file *c minh da poost len rồi đó .còn Proteus 6.7 thì mình chịu không biết sủ dụng . bạn biết đó để hiêu được cần chạy chương trình mình viết ra thì mới biết lỗi đugn ko? Vây mà mình ko biết sử dụng >mong sự giúp đỡ của MINH HIẾU vàcác bạn .
bạn nào có sách bài tập và hướng dẫn post cho mình nhé thank
Comment
-
Code:/*chuong trinh hien thi toc do dong co hien thi ra 4 led 7 thanh bang phuong phap quet led. Để hiển thị chính xác số vòng/phút của động cơ bạn cần phải có nhiều xung cảm biến trong một vòng quay. ví dụ như quay được 1 vòng cảm biến nhận được 50 xung chẳng hạn. chương trình này viết bằng keilC */ #include<AT89x51.h> #define LED4 P2_3 //den led hang nghin #define LED3 P2_2 //den led hang tram #define LED2 P2_1 //den led hang chuc #define LED1 P2_0 //den led hang don vi #define Hight 1 #define Low 0 #define Sensor P2_7 // tin hieu tu cam bien toc do #define so_xung_mot_vong 10 //gia su mot vong dong co quay tao ra 10 xung #define Clear P2|=0x0F //clear cac led #define Data P0 unsigned long int so_xung = 0; unsigned long int tick = 0; unsigned long int so_vong_phut = 0; //toc do dong co vong/phut char Old_Sensor = Low; // =========khai bao su dung cac ham======================================= void delay(unsigned int mm); void hienthi(); //========================================================================= //0 , 1 , 2 , 3 ,4 ,5 ,6 ,7 ,8 const char So[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 0x98,0x88,0xC6,0x86,0x8E,0x82,0x89,0x7F,0xFF}; // 9 , A , B , C , D ,E , F , . , TRANG void delay(unsigned int ms) //tao tre { unsigned int m,n; for(m=0;m<ms;m++) for(n=0;n<100;n++); } void hienthi() { Clear; // tắt tất cả các LED trước khi cho hiển thị mơi Data = So[so_vong_phut/1000]; //hien thi so hang nghin LED4 = Low; delay(1); Clear; Data = So[(so_vong_phut%1000)/100]; // hien thi so hang tram LED3 = Low; delay(1); Clear; Data = So[(so_vong_phut%100)/10]; // hien thi so hang chuc LED2 = Low; delay(1); Clear; Data = So[so_vong_phut%10]; // hien thi so hang don vi LED1 = Low; delay(1); } void ngat_100us(void)interrupt TF0_VECTOR // su dung ngat timer0 { TH0=0x00; TL0=0x9C; tick++; //cu 100us tang len mot lan if((Sensor == Hight)&&(Old_Sensor == Low)) //neu trang thai xung truoc la { //muc thap va trang thai xung hien so_xung++; //tai la muc cao thi coi la nhan duoc Old_Sensor = Hight; // mot xung } else if(Sensor == Low) Old_Sensor = Low; if(tick>=10000) //lay mau trong khoang 1 giay { so_vong_phut = (so_xung/so_xung_mot_vong)*60; so_xung = 0; //reset lai tick = 0; //reset lai } } void main(void) { TMOD=0x02; // che do 8 bit tu nap lai TH0=0x00; TL0=0x9C; //tran 100us ET0=1; P0=0xff; P2=0xff; TR0 = 1; EA=1; //cho phep su dung ngat while(1) { hienthi(); } }
Last edited by VNarmy; 15-07-2007, 01:14.n
ĐT: 0986 492 489
Tham khảo:
Comment
-
Ví dụ này và ví dụ mô phỏng bạn có thể vào địa chỉ mail để download về( lưu ý: bạn đừng chỉnh sửa hay xoá gì trong thùng mail này nhé để mình làm nơi lưu dữ liệu up lên cho mọi người).
Hiển thị ra LED bằng phương pháp quét LED dùng Proteus không chuẩn đâu. vì thời gian thực không chuẩn. bạn nên làm một mạch thật sẽ thấy thú vị cho người mới học đó.
Trên diễn đàn có chỗ nào đó đã có bài hướng dẫn dùng KeilC rồi đó.
Bạn vào www.gmail.com đăng nhập bằng tài khoản : tai.lieu.vdk@gmail.com
password: minhhieun
ĐT: 0986 492 489
Tham khảo:
Comment
-
chào bạn bạn hưóng dan
bạn huong dan cho minh su dung phan mem keil c51 ming dủngoi ma ko duoc đã làm giông nhu bac hải hưóng dẫn toan báo lõi ko thể load file .c
minh da cho duogn dan len rồi đó . mong chi giáo bạn làm sao tạo đựoc nhiều file vâyj file QUET LED 7 data soure name mở nhử thế nào vậy sao mình ko mở đựoc .
ban dung freeweb up len nhu vay ko can cho pass va mọi nguoi van dơn duoc thank
Comment
-
hôm sau mình sẽ gửi cho bạn hướng dẫn sử dụng phần mềm KeilC. bạn dùng Keilc để dịch vì mình viết Code trên phần mềm này. nếu bạn dùng P52V1130 thì cách viết và khai báo thư viện khác nên nó có tới 73 lỗi.
Với keilC bạn phải tạo một project. sau dó Add file .C vào rồi biên dịch mới sử dụng được.n
ĐT: 0986 492 489
Tham khảo:
Comment
-
chào minh hiếu bạn có chương trinh viết keil c băngng ngôn ngữ c (tiếng việt nhé)poss lên cho mình với mình cám ơn bạn rất nhiều về sự nhiệt tình của bạn thank !!!!!!!!!!!!!!!!11
tb :ban hương dan viết chương trinh điều khiển tóc đọ đọng cơ 1 chiều cho mihnf nhé
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 nhathung1101Tôi biết và tôi biết.
Sẽ bắt đầu với cái Sồn La, rồi mấy mạch nguồn vớ vỉn.... Rồi sẽ đèn led...
Cuộc đời là những chuyến xe, nên sẽ có:
Xe đạp điện, xe máy điện, xe ô tô điện, xe cấp cứu điện, xe tang điện.
Rồi xem.-
Channel: Điện tử công suất
hôm nay, 01:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vấn đề là thu ánh sáng rồi phát ra ánh sáng cơ. Hồi mẫu giáo cô bảo đừng làm, lão không nhớ à?
Tốt nhất im mồm....-
Channel: Điện tử công suất
hôm nay, 01:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietBài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
-
Channel: Tâm tình dân kỹ thuật
14-02-2025, 16:15 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanỞ đtvn này mới biết đến 2 loại mạch
1 step down
2 step up
Bây giờ anh lưu vong làm thuê bên nước lạ còn làm ra cái mach vừa up vùa dow luôn.
Tính chất là:
1 Đầu vào bằn ra cho nối thẳng
2 Đầu vào cao hơn...-
Channel: Điện tử công suất
14-02-2025, 00:51 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanHa ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....-
Channel: Điện tử công suất
14-02-2025, 00:42 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
-
Channel: Điện tử công suất
13-02-2025, 17:02 -
-
Trả lời cho Tiếng Anh cho người Việtbởi hankhungdtMình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
-
Channel: Tâm tình dân kỹ thuật
13-02-2025, 08:43 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi ti500Chúc mừng bác đã chỉnh sửa thành công, nhưng theo em thì video hơi rối nếu bác muốn gửi cho bên supplier xem.
Nếu là em thì em chỉ cần nối dây để hiển thị liên tục điện áp ở ngõ ra là 220Vdc trước khi gắn LED, kế đến là cắm...-
Channel: Điện tử công suất
13-02-2025, 07:39 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi tuyennhanTrước khi có đủ thực lực thì chỉ làm vì mình thôi đừng nghĩ đến chuyện khác cái mạch toàn dãi tiện sử dụng nhưng tỷ lệ hư hỏng phải bảo hành cũng cao hơn ,lợi bất cập hại .
-
Channel: Điện tử công suất
13-02-2025, 07:22 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vâng, em biết chứ bác, thực tế thì có rất nhiều điều tế nhị rất khó áp dụng được những gì tốt đẹp nhất mà chúng ta tìm ra (và nhiều khi mình nghĩ là tốt nhưng lại không tốt cho người khác). Tuy nhiên, ĐT đã và đang chọn sự sẻ...
-
Channel: Điện tử công suất
12-02-2025, 13:01 -
Comment