-
大小: 46KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-13
- 語言: 其他
- 標(biāo)簽:
資源簡介
基于51單片機(jī)的短信收發(fā)設(shè)計(jì),采用1602作為輸出顯示端口

代碼片段和文件信息
/*************************文件名main.c******************************
*功能描述:單片機(jī)控制tc35iGSM模塊收發(fā)短信
*所需模塊: 名稱 型號 廠家
* 單片機(jī) STC89c58RD+ STC
* GSM模塊 tc35i 西門子
* 液晶顯示器 1602(16腳)
* 串口 MAX232
* 蜂鳴器
* 電源、連接線若干
*所需文件: 名稱 描述
* reg52.h 特殊功能寄存器
* stdlib.h NULL
* intrins.h _nop_()
* 1602_lcd.h 1602液晶顯示器子函數(shù)
* shizhong.h 時(shí)間函數(shù)
* tc35i.h GSM模塊子函數(shù)
*日????期: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“
/*****************************************************************
*函數(shù)名稱:?主函數(shù)
*功能:? 延時(shí)函數(shù)
*形參:
*返回值:
*備注: 調(diào)度個(gè)子函數(shù),完成通信過程
*****************************************************************/
void?main(void)
{?char?i=0; //uint?j=0; char?*p;
//定時(shí)器初始化
Time0Init();
zhushi?delayms_10ms();Bell();
//初始化LCD1602
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();
delayms_1ms();lcd_init();delayms_100ms();
//顯示開機(jī)畫面
zhushi?lcd_disp_str(“?How?are?you?!??“1);
zhushi?lcd_disp_str(“???Welcome!?????“2);
//延時(shí)5s
for(i=0;i<5;i++)delayms_1000ms();
//清除串口接收緩沖區(qū)
zhushi?lcd_disp_str(“??Clear?RsBuf???“1);
zhushi?lcd_disp_str(“????????????????“2);
ClrBuf(RsBufRsBuf_N);
//串口初始化?定時(shí)器初始化
UART_init();delayms_100ms();
//串口發(fā)送“聯(lián)機(jī)“指令
Send_AT();
//串口發(fā)送“禁止回顯“指令
SendString(“ATE0\r“);
zhushi?lcd_disp_str(“ATE0????????????“1);
delayms_1000ms();
//串口發(fā)送“PDU模式“指令
SendString(“AT+CMGF=0\r“);
zhushi?lcd_disp_str(“AT+CMGF=0???????“1);
delayms_1000ms();
//串口發(fā)送“新信息報(bào)告“指令
SendString(“AT+CNMI=11021\r“);
zhushi?lcd_disp_str(“ATCNMI=11021“1);
delayms_1000ms();
//清除串口接收緩沖區(qū)前50字節(jié)
ClrBuf(RsBuf50);
RsPoint=0;
ES=1;
//tc35i向服務(wù)臺發(fā)送請求信息
RequestDWW();
delayms_1000ms();
while(1){
//delayms_100ms();
??if(RsPoint){
//信息報(bào)告?“+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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4798??2009-05-22?19:05??應(yīng)用\main.c
?????文件??????39197??2009-05-24?22:01??應(yīng)用\main.plg
?????文件???????2182??2009-05-24?22:00??應(yīng)用\1602_lcd.h
?????文件???????1293??2009-05-24?21:57??應(yīng)用\shizhong.h
?????文件??????14778??2009-05-24?21:58??應(yīng)用\tc35i.h
?????文件?????????40??2009-05-24?22:01??應(yīng)用\main.lnp
?????文件??????42113??2009-05-24?22:01??應(yīng)用\main.M51
?????文件??????11541??2009-05-24?22:01??應(yīng)用\main.hex
????.......?????????0??2009-05-22?19:05??應(yīng)用\main_Uv2.Bak
?????文件???????1975??2009-05-22?19:08??應(yīng)用\main.Uv2
????.......??????1493??2009-05-22?20:02??應(yīng)用\main_Opt.Bak
?????文件??????10176??2009-05-24?22:01??應(yīng)用\main.LST
?????文件??????43065??2009-05-24?22:01??應(yīng)用\main.OBJ
?????文件??????34809??2009-05-24?22:01??應(yīng)用\main
?????文件???????1485??2009-05-24?22:01??應(yīng)用\main.Opt
?????目錄??????????0??2009-05-22?19:04??應(yīng)用
-----------?---------??----------?-----??----
???????????????208945????????????????????16
評論
共有 條評論