sim800c调试通过_第1页
sim800c调试通过_第2页
sim800c调试通过_第3页
sim800c调试通过_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、* * 工程名:拨打电话* 描述:通过手机发送短信控制LED* 实验平台 :STC12XX* QQ:184164353*:* */#include "string.h"#include "delay.h"#include "uart.h"#define Buf2_Max 200/ 串口 2 缓存长度/*本地常量声明*/sbit RUNING_LED = P21;/ 运行指示灯/*本地变量声明*/xdata u8 Uart2_BufBuf2_Max;u8 Times=0,First_Int = 0,shijian=0;/u8 Time_

2、count=0;bdata u8 Flag;/ 定时器标志位sbit Timer0_start =Flag0;/ 定时器 0 延时启动计数器static unsigned char *phone = "ATD10086;rn" /拨打电话,修改这里可以修改拨打的电话。/*本地函数声明*/void GPIO_config(void);void Timer0Init(void);void CLR_Buf2(void);void Wait_CREG(void);/*外部函数和变量声明*/* *精选文库* 函数名: main* 描述: 主函数* 输入:* 输出:* 返回:* 注意:

3、 串口 2 负责与 GPRS模块通信, 串口 1 用于下载程序或串口调试,可以避免在下载程序时数据还发送到模块*/void main(void)GPIO_config();Uart2Init();Timer0Init();EA=1;/ 开总中断Wait_CREG();/ 查询模块是否注册成功UART2_SendString(phone);/ 拨打电话while(1);/* * 函数名 : Uart1* 描述: 串口 1 中断服务入口函数*输入:*输出:*返回:*注意:*/void Uart1() interrupt 4if (RI)RI = 0;/ 清除 RI位if (TI)TI=0;/清除

4、TI位2精选文库/* * 函数名 : Uart2* 描述: 串口 2 中断服务入口函数*输入:*输出:*返回:*注意:*/void Uart2() interrupt 8IE2&= 0x01;/ 关闭串口2 中断if (S2CON & S2RI)S2CON &= S2RI;/ 清除 S2RI 位Uart2_BufFirst_Int = S2BUF;/ 将接收到的字符串存到缓存中First_Int+;/ 缓存指针向后移动if(First_Int > Buf2_Max)/ 如果缓存满,将缓存指针指向缓存的首地址First_Int = 0;if (S2CON &

5、 S2TI)S2CON &= S2TI;/ 清除 S2TI 位IE2|= 0x01;/ 使能串口2 中断/*函数名 : Timer0_ISR*描述: 定时器 0 中断服务入口函数,20ms 中断一次*输入:*输出:*返回:*注意:*/void Timer0_ISR() interrupt 13精选文库static u8 Time_count=0;TR0=0;/ 关定时器Time_count+;if(Time_count>=50)Time_count = 0;RUNING_LED =RUNING_LED;TR0=1;/ 开定时器/* 函数名 : GPIO_config* 描述: I

6、O 口配置函数*输入:*输出:*返回:*注意:* /void GPIO_config(void)P3M1 &= 0XC3;/ 配置 P32P35 为推挽输出P3M0 |=0XC3;RUNING_LED=0;void Timer0Init(void)/ 20 毫秒 22.1184MHzAUXR &= 0x7F;/12T 模式TMOD &= 0xF0;/ 设置定时器模式16 位重载TL0 = 0x00;/ 设定定时器初值TH0 = 0x70;/ 设定定时器初值TF0 = 0;/ 清除 TF0 标志TR0 = 1;/ 定时器 0开始计时ET0 = 1;/ 使能定时器 0中断/

7、* 函数名 : CLR_Buf2* 描述: 清除串口 2 缓存数据*输入:*输出:4精选文库*返回:*注意:*/void CLR_Buf2(void)u16 k;for(k=0;k<Buf2_Max;k+)/ 将缓存内容清零Uart2_Bufk = 0x00;First_Int = 0;/ 接收字符串的起始存储位置/* 函数名: Wait_CREG* 描述: 等待模块注册成功*输入:*输出:*返回:*注意:*/void Wait_CREG(void)u8 i;u8 k;i = 0;CLR_Buf2();while(i = 0)CLR_Buf2();UART2_SendString("AT+CREG?");UART2_SendLR();delay_ms(5000);for(k=0;k<Buf2_Max;k+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论