dami的笔记 https://bbs.21ic.com/?264414 [收藏] [复制] [RSS] 技术交流你我他

日志

三星单片机825A C使用内存变量

已有 1556 次阅读2011-6-11 02:19 |个人分类:三星单片机|系统分类:单片机| 825A, 内存变量, 三星单片机

QQ空间的老文章转到这里
 

//dami 2006,9,17本程序的目的是在于观察如何定义使用内存变量,观察内存变量的变化,从而了解8XXX系列单片机的内存使用方法
//他可以稍加变通用到8XXX系列单片机.使用simulate软件仿真,快速方便,也适合没有仿真器的朋友
//
#include<ioS3C825A.H>
#include<INTRINSICS.H>
#define uchar unsigned char
#define uint unsigned int
//位定义方法
#definetestbit(var,bit)((var)&(1<<(bit)))//位测试
#definesetbit(var,bit)((var)|=(1<<(bit)))//位置1
#defineclrbit(var,bit)((var)&=~(1<<(bit)))//位清零  clrbit(p3,1);就是了
//全局变量的定义要在任何函数之外,但静态变量就可以在函数中
unsigned int i;
// __tiny static unsigned int mm = 0;这些也可以在这里定义使之全局可以用  
void main()
{
    //对于特殊功能积存器,一个以直接访问.他的定义在CPU头文件中有体现
    BTCON     = 0xa2;
    CLKCON    = 0x98;//时钟控制器不分频
    OSCCON    = 0x0;//主从晶体及运行/停止
    IMR       = 0X8;
    WTCON     = 0x0;
    //P5CONH    = 0x8c;//P3CONL.7~5:011,P3CONL.4~2=001
    //BRDATA    = 0x19;//4M 晶体频率不分频. 波特率9600
    //UARTCON   = 0xd2;//模式:11,MCE:0,TB8,RB8:00,RIE:接收中断允许,TIE发送中断不允许
    
    while ( 1 )
    { //***************************__tiny __tiny2 tiny2pn __tinyn 的使用*********************
      //结果可以通过simulate->Veiw->memory 的PAGE0,PAGE1,PAGE查看
     //全局变量,静态变量及指针可以用__tiny
      __tiny static unsigned int mm = 0;    
      //PAGE0 可以初始位零
      //PAGE1之后要用__no_init修饰,并且不能初始化
      __no_init __tinyp1 static unsigned int mm1;
      __no_init __tinyp2 static unsigned int mm2;
      __no_init __tinyp3 static unsigned int mm3;
      __no_init __tinyp4 static unsigned int mm4;
      __no_init __tinyp5 static unsigned int mm5;
      __no_init __tinyp6 static unsigned int mm6;
      __no_init __tinyp7 static unsigned int mm7;
      //PAGE的0XC0~~0XFF之间数据可以和上面一样访问,只是__tiny2,__tiny2pn修饰
      __tiny2 static unsigned int hm = 0;    
      __no_init __tiny2p2 static unsigned int hm2;
      
      unsigned int delay;
      unsigned char INDEX = 0;
      unsigned short i,j = 1;
      mm1 = 0;
      mm2 = 0;
      mm3 = 0;
      mm4 = 0;
      mm5 = 0;
      mm6 = 0;
      mm7 = 0;
      hm  = 0;
      hm2  = 0;
      for (INDEX = 0; INDEX < 20; INDEX++)
        {
          unsigned char SUM = 0;
          
          SUM += INDEX;
           __no_operation();
           __no_operation();
          j = i++;
          j++;
          mm = j+i;
          mm++;
          mm1 = mm;
          mm2 = mm1+3;
          mm3 = mm2+5;
          mm4 = mm3+3;
          mm5 = mm4+3;
          mm6 = mm5+3;
          mm7 = mm6+3;
          mm7++;
          hm++;
          hm2++;
          for ( delay = 0; delay < 10; delay++ );
           __no_operation();
          __no_operation();
        }
    }
}



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)