找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1642|回复: 2
收起左侧

STC单片机怎样才能进行动态内存申请?

[复制链接]
ID:113199 发表于 2020-2-11 18:51 | 显示全部楼层 |阅读模式
我今天做一个STC12C5A60S2单片机的动态内存申请程序:

#include"STC12C5A60S2.H"
#include"STDLIB.H"
#include"STRING.H"

#define ON_LCD 0x0C
#define OFF_LCD 0x08
#define CLEAR_LCD 0x01
#define INPUT_MODE 0x06
#define TEXT_SIZE 0x38     //8位,2行,5*7点阵

sbit RS=P2^5;
sbit RW=P2^6;
sbit E=P2^7;

sbit Back_Light=P4^5;

sbit feleer=P2^0;              //探针

unsigned char code Text[]="DRAM_ASK_TEST";
unsigned char code Date[]="2020-02-11";

void Init_LCD();
void Display(unsigned char *ptr,unsigned char x,unsigned char y);
void Set_xy(unsigned char  x,unsigned char y);
void Wcom(unsigned char com);
void WDat(unsigned char Dat);
void Ready();

void main()
{
   unsigned char xdata *Area;

   P4SW=0xFF;
   Back_Light=0;

   Init_LCD();

   init_mempool(0x200,14);
   Area=(unsigned char *)malloc(14*sizeof(unsigned char));
   if(Area==NULL)
   {
      feleer=0;
      while(1);
   }  
   strcpy(Area,Text);

   Display(Area,2,1);
   Display(Date,3,2);
   free(Area);

   while(1);
}

void Init_LCD()
{
   Wcom(OFF_LCD);
   Wcom(CLEAR_LCD);
   Wcom(INPUT_MODE);
   Wcom(ON_LCD);
   Wcom(TEXT_SIZE);
}

void Display(unsigned char *ptr,unsigned char x,unsigned char y)
{
   Set_xy(x,y);
   while(*ptr!=0)
   {
      WDat(*ptr);
          ptr++;
   }
}

void Set_xy(unsigned char  x,unsigned char y)
{
   if(y==1)
   {
      Wcom(0x80|x);
   }
   if(y==2)
   {
      Wcom(0xC0|x);
   }
}

void Wcom(unsigned char com)
{
   Ready();
   RS=0;
   RW=0;
   E=1;
   P0=com;
   E=0;  
}

void WDat(unsigned char Dat)

{
   Ready();
   RS=1;
   RW=0;
   E=1;
   P0=Dat;
   E=0;
}

void Ready()
{
   unsigned char sta;

   P0=0xFF;
   RS=0;
   RW=1;
   do
   {
      E=1;
      sta=P0;
      E=0;  
   }
   while(sta&0x80);  
}


调试了一下午好多问题都解决了,就是下面这个警告还在,1602没显示,我的书本没有initreg()这个库函数的说明,网上也没见有,(有都是说C++的),想问一下用过这种功能的师傅,怎样才能消除这个警告?

2020-02-11_184242.png

回复

使用道具 举报

ID:258566 发表于 2020-2-12 13:50 | 显示全部楼层
没警告啊,9.59 测试过。
回复

使用道具 举报

ID:113199 发表于 2020-2-12 17:29 | 显示全部楼层
删掉启动文件后我也通过了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表