资源简介
基于51单片机的短信收发设计,采用1602作为输出显示端口
代码片段和文件信息
/*************************文件名main.c******************************
*功能描述:单片机控制tc35iGSM模块收发短信
*所需模块: 名称 型号 厂家
* 单片机 STC89c58RD+ STC
* GSM模块 tc35i 西门子
* 液晶显示器 1602(16脚)
* 串口 MAX232
* 蜂鸣器
* 电源、连接线若干
*所需文件: 名称 描述
* reg52.h 特殊功能寄存器
* stdlib.h NULL
* intrins.h _nop_()
* 1602_lcd.h 1602液晶显示器子函数
* shizhong.h 时间函数
* tc35i.h GSM模块子函数
*日 期:2009-5-22
*****************************************************************/
#include
#include
#include
extern void delayms_48us();
extern void delayms_1ms();
extern void delayms_10ms();
extern void delayms_100ms();
extern void delayms_1000ms();
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define zhushi ;
sbit P3_7=P3^7;
#include “1602_lcd.h“
#include “shizhong.h“
#include “tc35i.h“
/*****************************************************************
*函数名称: 主函数
*功能: 延时函数
*形参:
*返回值:
*备注: 调度个子函数,完成通信过程
*****************************************************************/
void main(void)
{ char i=0; //uint j=0; char *p;
//定时器初始化
Time0Init();
zhushi delayms_10ms();Bell();
//初始化LCD1602
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();delayms_100ms();
//显示开机画面
zhushi lcd_disp_str(“ How are you ! “1);
zhushi lcd_disp_str(“ Welcome! “2);
//延时5s
for(i=0;i<5;i++)delayms_1000ms();
//清除串口接收缓冲区
zhushi lcd_disp_str(“ Clear RsBuf “1);
zhushi lcd_disp_str(“ “2);
ClrBuf(RsBufRsBuf_N);
//串口初始化 定时器初始化
UART_init();delayms_100ms();
//串口发送“联机“指令
Send_AT();
//串口发送“禁止回显“指令
SendString(“ATE0\r“);
zhushi lcd_disp_str(“ATE0 “1);
delayms_1000ms();
//串口发送“PDU模式“指令
SendString(“AT+CMGF=0\r“);
zhushi lcd_disp_str(“AT+CMGF=0 “1);
delayms_1000ms();
//串口发送“新信息报告“指令
SendString(“AT+CNMI=11021\r“);
zhushi lcd_disp_str(“ATCNMI=11021“1);
delayms_1000ms();
//清除串口接收缓冲区前50字节
ClrBuf(RsBuf50);
RsPoint=0;
ES=1;
//tc35i向服务台发送请求信息
RequestDWW();
delayms_1000ms();
while(1){
//delayms_100ms();
if(RsPoint){
//信息报告 “+CDSI: “SM“xx“
ReturnCommandOffSet=mystrstr(RsBuf“+CDSI: \“SM\““);
if(ReturnCommandOffSet!=NULL){
RsPoint=0;
*(ReturnCommandOffSet+1)=0xa5;
*(ReturnCommandOffSet+2)=0xa5;
zhushi Bell();
zhushi lcd_disp_str(“Have new Report “1);
ReciveNewStatusReport();
//ClrBuf(RsBuf8);
//RsPoint=0;
}
delayms_100ms();
//有新信息 “+CMTI: “SM“xx“
ReturnCommandOffSet=mystrstr(RsBuf“+CMTI: \“SM\““);
if(ReturnCommandOffSet!=NULL){
RsPoint=0;
*(ReturnCommandOffSet+1)=0xa5;
*(ReturnCommandOffSet+2)=0xa5;
zhushi Bell();for(i=0;i<16;i++)dis2[i]=*(ReturnCommandOffSet+i);
zhushi lcd_disp_str(“Have new Message“1);
zhushi lcd_disp_str(dis22);delayms_1000ms();
ReciveNewMsg();
ClrBuf(RsBuf8);
RsPoint=0;
}
// RsPoi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4798 2009-05-22 19:05 应用\main.c
文件 39197 2009-05-24 22:01 应用\main.plg
文件 2182 2009-05-24 22:00 应用\1602_lcd.h
文件 1293 2009-05-24 21:57 应用\shizhong.h
文件 14778 2009-05-24 21:58 应用\tc35i.h
文件 40 2009-05-24 22:01 应用\main.lnp
文件 42113 2009-05-24 22:01 应用\main.M51
文件 11541 2009-05-24 22:01 应用\main.hex
....... 0 2009-05-22 19:05 应用\main_Uv2.Bak
文件 1975 2009-05-22 19:08 应用\main.Uv2
....... 1493 2009-05-22 20:02 应用\main_Opt.Bak
文件 10176 2009-05-24 22:01 应用\main.LST
文件 43065 2009-05-24 22:01 应用\main.OBJ
文件 34809 2009-05-24 22:01 应用\main
文件 1485 2009-05-24 22:01 应用\main.Opt
目录 0 2009-05-22 19:04 应用
----------- --------- ---------- ----- ----
208945 16
相关资源
- 单片机控制继电器模块电路原理图,
- 单片机控制的简易单相逆变电源
- 基于单片机控制的CAN总线与RS-232转换
- 52单片机控制TC35发短信程序
- 51单片机控制GSM发送短信
- 使用51单片机控制nRF24L01的多种例程
- 通过串口和51单片机控制舵机转动有
- 51单片机控制GSM模块实现短信控制继电
- ADC0809 C51单片机控制 输出到串口显示
- 基于单片机控制的智能洗衣机设计的
- 基于单片机控制的软起动器的设计
- 单片机控制GSM模块TC35的方法
- 51单片机控制双舵机模拟云台
- 按键控制MSP430F5529单片机控制灯闪烁
- 单片机控制的光电编码器测速系统
- 利用DS1302实现单片机控制的电子万年
- 基于51单片机控制的函数信号发生器含
- 基于单片机控制的汽车前照灯自适应
- 51单片机控制乒乓球游戏
- 51单片机控制TC35 之发送TEXT短信
- 单片机控制输出电压的开关电源
- 51单片机控制sim808
- 51单片机控制BMP180气压传感器 并通过
- 单片机控制冒泡排序 数码管显示
- 51单片机控制LED点阵显示Proteus仿真
- 基于单片机控制的智能五子棋
- 51单片机控制RDA5807收音机模块
- PIC单片机控制风扇马达
- 51单片机控制57步进电机启停,正反转
- 89C51单片机控制HT1621B驱动LCD(C程序)
评论
共有 条评论