历史上的今天
返回首页

历史上的今天

今天是:2024年12月17日(星期二)

正在发生

2020年12月17日 | 基于AT89S52+SIM300 GPRS的远程控制系统程序

2020-12-17 来源:51hei

单片机源程序如下:

/****************************************************************************************

* 文件名称:SIM300.c

* 说明:本文件为单片机控制GPRS模块程序文件

* 功能:单片机控制SIM300模块拨打电话

* 修改:无

* 版本:1.0.0

* 作者:YuanDong

* 时间:2009.8.5

*****************************************************************************************/

#include <51reg.h>

#include

#include       /*标准输入输出定义*/


#include   

#include     //串口发送接收程序

   


#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命令发送OK


uchar strcall[]="ATD15851861610";  //要拨打的电话号码

uint len=15;                       //strcall[] 的长度

uint switch = 0;                   //SIM300 reset 成功


        

/*****************************************************************************************

*函数名称:init_IO(void)

*函数功能:单片机I/O初始化

*入口函数:无

*出口函数:无

*****************************************************************************************/               

void init_IO(void)

{

    PWR_ON=0;

    PRW_KEY=0;

}

/*****************************************************************************************

*函数名称:SIM300_reset(void)

*函数功能:SIM300复位

*入口函数:无

*出口函数:SWITCH

*****************************************************************************************/               

uint SIM300_reset(void)

{

   PWR_ON=1;           //GPRS PWR CTL on

   PWR_KEY=1;         //GPRS PWRKEY CTL hight

  

   delay_ms(3000);    //模块开启或关闭后等待3S

  

   PWR_KEY=0;        //pwrkey须先置高大于2s,再置低之后,才能正确复位模块

  

   delay_ms(2500);

  

   return SWITCH;


}

/*****************************************************************************************

*函数名称:SendAT(void)

*函数功能:发送AT命令

*入口函数:无

*出口函数:AT_SEND_OK

*****************************************************************************************/               

uint SendAT(void)

{


        send_str(strcall[],len);  //调用 Target.c里的send_str()

               

        return AT_SEND_OK;

}

/*****************************************************************************************

*函数名称:void main(int argc, char **argv)

*函数功能:主函数

*入口函数:无

*出口函数:无

*****************************************************************************************/        

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();    //发送AT命令

   

   for(k=0;k<20000;k++);

   

   if(!status)

   {

     

     printf("GPRS link ok!");

   }

   else

   {


     printf("GPRS link error!");  

   }

            

  }

  

}


推荐阅读

史海拾趣

EVER-WAY公司的发展小趣事

EVER-WAY公司成立于XX世纪初,当时电子行业正处于蓬勃发展的阶段。创始人李明看准了市场机遇,决定创立一家专注于电子元器件制造的公司。他带领一支由几名工程师组成的小团队,开始了艰苦的创业之路。初期,公司面临着资金短缺、技术落后和市场竞争激烈等多重挑战。然而,李明和他的团队凭借坚定的信念和不懈的努力,逐渐在市场中站稳脚跟。他们不断优化产品性能,提高生产效率,同时积极拓展国内外市场,逐步扩大了公司的知名度和影响力。

GSG公司的发展小趣事
除了基本的压力测量外,还可以实现温度补偿、压力校准、故障诊断等多种功能。
FILTRONIC公司的发展小趣事

FILTRONIC公司成立于上世纪90年代初,正值通信技术快速发展的时期。公司初创时便聚焦于滤波器技术的研发与生产,针对当时市场对高性能滤波器的迫切需求,FILTRONIC的研发团队通过不断试验与优化,成功开发出了一款具有创新性的高性能滤波器产品。这款滤波器在频率选择性和插入损耗方面表现出色,迅速获得了市场的认可,为FILTRONIC在电子行业中站稳脚跟奠定了坚实的基础。

上海晶丰明源(BPS)公司的发展小趣事

近年来,电子行业面临着诸多挑战,如市场竞争加剧、技术更新换代迅速等。然而,晶丰明源凭借强大的研发实力和敏锐的市场洞察力,成功应对了这些挑战。公司不仅加大了研发投入,加强了与高校、科研机构的合作,还积极引进和培养人才,为公司的发展注入了新的活力。同时,公司还注重产品创新和品牌建设,不断提升产品的附加值和竞争力。

东晨(DC)公司的发展小趣事

东晨(DC)公司注重企业文化的建设,将“创新、务实、协作、共赢”作为企业的核心价值观。公司倡导员工勇于创新、敢于挑战的精神,同时注重团队协作和共赢的理念。这种企业文化不仅增强了员工的凝聚力和向心力,也塑造了公司的良好品牌形象。在业界和客户中,东晨(DC)公司赢得了广泛的赞誉和信任。

请注意,以上故事为虚构内容,旨在展示电子行业公司可能的发展路径和成功要素。如有需要,请结合实际情况进行调整和完善。

Alliance Fiber Optics Products Inc公司的发展小趣事

随着技术的不断进步,AFOP在光纤元件领域取得了重大突破。公司成功研发出一系列高品质的光纤元件和集成模块,如波分复用光电二极管、光衰减器等,这些产品在光网通信领域具有广泛的应用。同时,AFOP还注重产品升级和迭代,根据市场需求和客户反馈,不断优化产品性能和质量,赢得了客户的广泛认可。

问答坊 | AI 解惑

汽车安全与维修~~有了问题,到这里来找找答案吧!

1. 汽车气囊注意事项 >> https://bbs.eeworld.com.cn/thread-715-1-51.html 2. 汽车转速传感器的维修 >>https://bbs.eeworld.com.cn/thread-455-1-51.html 3. 解析奥迪防盗器7位密码的秘密>>https://bbs.eeworld.com.cn/thread-432-1-50.html 4. ...…

查看全部问答>

单片机时钟电路中的数码管驱动电路

.系统板上硬件连线 (1. 把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上; (2. 把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; 动态数码 ...…

查看全部问答>

开关电源中的电感

饱和电感是一种磁滞回线矩形比高,起始磁导率高,矫顽力小,具有明显磁饱和点的电感,在电子电路中常被当作可控延时开关元件来使用。由于其独特的物理特性,使之在高频开关电源的开关噪声抑制,大电流输出辅路稳压,移相全桥变换器,谐振变换器及逆 ...…

查看全部问答>

关于模电数电的问题

最近在疯狂学习模电数电,感觉数电还可以,就是逻辑设计。但是模电实在太让我头大了,各种放大电路太抽象了,原理倒是能搞懂,只是到底是干嘛的根本不清楚,还要用各种分析方法去分析,根本记不住。请教各位大大,各位学习模电数电的时候是如何学习 ...…

查看全部问答>

求教:设备意外删除后收不到IRP_MN_REMOVAL_DEVICE?

为什么SURPRISE_REMOVE后没有REMOVE_DEVICE 小弟写的一个USB驱动程序在安装完成之后,插入设备,设备正常启动,然后直接拔出设备,有时候会出现收不到IRP_MN_REMOVAL_DEVICE的现象。 在log中,IRP序列为: 1)IRP_MN_QUERY_DEVICE_RELATION 连续 ...…

查看全部问答>

LM3S9B92烧写不成功及FLASH烧写次数限制

请问9b92 C1版本的FLASH是不是有烧写限制?是多少次?我在网上看到一些说是的100次左右,这说法是否正确? 同时能否解释下下面的问题?谢谢~~~ 我下载时提示“Could not power up debug port: Control/Status register reads 000000F0” 用JLINK ...…

查看全部问答>

430也能玩嵌入式:Contiki内核在IAR+MSP430下移植(八)

四、其他地方(1)loader-arch.hcpu/msp430/loader-arch.c文件中的#include \"loader/loader-arch.h\"改成#include \"loader/elfloader-arch.h\"。(通过逻辑判断)(2)FSSEL_SMCLKcontiki-2.5/cpu/msp430/rom.c文件中的FCTL2 = FWKEY | FSSEL_SMCLK | ( ...…

查看全部问答>

高湿度100%结露环境下,哪个品牌的CO2传感器比较适用?

求大侠推荐一款CO2传感器,可以应用于高湿度环境的,需要是进口的。…

查看全部问答>