gsmtc35手机通讯与单片机调试文档.docx

上传人:b****6 文档编号:3730175 上传时间:2022-11-25 格式:DOCX 页数:18 大小:1.52MB
下载 相关 举报
gsmtc35手机通讯与单片机调试文档.docx_第1页
第1页 / 共18页
gsmtc35手机通讯与单片机调试文档.docx_第2页
第2页 / 共18页
gsmtc35手机通讯与单片机调试文档.docx_第3页
第3页 / 共18页
gsmtc35手机通讯与单片机调试文档.docx_第4页
第4页 / 共18页
gsmtc35手机通讯与单片机调试文档.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

gsmtc35手机通讯与单片机调试文档.docx

《gsmtc35手机通讯与单片机调试文档.docx》由会员分享,可在线阅读,更多相关《gsmtc35手机通讯与单片机调试文档.docx(18页珍藏版)》请在冰豆网上搜索。

gsmtc35手机通讯与单片机调试文档.docx

gsmtc35手机通讯与单片机调试文档

基于GSM的手机设计

 

 

学院(系):

信息工程学院

专业:

电子信息

学号:

030941120

学生姓名:

雷敏

目录

摘要1

Abstract2

1引言3

2设计方案3

3硬件设计4

3.1TC35i模块介绍4

3.2单片机及各元件的连接5

3.2.1STC12C5A32S2芯片介绍6

3.2.2LCD1602液晶显示模块介绍7

3.2.3按键设计模块7

4软件设计8

4.1软件设计工作原理8

4.2软件流程图8

4.3主要程序说明10

5调试与测试10

5.1硬件调试10

5.2软件调试10

5.3系统总体调试11

6结论12

参考文献13

致谢13

附录13

基于GSM的手机设计

 

摘要:

借助系统模型,阐明基于西门子公司的TC35型GSM手机模块收发短信、打电话的基本概念以及串口控制SMS的基本原理。

详细介绍C51单片机STC12C5A32S2控制GSM模块工作的软件实现过程,对怎样用单片机控制GSM模块收发短信、打电话进行探讨,也对程序设计的主体思想作了较为细致的分析。

文章重点阐述了STC12C5A32S2单片机和TC35模块的接口、TC35的特点和主要功能、AT指令的应用等。

该系统单片机STC12C5A32S2的TXD/RXD分别接TC35模块的TXD/RXD,完成对TC35模块的初始化和短消息的数据收发以及打电话的功能。

关键词:

C51单片机;短信收发;打电话;GSM。

GSM–BasedMobilePhoneDesign

LIJie

Abstract:

UsingsystemmodelbasedonSiemenscompany,expoundstheTC35typeGSMmobilephonetextmessages,transceivermodulebasicconceptandthebasicprincipleofserialcontrolSMS.DetailedintroductionSTC12C5A32S2C51single-chipmicrocomputercontrolGSMmoduleworkingsoftwarerealizationprocess,tohowusesingle-chipmicrocomputercontrolGSMmoduleuseoftextmessages,discussed,alsocallforprogrammingthejucheideagiveamoredetailedanalysis.

ThispaperdescribestheSTC12C5A32S2SCMandTC35moduleinterface,thecharacteristicsofTC35andthemainfunction,theapplicationofATinstructions.ThesystemofSTC12C5A32S2TXD/RXDmicrocontrollerTC35modulerespectivelyTXD/pickupRXDandthecompletionoftheinitializationofTC35moduleandtheshortmessagedatatransceiverandcallfunctions.

Keywords:

C51Microcontroller,Messaging,Call,GSM.

1引言

随着通信技术的发展,基于移动通信网络服务功能,正向工业控制和遥控领域有不断扩大的趋势。

为适应这种需要,西门子公司推出了新一代无线通信GSM模块——TC35i,是一种基于GSM网络的通过短信形式传输数据的通信终端设备。

基于该模块工作的无线网络覆盖范围广,在信息传递方面性能稳定、可靠,所以把GSM作为信息传递的载体,与单片机结合起来构成应用系统有着强大的生命力和广阔的应用空间,特别是在远程数据传输、远程监控等领域。

本设计借助系统模型,根据GSM模块收发短信、打电话以及串口控制SMS的基本原理,由单片机STC12C5A32S2与Tc35i模块通过串口通信、软件技术结合相关的AT指令实现手机的基本功能,通过LCD1602液晶显示频显示串口传输的相关数据输出。

2设计方案

本次设计的目的是基于C51单片机控制GSM模块实现短信收发、打电话的功能,根据题意,制定设计方案如下:

1、短信模块使用西门子公司推出的无线通信GSM模块——TC35i;

2、使用LCD1602液晶模块作为显示器件,及时显示串口传输数据;

3、单片机芯片使用宏晶科技生产的新一代8051单片机STC12C5A32S2;

4、整个系统组成有TC35i模型和小系统单片机电路,STC12C5A32S2单片机的TXD/RXD分别接TC35模块的TXD/RXD,并且两者共地,通过串口通信、软件技术结合相关的AT指令完成对TC35模块的初始化和短消息的数据收发以及打电话的功能;

5、增加4*4矩阵键盘小模块,通过键盘设置相关按键实现相关功能,并能从键盘实现随意拨号;

6、当有来电或者新信息时,通过蜂鸣器响声长短提示并在LCD液晶显示相关提示。

3硬件设计

使用单片机控制GSM,首先:

单片机下载完程序后,先不要接GSM,先让单片机和电脑通信,利用串口调试助手查看单片机AT指令的数据。

然后单片机的TXD/RXD分别接上图所示的TXD/RXD并共地,完成对TC35模块的初始化和短消息的数据收发以及打电话的功能。

硬件连接实物图如图3-1:

3.1TC35i模块介绍

TC35i模块主要由六部分组成:

GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口。

其中,GSM基带处理器是整个模块的核心,主要处理GSM终端内的语音、数据信号,并涵盖蜂窝射频设备中的所有模拟和数据功能。

TC35i模块结构框图如图3-2:

 

GSM开发板有两种供电方式,一种是直接把开关电源适配器插到电源插头上,另一种是直接用直流稳压电源的正负极分别接到上图的电源正5V、电源地。

当用电脑串口调试GSM时,必须用短路帽直接把J3、J4分别插上短路帽,如上图所示。

当用单片机控制GSM时,J3、J4的短路帽必须拔下。

3.2单片机及各元件的连接

 

LCD1602液晶显示模块通过排阻接STC12C5A32S2单片机P0口,4*4矩阵键盘按键,接STC12C5A32S2单片机P1口,具体功能分配在3.2.1和3.2.2详细介绍。

3.2.1STC12C5A32S2芯片介绍

STC12C5A32S2芯片是宏晶科技生产的高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统的8051,用它作为本设计控制核心。

STC12C5A32S2引脚排列如图3-4所示,表3-1为STC12C5A32S2引脚功能分配说明。

表3-1STC12C5A32S2引脚功能分配

引脚

功能

P0

输出液晶显示屏双向数据口,P0口使用上拉电阻

P1

4*4键盘输入口

P2.2

蜂鸣器

P2.3~P2.5

液晶屏RS、RW、E

P2.6~P2.7/P3

空闲(预留其他用途)

 

3.2.2LCD1602液晶显示模块介绍

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

本设计采用1602LCD液晶显示频作为显示工具,当系统向外拨号、发送信息或有来电以及新信息进来时,通过按键控制执行相关应答,1602LCD同时显示相关指令指示,

 

3.2.3按键设计模块

本设计采用4*4矩阵键盘按键,接单片机P1口,相关功能设置如图3-6:

3(键号0)

7(键号1)

11(键号2)

15(键号3)

2(发信息)

6(键号4)

10(键号5)

14(键号6)

1(挂机)

5(键号7)

9(键号8)

13(键号9)

0(拨号)

4(接听)

8(清屏)

12(空闲)

 

图3-64*4矩阵键盘功能设置

功能说明:

图中为括号的内容表示该按键按下则相关数字送给单片机进行存储和显示,非数字键按表格中的功能在程序中实现。

4软件设计

单片机与GSM模块的的软件接口其实就是单片机通过与GSM模块相关的AT指令控制手机的控制技术。

指令的执行过程需要单片机与GSM模块交互应答完成,每次发送或接收的字节数有严格的规定,二者必须依据这些规定实现数据交换,否则,通信就是失败的。

设计采用的相关AT指令说明:

a、单片机与TC35i模块由串口建立连接:

AT。

b、设置TC35i模块工作模式:

AT+CMGF=n,n=0:

PDU模式;n=1:

文本模式,通常要设置为PDU模式,在这种模式下,能传送或接收透明数据(用户自定义)。

c、发送信息指令:

AT+CMGS=n,n为目标号码。

d、新消息提示指令:

AT+CMNI=2,1,0,0,设置为mode=2,mt=1。

e、读TC35i模块短消息数据:

AT+CMGR=n,n为短消息号(十进制)。

f、拨号指令:

ATD。

这个命令用来设置通话、数据或传真呼叫。

g、来电显示指令:

AT+CLIP=1。

h、接听指令:

ATA。

i、挂电话指令:

ATH。

4.1软件设计工作原理

软件设计过程中在矩阵键盘设置了相关按键分别控制发送短信息(关键字、状态字、查询信息)、拨号到从矩阵键盘输入的任意号码、接听来电、挂机以及数字键、清屏键。

在系统运行过程中通过键盘扫描检测,当有按键按下执行相关操作或者有新信息或新来电时,TC35i通过串口传输接收到相关AT指令后,把相关信息返回并通过串口传送给单片机,单片机收到有新的信号指示,则按指示执行相关操作并继续通过串口传输将相关数据送给GSM模块,GSM模块通过串口传输收到相关信息后成功返回“OK”,失败返回“ERROR”。

串口传输的相关指令指示通过LCD1602液晶显示频显示出来。

4.2软件流程图

程序使用模块化的编程思路。

主程序包括系统初始化、屏幕刷新和按键扫描三部分,其流程如图4-1所示。

屏幕刷新功能用一个子程序模块实现,在模块当中实现相应字符串的显示,其流程如图4-2所示。

参数设置子程序的按键扫描,不是设置键按下则退出扫描,重新轮询。

若有设置键按下,则进入功能选择子程序。

 

 

4.3主要程序说明

整个软件设计由多部分组成:

函数声明、函数定义、主函数、信息检测函数、键盘扫描函数、串口中断函数、延时子函数、收/发信息函数、拨号函数、挂机函数、接听函数以及相关LCD1602液晶显示相关函数等,主要程序说明见附录。

5调试与测试

5.1硬件调试

设计好PCB电路检查确认无误之后,经过打印、热转印、制板、焊接元件等流程就可以进行硬件的调试了。

硬件安装前要再次确定系统总原理图的正确性,首先用万用表检查电路板是否有虚焊、漏焊、开路或短路的情况;检查无误后给电路板提供+5V的直流电压,观察电路板上的电源指示灯是否正常工作,然后把单片机芯片、液晶显示屏插入插槽中,下载线连接到电路板上,先下载简单可行的测试程序到单片机中,观察芯片工作是否正常,验证显示屏、按键、执行部件能否正常工作,如果芯片正常工作则说明系统板正常,不正常则说明软件或者系统硬件可能存在某些问题,则需耐心查找原因,从根本上一一解决。

下载线的作用是把编译好的单片机程序下载到目标单片机中以及提供电源。

用的下载程序软件,STC_ISP.exe。

5.2软件调试

本系统使用的软件开发环境是keil。

在keil中,源代码的输入,编译通过之后就可以进行软件调试了。

在软件编程实现过程中,跟随自己事先整理好的思路,先定好整体框架,然后对每个要实现的功能实现从简单开始一步步到最终实现为止,最后把最终程序经过编译确认无误之后,把编译产生的hex文件,下载到实物板中,软硬件调试时,首先要检查电源指示灯是否亮,观察LCD查看显示是否正确,按键是否起到相应的作用。

调试过程中,要不断分析问题存在的可能原因,针对具体问题找寻具体解决办法,在硬件和软件程序间不断改进调试,从简单开始一步步进行下去直到最终功能实现为止。

5.3系统总体调试

系统软硬件联合调试步骤与仿真调试步骤基本一致,确保电路硬件线路正常后,将可行程序下载到单片机,验证显示屏、按键、串口通信能否正常工作。

系统总体调试使用工具有:

GSM模块、单片机小系统板、SIM卡(插入GSM模块),手机一部。

调试步骤:

1、先把SIM卡插入GSM模块插槽中,给GSM通电,观察GSM模块:

电源指示灯(红灯)亮,信号指示灯(绿灯)一亮一灭,亮与灭的时间相同,这时GSM模块正在搜索信号,等到信号指示灯闪一下,灭大约2-3秒时,这时说明我们的GSM已经注册上信号,说明模块工作正常;

2、下载线连接上单片机最小系统板,按下开关给单片机上电,电源指示灯亮,工作正常则下载程序后,断开下载线与单片机最小系统板的TXD/RXD接线,将单片机的TXD/RXD脚、地线分别与GSM模块的TXD/RXD脚、地线接上,给单片机断电或复位一次,刷新串口,即可进行调试工作。

3、从键盘输入目标手机号码,观察液晶显示并记录,按下拨号键,等待检查手机是否有新来电,记录结果;

4、从目标手机拨号进来,仔细观察蜂鸣器是否提醒有来电,检查液晶显示并记录,如有来电提醒显示,则按下接听键观察手机提示状态、液晶显示结果,并记录,挂号键操作也是一样检测;

5、按下发信息按键,等待,观察手机是否有新信息以及液晶显示并记录;

6、用手机给模块发送一条信息,检查蜂鸣器是否有提醒,观看液晶显示并记录。

LCD602液晶显示屏调试结果以及串口显示结果见附录。

表5-1系统总体调试结果说明

按键按下

功能说明

液晶显示结果

数字键0-9

输入相关数字

“0/1/2/3/4/5/6/7/8/9”

拨号键

拨打目标号码

“ATD159********”

挂机键

挂断来电

“ATHOK”

接听键

接听来电

“ATAOK”

清屏键

清理屏幕并归零相关变量

清屏

发信息键

发送固定信息到固定号码

“AT+CMGS=15994473659hello!

6结论

本设计借助系统模型,根据GSM模块收发短信、打电话以及串口控制SMS的基本原理,结合Tc35i型GSM模块和单片机小系统电路板两个模块,由单片机STC12C5A32S2与Tc35i模块通过串口通信、软件技术结合相关的AT指令实现手机的基本功能。

通过设置相关按键分别控制发送短信息(关键字、状态字、查询信息)、拨号到从矩阵键盘输入的任意号码以及接收信息、接听来电、挂机,串口传输的数据通过LCD液晶显示把串口传输的串口传输的数据显示出来。

通过这次毕业设计,对更熟悉使用PROTEL99SE设计电路原理图、PCB图的布局设计有很大帮助,对相关专业知识有了进一步的了解,能把课本知识运用到设计中。

整个设计虽然过程中遇到了一些困难,但针对遇到的不同问题,采取了不同的解决方案,最终一一解决。

这更让人明白,要有细心、耐心、恒心才能成功的完成一件事。

在将来的学习工作中要吸取这次设计的经验教训。

根据GSM模块收发短信、打电话以及串口控制SMS的基本原理,通过串口通信、软件技术结合相关的AT指令还可实现语音功能,或者选用功能更强大的显示工具实现更完整的手机短信收发、打电话的功能。

 

参考文献

[1]郭天祥.新概念C51单片机C语言教程[M].北京:

电子工业出版社,2009.

[2]李全利,迟荣强.单片机原理及接口技术[M].北京:

高等教育出版社,2004.

 

附录

4.3.1主函数

voidmain()

{

di();

Ini_UART();

lcd_int();

k=0;

Print_Str(AT);

delayms(100);

Print_Str(AT_CMGF);

delayms(100);

Print_Str(AT_CNMI);

delayms(200);

Print_Str(AT_CLIP);

delayms(250);

clr_rsbuf();

P1=0xff;//P0开机初始化

key=0xff;//键盘值开机初始化为ff(检测到的键值应为0----15)

while

(1)

{

ScanMessage();

key_4x4_scan();//不停调用键盘扫描程序

};//原地循环

}

4.3.2信息检测函数

voidScanMessage(void)

{

for(ii=0;ii<32;ii++)if(RsBuf[ii-3]=='C'&&RsBuf[ii-2]=='M'&&RsBuf[ii-1]=='T'&&RsBuf[ii]=='I')

{

di();delayms(50);

di();delayms(50);

di();delayms(50);

lcd_write_com(0x80);//将显示位置定位在第一行第0个字符处

clr_rsbuf();

Print_Str(AT_CMGR);

delayms(250);delayms(250);delayms(250);delayms(250);

lcd_write_com(0x80);//将显示位置定位在第一行第0个字符处

for(i=0;i<15;i++)

{

lcd_write_data(RsBuf[i+20]);//显示

delayms(100);

}

lcd_write_com(0x80+0x40);//将显示位置定在第一行第0个字符处

for(i=15;i<32;i++)

{

lcd_write_data(RsBuf[i+20]);//显示

delayms(100);

}

}

elseif(RsBuf[ii-3]=='C'&&RsBuf[ii-2]=='L'&&RsBuf[ii-1]=='I'&&RsBuf[ii]=='P')

{

beep=0;

delayms(250);

delayms(250);

lcd_write_com(0x80);//将要显示的位置定位在LCD的第一行第0个字符处

for(i=(ii+3);i<15+(ii+3);i++)

{

lcd_write_data(RsBuf[i]);//来电显示

delayms(5);

}

lcd_write_com(0x80+0x40);//将要显示的位置定位在第一行第0个字符处

for(i=(ii+3)+15;i<32+(ii+3);i++)

{

lcd_write_data(RsBuf[i]);//显示"ATH"

delayms(5);

}

while(!

beep)

{

key_4x4_scan();//不停调用键盘扫描程序

}

clr_rsbuf();

}

}

 

 

 

 

 

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1