📄 ramtest.c
字号:
#include "reg51.h"
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "absacc.h"
#define uchar unsigned char
#define uint unsigned int
#define Alert_speed 10
#define BaudA_h 0 /* 9600 for SIOA PORT for LCD */
#define BaudA_l 0x0C
#define BaudB_h 0 /* 4800 for SIOB PORT for GPS */
#define BaudB_l 0x18
#define BaudC_h 0 /* 9600 for SIOC PORT for VOICE */
#define BaudC_l 0x0C
//#define BaudC_h 0 /* 19200 for SIOD PORT for VOICE */
//#define BaudC_l 0x06
#define GPSL 0x400
#define GSML 0x400
#define GSMP 0x300
#define GPSP 0x100
#define SIOA (( uchar * )0x28000L )
#define SIOB (( uchar * )0x29000L )
#define SIOC (( uchar * )0x2A000L )
#define SIOD (( uchar * )0x2B000L )
#define PARA (( uchar * )0x2C000L )
void Init554( void ) ;
void sendlcd( uchar ) ;
uchar data timer_1s=100;
uint timer_0=100;
uint addr=0;
uchar var=0;
uchar tem;
bit RamError=0;
void main( )
{
P15=0;
SCON = 0x50 ;
TMOD = 0x21 ;
TL1 = 0xfd ; /* fa:9600 fd:19200 f4:4800 */
TH1 = 0xfd ; /*19200 for gsm baud rate*/
TL0 = 0xe4 ; /* 10 ms */
TH0 = 0xdb ;
PCON = 0x80 ;
TR1 = 1 ;
TR0 = 1 ;
IP = 0x05 ;
IT0 = 1 ;
ET0 = 1 ; /* Enable timer0 interrupt */
ES = 0 ; /* Disaable sio interrupt */
EX0 = 0 ; /* Disable extern int0 interrupt */
EX1 = 0 ;
EA = 1 ; /* Enable interrupt */
ES = 1 ; /* Enable sio interrupt */
EX0 = 1 ; /* Enable extern int0 interrupt */
EX1 = 1 ;
P14 = 0 ;
timer_0 = 50 ;
while ( timer_0 != 0 ) ;
P14 = 1 ;
timer_0 = 200 ;
while (timer_0 != 0 ) ;
P14 = 0 ;
Init554( ) ;
while( 1 )
{
/*******while(addr<0x8000)
{
XBYTE[addr]=var;
tem=XBYTE[addr];
if(tem==var)
{
;
}
else
{
RamError=1;
}
addr++;
var++;
P14=!P14;
}*************/
timer_0 =20 ;
while ( timer_0 !=0 ) ;
sendlcd(0x55) ;
}
}
void sendlcd( uchar a )
{
uchar x,y ;
while( 1 )
{
y = SIOA[5] ;
x = y&0x20 ;
if( x==0x20 )
{
SIOA[0] = a ;
return ;
}
}
}
void timer0() interrupt 1
{
TL0 = 0x00 ;
TH0 = 0xdc ;
P10=!P10;
if(timer_1s!=0)
timer_1s--;
if(timer_0!=0)
timer_0--;
/*****SIOA[0]=0x55;
SIOB[0]=0x55;
SIOC[0]=0x55;
SIOD[0]=0x55;
PARA[0]=0x55; *******/
if(timer_1s==0)
{
timer_1s=100;
if(RamError==0)
{
P16=!P16;
}
}
}
void Init554()
{
SIOA[4] = 0x08 ; /*MODEM CONTROL REGISTER,INT enable*/
SIOA[3] = 0x80 ; /*divisor latch enable*/
SIOA[0] = BaudA_l ; /*LSB OF DIVISOR LATCH*/
SIOA[1] = BaudA_h ; /*MSB OF DIVISOR LATCH*/
SIOA[3] = 0x03 ; /*8 BIT WORD LENGTH*/
SIOA[4] = 0x0b ; /*INT ENABLE FORCE RTS,DTR="0" */
SIOA[1] = 0x01 ;
SIOB[4] = 0x08 ;
SIOB[3] = 0x80 ;
SIOB[0] = BaudB_l ;
SIOB[1] = BaudB_h ;
SIOB[3] = 0x03 ;
SIOB[4] = 0x0b ;
SIOB[1] = 0x01 ;
SIOC[4] = 0x08 ;
SIOC[3] = 0x80 ;
SIOC[0] = BaudC_l ;
SIOC[1] = BaudC_h ;
SIOC[3] = 0x03 ;
SIOC[4] = 0x0b ;
SIOC[2] = 0xc1 ;
SIOC[2] = 0xc1 ;
SIOC[1] = 0x01 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -