stc单片机吧 关注:1,821贴子:2,411
  • 2回复贴,共1

C语言直接操作指定内存和外部内存(吧主捣乱之4)

只看楼主收藏回复


#include<reg52.h>
//#define char signed char
typedef unsigned int u16;
typedef unsigned char u8;
#define Addr_RAM 0x1000 //数值个数开始地址
#define Addr_Number_RAM 0x0030 //正零负数量地址
signed xdata talble[20] _at_(0x1000);
signed xdata table[20]={-1,-2,-3,-4,-5,0,0,1,2,3,4,5,6,7,8,9,10,-1,-10,20};
u16 xdata *iptr;
u8 idata *iptr1;
void main(void)
{ u8 i,k,l,m;
signed j;
for (i=0; i<20; i++)
{ j=(table[i]);
if(j>0)
{k++;
iptr1=Addr_Number_RAM;
*iptr1=k;
}
}
for (i=0; i<20; i++)
{ j=(table[i]);
if(j==0)
{l++;
iptr1=Addr_Number_RAM+1;
*iptr1=l;
}
}
for (i=0; i<20; i++)
{ j=(table[i]);
if(j<0)
{m++;
iptr1=Addr_Number_RAM+2;
*iptr1=m;
}
}
while(1);
}
编写一段程序,将外部RAM中1000H单元开始的20个带符号数,按照正数、零、负数进行分类统计,将正数、零、负数的个数分别存放到内部RAM的30H、31H、32H单元中。


IP属地:辽宁1楼2018-04-09 03:37回复
    这个是干啥用的?能实现什么功能?


    IP属地:辽宁来自Android客户端2楼2018-04-09 06:55
    回复
      编写一段程序,将外部RAM中1000H单元开始的20个带符号数,按照正数、零、负数进行分类统计,将正数、零、负数的个数分别存放到内部RAM的30H、31H、32H单元中。这是功能


      IP属地:辽宁来自iPhone客户端3楼2018-04-09 09:28
      回复