Nguyên văn bởi tranvanan
Xem bài viết
Thông báo
Collapse
No announcement yet.
Cách giao tiếp DS1877 và PIC6F877A
Collapse
X
-
^^ DD3N điên nặng gấp 3 lần người thường ^^
-
@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 đó,
Comment
-
Nguyên văn bởi tranvanan Xem bài viết@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 đó,^^ DD3N điên nặng gấp 3 lần người thường ^^
Comment
-
@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
Comment
-
Nguyên văn bởi tranvanan Xem bài viết@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^^ DD3N điên nặng gấp 3 lần người thường ^^
Comment
-
Nguyên văn bởi 008 Xem bài viếthihi 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ỉ
Comment
-
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
Comment
-
Nguyên văn bởi phamthaihoa Xem bài viết
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 ?
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
//**********write_12C887***************
void write_12C887(unsigned char address_w, unsigned char data_write)
{
TRISB=0X00;
AS=0;
DS=1;
RW=1;
;
AS=1;
CS=0;
DATAPORT=ADDRESS_W;
;
AS=0;
;
RW=0;
DATAPORT=data_write;
;
RW=1;
CS=1;
AS=1;
}
void read_12C887(char ADDRESS_R, char DATA_READ)
{
STATUS.B5=1;
TRISB=0X00;
STATUS.B5=0;
DATAPORT=ADDRESS_R;
DS=1;
RW=1;
;
AS=1;
;
AS=0;
;
CS=0;
;
DS=0;
;
STATUS.B5=1;
TRISB=0xff;
STATUS.B5=0;
DATA_READ=DATAPORT;
DS=1;
CS=1;
AS=1;
delay_ms(50);
}
void disTime()
{
ByteToStrWithZeros(gio,giotxt);
ByteToStrWithZeros(phut,phuttxt);
ByteToStrWithZeros(giay,giaytxt);
Dtime[0] = giotxt[1];
Dtime[1] = giotxt[2] ;
Dtime[3] = phuttxt[1];
Dtime[4] = phuttxt[2];
Dtime[6] = giaytxt[1];
Dtime[7] = giaytxt[2];
}
void setTime(char sgio,char sphut,char sgiay)
{
write_12C887(0x0A,0x2F);
write_12C887(0x0B,0xDE);
write_12C887(0x04,sgio);
gio = sgio;
write_12C887(0x02,sphut);
phut = sphut;
write_12C887(0x00,sgiay);
giay = sgiay;
write_12C887(0x0B,0x5E);
}
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
LCD_Begin(0x7E); // initialize LCD module with I2C address = 0x4E
LCD_cmd_(LCD_CURSOR_OFF);
LCD_Goto(1, 1);
LCD_Print("HELLO");
delay_ms(1000);
LCD_cmd_(LCD_CLEAR);
delay_ms(100);
setTime(23,59,58);
disTime();
LCD_Goto(1, 1);
LCD_Print(Dtime);
delay_ms(1000);
LCD_cmd_(LCD_CLEAR);
while (1)
{
read_12C887(0X0A,DATA_R);
if (((DATA_R>>7)&0x01)==1)//
//while(DATA_R,7==1)
{
read_12C887(0X0A,DATA_R);
}
if (((DATA_R>>7)&0x01)==0)
{
read_12C887(0X00,GIAY);
read_12C887(0X02,PHUT);
read_12C887(0X04,GIO);
}
disTime();
LCD_Goto(1, 1);
LCD_Print(Dtime);
delay_ms(50);
}
}
Comment
Bài viết mới nhất
Collapse
-
bởi chinhnguyen9Mạch một cấp switching 4s sẽ có 7 tụ và 8 mosfet. Mạch 2 cấp switching 4s sẽ có 12 tụ và 16 mosfet (theo ảnh 1)
Mạch thứ nhất đã có 1 bài viết mô tả, mạch thứ 2 được giới thiệu trong bài viết này
Sơ đồ nguyên lý theo hình 2
Nhận xét: mạch switching 2 cấp rất hoàn...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 09:27 -
-
bởi FschoolvnTrong bối cảnh toàn cầu hóa giáo dục, ngày càng nhiều học sinh được gia đình chắp cánh để truy cầu kiến thức từ các quốc gia phát triển, đặc biệt là Hoa Kỳ. Từ ước mơ thụ hưởng nền giáo dục chất lượng, không ít học sinh nhìn...01-05-2024, 00:54
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
28-04-2024, 16:07 -
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
28-04-2024, 16:01 -
-
bởi chinhnguyen9Hoạt động của thế hệ mạch cân bằng trước đây dựa trên nguyên lý so áp giữa 2 string liền kề. Hoạt động cân bằng chỉ kích hoạt khi sự chênh lệch vượt ngưỡng 100mV và ngưng hoạt động khi mức chênh lệch giảm xuống còn 30mV. Bản...
-
Channel: Điện tử dành cho người mới bắt đầu
27-04-2024, 05:07 -
-
bởi chinhnguyen9Xem hình minh họa có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ bay: Trong mạch đề cập chỉ...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 21:02 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của 8 mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích 12V. Nhưng Q1 và Q2 nằm cuối dãy, chân S cùa chúng có điện áp DC cao đến...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 20:37 -
-
bởi xuanthiettivi em bị mất remote lỡ vào chế độ usb giờ không chọn lại source được. ai có file nạp cho em xin với ạ. Model 32HD957T2
-
Channel: Điện tử truyền hình
26-04-2024, 10:53 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi chinhnguyen9Đa tạ lời cảm ơn của bạn. Mến!
-
Channel: Hướng dẫn sử dụng diễn đàn
26-04-2024, 05:06 -
Comment