SIM卡发送短信-课程设计毕业论文_第1页
SIM卡发送短信-课程设计毕业论文_第2页
SIM卡发送短信-课程设计毕业论文_第3页
SIM卡发送短信-课程设计毕业论文_第4页
SIM卡发送短信-课程设计毕业论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1绪论1.1设计的背景和意义目前手机短信息的应用越来越广泛,它已经不仅仅作为交流信息的工具,渐渐的开始用在各个方面。单片机技术的出现则是为现代工业领域带来了一次新的技术革命。随着超大规模集成电路技术的发展,单片微型计算机也随之有了很大发展,各种新颖的单片机层出不穷,并已广泛地应用到人类生活的各个领域,成为当今科学技术现代化不可缺少的重要工具。利用单片机控制短信息的发送将在家用安防系统中得到应用,本文将着重介绍基于单片机的短信发送设计。1.2设计任务和要求设计一个以SIM900A为核心的模块,能够发送短信。设计必要的操作按键和指示灯。拓展部分:具有RS232或RS485总线接口,能和PC机通信传送数据。安装、调试电路。写出总结报告。报告中应包括原理框图、参数曲线分析、操作方法、实物照片等,调试过程中遇到的问题,改进方法和总结体会。1.3设计总体方案家用智能安防系统的的具体功能包括:

家用设备的数据采集:采集家用设备包括室内温湿度,天然气浓度,防盗门等设备的状态数据,经控制器处理后反馈给用户。

自动报警:当控制器检测到非法闯入或温度超高等报警信号时,及时触发室内报警装置,并通过发送报警短信及时通知用户。温度查询:用户可以通过查看短信查询室内温度。天然气浓度查询:当天燃气浓度超出安全值是用户会收到报警短信。具体设计如图1.1所示:用户人体感应系统用户人体感应系统温湿度传感器温湿度传感器控制器SIM卡天然气浓度检测控制器SIM卡天然气浓度检测空气质量检测空气质量检测图1.1家用智能安防系统设计框图短信发送系统电路设计总框图如下图图1所示,控制器采用AT89S51单片机,处理模块采用SIM900A模块,SIM卡槽为6引脚卡槽。电源电源天线开关单片机开关单片机SIM900ASIM900ASIM卡SIM卡PC调试串口图1.2SIM卡发送短信系统框图SIM900A模块为此系统的核心模块,键盘和SPI显示接口可以让用户很灵活的设计定制应用,主串口和调试串口可以帮助用户轻松地进行开发应用,一路音频接口,包含一个麦克风输入和一个扬声器输出,可编程的通用输入输出接口。单片机采用AT89S51系列单片机,具有以下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。供电采用VBAT为3.4V到4.5V的单电源供电。在一些情况下,信号传输的猝发会导致电压跌落,这时电流损耗的峰值会达到2A。因此,电源必须能提供足够到2A的电流。2系统硬件设计2.1系统设计硬件总体介绍本设计所用的SIM900A是一个2频的GSM/GPRS模块,工作的频段为:EGSM900MHz和DCS1800MHz。AT89S51是一个低功耗,高性能CMOS8位单片机。SIM卡槽设计为6引脚卡槽。SIM900A提供两个非对称的异步串行接口,一个用于通讯,另一个用于软件调试,采用VBAT为3.4V到4.5V的单电源供电。2.2每个模块逐一介绍2.2.1AT89S51单片机AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。主要特性:AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。8031CPU与MCS-51兼容4K字节可编程FLASH存储器全静态工作:0Hz-24KHz三级程序存储器保密锁定128*8位内部RAM32条可编程I/O线6个中断源两个16位定时器/计数器可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路AT89S51单片机最小系统如图所示:图2.1单片机最小系统图引脚功能:

l

P0.0~P0.7

P0口8位双向口线(在引脚的39~32号端子)。

l

P1.0~P1.7

P1口8位双向口线(在引脚的1~8号端子)。

l

P2.0~P2.7

P2口8位双向口线(在引脚的21~28号端子)。

l

P3.0~P3.7

P2口8位双向口线(在引脚的10~17号端子)。

P0口有三个功能:

1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)

2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)

3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用

2、做一般I/O口使用,其内部有上拉电阻;

P3口有两个功能:

除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的。

ALE/PROG

地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。(在后面关于扩展的课程中我们就会看到8051扩展

EEPROM电路,在图中ALE与74LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。

PORG为编程脉冲的输入端:在第五课

单片机的内部结构及其组成中,我们已知道,在8051单片机内部有一个4KB或8KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。

PSEN

外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。

1、内部ROM读取时,PSEN不动作;

2、外部ROM读取时,在每个机器周期会动作两次;

3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;

4、外接ROM时,与ROM的OE脚相接。

EA/VPP

访问和序存储器控制信号

1、接高电平时:

CPU读取内部程序存储器(ROM)

扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。

2、接低电平时:CPU读取外部程序存储器(ROM)。

在前面的学习中我们已知道,8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。

3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压。

RST

复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。

XTAL1和XTAL2

:外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

VCC:电源+5V输入

VSS:GND接地。2.2.2SIM900A为全球市场设计,SIM900A是一个2频的GSM/GPRS模块,工作的频段为:EGSM900MHz和DCS1800MHz。SIM900A支持GPRSmulti-slotclass10/class8(可选)和GPRS编码格式CS-1,CS-2,CS-3andCS-4。由于尺寸只有24mmx24mmx3mm,所以SIM900A几乎可以满足所有用户应用中的对空间尺寸的要求,例如M2M,数据传输系统等。模块和用户移动应用的物理接口为68个贴片焊盘,提供了模块和客户电路板的所有硬件接口。·键盘和SPI显示接口可以让用户很灵活的设计定制应用。·主串口和调试串口可以帮助用户轻松地进行开发应用。·一个路音频接口,包含一个麦克风输入和一个扬声器输出。·可编程的通用输入输出接口(GPIO)。SIM900A采用省电技术设计,所以在SLEEP模式下最低耗流只有1.0mA。SIM900A内嵌TCP/IP协议,扩展的TCP/IPAT命令让用户能够很容易使用TCP/IP协议,这些在用户做数据传输方面的应用时非常有用。图2.2SIM900A引脚图SIM900A引脚描述:VBAT模块提供3个VBAT引脚专用于供电。SIM900A是单电源供电,电压范围VBAT=3.4V到4.5V。电源必要能共提供足够的电流已保证在猝发模式时高达2A的电流。VRTC当系统VBAT没电时为RTC提供电流输入。当VBAT有电而且后备电池电压过低时给后备电池提供电流输出。如果使用RTC功能,应该在VRTC引脚上接电池或者电容。否则VRTC引脚可以保持悬空。VDD_EXT2.8V电源输出。如果没有,保持悬空。GND接地。PWRKEY通过拉低PWRKEY来开启和关闭模块。用户可以通过拉低PWERKEY保持至少一秒然后释放来开启和关闭模块。PWRKEY_OUT通过连接PWRKEY_OUT和PWRKEY一段时间然后释放掉,同样可以开机和关闭模块。MIC_PMIC_N音频输入正端和负端。SPK_PSPK_N音频输入正端和负端。LINEIN_RLINEIN_L线输入。STATUS指示工作状态。NEYLIGHT指示网络状态。DISP_DATADISP_CLKDISP_CSDISP_D/C显示设备接口。SCLI2C总线时钟信号。SDAI2C总线数据信号。KBR0-KBR4KBC0-KBC4键盘接口。RXD数据接收。TXD数据发送。RTS发送请求。CTS发送清除。RI振铃指示。DSR数据设备准备。DCD数据载波检测。DTR数据终端准备。DBG_TXDDBG_RXD用于调试和软件升级。SIM_VDDSIM卡电源。SIM_DATASIM卡数据信号。SIM_CLKSIM卡时钟信号。SIM_RSTSIM卡复位信号。SIM_PRESENCESIM卡检测信号。ADC通用模拟数字转换器。NRESET外部复位输入(低电平有效)。PWM1PWM2PWM输出。表2-1:SIM900A工作模式模式功能正常工作GSM/GPRS如果DTR被置为高电平并且也没有射频或者也没有硬件中断请求,模块会自动进入SLEEP模式。SLEEP在这种情况下,模块的电流消耗会降到最低。在这种情况下,模块仍能接收信息报和SMS。GSMIDLE软件正常运行,模块已经正常注册到GSM网络上,并随时可以发送和接收数据。GSMTALK两个用户处于连接中,在这种情况下模块的功耗和网络及模块的配置有关。GPRSSTANDBY模块随时准备着GPRS数据传输,但是当时没有数据在发送和接收中。这种情况取决于网络状况和GPRS配置。GPRSDATAGPRS数据正在传输中。在这种情况下,电源功耗取决于网络状况,上行和下行数据链路的数据速率以及GPRS配置(例如:使用多时隙配置)掉电模式通过“AT+CPOWD=1”命令或使用PERKEY引脚,可以正常开关机。此时,电源管理芯片将关断给模块中基带部分的供电,仅保留继续给RTC供电。软件也停止运行,串口不可访问。最小功能模式在不断电的情况下,可以使用“AT+CFUN”命令把模块配置成最小功能模式。在这种情况下,模块的RF部分或者SIM卡部分不工作,但串口仍可以使用,此时功耗非常低。2.2.3供电系统SIM900A采用VBAT为3.4V到4.5V的单电源供电。在一些情况下,信号传输的猝发会导致电压跌落,这时电流损耗的峰值会达到2A。因此,电源必须能提供足够到2A的电流。从VBAT输入端来看,建议靠近使用一个旁路电容。该电容推荐值为100µF,低ESR。多层陶瓷片电容具有很低的ESR和很小的尺寸,但是价格比较贵。可以使用100µF钽电容(低ESR)和一个(1µF~10µF)的陶瓷电容并联来降低成本,布PCB板时,电容应尽可能靠近模块的VBAT引脚。下图是+5V供电的参考设计电路。因为设计的输出为4V,所以可以采用线性稳压器来实现。如果输入和输出(VBAT)的压差很大,应该采用开关稳压器。因为开关稳压器好的效率,尤其是在当模块在猝发时电流达到2A的情况下。也可以直接用3.6V的锂离子单电池给模块供电。但是由于镍镉或者镍锰电池的最大电压会超过模块的绝对最大电压并且损坏模块,所以在使用这类电池时要特别小心。图2.3供电输入设计电路三个VBAT引脚用于供电输入,15个GND引脚用于接地。VRTC引脚用于后备电源供电。在用户的设计中,请特别注意电源部分的设计。确保即使在模块耗电流达到2A时,VBAT的跌落也不要低于3.4V。如果供电电压低于3.4V,模块会自动关机。从VBAT引脚到电源的PCB布线要足够宽以确保在传输猝发模式下足够小的电压跌落。你可以使用“AT+CBC”命令来监测电源电压,该命令返回三个参数,包括:充电状态,电压百分比和电压值(mV)。在具体的操作模式下,电压值以一定的间隔连续测量。AT+CBC命令所得到的值是该命令执行前的一段测试时间内所测的的电压平均值。2.2.4开关机使用PWRKEY引脚开起模块(开机)用户可以通过把PWRKEY信号拉低一段时间然后释放来开机。此引脚已在模块内部上拉到3V。推荐电路如下图:图2.4开关机下面是SIM900A的几种关机方法:1、正常关机进程:使用PWRKEY引脚关机。2、正常关机进程:使用PWRKEY引脚和PWRKEY_OUT引脚关机。3、正常关机进程:使用AT命令关机。4、过压和低压掉电:一旦检测到过压或者低压就会关机。5、高温或者低温自动掉电:一旦检测到高温或者低温就会关机。2.2.5串口SIM900A提供两个非对称的异步串行接口,一个用于通讯,另一个用于软件调试。模块是DCE(DataCommunicationEquipment)设备,根据传统的DCE-DTE(DataTerminalEquipment)连接方式,模块和客户机(DTE)之间的连接是通过下列信号线的连接来完成的。1、TXD:发送数据到DTE设备的RXD信号线上。2、RXD:从DTE设备的TXD信号线上接收数据。3、DBG_TXD:发送数据到DTE设备的RXD信号线上。4、DBG_RXD:从DTE设备的TXD信号线上接收数据。图2.5串口串口和调试口功能:1、支持Modem设备2、包含数据信号线TXD和RXD,状态信号线RTS和CTS,控制信号线DTR,DCD,DSR和RI。3、串口可用于CSD传真,GPRS服务,发送AT命令控制模块。同样也可以用于串口复用功能。SIM900A只支持基本的复用模式。4、串口支持的通讯波特率如下:1200,2400,4800,9600,19200,38400,57600,115200bps。2.2.6SIM卡接口本SIM卡接口支持GSMPhase1说明的功能,同时也支持新的GSMPhase2+说明的功能和FAST64kbpsSIM卡(用于SIM应用工具包)。支持1.8V和3.0VSIM卡。SIM卡的接口电平由模块内部的电压稳压器提供,正常电压值为2.8V或者1.8V。复位后,所有引脚输出低电平。图2.6SIM卡槽图2.6SIM卡槽SIM卡接口引脚定义:SIM_VDDSIM供电根据SIM卡的类型自动选择输出电压,可以为3.0V±10%或者为1.8V±10%,输出电流约为10mA。SIM_DATASIM卡数据I/OSIM_CLKSIM卡时钟SIM_RSTSIM卡复位图2.7卡槽尺寸2.2.7网络状态指示灯NETLIGHT信号用来驱动指示网络状态的LED灯,该引脚的工作状态如下表:表2-2:NETLIGHT工作状态网络灯状态SIM900A工作状况熄灭SIM900A没有工作64ms亮/800ms熄灭SIM900A没有找到网络64ms亮/3000ms熄灭SIM900A注册到网络64ms亮/300ms熄灭GPRS通讯参考电路如下图图2.9NETLIGHT电路设计图2.9NETLIGHT电路设计2.2.8天线接口SIM900A提供天线接口引脚,客户主板上的天线应该使用微带线或者其他类型的可以控制阻抗为50欧姆的射频走线和模块的天线引脚连接。SIM900A材料特性:(1)SIM900APCB材料:FR4(2)天线引脚:镀金焊盘图2.10天线图2.10天线2.2.9系统电路图图2.11系统电路图3系统软件设计3.1编程环境介绍单片机编程的环境有多种多样,但都大同小异。此次所用的编程环境为KEIL,本设计所用的版本是KEILC51ViSion2,其窗口界面如下图3-1所示。该编译器的编程语言是以C语言为基础,加上一些特有的关键字,使得编程语言更加通俗易懂,便于开发者开发和读程序。图3.1KEIL编程环境界面开发者在编写程序之前,需对编程环境进行一下两项设置:如图3.2所示,选用的单片机类型:图3.2单片机选型这时工程管理窗口的文件页会出现“Target1”,将其前面+号展开,接着选择SourceGroup1,右击鼠标弹出快捷菜单,选择“AddFiletoGroup‘SourceGroup’”,出现一个对话框,要求寻找并加入源文件(再加入一个源文件后,该对话框不会消失,而是等待继续加入其他文件)。加入文件后点close返回主页面,展开“SourceGroup1”前面+号,就会看到所加入的文件,双击文件名,即可打开源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-OptionforTarget‘Target1’(或点右键弹出快捷菜单在选择该选项),打开工程属性对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如果要写片,还需在Output选项卡中选中“CreatHexFi”(如图3-3);其他选项卡一般可取默认值。工程设置后按F7键进行编译/汇编、连接以及产生目标文件。图3.3生成HEX文件3.2系统程序的设计SIMSIM图3.4系统程序框图4实验内容4.1系统实物图展示图4.1系统未组装实物图图4.1系未组装实物图系统未组装实物图包括开:发板,SIM900A模块,天线,连接线等。如果要升级软件或者调试软件,应该吧DBG_TXD,DBG_RXD和GND信号线引出来接到IO连接器上,便于升级软件和调试软件使用。同样如果用户想通过PC等设备给模块发送AT指令或者数据,TXD和RXD也应该引出到IO连接器上。PWRKEY引脚也推荐用户引出连接到IO连接器上。可以通过开关把PWRKEY引脚连接到GND。当模块升级软件时PWRKEY应该连接到GND。为了方便应用SIM900A,SIMCom可以用一套评估板。评估板包含有电源、SIM卡座、串口、手柄、耳机、线输入、天线和GPIO等SIM900A的所有接口。图4.2系统组装后实物图连接好之后进行调试,先进行设置中心号码,然后进行中文短信的编码,最后进行短信的发送。如果模块被命令“AT+CFUN=0”设置成最小功能模式,则关闭射频功能和SIM卡的功能,在这种情况下,串口仍然可以继续使用,但是和射频功能及SIM卡功能相关的AT命令不能使用。如果使用“AT+CFUN=4”命令关闭模块的射频功能模块,模块的串口仍然可以使用,但是和射频功能相关的AT命令不可使用。当模块通过“AT+CFUN=0”设置为最小功能或在通过“AT+CFUN=4”命令关闭射频功能,模块都可以通过“AT+CFUN=1”命令返回全功能模式。5总结通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得以补充。在设计过程中遇到的一些新问题,我也通过各中渠道来解决,我相信书中还有很多我为搞清楚的问题,但是这次的课程设计给我相当的基础知识,为我以后工作打下了严实的基础。

虽然这次课程是那么短暂的四周时间,我感觉到这些天我的所学胜过我这一学期所学。这次任务原则上是设计,其实就是一次大的作业,是让我对课本知识的巩固和应用。我又复习了单片机的各个引脚功能,串口的链接,电路的选择,这也使我做事的耐心和仔细程度得以提高。课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,是对三年所学知识的复习和巩固。同样,也促使了同学们的相互探讨,相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。如果时间可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个项目,我相信无论是谁看到自己做出的成果时心里一定会很兴奋。此次设计让我明白了一个很深刻的道理:团队精神固然很重要,担人往往还是要靠自己的努力,自己亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。

课程设计是一个重要的教学环节,通过课程设计使我们了解到一些实际与理论之间的差异。通过课程设计不仅可以巩固专业知识,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的能力,把我们所学的课本知识与实践结合起来,起到温故而知新的作用。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门设计课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。在课程设计过程中。我们要比较系统的了解矿井运输提升的设计中的每一个环节,包括从总体设计原则,本次设计综合三年所学的专业课程,以《设计说明书》的指导思想为中心,参照有关资料,有计划有头绪、有逻辑地把这次设计搞好!

总之,这次课程设计使我收获很多、学会很多、比以往更有耐心很多。感谢学校及老师给我们这次课程设计的机会,最真挚的感谢我们的辅导老师

,在设计过程中,老师精心的辅导和不厌其烦地的态度才使得我们以顺利的完成这次设计,他那无私的奉献的精神照耀着我们对学习的热爱,同时也增加我们对知识的追求和欲望度。参考文献[1]蔡美琴张为民MCS-51系列单片机系统及其应用[M]高等教育出版社[2]夏路易石宗义电路原理图与电路板设计教程[M]北京希望电子出版社[3]陈海宴51单片机原理及应用-基于KeilC与Proteus北京航空航天大学出版社[4]张洪润单片机应用设计200例北京航空航天大学出版社[5]王东锋董冠强单片机C语言应用100例电子工业出版社[6]无线电人民邮电出版社[7]单片机与嵌入式系统应用北京航空航天大学出版社[8]韩建国(英)GuiyunTianFoundationAndApplicationOfMicrocontroller高等教育出版社[9]李升单片机原理与接口技术北京大学出版社附录:程序#include<reg52.h>#include<absacc.h>#include<stdio.h>#defineuintunsignedint#defineucharunsignedchar#defineRST0X01#defineCMGF0X02#defineCMGD0X03#defineCREG0X04#defineCMGR0X05#defineCMGS0X06#defineCSCA0X07#defineATDAT0X08#defineTC35RET0X00sbitIGT=P1^0;ucharTC35_CON;uchari_TC35_RECE;ucharTC35_RE[30],TC35_MAX,i_TC35;externucharTC35_CON;externuchari_TC35_RECE;externuchari_receive,TC35_RE[30],TC35_MAX,i_TC35;voiddelay(uint);voidinit_serialcom(void);voidsend_uart(unsignedchar);voidATNAME(void);voidAT_CMGS(void);voidAT_CSCA(void);voidAT_RST(void);voidAT_CREG(void);voidAT_CMGF(void);voidAT_CMGR(void);voidAT_CMGD(void);ucharcodeTC_MDSJ[]={"AT+CMGS};//目的手机地址,ucharcodeTC_ZXH[]={"AT+CSCA=+8613800531500"};//本地中心号。////////其他地方不要乱动//ucharcodeTC_FSNR[]={"zhangkaiqiang"};//发送短信内容。ucharcodeTC_WLZT[]={"AT+CREG?"};//网络状态查询ucharcodeTC_MSXZ[]={"AT+CMGF=1"};//发送模式选择。ucharcodeTC_DQML[]={"AT+CMGR=1"};//短信读取命令。ucharcodeTC_SCML[]={"AT+CMGD=1"};//短信删除命令。ucharcodeTC_ATF[]={"AT&F"};//格式化命令。voiddelay(uinti){unsignedinti_delay,j_delay;for(i_delay=0;i_delay<i;i_delay++){for(j_delay=0;j_delay<100;j_delay++){;}}}voidinit_serialcom(void){SCON=0x50;//SCON:serailmode1,8-bitUART,enableucvr//UART为模式1,8位数据,允许接收TMOD|=0x20;//TMOD:timer1,mode2,8-bitreload//定时器1为模式2,8位自动重装PCON|=0x80;//SMOD=1;TH1=0xFD;//Baud:19200fosc="11".0592MHzIE|=0x90;//EnableSerialInterruptTR1=1;//timer1runTI=1;}//向串口发送一个字符voidsend_uart(unsignedcharch){while(TI==0);TI=0;SBUF=ch;}//串口接收中断函数voidserial()interrupt4using3{if(RI){RI=0;i_receive=SBUF;TC35_RE[i_TC35_RECE++]=i_receive;//i_TC35_RECE++;if(i_TC35_RECE>TC35_MAX){TC35_MAX=i_TC35_RECE;}}}voidATNAME(){uchari;for(i=0;i<sizeof(TC_FSNR)-1;i++){send_uart(TC_FSNR[i]);}delay(1000);send_uart(0X1A);TC35_CON=ATDAT;}//写目的手机的voidAT_CMGS(){uchari;for(i=0;i<sizeof(TC_MDSJ)-1;i++){send_uart(TC_MDSJ[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CMGS;}//写信息中心号voidAT_CSCA(){uchari;for(i=0;i<sizeof(TC_ZXH)-1;i++){send_uart(TC_ZXH[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CSCA;}//AT复位指令voidAT_RST(){uchari;for(i=0;i<sizeof(TC_ATF)-1;i++)//TC_ATF:格式化命令。{send_uart(TC_ATF[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=RST;}//AT网络状态查询指令voidAT_CREG(){uchari;for(i=0;i<sizeof(TC_WLZT)-1;i++){send_uart(TC_WLZT[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CREG;}//AT接收格式指令voidAT_CMGF(){uchari;for(i=0;i<sizeof(TC_MSXZ)-1;i++)//TC_MSXZ:发送模式选择。{send_uart(TC_MSXZ[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CMGF;}//AT短消息读取指令voidAT_CMGR(){uchari;for(i=0;i<sizeof(TC_DQML)-1;i++){send_uart(TC_DQML[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CMGR;}//AT短消息删除指令voidAT_CMGD(){uchari;for(i=0;i<sizeof(TC_SCML)-1;i++){send_uart(TC_SCML[i]);}send_uart(0X0D);send_uart(0X0D);send_uart(0X0A);TC35_CON=CMGD;}voiddelay1(void)//误差0us{unsignedchara,b,c;for(c=19;c>0;c--)for(b=20;b>0;b--)for(a=150;a>0;a--);}voidGSM(void){ucharshou=100;IGT=0;delay1();IGT=1;init_serialcom();//初始化串口delay(100);TC35_MAX=0;AT_RST();while(shou--){delay(100);if(TC35_MAX>0){if(TC35_CON==RST)//TC35_CON==0x01{if((TC35_RE[7]=='O')&&(TC35_RE[8]=='K')){TC35_CON=TC35RET;AT_CMGF();}else{}}//AT+CMGF优先信息格式。执行格式有TEXT方式和PDU方式。elseif(TC35_CON==CMGF)//TC35_CON==0x02{if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K')){TC35_CON=TC35RET;//delay(100);AT_CREG();}else{}}//AT+CREG网络注册。获得手机的注册状态。elseif(TC35_CON==CREG)//TC35_CON==0x04{if(((TC35_RE[18]=='0')&&(TC35_RE[20]=='1'))||((TC35_RE[18]=='0')&&(TC35_RE[20]=='5'))){TC35_CON=TC35RET;AT_CMGD();}else{AT_CREG();}}//AT+CMGR读短信。信息从+CPMS命令设定的存储器读取。elseif(TC35_CON==CMGR)//TC35_CON==0x05{if(TC35_MAX<=30){AT_CMGR();}else//if((TC35_MAX==77)||(TC35_MAX==79)){if(TC35_RE[69]=='0'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='1'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='2'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='3'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='4'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='5'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='6'){TC35_CON=TC35RET;delay(100);AT_CMGD();}elseif(TC35_RE[69]=='7'){TC35_CON=TC35RET;delay(100);AT_CMGD();}else{TC35_CON=TC35RET;AT_CMGR();}}}//AT+CMGD删除短信息。删除一个或多个短信息。elseif(TC35_CON==CMGD)//TC35_CON==0x03{delay(100);if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K')){AT_CSCA();}else{}}//AT+CSCA短信服务中心地址。elseif(TC35_CON==CSCA)//TC35_CON==0x07{delay(100);if((TC35_RE[25]=='O')&&(TC35_RE[26]=='K')){AT_CMGS();}else{}}//填写发送内容elseif(TC35_CON==CMGS)//TC35_CON==0x06{delay(100);if((TC35_RE[22]==0X3E)&&(TC35_RE[23]==0X20)){ATNAME();}else{}}//发送完毕返回继续扫描接收elseif(TC35_CON==ATDAT)//0x08{delay(100);if((TC35_RE[0]=='+')||(TC35_RE[0]==0x1A)){AT_CMGR();}else{}}//复位接收组for(i_TC35=0;i_TC35<=TC35_MAX;i_TC35++){TC35_RE[i_TC35]=0;}i_TC35_RECE=0;TC35_MAX=0;}}}voidmain(){GSM();}致谢在作此次毕业设计的过程中,本人得到了刘老师的精心指导,正是因为老师不断的提供大量的资料来源,不仅为我设计出该三用阀提供了大量的知识贮备,而且使我学会了从大量的资料中选择出自己需要的东西。在此感谢老师和同学们的帮助,感谢培养我四年的学校。目录TOC\o"1-3"\h\u245741绪论 1143051.1设计的背景和意义 1138361.2设计任务和要求 1225471.3设计总体方案 159782系统硬件设计 2222382.1系统设计硬件总体介绍 261322.2每个模块逐一介绍 2119682.2.1AT89S51单片机 244562.2.2SIM900A 553032.2.3供电系统 7265322.2.4开关机 8318132.2.5串口 9272272.2.6SIM卡接口 10244732.2.7网络状态指示灯 12140912.2.8天线接口 12271712.2.9系统电路图 13183683系统软件设计 1483683.1编程环境介绍 14320573.2系统程序的设计 1615233图3.4系统程序框图 16100344实验内容 17189354.1系统实物图展示 17255495总结 1913518参考文献 2014195附录:程序 216907致谢 33基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究HYPERLINK"

温馨提示

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

评论

0/150

提交评论