Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
@008:Bạn có thể giúp đỡ mình làm cái mạch này được không, vì mình mới mày mò học PIC được gần 1 tháng nay thôi, mình cũng dùng 16f877a va ds12c887, cung với lcd11602, nhưng mà chưa biết bắt đầu như thế nào nữa, bạn làm qua rồi thì giúp mình với, cảm ơn bạn nhiều lắm.
Thế này nhé: nếu bạn mới học pic thì đầu tiên bạn hãy làm từng phần nhỏ, mình nghĩ bạn nên làm một cái mạch test đơn giản với 16f877a để làm xuât port in out đã. Đã làm được điều đó thì bạn đi lên làm hiển thị LCD. Có 2 cách là giao tiếp LCD4 bit và 8bit, viết với asem hay C bằng CCS thì bài mẫu có hết trong diễn đàn rồi đó. Khi đã giao tiếp được LCD rồi thì bạn mới có thể đọc DS12c887 và hiển thị ra LCD được. Mà nếu bạn bắt đầu làm mình nghĩ bạn nên làm IC thời gian DS1307 hơn, nó vừa rẻ vừa tốn ít chân pic nữa. Bạn cứ làm đi nhé khi nào không được thì post lên mình giúp cho.
@008: ok, theo ý bạn vậy, mình đang viết C với Mikro C. đã làm thử mấy bài cơ bảng với led đơn rồi,
còn lcd thì mới viết hôm qua nhưng chỉ hiển thị được tên mình lên lcd thôi, chứ chưa có gì đặc biệt hết, mình giao tiếp lcd theo dạng 4 bit, mình sẽ làm thử với ds1307.
có gì bạn giúp mình với nhé, Nhưng mình sợ để không con ds12c887,,,nó hết pin thì toi, mình không có ở VN nên ,,linh kiện mua khó lắm,,hic, cảm ơn bạn.mình sẽ còn nhờ vả bạn nhiều đó,
@008: ok, theo ý bạn vậy, mình đang viết C với Mikro C. đã làm thử mấy bài cơ bảng với led đơn rồi,
còn lcd thì mới viết hôm qua nhưng chỉ hiển thị được tên mình lên lcd thôi, chứ chưa có gì đặc biệt hết, mình giao tiếp lcd theo dạng 4 bit, mình sẽ làm thử với ds1307.
có gì bạn giúp mình với nhé, Nhưng mình sợ để không con ds12c887,,,nó hết pin thì toi, mình không có ở VN nên ,,linh kiện mua khó lắm,,hic, cảm ơn bạn.mình sẽ còn nhờ vả bạn nhiều đó,
ủa bạn không ở vn hả. Ở đâu vậy? nếu bạn mua ds12c887 rồi thì cứ làm với nó đi, không cần chuyển qua ds1307 đâu. Mình tưởng bạn bắt đầu thiết kế nên mới khuyên vậy. Tại vì lúc trước mình dùng ds12c887 rùi sau cũng chuyển qua ds1307 nên mới nói bạn vậy. Hì, bạn giao tiếp LCD rồi thì ok rồi. Bạn làm giao tiếp với DS12c887 đi. nhớ là dùng khác port nhé, chung chân là LCD bị DS làm nhiễu đó. Bạn làm ghi dữ liệu vào thanh ghi trong ds đi, rồi đọc dữ liệu đó ra hiển thị lên lcd. Nếu đúng rồi thi ds đã chạy tốt. Sau đó bạn hãy ghi dữ liệu cần thiết vào thanh ghi A và B theo như tra trong datasheet. Rồi đọc dữ liệu trong thanh ghi thời gian và hiển thị ra LCD. Đến đó là xong rồi
@008: mình đang ở Nhật Bản, mình thì đi làm suốt nên không có nhiều thời gian để làm mạch, nhưng mà thích quá nên gần đây mới đạt mua ở Vn mang sang để làm,,để mình làm thử, có gì ko biết thì nhờ bạn giúp vậy,
À ,còn cái này ,,,bạn có thể nói cho mình biết cách thức xử lý nhiệt độ đo được từ ds1820 sau khi dung lệnh 44h(lệnh convert) để hiển thị lên led7 đoạn được không.Cái này ngoài luồng nhưng mong 008 giúp đở.hihi
@008: mình đang ở Nhật Bản, mình thì đi làm suốt nên không có nhiều thời gian để làm mạch, nhưng mà thích quá nên gần đây mới đạt mua ở Vn mang sang để làm,,để mình làm thử, có gì ko biết thì nhờ bạn giúp vậy,
À ,còn cái này ,,,bạn có thể nói cho mình biết cách thức xử lý nhiệt độ đo được từ ds1820 sau khi dung lệnh 44h(lệnh convert) để hiển thị lên led7 đoạn được không.Cái này ngoài luồng nhưng mong 008 giúp đở.hihi
DS1820 mình chưa dùng qua nên cung ko rành nữa. Bạn nên post 1 bài lên diễn đàn hỏi như thế sẽ có nhiều cao nhân giúp đỡ ^^
hihi vấn đề mình giải quyết rùi, Thực tế là làm theo turial của bên picvn ghi la thanh ghi A có địa chỉ 10h còn B có địa chỉ 11h. Nhưng coi kĩ lại datasheet phát hiện ra thanh ghi A la 0Ah, thanh ghi B la 0Bh. Bạn coi thử lại coi, chỉ cần set 010 cho đúng là nó chạy rồi không cần làm gì khác hết.
Chúc may mắn! Tết rùi mà vẫn quyết chiến nhỉ
Chào 008, mình đã set đúng địa chỉ của thanh ghi A và B nhưng khi mô phỏng trên Proteus thì nó chỉ chạy được đúng duy nhất lần đầu. Vậy bạn có thể cho mình và mọi người biết cách giải quyết của bạn được không. Cảm ơn rất nhiều.
Xin chen ngang chuyện của mấy bạn nha, ai biết về con pic 877a cho mình chương trình ứng dụng của nó được hok, mình mới học về vi xử lý thui ak mà thầy bắt làm về con pic nay mình chẳng biết j hết ak. ai có thể giúp mình được ko? !!!
Bác tò mò sớm làm gì, bệnh đó em không giải thích được, nhưng phải làm thế mới chạy, bác cứ tìm hiểu, rùi tự tìm ra mới zui, chứ em nói ngay mất hứng , không ra thì em sửa cho.
Bác dùng con PIC nào cũng được, em làm với 877A chạy tốt, không sao cả.
chào bạn ! Mình đang làm project sử dụng 2 kit pic16F887 kết nối dùng SPI protocol, chế độ Master- slave để 1 kít Đo nhiệt Độ rôi gửi cho kit còn lại hiện thi lên LCD.
pro giúp mình các bước làm với !!!!! nêu có gì gửi cho mình xin liên hệ. mong pro giúp cho.
mail của minh là :xuananitiu@gmail.com
Giao tiếp giữa DS12887 với PIC bị một bệnh rất mất dạy, mà không bị khi làm với 8051. Bác viết code lên em sửa cho, chứ code nguồn của em thì em không share
Mà bác nào dám đập thử con DS12887 ra xem trong đó có gì chưa ?
Hỏi ý kiến cao nhân từ post 15 năm trước :v
có phải bệnh mất dạy là chuyển port từ output sang input khiến port bị dis phải ko bác?
bác chỉ em xử lý giúp ạ, zalo em 0382361069.
đây đoạn code của em:
int DATA_W,ADDRESS_W,DATA_R ;
#define AS RD0_bit
#define RW RD1_bit
#define DS RD2_bit
#define CS RD3_bit
#define RE_SET RD4_bit
#define DATAPORT PORTB
void read_12C887(void);//khai bao chuong trinh con
void write_12C887(void);//khai bao chuong trinh con
void main(void)
{
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
RCIE_bit = 1; // enable interrupt on UART1 receive
TXIE_bit = 0; // disable interrupt on UART1 transmit
PEIE_bit = 1; // enable peripheral interrupts
GIE_bit = 1; // cho phep ngat
// config timer 0
/*PSA_bit = 0;// chon bo chia truoc cho timer 0
PS2_bit = 0;
PS1_bit = 1;
PS0_bit = 0;// chon bo chia truoc 8
T0CS_bit = 0;// chon nguon xung clock noi
T0IE_bit = 1; // cho phep ngat timer 0
T0IF_bit = 0; // ghi gia tri co ngat = 0
TMR0 = 56;*/
TRISE = 0;
PORTE = 0;
TRISB=0x00;
TRISD = 0X00;
ADCON1=0x06;
RE_SET=1;
CS =1;
delay_ms(500);
write_12C887(0x0A,0x2F); //b'00101111' dua gia tri vao thanh ghi "register A" BIT 5=1 THOI GIAN THUC BIT 0...3=1 TAO F=2HZ TAI CHAN SQW
write_12C887(0x0B, 0x5A); //'01011110' ; dua gia tri vao thanh ghi "register B" //BIT 3=1 CHO PHEP TAO SONG VUONG TAI CHAN SQW // BIT 1=1 dang du lieu 24 gio //BIT 2=1 dang du lieu Binary
I2C1_Init(100000); // initialize I2C communication
Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
Comment