em cai custom roi nhung cung ko duoc anh a!
ko hiểu nỗi hôm trước em cài và dùng được nhưng từ khi gở ra cài lại thì ko thảnh công không biết tại sao nữa @ngohaibac: Lần sau em viết bài thì phải viết dài, hỏi thì hỏi vào một bài là được. Em vào luồng về MPASM để thảo luận và xem các anh chị đã làm nhé. http://www.picvietnam.com/forum//forumdisplay.php?f=34 Chúc em thành công. |
Thư viện I2C Master.
Tiếp theo là về module I2C, một chuẩn giao tiếp quan trọng khi giao tiếp với ngoại vi như EEPROM, RTS(DS1307),...
Do đó, mình xin cung cấp cho các bạn các hàm và thực thi của các hàm này trên HTPIC. Mình có tham khảo cả ở bọn htsoft nhưng nó viết sai một số hàm không chạy được, mình đã viết lại toàn bộ. Đầu tiên là hàm I2C.h: Code:
//I2C.h Code:
// I2C.c - Khởi tạo I2C bằng I2C_Start(); - Start bằng I2C_Start(); - Chọn slave giao tiếp bằng cách ghi địa chỉ và bit RW tương ứng với chế độ đọc hay ghi. - Ghi dữ liệu lựa chọn byte nào cần ghi hay cần đọc trong bảng RAM của DS1307. - Ghi dữ liệu hay là đọc dữ liệu. Chú ý: khi ghi xong, muốn đọc thì phải làm lại tức là phải restart nhé. Chúc các bạn thành công. |
cám ơn anh ngohaibac để em cài cái máy tính của em rồi em làm lại những gì anh hướng dẫn thữ xem sao! em sẽ không bao giờ bỏ cuộc cả hôm nay em sẽ cài máy lại rồi cài MPLAP rồi cài HT-pic và CCS C luôn
@nohb: những cái này em có thể chát Yahoo với anh. Anh đề nghị không spam bài ở đây. Để cài HTPIC, CCS em xem hướng dẫn là cài được. Em xem xong anh sẽ del bài này đó. |
Chào các bạn.
Mình thấy các thư viện của mình vẫn chưa tối ưu. Thư viện sẽ phải có thêm các lựa chọn là các constant để thiết lập cho các hàm Init. Các trình dịch tự sinh mã đều có các yếu tố này nhưng mà thấy C18, C30 có cách đặt tên các lựa chọn này khá hay. Nên bạn nào có thời gian thì nên viết lại và thêm các constant này vào thì chương trình sẽ có tính sử dụng lại cao. Mình có thời gian sẽ viết lại thêm. Chúc các bạn thành công. |
các bác cho em hỏi HTPIC với HTPIC 18 có khác nhau không vậy :D
|
Em cam on Bac nhieu lam.Bac that rong luong.thanh vien moi
|
HT-PIC cho động cơ bước
chào các bác, em đang làm bài tập điều khiển động cơ bước loại 4 pha,2cuộn dây, 1 nguồn 5V chung cho 2 cuộn dây. Góc bước 7.5 độ. Làm và mô phỏng trên mạch thật mà mãi ko được. phát nản cả người. với đoạn code dưới thì động cơ quay bốn bước thì dừng, ko quay nữa, bấm nút thì động cơ lại quay tiếp.
Hình trên proteous mang tính chất minh họa, vì ko mô phỏng trên proteous thuật toán là cứ sau mỗi lần cấp xung tới các cuộn dây của động cơ thì lại check nút bấm và cấp xung tiếp theo đúng chiều để động cơ quay cho phù hợp với yêu cầu nút bấm. nếu bác nào có code về bài tập này thì up lên cho anh em xem với! code: // DIEU KHIEN DONG CO BUOC: loai 4 pha, goc buoc 7.5do, dien ap 5V // Nut bam RB0 : Quay trai; nut RB1 : dung; RB2 : Quay phai // yeu cau: dong co dang quay trai neu bam nut quay phai (mot lan, ko can bam nhieu lan) thi doi chieu va quay phai. // dong co dang quay phai neu bam nut quay trai (mot lan) thi doi chieu va quay trai // dong co dang quay bam nut dung thi dung lai, nhung PORTD van duoc xuat ra 1 gia tri bang gia tri cuoi cung ngay truoc khi dung #include<pic.h> __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS); // ============= KHAI BAO CAC CHUONG TRINH CON =========== // ============= CHU Y: phai xap xep theo dung thu tu chuong trinh con o duoi. Mot loi ngo ngan HAHAHA ========= char phimbam(void); void DL(unsigned int i); // ============= CHUONG TRINH CHINH =========== void main () { // ============= KHOI TAO ============ static char a; // bien a dieu khien trang thai hoat dong cua cua dong co OPTION = 0b00000000; // dung prescaler cho timer0 voi ti le 1:2 Va dung tro keo len PORTB TRISB = 0b00000111; // chan RB0, RB1, RB2 la input TRISD = 0b00000000; // PORTD la cong ra PORTD = 0b01010000; // PORTD gia su dang o vi tri dau ung voi gia tri 0b01010000, cac vi tri vai tro nhu nhau. while (1) { a = phimbam(); if (PORTD == 0b01010000) { switch(a) { case 1 : { DL (5000); //trai PORTD = 0b10010000; }; break; case 2 : { DL (5000); PORTD = 0b01010000; }; break; case 3 : { DL (5000); PORTD = 0b01100000; }; //phai break; }; }; if (PORTD == 0b10010000) { switch(a) { case 1 : { DL (5000); //trai PORTD = 0b10100000; }; break; case 2 : { DL (5000); PORTD = 0b10010000; }; break; case 3 : { DL (5000); PORTD = 0b01010000; }; //phai break; }; }; if (PORTD == 0b10100000) { switch(a) { case 1 : { DL (5000); //trai PORTD = 0b01100000; }; break; case 2 : { DL (5000); PORTD = 0b10100000; }; break; case 3 : { DL (5000); PORTD = 0b10010000; }; //phai break; }; }; if (PORTD == 0b01100000) { switch(a) { case 1 : { DL (5000); //trai PORTD = 0b01010000; }; break; case 2 : { DL (5000); PORTD = 0b01100000; }; break; case 3 : { DL (5000); PORTD = 0b10100000; }; //phai break; }; }; } } // =========== CAC CHUONG TRINH CON ============ //============================================== // chuong trinh "phimbam" phai lam sao de an 1 lan la duoc? chu ko can an nhieu lan hoac la phai giu nut an 1 luc ??????? static char phimbam(void) { if ((RB0==0)&&(RB1==1)&&(RB2==1)) return (1); // dong co quay trai if ((RB1==0)&&(RB0==1)&&(RB2==1)) return (2); // dong co dung if ((RB2==0)&&(RB1==1)&&(RB0==1)) return (3); // dong co quay phai } //================ HAM DELAY DUNG TIMER0 ============= void DL(unsigned int i) { while (i--) { TMR0 = 6; T0IF = 0; while (!T0IF); }; } -> động cơ quay bốn bước dừng chắc do biến ''a'' ko giữ được giá trị ở vòng while tiếp theo. |
hiên nay minh đang làm đồ án đồng hồ số hiện thị trên led 7 đoạn (dùng led đơn kết nối như led 7 đoạn). với kích thước 43*130 cm. nhưng phần cứng thì minh đã làm nhưng chưa chạy được vì port quét led chưa hoạt động còn port quét dữ liệu data thì hoạt động. mong các anh em tư vấn giùm minh. minh sử dụng ic 89c51 lập trình và chương trình đã thành công nhưng phần cứng thì chưa {minh xuất dữ liệu ra mưc 0} http://www.megaupload.com/?d=KH8OLX77
nho tu van goi qua mail: tranthanhbinh8888@gmail.com |
Bac ơi cho mình hỏi bạn viết bằng chuong trình biên dịch nào thế CCS-C hay là HTPICC
|
Anh Bắc ơi, có bài nghiên cứu nào của anh về điều khiển LED ma trận post cho mọi người tham khảo với...
Thanks |
Trích:
Tôi cũng gặp tình cảnh tương tự! Win của tôi là XP SP2 có bản quyền, phần mềm chống virus cũng là BKAV bản quyền. Cài xong thì không thể khởi động nên không thể chỉ đường dẫn nhúng các trình biên dịch vào mplab IDE như hỉ dẫn trên microchip được. Ai thực sự đã giải quyết triệt để lỗi trên thì chỉ dẫn cho anh em! ------------------------------- Tôi đã xử lý được theo cách sau: http://www.picvietnam.com/forum/showthread.php?t=5804 |
sao khobg cho dơn de
|
sao ko cho dơn ve
|
Cám ơn anh Bắc!
|
anh Bắc cho em hỏi tí ở chỗ bài nháy led dùng pp delay .theo em thấy mỗi vòng lặp while (time--) chi co 250us phải kô anh ?anh giải thik dùm em với.em mới học pic .cám ơn anh!
|
Múi giờ GMT. Hiện tại là 07:03 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam