EDN首页   博客首页

最新日志

发表于:2008-5-23 14:26:02
标签:PIC  

1

pic18f2480的eeprom读写

关于PIC自带的内部的eeprom的读写,其实只要是pic系列的原理都是一样的,控制两个寄存器,注意操作顺序即可。

         这里是几个测试通过的读写小函数:

char EEPROM_READ(char adresa)     // read from EEPROM

 eeadr = adresa;
 clear_bit( eecon1, EEPGD);     
 clear_bit( eecon1, CFGS);     
    set_bit( eecon1, RD);      // start reading
    return eedata;
}
void EEPROM_READ_LEN(char adresa, char len, char *string)
{
 char i = 0;
 while(i < len)
 {
  *(string+i) = EEPROM_READ(adresa + i);
  i++;
  delay_us(20);
 }
}
void EEPROM_WRITE(char adresa,char data)  //write to EEPROM

   eeadr="adresa";
   eedata="data";
   set_bit(eecon1,WREN);
   eecon2=0x55;
   eecon2=0xAA;
   set_bit( eecon1, WR );       // start writing
   while(eecon1&2);          // cycle until WR reg. eecon1 = 1 (writing..)
   clear_bit( eecon1, WREN );
}
void EEPROM_WRITE_LEN(char adresa, char len, char *string)
{
 char i = 0;
 while(i < len)
 {
  EEPROM_WRITE(adresa + i, *(string+i));
  i++;
  delay_us(20);
 }
}

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(172)
发表于:2008-5-23 14:24:34
标签:PIC  

1

关于PIC中16位定时器的操作

         在定时器上面pic和51的原理都差不多。可以做为脉冲计数,可以作为时间定时。原理都是数脉冲。

        但是在部分pic的16位定时器操作的时候需要注意的是高八位的字节的读写。

        以pic18f2480为例,该芯片的16位定时器的高八位tmrnh,并不是直接映射到计数器的高八位的。只有在读或者写低8位的操作之后tmrnh的内容才会被“更新”到实际的计数器中。

         所以如果是写操作,应该是先写高8位再写低8位。如果是读操作应该是读低八位再读高8位。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(177)
发表于:2008-5-8 0:43:04
标签:无标签

0

近期资料备份

点击下载      经过一个月的磨磨蹭蹭^_^,终于在电脑上装上了GCC的开发工具,以及QT4,将点点滴滴进行备份。有点乱,后期慢慢整理,因为最近总有种错觉会把电脑丢了,所以先备份下。汗。。。。。。

 

点击此处查看原文 >>

系统分类: ARM   |    用户分类:    |    来源: 原创

评论(0) | 阅读(219)
发表于:2008-4-12 17:25:30
标签:无标签

0

ARM的第一步

       ARM买了ARM开发板已有一段时间了,但是迟迟没有动手,关键是我太懒了。

       昨天终于成功的实现了第一步:将系统文件烧录到开发板中^_^

       在这里说明:我使用的是Linux文件。之前按照录像的演示烧录成功之后一直停留在启动内核的阶段。以前一直没有仔细观察,昨天突然突发奇想的查看了启动代码,原来是BOOT程序将SDRAM分区之后的储存器大小小于bootf文件的大小。重新找了一个boot程序下载观察分区后的结果跟演示的是一样的。

       重新按照顺序下载成功之后顺利开到初始化过程,能够执行SHELL。总算突破了一小步。

       今天跟新来的许工聊了一会发现还有很多不足刚好他给我以前迟迟不能解决的问题提供了一些灵感。

       关于程序的执行,应该是都是按照顺序来执行的。因为对C++挺向往的,但是没有真正理解类的概念。所以一直不知道C++或者其他程序到底是怎么运行的。归根结底程序就是告诉机器一些顺序执行的方法,永远都是一步一步的执行。就像大脑一样。

       关于阅读系统的代码,或许对于现在的我来说仍然还是没有必要的。我比较喜欢用解决问题的方法去学习,现在首先要解决的是如何一直GUI到系统上并自己做一个简单的图画小游戏^_^

点击此处查看原文 >>

系统分类: ARM   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(189)
总共 , 当前 /