Ðăng Nhập

View Full Version : Đã có ai lập trình Pic bằng MCC18 chưa?


coidoi
16-11-2009, 02:12 PM
Chào mọi người!
Hiện tại mình đang gặp một chút trục trặc nhỏ ở thằng mcc18, mình viết chương trình giao tiếp i2c giữa con 18F4550 với ds1307. Viết bằng CCS thì không vấn đề gì, nhưng mình muốn chuyển sang viết bằng thằng mcc18, nhưng làm mãi không chạy được. Không biết có ai viết rồi chỉ giáo cho mình ít.thanks!

namqn
16-11-2009, 08:53 PM
Chào mọi người!
Hiện tại mình đang gặp một chút trục trặc nhỏ ở thằng mcc18, mình viết chương trình giao tiếp i2c giữa con 18F4550 với ds1307. Viết bằng CCS thì không vấn đề gì, nhưng mình muốn chuyển sang viết bằng thằng mcc18, nhưng làm mãi không chạy được. Không biết có ai viết rồi chỉ giáo cho mình ít.thanks!
Bạn đọc ở đây nhé, có code mẫu cho I2C viết bằng MPLAB C18:
http://namqn.byethost7.com/Commu.php#i2c

Thân,

coidoi
17-11-2009, 10:48 AM
Bạn đọc ở đây nhé, có code mẫu cho I2C viết bằng MPLAB C18:
http://namqn.byethost7.com/Commu.php#i2c

Thân,

Cảm ơn anh, nhưng em không viết lại các hàm I2C mà dùng các hàm xây dựng sẵn trong thư viện I2C.h của c18. Em post code của em lên anh xem giúp em với. Em cảm ơn anh nhiều!
Đây là đoạn code em viết thử ghi dữ liệu xuống ds1307:

#include "p18F2550.h"
#include "i2c.h"
#pragma config FOSC = HS,FCMEN = OFF,IESO = OFF
#pragma config PWRT = ON,BOR = OFF,BORV = 0
#pragma config WDT = OFF
#pragma config MCLRE = OFF,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF
#pragma config CP0 = OFF,CP1 = OFF,CP2 = OFF
#pragma config CPB = OFF,CPD = OFF
#pragma config WRT0 = OFF,WRT1 = OFF,WRT2 = OFF
#pragma config WRTB = OFF,WRTC = OFF,WRTD = OFF
#pragma config EBTR0 = OFF,EBTR1 = OFF,EBTR2 = OFF
#pragma config EBTRB = OFF
void write_ds1307(void)
{
OpenI2C(MASTER,SLEW_OFF);
StartI2C();
IdleI2C();
WriteI2C(0xD0);
IdleI2C();
WriteI2C(0x02);
IdleI2C();
WriteI2C(0x22);
StopI2C();

}
void main(void)
{
TRISBbits.TRISB0=1;
TRISBbits.TRISB1=1;
SSPADD=5000000/100000-1;
write_ds1307();
while(1){}
}

coidoi
27-11-2009, 11:09 AM
Chà! Chắc ở Việt Nam mình ít ai dùng thằng này để lập trình cho Pic nhỉ,muốn tìm một sự giúp đỡ coi bộ cũng khó khăn lắm đây.Nhưng ko sao, sau một thời gian làm việc với nó thì mình nghĩ mình cũng đã chinh phục được nó rùi, nếu có bạn nào có thắc mắc gì về thằng này thì mail cho mình ngochien_auto@zing.vn, nếu biết mình sẽ chỉ cho. Chúc vui!

enti
27-11-2009, 03:23 PM
Chà! Chắc ở Việt Nam mình ít ai dùng thằng này để lập trình cho Pic nhỉ,muốn tìm một sự giúp đỡ coi bộ cũng khó khăn lắm đây.Nhưng ko sao, sau một thời gian làm việc với nó thì mình nghĩ mình cũng đã chinh phục được nó rùi, nếu có bạn nào có thắc mắc gì về thằng này thì mail cho mình ngochien_auto@zing.vn, nếu biết mình sẽ chỉ cho. Chúc vui!

Theo bạn nói thì tức là bạn đã giải quyết được bài tập I2C giữa 18F4550 với 1307 rồi đúng không?

coidoi
08-12-2009, 09:26 AM
Thực ra thì giao tiếp giữa DS1307 với 18F4550 cũng không có gì phức tạp, chẳng qua mình đang lập trình bằng thằng CCS nay chuyển qua MCC18 nên gặp chút rắc rối nhưng mình cũng đã giải quyết nó xong rùi.Bạn còn mún hỏi gì nữa ko?