Thông báo

Collapse
No announcement yet.

Ai giúp giùm cái giao tiếp I2X giữa 24C04 với ATmega 128 với!...

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Ai giúp giùm cái giao tiếp I2X giữa 24C04 với ATmega 128 với!...

    Em loay hoay mãi từ sáng tới giờ mà vẫn chưa hiểu sai ở đâu. các bác chỉ giúp em xem em sai ở đâu với!

    Code:
    #include <mega128.h>
    #include <delay.h>

    #asm
    .equ __i2c_port=0x18 ;PORTB
    .equ __sda_bit=0
    .equ __scl_bit=1
    #endasm
    #include <i2c.h>

    #define EEPROM_BUS_ADDRESS 0xa0

    void eeprom_write(unsigned char address, unsigned char data)
    {
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS);
    i2c_write(address);
    i2c_write(data);
    i2c_stop();
    delay_ms(10);
    }

    unsigned char eeprom_read(unsigned char address)
    {
    unsigned char data;
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS);
    i2c_write(address);
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS | 1);
    data=i2c_read(0);
    return data;
    }


    void main(void)
    {
    PORTA=0x00;
    DDRA=0xFF;

    PORTB=0x00;
    DDRB=0x00;

    i2c_init();

    while (1)
    {
    eeprom_write(0x55,0x18);
    PORTA = eeprom_read(0x55);
    };
    }

    Em muốn ghi vao 24C04 rồi đọc ra và hiển thị cấp giá trị ấy lên port A. khi mô phỏng port A bằng 1 tất (giá trị = 255) ((((((((

Về tác giả

Collapse

tiengdanxua Tìm hiểu thêm về tiengdanxua

Bài viết mới nhất

Collapse

Đang tải...
X