此程序 为 通过51单片机来控制sim900 进而控制其拨打电话 下载本文

内容发布更新时间 : 2024/11/1 7:37:02星期一 下面是文章的全部内容请认真阅读。

此程序 为 通过51单片机来控制sim900 进而控制其拨打电话 如果解释上有什么错误希望能够向本人提出进而进行修改

#include #include #include #include #include #include #define uint unsigned int #define uchar unsigned char sbit led =P1^1; sbit gua=P3^4;

uchar code SMS_send[]= \T+COLP=1\被叫号码显示 sbit Send_SMS_PDU_key=P3^7; //拨打电话恩建 uchar code SMS_PDU[]= \TE1\设置回显 uchar Byte_num[]=\ //查看sim卡类型

uchar code Sms2_Pdu[]=\TD10086;\被叫号码 (如果需要拨打其他号码则将10086该变为其他号码即可)

uchar code guaduan[]=\挂断 摁下P3^4对应的恩建就会挂断

void delay(uint ms)// 延时子程序 {

uchar i; while(ms--) {

for(i=0;i<120;i++); } }

/*********************************************************** 函数名称:Print_Char

函数功能:发送单个字符

入口参数:ch 出口参数:无

***********************************************************/ void Print_Char(uchar ch)//发送单个字符 {

// TI=0;

SBUF=ch; //送入缓冲区

while(TI==0); //等待发送完毕 TI=0; //软件清零 }

/*********************************************************** 函数名称:Print_Str

函数功能:发送字符串

入口参数:*str 出口参数:无

***********************************************************/ void Print_Str(uchar *str)//发送字符串 {

while(*str!='\\0') {

Print_Char(*str++);

} }

/*Print_Str(uchar *str,uint len)//发送字符串,调用Send_Char() len字符串长度 {

while(len--) {

Print_Char(*str++); } }*/

/*********************************************************** 函数名称:Ini_UART

函数功能:串口初始化、定时器初始化 入口参数:无 出口参数:无

***********************************************************/ void Ini_UART(void)//串口初始化、定时器初始化 {

TMOD = 0x20; //T1方式2,用于UART波特率 TH1 = 0xFD; //UART波特率设置:9600 TL1 = 0xFD;

SCON = 0x50; ////UART方式1:8位UART; REN=1:允许接收 PCON = 0x00;

TF1 = 1; // 中断标志位

TR1 = 1; // 启动定时器1 ES=1; //启动串行口中断 ET0=1; //启动中断功能 EA=1;

}

void GSM_PDU() { Print_Str(Byte_num); Print_Str(\ delay(1000); delay(1000); Print_Str(SMS_PDU); //发送设置指令 Print_Str(\ //发送回车 ES=1; delay(1000); delay(1000); }

void GSM_PDU_SMS() {

Print_Str(SMS_send);

Print_Str(\发送回车 delay(1000); delay(1000);

Print_Str(Sms2_Pdu); //拨打电话为10086 Print_Str(\ delay(1000); ES=1; delay(5000); }

/*********************************************************** 函数名称:main 函数功能:主函数

***********************************************************/ void main() {

Ini_UART(); //串口初始化 while(1) {

if(!Send_SMS_PDU_key) //摁下 恩建 开始拨打电话 {

GSM_PDU(); //delay(500);