• 大小: 46KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: 其他
  • 标签:

资源简介

基于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


评论

共有 条评论