|
Tài trợ cho PIC Vietnam |
PIC Việt Nam - Chuyên nghiệp Chúng ta sẽ thảo luận ở đây nhưng vấn đề về phương pháp nghiên cứu, cách làm việc và tổ chức công việc... |
|
Ðiều Chỉnh | Xếp Bài |
|
21-08-2010, 07:56 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Aug 2010
Bài gửi: 1
: |
Bắt đầu học PIC, hoc từ 16F877A được không ???
E đan bắt đầu tìm hiểu học về Pic 16f877A, nhưng không biết học như thế nào, nghe giang hồ đồn ở đây cao nhân hạ nhân rất nhiều xin chỉ giáo e vài chiu. Trước mắt e có bài code này ma hog hiểu cũng không biết viết bằng chuơng trình j luôn, mong các tiền bối giúp đỡ dịch dùm e đoạn code với tinh thần là 1 người bắt đầu học về Pic hiểu được, e cảm kích rất nhiều.
hoa.tuyet275@gmail.com |
22-08-2010, 03:54 PM | #2 |
Đệ tử 2 túi
Tham gia ngày: May 2007
Bài gửi: 31
: |
Èo, ko biết bạn có phải là người mới bắt đầu ko nữa, bạn xem link này chắc có ích đó
http://www.picvietnam.com/forum/showthread.php?t=357 Mới học PIC http://www.picvietnam.com/forum/showthread.php?t=4 Lựa chọn trình dịch http://www.picvietnam.com/forum/showthread.php?t=5347 |
27-09-2010, 08:08 PM | #3 |
Đệ tử 1 túi
Tham gia ngày: Dec 2009
Bài gửi: 11
: |
16f877a
Ngôn ngữ viết là CCS.
Bài lập trình bạn poss lên đậy rất dài, khộng thể giải thích hết được, chỉ có thể giải thích phần nào bạn chưa hiểu thôi. Mình có làm một bài giống hệt bài của bạn rồi, nhưng cách lập trình của mình khác với bài bạn poss ở đây. Mình có một số gợi ý cho bạn như sau: -Tìm hiểu về CCS. -Tìm hiểu về DS1307. -Lập trình thì phải chia nhỏ ra mà viết. Trong main chỉ để khai báo I/O với lải gọi các chương trình con thôi. Muốn làm gì thì viết chương trình con rồi gọi là ok. Viết như vậy thì dễ sửa, nhìn phần cứng(protech) chạy là biết sai ở đâu rồi. -Cơ bản của bài bạn đưa ở đây gồm những bước sau: +Khai báo sử dụng giao tiếp I2C: #USE I2C(MASTER,FAST,SDA=PIN_C4,SCL=PIN_C3) +Đặt giá trị ban đầu cho DS1307: VOID INIT_TIME(){ i2c_start();//bắt đầu sử dụng giao tiếp I2C i2c_write(0xd0);//chọn giao tiếp với ds1307(D0) i2c_write(0x00);//Bắt đầu ghi từ địa chỉ 0x00 i2c_write(0x00);//giay i2c_write(0x59);//phút i2c_write(0x06);//giờ i2c_write(0x02);//thứ i2c_write(0x31);//ngày i2c_write(0x07);//thàng i2c_write(0x10);//năm I2C_write(0x90);//tạo tần số 1hz tại chân số 7 của ds1307 i2c_stop();//dòng này ko giải thix chắc bạn cũng biết. } +Đọc giá trị từ ds1307 về: VOID CLOCK() { I2C_start(); I2C_write(0xd0); I2C_write(0x00); I2C_start(); I2C_write(0xd1); giay=I2C_read(1);//đọc giá trị giây về thanh ghi Giay//thanh ghi Giay tự khai báo// phut=I2C_read(1); gio=I2C_read(1); thu=I2C_read(1); ngay=I2C_read(1); thang=I2C_read(1); nam=I2C_read(1); I2C_stop(); +Tách giá trị ra:giá trị đọc về là giá trị BCD. VOID TACH_LED() { Led1=nhietdo/10; Led2=nhietdo%10; Led3=giay&0x0f;//hàng đơn vị của giây Led4=(giay&0xf0)>>4;//Hàng chục của giây Led5=phut&0x0f; Led6=(phut&0xf0)>>4; Led7=gio&0x0f; Led8=(gio&0xf0)>>4; } +Quét led:delay_ms(2) +Quay về làm lại như cũ nhưng không có cài giờ nha!(đặt chương trình cài giờ ngoài Main). -Muốn hẹn giờ hay cài lại giờ hẹn thì tự viết thêm. Nếu không viết được pm mail Laivantuynhcddt@gmail.com mình chỉ cho. |
29-09-2010, 12:54 AM | #4 |
Đệ tử 2 túi
Tham gia ngày: Sep 2010
Bài gửi: 41
: |
Viet bang asem hay hon,de hieu
|
05-12-2010, 05:42 PM | #5 |
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 2
: |
ạ co code dem san pham cho PIC6f877A cho em voi
chi tiet lien lac caysay_dethuong@yahoo.com.vn |
|
|