Các anh làm ơn giúp sơ đồ kết nối 8051 với eeprom 24c04. Em lấy từ proteus ra thì nó chỉ có 5 chân (SCL,SDA,WP,A1 và A2_không tính vcc và gnd) nhưng trong data sheet của nó có thêm chân A0 nữa, em không biết nối các chân A0, A1, A2 này thế nào ? Em sử dụng eeprom để lưu giá trị lỡ khi mất điện, các anh có code viết bằng keil c để giao tiếp với eeprom không ?
Thông báo
Collapse
No announcement yet.
hỏi về kết nối 8051 với eeprom !
Collapse
X
-
Nguyên văn bởi toilq30 Xem bài viếtCác anh làm ơn giúp sơ đồ kết nối 8051 với eeprom 24c04. Em lấy từ proteus ra thì nó chỉ có 5 chân (SCL,SDA,WP,A1 và A2_không tính vcc và gnd) nhưng trong data sheet của nó có thêm chân A0 nữa, em không biết nối các chân A0, A1, A2 này thế nào ? Em sử dụng eeprom để lưu giá trị lỡ khi mất điện, các anh có code viết bằng keil c để giao tiếp với eeprom không ?
Trên VĐK bạn cứ chọn bừa hai chân nào đó làm chân SCL và SDA sau đó copy mấy cái hàm ghi đọc êprom (có đầy trên mạng) vào là sử dụng ok.GTH sản xuất mạch in PCB 1 mặt:
-phủ xanh: 40.000 đ/dm2
-không phủ xanh: 30.000 đ/dm2
-Cung cấp mực cảm quang để làm mạch in
email:
-
Nguyên văn bởi gth_pcb Xem bài viếtBạn chỉ càn nối hai chân SCL, SDA vào VĐK của bạn là giao tiếp được. Ba cái chân A0,1,2 đấy là để chốt lựa chọn Eeprom khi mà có nhiều eeprom cùng giao tiếp với một VĐK. Trong trường hợp bạn chỉ dùng một chú bộ nhớ đấy thôi thì khỏi cần quan tâm tới nó.
Trên VĐK bạn cứ chọn bừa hai chân nào đó làm chân SCL và SDA sau đó copy mấy cái hàm ghi đọc êprom (có đầy trên mạng) vào là sử dụng ok.
Email:
Tel: 0983.497.310
Comment
-
Nguyên văn bởi gth_pcb Xem bài viếtBạn chỉ càn nối hai chân SCL, SDA vào VĐK của bạn là giao tiếp được. Ba cái chân A0,1,2 đấy là để chốt lựa chọn Eeprom khi mà có nhiều eeprom cùng giao tiếp với một VĐK. Trong trường hợp bạn chỉ dùng một chú bộ nhớ đấy thôi thì khỏi cần quan tâm tới nó.
Trên VĐK bạn cứ chọn bừa hai chân nào đó làm chân SCL và SDA sau đó copy mấy cái hàm ghi đọc êprom (có đầy trên mạng) vào là sử dụng ok.Last edited by toilq30; 12-10-2009, 20:57.
Comment
-
Nguyên văn bởi toilq30 Xem bài viếtÀ quên nữa bạn ơi, sẵn tiện cho mình hỏi, tức là 3 chân a0,a1,a2 mình hở à ? Còn nữa do dữ liệu mình ghi vào có cả giá trị 8bit và 16bit thì cách thức nó lưu trữ thế nào ? Thanks !
Comment
-
Nguyên văn bởi Zz_Bi_zZ Xem bài viết3 chân đó xuống GND hết
Comment
-
Nguyên văn bởi toilq30 Xem bài viếtBạn ơi vậy khi dữ liệu của mình gồm 8bit và 16bit thì cách lưu và đọc như thế nào ???
+ giá trị data được tính bằng byte (8 bit) là giá trị được lưu vào các ô nhớ
+ giá trị address là địa chỉ của các ô nhớ, cái này được tính là 2 byte
Vi du bạn ghi một số 34 vào ô địa chỉ thứ 12 thì hàm ghi là
EEPROM_Write(12,34);
Nhưng bạn có một số 2009 (>255) thì bạn phải tách ra làm hai số để lưu vào hai ô địa chỉ khác nhau. Mình thì mình hay chia cho 256:
byte1 = phần nguyên của [2009/256] = 7
byte2 = phần dư của [2009/256] = 217
sau đó ghi lần lượt byte1, byte2 vào các ô địa chỉ.
Nói chung, làm việc với bọn bộ lưu trữ này bạn phải có các hàm quản lý, chuyển đổi dữ liệu làm sao để đồng bộ lúc ghi vào và lúc đọc ra.GTH sản xuất mạch in PCB 1 mặt:
-phủ xanh: 40.000 đ/dm2
-không phủ xanh: 30.000 đ/dm2
-Cung cấp mực cảm quang để làm mạch in
email:
Comment
-
mọi người giúp e với ạ đoạn code này của e sai chỗ nào vậy ạ e viết cho đồng hồ đếm dây
với em muốn viết code cho 2 con le đơn nháy bo nguồn thì viết thế nào ạ e cảm ơn
SECOND EQU 30H
TCOUNT EQU 31H
KCOUNT EQU 32H
KEY BIT P3.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV DPTR,#TABLE
MOV P0,#3FH
MOV P2,#3FH ;Start, digital display, "00"
MOV SECOND,#00H
MOV TCOUNT,#00H
MOV KCOUNT,#00H
MOV TMOD,#01H ;Timer 0 is in Mode 1
MOV TL0,#(65536-50000)/256
MOV TH0,#(65536-50000) MOD 256
K1: JB KEY,$ ;Wait for key
LCALL DELAY
JB KEY,$
MOV A,KCOUNT
CJNE A,#00H,K2 ;Determine the number keys
SETB TR0 ;1st button, start timer
MOV IE,#82H
JNB KEY,$
INC KCOUNT ;Button up, button clicks value plus 1
LJMP K1
K2: CJNE A,#01H,K3
CLR TR0 ;2nd key, turn off timer
MOV IE,#00H
JNB KEY,$
INC KCOUNT ;Button up, button clicks value plus 1
LJMP K1
K3: CJNE A,#02H,K1 ;The 3rd button, return to initial state
JNB KEY,$
LJMP START
INT_T0: MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000) MOD 256
INC TCOUNT
MOV A,TCOUNT
CJNE A,#2,I2 ;0.1 seconds is enough to account
MOV TCOUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#100,I1 ;10 seconds is enough to account
MOV SECOND,#00H
I1: MOV A,SECOND
MOV B,#10
DIV AB
MOVC A,@A+DPTR ;Show time
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
I2: RETI
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV R6,#20
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
END
Comment
Bài viết mới nhất
Collapse
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Trả lời cho Đồng hồ công tơ điện tửbởi qpdt03Hình ảnh mạch của nó đây, mình mang đồng hồ điện tử ra đo giá trị điện trở dán ghi trên lưng các con điện trở trong mạch đều đúng, mà công tơ điện tử vẫn đo sai, không biết nó hỏng chỗ nào; đã ấn nút reset lại nhưng vẫn không đc. Nhờ các bác có kinh nghiệm giúp đỡ. Thanks!
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
bởi qpdt03Mình mới mua 1 cái đồng hồ công tơ điện tử trên shopee; loại hiển thị 4 thông số V,A,W và tổng số Kwh nhưng về cắm thử đc 1 hôm thì chỉ số V báo 378v, cắm về 100v cũng báo 350v có bác nào biết cách sửa chữa nó không chỉ giúp mình nhé. Xin cảm ơn mọi người đã đọc bài.
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 16:46 -
-
bởi notooth1Các bạn xem giúp mình đây là tụ phân cực hay không phân cực nhé.
...-
Channel: Hướng dẫn tìm thông tin linh kiện
20-03-2024, 18:06 -
-
bởi carl22Xin chào tất cả mọi người.
Tôi hiện đang chế tạo một máy phay CNC. Máy phay được điều khiển thông qua Raspberry Pi 3 b+ và Smoothieboard v1.1 với trình điều khiển động cơ bước ACT DM 542 và động cơ 1,8° 2A.
Trục X 1,8° 3 A chạy qua trình điều khiển động cơ bước vì bảng sinh tố chỉ...-
Channel: Cơ cấu chấp hành (Actuator)
20-03-2024, 15:48 -
-
bởi ningoleChào các bác! Em là newbie về điện tử đang muốn làm một cái đèn báo cho ổ cắm nhưng chưa rành về mạch mong các bác giúp đỡ!
Nhu cầu của e là muốn làm 1 đèn báo nguồn AC 220V:
Nguồn 220v -> Phích cắm -> nối với 1 ổ cắm....-
Channel: Điện tử dành cho người mới bắt đầu
20-03-2024, 11:09 -
-
Trả lời cho có cần thiết phải lắp mạch bms cho khối pin ?bởi bao98Tất nhiên là bạn cần nó!
BMS là một phần không thể thiếu trong hệ thống ắc quy của xe điện.
nếu bạn không cài đặt BMS, có thể xảy ra vấn đề về pin, thậm chí có thể dẫn đến tai nạn-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 22:51 -
-
Trả lời cho [đồ án] xung đột nguồn điện 12vbởi bao98Để tìm hiểu xem bộ điều hợp UART của bạn được kết nối với cổng USB nào trên Raspberry Pi, bạn có thể sử dụng lệnh ls /dev/ttyUSB* hoặc ls /dev/ttyACM* trong thiết bị đầu cuối. Điều này sẽ liệt kê các cổng USB có sẵn để liên lạc nối tiếp. Cáp có thể được xem ở đây. Bạn cũng có thể kết nối và...
-
Channel: Hỗ trợ học tập
19-03-2024, 22:38 -
Comment