📄 stest.c
字号:
#include "string.h"
#include "reg52.h"
#define TRUE 1
#define FALSE 0
void init(void);
void mod_comd(unsigned char *str1);
void mod_data(unsigned char *str1);
unsigned char idata state _at_ 0x22;
unsigned char idata mod_buff_head _at_ 0x20;
unsigned char idata mod_buff_tail _at_ 0x21;
unsigned char idata mod_buff[31] _at_ 0x30;
main()
{
unsigned char i,k,n;
init();
mod_buff_tail=0;
for (i=0;i<32;i++) mod_buff[i]=0;
// for (i=0;i<250;i++) {for (k=0;k<16;k++);} // 50*i circle
for (i=0;i<250;i++) {for (k=0;k<250;k++) {for (n=0;n<40;n++);};} // need delay 4 second!!!!!
mod_comd("atv0e0s0=1"); //setup
while ( !((mod_buff[11]==0x30)&(mod_buff[12]==0x0d)));
mod_buff_tail=0;
for (i=0;i<32;i++) mod_buff[i]=0;
mod_comd("atdt16"); //dial
while (!((mod_buff[0]==0x31)&(mod_buff[1]==0x32)&(mod_buff[2]==0x0d)));
mod_buff_tail=0;
for (i=0;i<32;i++) mod_buff[i]=0;
mod_data("abcdefghigklmnopqrstuvwxyz"); //send data
mod_comd(" "); //send char ENTER
mod_data("1234567890");
mod_comd(" ");
mod_data("kkkkkkkkk");
mod_comd(" ");;
mod_data("+");
mod_data("+");
mod_data("+");
mod_comd("ath0");
while(1);
}
void mod_comd(unsigned char *str1)
{
unsigned char i,k;
do
{
if(*str1!=0x00)
{ SBUF=*str1;
state=FALSE;
while(state==FALSE);
str1++;
}
else break;
}while(1);
SBUF=0x0d;
state=FALSE;
for (i=0;i<250;i++) {for (k=0;k<16;k++);} // 50*i circle
}
void mod_data(unsigned char *str1)
{
do
{
if(*str1!=0x00)
{ SBUF=*str1;
state=FALSE;
while(state==FALSE);
str1++;
}
else break;
}while(1);
state=FALSE;
}
//===============================================================
void init(void)
{
TMOD=0x22;
TL1=0xf6;
TH1=0xf6;
SCON=0x50;
PCON=0x80;
ET1=0;
TR1=1;
ES=1;
EA=1;
}
void SCON_int(void) interrupt 4 using 3
{
if (RI==1)
{ RI=0;
mod_buff[mod_buff_tail]=SBUF;
mod_buff_tail=(mod_buff_tail+1)%0x32;
}
if (TI==1)
{ TI=0;
state=TRUE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -