?? t.c
字號:
#include <REG51.H>
#include <ABSACC.H>
#include "t.h"
#if 1
void delay(unsigned int n)
{
unsigned int i,j;
for(j=0;j<100;j++)
for(i=0;i<N;I++); P2="addr" LE="1;//delay(1);" P0="addr;//delay(1);" v; char unsigned { addr) int readFlash(unsigned 0 #if #endif }>>8;//delay(1);
OE=0;//delay(10);
P0=0xFF;
v=P0;//delay(1);
OE=1;//delay(1);
return v;
}
void writeFlash1(unsigned int addr,char value)
{
LE=1;//delay(1);
P0=addr;//delay(1);
LE=0;//delay(1);
P2=addr>>8;//delay(1);
P0=value;//delay(1);
WE=0;//delay(10);
WE=1;//delay(1);
}
void chipErase()
{
writeFlash1(0x5555,0xAA);
writeFlash1(0x2AAA,0x55);
writeFlash1(0x5555,0x80);
writeFlash1(0x5555,0xAA);
writeFlash1(0x2AAA,0x55);
writeFlash1(0x5555,0x10);
}
#endif
#if 1
unsigned char volatile xdata *s,xdata *p;
#endif
void main()
{
#if 1
unsigned char func=0,v;
unsigned char wrchar;
s=p=0x4000;
for(;;)
{
KEY1=0;
KEY2=0;
KEY3=0;
if(KEY1)
{
func=(func+1)&0x03;
LEDOUT=~func;
switch(func)
{
case 0: break;//(set value) reset pos and memory display
case 1: wrchar=0xA0; break;//set write char value
case 2: break;//(display offset addr value)set pos p
case 3: break;//write at pos or erase
}
}
if(func==0)
{
if(KEY2){ p--; v=*p;LEDOUT=~v;}
else if(KEY3){ p++; v=*p;LEDOUT=~v;}
}
else if(func==1)
{
if(KEY2){ wrchar+=0x10; LEDOUT=~wrchar;}
else if(KEY3){ wrchar+=0x01; LEDOUT=~wrchar;}
}
else if(func==2)
{
if(KEY2){ p--;LEDOUT=~(char)p;}
else if(KEY3){ p++;LEDOUT=~(char)p;}
}
else if(func==3)
{
if(KEY2)//write at pos
{
*p=wrchar;
LEDOUT=~(0xAA);
}
}
delay(100);
}
#else
unsigned int s,p;//read
unsigned char func=0,v;
unsigned char wrchar;
s=p=0x4000;
for(;;)
{
KEY1=0;
KEY2=0;
KEY3=0;
if(KEY1)
{
func=(func+1)&0x03;
LEDOUT=~func;
switch(func)
{
case 0: break;//(set value) reset pos and memory display
case 1: wrchar=0xA0; break;//set write char value
case 2: break;//(display offset addr value)set pos p
case 3: break;//write at pos or erase
}
}
if(func==0)
{
if(KEY2){ p--; v=XBYTE[p];LEDOUT=~v;}
else if(KEY3){ p++; v=XBYTE[p];LEDOUT=~v;}
}
else if(func==1)
{
if(KEY2){ wrchar+=0x10; LEDOUT=~wrchar;}
else if(KEY3){ wrchar+=0x01; LEDOUT=~wrchar;}
}
else if(func==2)
{
if(KEY2){ p--;LEDOUT=~(char)p;}
else if(KEY3){ p++;LEDOUT=~(char)p;}
}
else if(func==3)
{
if(KEY2)//write at pos
{
XBYTE[p]=wrchar;
LEDOUT=~(0xAA);
}
else if(KEY3)// chip erase
{
XBYTE[0x4000]=0x11;
XBYTE[0x4001]=0x22;
XBYTE[0x4002]=0x33;
XBYTE[0x4003]=0x44;
XBYTE[0x4004]=0x55;
XBYTE[0x4005]=0x66;
XBYTE[0x4006]=0x77;
XBYTE[0x4007]=0x88;
XBYTE[0x4008]=0x99;
// XBYTE[0x5555]=0xAA;
// XBYTE[0x2AAA]=0x55;
// XBYTE[0x5555]=0x80;
// XBYTE[0x5555]=0xAA;
// XBYTE[0x2AAA]=0x55;
// XBYTE[0x5555]=0x10;
LEDOUT=~(0xFA);
}
}
delay(100);
}
#endif
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -