標題:
基于AT89S52+SIM300 GPRS的遠程控制系統(tǒng)程序
[打印本頁]
作者:
v帆帆帆帆
時間:
2020-10-30 16:57
標題:
基于AT89S52+SIM300 GPRS的遠程控制系統(tǒng)程序
51hei.png
(33.93 KB, 下載次數(shù): 39)
下載附件
2020-10-30 21:36 上傳
單片機源程序如下:
/****************************************************************************************
* 文件名稱:SIM300.c
* 說明:本文件為單片機控制GPRS模塊程序文件
* 功能:單片機控制SIM300模塊撥打電話
* 修改:無
* 版本:1.0.0
* 作者:YuanDong
* 時間:2009.8.5
*****************************************************************************************/
#include <51reg.h>
#include <string.h>
#include <stdio.h> /*標準輸入輸出定義*/
#include <Target.h>
#include <Target.c> //串口發(fā)送接收程序
#define PWR_ON P2.5 //SIM300模塊供電腳
#define PWR_Key P2.4 //SIM300上電控制腳
sbit P2.4=P2^4;
sbit P2.5=P2^5;
#define AT_SEND_OK 0 //AT命令發(fā)送OK
uchar strcall[]="ATD15851861610"; //要撥打的電話號碼
uint len=15; //strcall[] 的長度
uint switch = 0; //SIM300 reset 成功
/*****************************************************************************************
*函數(shù)名稱:init_IO(void)
*函數(shù)功能:單片機I/O初始化
*入口函數(shù):無
*出口函數(shù):無
*****************************************************************************************/
void init_IO(void)
{
PWR_ON=0;
PRW_KEY=0;
}
/*****************************************************************************************
*函數(shù)名稱:SIM300_reset(void)
*函數(shù)功能:SIM300復位
*入口函數(shù):無
*出口函數(shù):SWITCH
*****************************************************************************************/
uint SIM300_reset(void)
{
PWR_ON=1; //GPRS PWR CTL on
PWR_KEY=1; //GPRS PWRKEY CTL hight
delay_ms(3000); //模塊開啟或關(guān)閉后等待3S
PWR_KEY=0; //pwrkey須先置高大于2s,再置低之后,才能正確復位模塊
delay_ms(2500);
return SWITCH;
}
/*****************************************************************************************
*函數(shù)名稱:SendAT(void)
*函數(shù)功能:發(fā)送AT命令
*入口函數(shù):無
*出口函數(shù):AT_SEND_OK
*****************************************************************************************/
uint SendAT(void)
{
send_str(strcall[],len); //調(diào)用 Target.c里的send_str()
return AT_SEND_OK;
}
/*****************************************************************************************
*函數(shù)名稱:void main(int argc, char **argv)
*函數(shù)功能:主函數(shù)
*入口函數(shù):無
*出口函數(shù):無
*****************************************************************************************/
void main(void)
{
while(1)
{
int i,j,k,status;
init_IO(); //I/O 初始化
usart0_initial(); //串口初始化
SIM300_reset(); //SIM300 復位
for(i=0;i<10000;i++)
for(j=0;j<100;j++)
for(k=0;k<100;k++); //延時一段時間
status = SendAT(); //發(fā)送AT命令
for(k=0;k<20000;k++);
if(!status)
{
printf("GPRS link ok!");
}
else
{
printf("GPRS link error!");
}
}
}
復制代碼
所有程序51hei提供下載:
基于AT89S52+GPRS的遠程控制系統(tǒng).zip
(46.85 KB, 下載次數(shù): 38)
2020-10-30 16:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
aking991
時間:
2020-11-2 10:29
你這程序有點怪,那些初始化都放在主循環(huán)里,那運行起來都是在循環(huán)中,這樣沒必要吧
作者:
shenyuqiu
時間:
2020-12-17 10:31
初始化放無限循環(huán)中?那不是一直無限次初始化
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1