郑州航空工业管理学院《单片机原理与应用》课程设计说明书09级电气工程及其自动化专业0906073班级题目单片机控制短信收发姓名学号指导教师职称讲师二О一二年六月二日2一.课程设计的目的目前,单片机已广泛应用到图民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。1.进一步熟悉和掌握单片机的结构及工作原理;2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法;3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术;5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应的工作打下基础。二.课程设计的具体要求1.原理图设计⑴原理图设计要符合项目的工作原理,连线要正确,端子要有标号;⑵图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明;⑶原理图要完整,CPU,外围器件,扩展器接口,输入/输出装置要一应俱全。2.程序调计⑴根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能;⑵根据总体要求及分解的功能模块,确定各功能模块之间的关系,设计出完整的程序流程图。3.程序调试:将设计完的程序输入,汇编,排除语法错误,生成*OBJ文件。⑴按所设计的原理图,在实验平台上连线,检查无误;⑵将汇编后生成的*OBJ文件传送到实验装置,执行该程序,检查该程序、是否达到设计要求,若未达到,修改程序,直到达到要求为止。4.设计说明书⑴原理图设计说明简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序;⑵程序设计说明对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述;⑶画出工作原理图,程序流程图并给出程序清单。三、单片机控制短信收发的基本原理GSM(GlobalSystemforMobilecommunication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。主要提供话音、短信息、数据等多种业务。基于GSM短消息功能可以做成传输各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、定位导航、个人通信终端等。由于公众GSM网络在全球范围内实现了联网和漫游,建立上述系统不须再组建专用通信网络,所以具有实时传输数据功能的短消息应用将得到迅速普及。目前,人们设计的各类DTE设备基础上以微处理器为核心,带有RS232/RS485等通信接口,在物理层上很容易实现与GSM设置(如手机等)的连接。1.串口控制SMS的工作原理单片机与手机一般采用串行异步通信接口,具有红外和通信电缆两种连接方式,3通信速度可设定,通常为19200bps。采用红外接口的优点是单片机系统与手机电气隔离,相互不干扰,接口各自独立,使用方便;缺点是通信距离较短,红外传播的方向性对接口相对位置有要求。采用电缆连接时,数据传输的可靠性较好;其主要缺点是接口的电气参数不兼容,设计不当时会对手机的通信质量产生影响。GSM的短信息业务SMS利用信令信道传输,这是GSM通信网所特有的。它不用拨号建立连接,把要发的信息加上目的地址发送到短信息服务中心,经短消息服务中心完成存储后再发送给最终的信宿。所以当目的GSM终端没开机时信息不会丢失。每个短消息的信息量限制为160字节。现在市场上大多数手机均支持GSM07.05规定的AT指令集。该指令集是ETSI(欧洲通信技术委员会)发布的,其中包含了对SMS的控制。利用GSM手机的串行接口,单片机向手机收发一系列的AT命令,就能达到控制手机收发SMS的目的。ETSI的GSM07.05中用于SMS收发控制的主要AT命令见表1。表1常用AT指令GSM07.05Function(功能)ATE0RESETAT+CSMS选择短信息服务AT+CPMS选择短信息内存AT+CMGF选择短信息格式AT+CSCA短信息中心地址AT+CNMI显示新收到的短信息AT+CMGR读短信息AT+CMGS发送短信息AT+CMGL列出SIM卡中短信息AT+CMSS从SIM内存中发短信息AT+CMGW向SIM内存中写入待发短信息AT+CMGD删除SIM内存中的短信息AT+CSCB选择蜂窝广播信息GSM手机通过异步通信接口实现对SMS的控制共有三种接入协议:BlockMode;基于AT命令的TextMode;基于AT命令的PDUMode。PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDUMode应用最为广泛,基本上全国所有的电信局都提供支持PDUMode的短消息业务。有些地址则不支持TextMode和BlockMode,这就限制了这两种接入协议的应用,而且PDUMode已有取代BlockMode的趋势。为了保证系统具有广泛的适用性,本文采用PDU模式收发SMS。PDU相当于一个数据包,它由构成消息(SMS)的信息组成。作为一种数据单元,它必须包含源/目的地址、保护(有效)时间、数据格式、协议类型和正文,正文长度可达140字节,它们都以十六进制表示。PDU结构根据短消息由移动终端发起或以移动终端为目的而不同。当由移动终端发起时,PDU的格式为:4SMSCPDU类型MRDAPIDDCSVPUDLUD(0~140octed)当以移动终端为目的时,PDU的格式为:SMSCPDU类型OAPIDDCSSCTSUDLUD(0~140octed)其中,SMSC为短消息业务中心地址,DA/OA为源/目的地址,PID为协议识别,DCS为数据编码,UDL为用户数据长度,UD为用户数据,VP为有效时间,MR指明是发出信息,SCTS指明短消息到达业务中心的时间。2.PDU格式下短信息的接收根据设置不同,手机将收到的短消息保存在缓存单元或存入SIM卡,单片机从手机中接收短消息实质上就是从SIM或缓存中读出信息。这主要利用AT+CMGR和AT+CMGL两条指令来完成。由于不同的厂商对AT指令集的解释代码和响应信息不一样,所以单片机首先要确认能否与手机建立起通信,一般用ATE指令完成此确认;然后用AT+CMGF指令选定短消息的数据格式;在收到手机的正确回答反以AT指令完成读出功能。一般用AT+CMGL读取以前的信息,在收到手机的RING(振铃)数据时,用AT+CMGR读取实时信息。四、设计方案以下是我设计的物流数据采集系统中用到的接收SMS的一个实例,它说明了PDU模式的应用。单片机发送和接收(手机回答)均为ASCII码。所用手机为SIEMENSS3508i。操作过程如下({}内为注释):发送:ATE手机回答:OK{已建立联接}发送:AT+CMGF=0{选用PDU格式}手机回答:OK{允许选择PDU格式}发送:AT+CMGL=2{列出已有的短信息}手机回答:+CMGL:1,2,,24{1表示信息个数,2表示未发信息,24表示信息总容量}0D71683108370105F004000D81683179133208F10000026080410033802632184CF682D95E0DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608OK以上这组PDU格式的十六进制字符串,不但包含了短消息的内容,同时包含了发送者的手机号码、短信息中心号码、短消息发送时间等。下面对信息内容进行分析:0D:短信息中心地址(号码)长度。71:短信息中心号码类型,91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加“+”号;此外还可直有其他数值,但91最常用。683108370105F0:SMSC短信息所使用的服务中心号码13807310500。它经过十六进制以字节为单位的高低半字节换位处理,号码是奇数的添F,构成一个HEX字节。04:PDU类型,文件头字节。0D:主叫号码长度。81:主叫号码类型。3179133208F1:0A主叫号码,也经过了处理,实际号码为13973123801。500:PID,为协议标识。00:DCS短信息编码类型是GSMDefaultAlphabet,即由7位ASCII码移位组成8位十六进制码(octet),其方法见表2。1sthexB0A6A5A4A3A2A1A02ndhexC1C0B6B5B4B3B2B13rdhexD2D1D0C6C5C4C3C24thhexE3E2E1E0D6D5D4D35thhexF4F3F2F1F0E6E5E46thhexG5G4G3G2G1G0F6F56thhexH6H5H4H3H2H1H0G602608041003380:SCTS短信息发送时间,02/06/08/14:00:33.08。26:UDL经处理后的8位码(octet)短信息字节长度,它小于消息ASCII码的长度。32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608:UD编码后的PDU数据,短信息内容“2002/06/08/13:48ID102OKID103OKID201FAIL”。短信息的发送与接收短信息一样,发送时也要先建立联接,传送一些初始化指令,然后发送短消息内容。PDU数据串的内容说明如下:08:短信息信元SMSC(短信息中心号码)的字节长度91:短信息中心号码类型,91表明中心号码是国际通用电话号码。683108701305F0:短信息中心号码:8613807310500。11:PDUSMS发送的文件头字节。这里11指正常发送短信息。00:信息类型。这里00指让手机自动加上主叫号码。0B:被叫号码长度。81:被叫号码类型。3179133208F1:被叫号码13973123801。00:协议标识。00:短信息编码类型是GSMDefaultAlphabet。AA:短信息被保留的时间为4天,其计算方法依照表3。VP值短消息有效时间长度0~143(VP+1)×5分钟144~16712时+(VP-143)×30分168~1961天×(VP-166)197~2551周×(VP-192)26:PDU格式短信息编码后字节长度。32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608:编码后的PDU数据,短信息内容为“2002/06/08/13:48ID102OKID103OKID201FAIL”。1A:ASCII码CTRL^Z:报文结束标志。五、硬件设计单片机控制短信收发接口电平转换电路原理图如图1。6图1电路原理图1.系统核心部分---闪电存储型器件AT89C52单片机AT89C52有内部RAM,可以作为各种数据区使用,内部闪电存储器存放数字时钟的控制程序。它的主要功能是控制74LS138和74LS47,实现对LED显示器的位控和段控,完成时间的转换计算,并把计算的时间转换到相应的显示段码,控制LED显示器以动态扫描方式进行时、分、秒的显示。AT89系列单片机是ATMEL公司生产的。这是当前最新的一种电擦写8位单片机,与MCS-51系列完全兼容,有超强的加密功能,可完全替代87C51/52和8751/52。AT89C52是一种低功耗、高性能内含4K字节闪电存储器(FlashMemory)的8位CMOS微控制器。这种器件系以ATMEL高密度不挥发存储技术制造,与工业标准MCS-51指令系统和引脚完全兼容。片内闪电存储器的程序代码或数据可在线写入,亦可通过常规的编程器编程。例如,MP-100这样一种经济型的编程器,它支持通用EPROM等各种存储器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列51单片机的编程。ME5103和ME5105仿真器支持AT89系列所有器件的调试、