總算是把這些問題統(tǒng)統(tǒng)解決了~~
現(xiàn)在貼出來~~
一個哥幫了忙~~
不過以前的錯誤還是有好幾點的~~
AT24C1024存儲:
老規(guī)矩~~
顯示上圖~~
IAR7_1.c
//------------------------------------------------------------------------------
//IAR7_1.c
//向AT24C1024指定地址寫入一個數(shù)據(jù),然后從中讀出來~~
#include"ioavr.h"
#include"lcdinit.h"
#include"at24c1024.h"
#include"delayics.h"
//------------------------------------------------------------------------------
uchar __flash title0[]="Write:";
uchar __flash title1[]="Read:";
uchar __flash test[]="_Justin";
//uchar __flash display[7]={0,0,0,0,0,0,0};
//------------------------------------------------------------------------------
//端口初始化函數(shù)
void port_init()
{
}
//------------------------------------------------------------------------------
//main
void main()
{
}
LCDInit.c
//------------------------------------------------------------------------------
//LCD1602的初始化程序—可調(diào)用函數(shù)—Atmega 16
#include"ioavr.h"
#include"intrinsics.h"
#include"delayics.h"
#include"bitics.h"
#include"lcdinit.h"
//------------------------------------------------------------------------------
//RS、RW、EN引腳輸出高低電平的宏定義
#define lcd_rs_1
#define lcd_rs_0
#define lcd_rw_1
#define lcd_rw_0
#define lcd_en_1
#define lcd_en_0
//------------------------------------------------------------------------------
#define data_port PORTA
#define busy
//------------------------------------------------------------------------------
//檢測LCD忙函數(shù)
void lcd_check_busy()
{
}
//------------------------------------------------------------------------------
//LCD寫數(shù)據(jù)函數(shù)
void lcd_write_data(uchar dat)
{
}
//------------------------------------------------------------------------------
//LCD寫指令函數(shù)
//其中flag的作用是為0不進行忙檢測,為非0則進行忙檢測
void
{
}
//------------------------------------------------------------------------------
//LCD初始化函數(shù)
//如果Proteus仿真不顯示,那就更改初始化就哦了~~
void lcd_init()
{
}
//------------------------------------------------------------------------------
//LCD顯示一個字節(jié)函數(shù)
void
{
}
//------------------------------------------------------------------------------
//LCD顯示多個字節(jié)函數(shù)
void
{
}
AT24C1024.c
//------------------------------------------------------------------------------
//AT24C1024文件的函數(shù),便于以后調(diào)用
#include"ioavr.h"
#include"intrinsics.h"
#include"bitics.h"
#include"delayics.h"
#include"lcdinit.h"
//------------------------------------------------------------------------------
typedef unsigned char uchar;
typedef unsigned int
#define TWINT 7
#define TWEA
#define TWSTA 5
#define TWSTO 4
#define TWEN
//------------------------------------------------------------------------------
//TWI狀態(tài)定義:MT主方式傳輸;MR從方式傳輸
//這里就是與TWI狀態(tài)寄存器進行比較的~~如果一致則繼續(xù),如果不一致則終止
//注意:狀態(tài)寄存器一定要屏蔽掉預(yù)分頻位
#define START 0x08
#define RE_START 0x10
#define MT_SLA_ACK 0x18
#define MT_SLA_NOACK 0x20
#define MT_DATA_ACK 0x28
#define MT_DATA_NOACK 0x30
#define MR_SLA_ACK 0x40
#define MR_SLA_NOACK 0x48
#define MR_DATA_ACK 0x50
#define MR_DATA_NOACK 0x58
//------------------------------------------------------------------------------
//常用TWI模式操作(主模式寫和主模式讀)
#define twi_start()
#define twi_stop()
#define twi_wait()
#define twi_test_ack()
#define twi_send_ack()
#define twi_send_noack()
#define twi()
#define twi_write_char(x)
//------------------------------------------------------------------------------
//TWI初始化函數(shù)
//這個函數(shù)我試過~~如果不進行具體的設(shè)置可以要也可以不要~~不過也是初始化的一個過程~~所以寫出來~~
void twi_init()
{
}
//------------------------------------------------------------------------------
//向器件指定地址按頁寫函數(shù)(這里你可以選擇你要寫入的個數(shù)num~~)
//寫入成功,返回1;不成功,返回0,使用后必須結(jié)束總線
uchar mcu_send_string(uchar add,uchar rom_add_h,uchar rom_add_l,uchar __flash *s,uchar num)
{
}
//------------------------------------------------------------------------------
//從器件指定地址讀多個字節(jié)(這里你可以選擇你要讀出的個數(shù)num~~)
//寫入成功返回1,不成功返回0
uchar mcu_receive_string(uchar add,uchar rom_add_h,uchar rom_add_l,uchar *s,uchar num)
{
}