📄 jidian.c
字号:
/******************************************************
74138.a=P2.7; 74138.b=P2.6; 74138.c=P2.5;
*******************************************************/
#include<at89x52.h>
#include<absacc.h>
#include<memory.h>
#include<lcm.h>
#define COM8279 XBYTE[0x8001] //8279命令状态地址
#define DAT8279 XBYTE[0x8000] //8279数据地址
code unsigned char table[]={'8','9','A','B','C','D','E','F','0','1','2','3','4','5','6','7'};
code unsigned char ini[]="Test memory";
code unsigned char iso[]="is OK!";
void printx(unsigned char x,unsigned char y,unsigned char *ptr)
{
while(*ptr++!='\0')DispOneChar(x++,y,*(ptr-1));
}
void print(unsigned char xdata *ptr)
{
unsigned int db;
db=ptr;
DispOneChar(0,1,(db/1000)+0x30);db=db%1000;
DispOneChar(1,1,(db/100)+0x30); db=db%100;
DispOneChar(2,1,(db/10)+0x30);
DispOneChar(3,1,(db%10)+0x30);
}
void testmem()
{
unsigned char xdata *ptr;
printx(0,0,ini);
printx(5,1,iso);
for(ptr=0;ptr<XDATALEN;ptr++)*ptr=0x33;
for(ptr=0;ptr<XDATALEN;ptr++){if(*ptr==0x33){print(ptr);
if(ptr==2*1024)DispOneChar(11,0,'>');
if(ptr==4*1024)DispOneChar(12,0,'>');
if(ptr==6*1024)DispOneChar(13,0,'>');
if(ptr==8*1024-1)DispOneChar(14,0,'>'); }
else while(1);}
printx(0,1," All");Delay400Ms();
printx(0,1," ");Delay400Ms();
printx(0,1," All");Delay400Ms();
printx(0,1," ");Delay400Ms();
printx(0,1," All");Delay400Ms();
printx(0,1," ");Delay400Ms();
LcdWriteCommand( 0x01, 1); // 显示清屏
printx(0,0,"Plese input: ");
LcdWriteCommand( 0x0f, 1); // 显示清屏
}
void init8279()
{
COM8279=0xD1; //清除命令字
while(COM8279&0x80); //8279状态字读,准备好
COM8279=0x2A; //分频系数;
COM8279=0x01;
IE=0x84;
IT1=1;
}
void keyserver() interrupt 2
{
if((COM8279&0x0F)==0)return;
COM8279=0x40;//发读键盘命令字
DispOneChar(13,0,table[DAT8279&0x0F]);
COM8279=0xC2;
}
void main()
{
Delay400Ms(); //等待lcm进入工作状态
LcdReset(); //工作初始化
init8279();
testmem();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -