stonena

stonena

0个粉丝

4

问答

0

专栏

2

资料

stonena  发布于  2008-11-18 18:55:21
采纳率 0%
4个问答
2096

24c01-24c16读写驱动程序

 
[hide]查看[/hide][code]sbit a0=ACC^0;                        //定义ACC的位,利用ACC操作速度最快
sbit a1=ACC^1;
sbit a2=ACC^2;
sbit a3=ACC^3;
sbit a4=ACC^4;
sbit a5=ACC^5;
sbit a6=ACC^6;
sbit a7=ACC^7;

void s24(void) {
        _nop_();scl=0;sda=1;scl=1;_nop_();sda=0;_nop_();scl=0;
}
void s240(void) {
        _nop_();scl0=0;sda0=1;scl0=1;_nop_();sda0=0;_nop_();scl0=0;
}
void p24(void) {
        sda=0;scl=1;_nop_();sda=1;
}
void p240(void) {
        sda0=0;scl0=1;_nop_();sda0=1;
}
unsigned char rd24(void) {
        sda=1;
        scl=1;a7=sda;scl=0;
        scl=1;a6=sda;scl=0;
        scl=1;a5=sda;scl=0;
        scl=1;a4=sda;scl=0;
        scl=1;a3=sda;scl=0;
        scl=1;a2=sda;scl=0;
        scl=1;a1=sda;scl=0;
        scl=1;a0=sda;scl=0;
        sda=1;scl=1;scl=0;
        return(ACC);
}

void wd24(unsigned char dd) {
        ACC=dd;
        sda=a7;scl=1;scl=0;
        sda=a6;scl=1;scl=0;
        sda=a5;scl=1;scl=0;
        sda=a4;scl=1;scl=0;
        sda=a3;scl=1;scl=0;
        sda=a2;scl=1;scl=0;
        sda=a1;scl=1;scl=0;
        sda=a0;scl=1;scl=0;
        sda=1;scl=1;
}

unsigned char read(unsigned int address){
        unsigned char dd;
        dd=((address&0x7ff)/256)<<1;
        s24();wd24(0xa0|dd);scl=0;wd24(address);scl=0;
        s24();wd24(0xa1|dd);scl=0;dd=rd24();p24();return(dd);
}

void write(unsigned int address,unsigned char dd){
        unsigned char ddd;
        ddd=((address&0x7ff)/256)<<1;
        s24();wd24(0xa0|ddd);scl=0;wd24(address);scl=0;wd24(dd);scl=0;p24();
        time=0;                                        //time为定时器时间参考,time增加1代表1ms,如果没有用定时器,取消该行
        while (1) {
                s24();
                wd24(0xa0|ddd);
                sda=1;
                if (sda==0) break;
                if (time>10) break;        //此行防止由于eeprom器件损坏后的死循环
                scl=0;
        }
}[/code]
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区