Kết quả 1 đến 10 của 19
-
05-21-2015, 04:55 PM #1
Silver member
- Ngày tham gia
- May 2016
- Bài viết
- 0
Cần giúp đỡ giao tiếp 8051 với eeprom 24C02
Mấy ngày nay loay hoay với con 24c02 này, datasheet thì đọc đi đọc lại nhiều lần mấy cái giản đồ xung cách gửi với nhận của nó.tìm hiểu code trên mạng và viết ra 1 đoạn code như bên dưới.mô phỏng với con 24c02( 24c02C trên proteus) thì không chạy được, nhưng khi mình đổi địa chỉ sang mô phỏng con ds1307 thì lại chạy ok,không hiểu tại sao sao?không biết code của em có bị sai chỗ nào không nữa. có bác nào giao tiếp với con này rồi giúp đỡ cho em với.
[ Mã ]
SDA EQU P3.7
SCL EQU P3.6
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
I2C_INIT CALL
CALL i2c_start
MOV A, # 0A0H; DIA CHI SLAVE
CALL I2C_SEND
CALL I2C_ACK
MOV A, # 20H; DIA CHI CAN GUI
CALL I2C_SEND
CALL I2C_ACK
MOV A, # 11; GIA TRI CAN GUI
CALL I2C_SEND
CALL I2C_ACK
CALL I2C_STOP
//
I2C_INIT CALL
CALL i2c_start
MOV A, # 0A0H
CALL I2C_SEND
CALL I2C_ACK
MOV A, # 20H; DIA CHI CAN DOC
CALL I2C_SEND
CALL I2C_ACK
CALL I2C_RSTART
MOV A, # 0A1H
CALL I2C_SEND
CALL I2C_ACK
CALL I2C_RECEIVE
CALL I2C_NACK
CALL I2C_STOP
MOV P1, A
KT:
JMP KT
JMP MAIN
// -
I2C_ACK:
CLR SDA
SETB SCL
CLR SCL
SETB SDA
RET
// -
I2C_NACK:
SETB SDA
SETB SCL
CLR SCL
SETB SCL
RET
;CAC THIET LAP I2C
I2C_INIT:
SETB SDA
SETB SCL
RET
I2c_start:
SETB SDA
SETB SCL
CLR SDA
RET
I2C_RSTART:
CLR SCL
SETB SDA
SETB SCL
CLR SDA
RET
I2C_STOP:
CLR SCL
CLR SDA
SETB SCL
SETB SDA
RET
I2C_SEND:
MOV R7, # 08
LOOP:
CLR SCL
RLC A
MOV SDA, C
SETB SCL
DJNZ R7, LOOP
CLR SCL; KIEM TRA ACK or NACK
SETB SDA ;
SETB SCL ; ( doan cho nao van con thac mac chua hieu ho lam gi)
MOV C, SDA;
CLR SCL;
RET
I2C_RECEIVE:
MOV R7, # 08
LOOP1:
CLR SCL
MOV C, SDA
SETB SCL
RLC A
DJNZ R7, LOOP1
CLR SCL
SETB SDA
RET
END
[ / code ]View more random threads:
- ai có thể giúp e code asm mạch đồng hồ số led 7 thanh này được không ạ.
- vẽ bus cho led ma trận
- NGUỒN 1 CHIỀU
- CẦN GIÚP VỀ IC LM324
- Ở Việt Nam có cuộc thi như thế này không nhỉ mọi người
- Website game online đổi thưởng nào uy tín nhất?
- xử lý ảnh
- Kỹ thuật số
- Help me! ADC MCP3204
- Xin tư vấn mua đồng hồ vạn năng
-
05-21-2015, 05:08 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
con này hình như kết nối phần cứng có liên quan đến dịa chỉ của nó đấy bạn, bạn kiểm tra lại.
Mà bạn chuyển qua C làm chứ ASM thì ít người đủ kiên trì đọc
-
05-21-2015, 05:31 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Ý bạn nói là có phải 3 chân A0 A1 A2 không,3 chân đó minh chọn nối GND rồi chọn địa chỉ cứng là 0A0H với 0A1H,nhưng vẫn không hoạt động được,không biết có phải là nó có thêm điều kiện gì nữa không
-
05-21-2015, 05:34 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Code C đi bạn. ASM mình bỏ lâu lắm rồi.
-
05-21-2015, 05:41 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình không có code C à bạn,mình đang làm đồ án(khóa điện tử) và muốn lưu mật khẩu vào con này,phải viết bằng ASM à
-
05-21-2015, 05:57 PM #6
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi minhhuelove
Interfacing Serial EEPROM with 8051 Microcontroller (AT89C51)
Nếu bạn làm cho kịp đồ án thì bỏ tiền túi ra tầm vài triệu là xong.chúc thành công.
-
05-21-2015, 06:03 PM #7
Silver member
- Ngày tham gia
- Mar 2016
- Bài viết
- 0
Mình cảm ơn,đồ án thì mình làm xong rồi,nhưng nó chưa có lưu được mật khẩu khi mất điện,nếu xem con này không được thì mình chuyển sang dùng con DS1307,còn DS1307 thì mình mô phỏng được rồi,vì cũng có đứa làm cùng đề tài và dùng ds1307 rồi nên mình ko muốn làm trùng à
-
05-21-2015, 06:31 PM #8
Silver member
- Ngày tham gia
- May 2016
- Bài viết
- 0
thế code ASM thì khó đó bạn. BẠn bật i2cdebuger lên khiểm tra quá trình giao tiếp có lỗi gì khoonh? nếu mà có nhiều dấu hỏi thì giao tieps có vấn đề
-
05-21-2015, 06:50 PM #9
Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- http://khothamtraisan.com/tham-gia-re-b2224766.html
- Bài viết
- 0
Bạn xem lại địa chỉ của eeprom của bạn.
MOV A, # 0D0H; DIA CHI SLAVE
Địa chỉ để định danh con eeprom bắt đầu la chử A.
Nếu A0,A1,A2 được nối GND thì địa chỉ định danh thiết bị cho eeprom của bạn la 0xA0
Bạn lại sử dụng địa chỉ định danh tiết bị của bạn là 0x0D0.
-
05-21-2015, 07:02 PM #10
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
MOV A, # 0A0H; DIA CHI SLAVE
chính xác nó là vậy à,tại mình copy dán nhầm ở trên á,để mình sửa lại ở trên,tại lúc nãy mình chuyển qua mô phỏng cho con DS1307 nên mới dùng MOV A, # 0D0H; DIA CHI SLAVE à
Nên dùng chất bôi trơn vùng kín tự...
Hôm nay, 04:29 PM in Rao vặt tổng hợp