参考]基于gsm全球移动通信系统的远程报警系统的设计内容摘要:
动成果无偿贡献出来的 同学们。 是你们帮助我少走了很多的弯路。 在你们那里我学到了很多的知识。 再次感谢。 我以后也会和你们一样,把自己觉得好的东西都共享出来。 最后把我觉得最应该感谢我的父母及亲人,是他们的辛勤劳作让我有了学习的机会。 特别是在过去的四年当中,他们一如既往的支持我的学习事务。 在此表示深深的感谢。 XXXX 大学本科毕业设计 12 附 录 附录 一 设计 电路原理图和 PCB 图 图 9 电路原理图 图 10 已布线的 pcb图 XXXX 大学本科毕业设计 13 附录 二 部分 设计源代码 /*LCD 端口定义 */ define DATADIRECTION TRISD /*DATAVALUEDIRECTION 控制 LCD IO口方向 */ define DATAVALUE PORTD /*定义 DATAVALUEVALUE 为 LCD1602 数据 IO 口 */ define CONTROLDIRECTION TRISE /*DATAVALUEDIRECTION 控制 LCD1602 数据 IO 口方向 */ define RS RE0 /*LCD1602 数据,命令控制, 1为数据, 0为命令 */ define RW RE1 /*LCD1602 读写控制 ,1为读, 0为写 */ define EN RE2 /*LCD1602 使能控制, 1 为使能, 0为禁止 */ void LcdWriteCommand(unsigned char mand)。 /*LCD1602 写命令 */ void LcdWriteChar(unsigned char data)。 /*LCD1602 显示字符 */ void LcdInit()。 /*LCD1602 初始化 */ void LcdDisplayString(const unsigned char str[],unsigned char len,unsigned int time)。 Void LcdClear()。 /*清屏 */ Void LcdDelay(unsigned int n)。 /*LCD1602 延时 n个 10ms*/ Void LcdDelayNMs(unsigned int n) /*LCD1602 延时 n个 10ms*/ { unsigned int i。 for(。 n0。 n) { for(i=100。 i0。 i)。 } } Void LcdWriteCommand(unsigned char mand) /*LCD1602 写命令 */ { DATAVALUE=mand。 RS=0。 RW=0。 EN=0。 LcdDelayNMs(10)。 EN=1。 XXXX 大学本科毕业设计 14 } void LcdWriteChar(unsigned char data) /*LCD1602 显示字符 */ { DATAVALUE=data。 RS=1。 RW=0。 EN=0。 LcdDelayNMs(10)。 EN=1。 } void LcdClear() /*清屏 */ { LcdWriteCommand(0x01)。 LcdWriteCommand(0x80)。 } void LcdInit() /*LCD1602 初始化 */ { ADCON1=0X07。 //设定 RA口、 RE 口为变通数字端口 DATADIRECTION=0x00。 CONTROLDIRECTION=0X00。 LcdWriteCommand(0x01)。 LcdWriteCommand(0x38)。 LcdWriteCommand(0x0c)。 LcdWriteCommand(0x06)。 LcdWriteCommand(0x01)。 LcdWriteCommand(0x80)。 } void LcdDisplayString(const unsigned char str[],unsigned char len,unsigned int time) { unsigned char i=0。 char flag=0x40。 XXXX 大学本科毕业设计 15 unsigned char position=0x80。 //LcdWriteCommand(0x01)。 //LcdWriteCommand(0x80)。 //LcdWriteChar(39。 39。 )。 for(i=0。 ilen。 i++) { if(((i%16==0)amp。 amp。 (i0))) { position=position+flag。 LcdWriteCommand(position)。 flag=flag。 if(i%32==0) { LcdDelayNMs(time)。 LcdWriteCommand(0x01)。 LcdWriteCommand(0x80)。 //LcdWriteChar(39。 39。 )。 } } if((str[i]!=39。 \039。 )amp。 amp。 (str[i]!=39。 \r39。 )amp。 amp。 (str[i]!=39。 \n39。 )) LcdWriteChar(str[i])。 } } /*GSM 模块 函数定义 */ include define IGTDIRECTION TRISA0 define IGT RA0 define M 2 //向 GSM发送命令 define N 6 const unsigned char gsmmand[M][N]= { XXXX 大学本科毕业设计 16 ATE0\r, AT\r, }。 /*发送命令 AT\r后回显 OK*/ /*发送命令 ATE0\r后回显 OK*/ /*发送命 令 AT+CSQ\r后回显 +CSQ: 29,99 OK*/ /*发送命令 AT+CMGF=0\r后回显 OK*/ const unsigned char mandmi[]=AT+CNMI=1,1,0,0,1\r。 /*发送命令 AT+CNMI=1,1,0,0,1\r后回显返回信息 OK. 若收到短信则显示 +CMTI: SM,2 2 表示手机内短信数量 */ const unsigned char mandcmgs[] = AT+CMGS=025\r。 const unsigned char smscontent[] ={0X30,0X30,0X31,0X31,0X30, 0X30,0X30,0X44,0X39,0X31, 0X36,0X38,0X35,0X31,0X38, 0X39,0X30,0X32,0X38,0X31, 0X33,0X38,0X66,0X31,0X30, 0X30,0X30,0X38,0X30,0X31, 0X30,0X41,0X36,0X37,0X30, 0X39,0X35,0X43,0X30,0X46, 0X35,0X30,0X37,0X37,0X35, 0X31,0X36,0X35,0X34,0X46, 0X42,0X35,0X1A,39。 \r39。 ,39。 \039。 }。 /*const unsigned char smscontent[] ={0X30,0X30,0X31,0X31,0X30, 0X30,0X30,0X44,0X39,0X31, 0X36,0X38,0X35,0X31,0X38, 0X39,0X30,0X32,0X38,0X31, 0X33,0X38,0X66,0X31,0X30, 0X30,0X30,0X38,0X30,0X31, 0X30,0X41,0X36,0X37,0X30, 0X39,0X35,0X43,0X30,0X46, XXXX 大学本科毕业设计 17 0X35,0X30,0X37,0X37,0X35, 0X31,0X36,0X35,0X34,0X46, 0X42,0X35,0X1A,39。 \r39。 ,39。 \039。 }。 //*********************************gms 相关函数定义 *************************// void GSMDelayNMs(unsigned int n) { unsigned int d=100。 for(。 n0。 n) { d=100。 do{。 }while(d)。 } } void GSMSendCommand(const unsigned char gsmmand[]) { LcdDisplayString(gsmmand,strlen(gsmmand),1000)。 GSMDelayNMs(1000)。 ClearBuffer(receivestr,BACKMESSAGE_MAXLENGTH)。 timeoutset=5。 timeout=0。 RCIF=0。 RCIE=1。 receivestrlen=0。 T0IF=0。 T0IE=1。 Tmr0TimerStart(0)。 UsartSendString(gsmmand,strlen(gsmmand))。 while(timeouttimeoutset)。 T0IF=0。 T0IE=0。 RCIF=0。 XXXX 大学本科毕业设计 18 RCIE=0。 LcdClear()。 //清屏 LcdDisplayString(receivestr,receivestrlen,1000)。 GSMDelayNMs(1000)。 } //启动 GSM void GSMStart(void) { ADCON1=0X07。 IGTDIRECTION=0。 IGT=0。 GSMDelayNMs(300)。 IGT=1。 } void GSMInit() { unsigned char i=0。 LcdInit()。 //LCD1602 初始化 LcdClear()。 //清屏 LcdDisplayString(lcd1602 ready!,strlen(lcd1602 ready!),1000)。 GSMDelayNMs(1000)。 UsartInit(9600)。 //串口初始化, baud 为串口波特率 GSMStart()。 LcdClear()。 //清屏 LcdDisplayString(GSMStart!,strlen(GSMStart!),1000)。 GSMDelayNMs(1000)。 RCIF=0。 RCIE=0。 PEIE=1。 XXXX 大学本科毕业设计 19 GIE=1。 for(i=0。 iM。 i++) { LcdClear()。 //清屏 GSMSendCommand(gsmmand[i])。 } } void GSMSendSms(const unsigned char smscontent[]) { unsigned char i=0。 const unsigned char * p。 unsigned char SK[]=。 unsigned char timercount=0。 LcdClear()。 //清屏。参考]基于gsm全球移动通信系统的远程报警系统的设计
相关推荐
以下几个功能: 简单、 友好的用户界面,保证直接上手便可以游戏; 规则简单,方便游戏 ; 在服务器端加入算法,方便日后维护; 向 PC 端开发靠拢,为以后 pc 与手机互联做好基础。 游戏规则 以经常玩的 坦克大战 游戏 与泡泡堂相结合定义的游戏, 游戏的基本设计是根据游戏的规则进行设计的。 游戏操作 : 游戏的操作键分别是 : W向上 S向下 A向左 D向右 空格键 向上 游戏 的规则:
的用途绝对不止这些, J2ME 应用的发展有赖于各种硬件厂商提 供的支持。 选择 J2ME 的原因 到目前为止,手机上的应用软件开发几乎都是基于 J2ME 平台的。 这是因为,首先,随着无线 Inter 新应用的出现,手机软件的需求越来越大,但是如果使用C 语言和专有的实时操作系统,不仅开发速度慢,而且没有动态加载应用程序的能力,导致手机上的应用程序开发很困难。 一方面
及引脚概述、 FPGA/CPLD 模块概述、 Quartus II 简单介绍、 Verilog HDL 硬件描述语言、系统的电路设计,包括顶层电路设计、前端信号放大整形电路设计、单片机与 CPLD 接口电路设计、单片机主模块设计、单片机外围电路设计等,最后论述了软件部分设计与仿真包括单片机部分汇编语言编写与调试、东北大学本科毕业设计(论文) 第一章 绪论 3 CPLD 部分用 Verilog
光电转换 主要 是 应用光学原理,通过 对 光的反射和折射,或者 其他方式 将太阳能转换成 别的 形式的能量进行 一定距离的 传输。 直接传输 的 距离 相对比较短 , 通常用一下三种方法: 一、是用 反射镜及其它光学元件 搭配 ,改变 太 阳光的 传输 方向, 使他到达需要的 地点; 二、用 光导纤维 传输 , 光导纤维 可以将入射 到 其一端 口 的阳光传输到另一端口 ,传输时光导纤维任意
ITUTRS232 接口标准,它有固定的参数 :8位数据位和 l位停止位,无校验位,波特率在 300bps115kbps 之间可选,硬件握手信号用 RTSO/CTSO,软件流量控制用 XON/XOFF, CMOS 电平,支持标准的 AT命令集。 通过这一接口可以用 AT命令切换操作模式,可以使它处于语音、数据、短消息或传真模式。 TC35i 的 IGT 电路 图 启动电路时序 对于 TC35i
学生开出多门数字印刷方面的公共任选课,如“防伪印刷”、“条形码印刷”、“电脑美术设计”、“方正飞腾”等。 二、专业人才培养目标 本专业以社会需求为目标,以服务为宗旨,以就业为导向的指导思想,培养德、智、体、美全面发展,能在印刷传媒业、包装业、广告公司、数字写真业等行业从事数字 印前、数字印刷、传统印刷等工作的具有创新精神和实践能力的技术应用型专门人才。 职业岗位:数字印前、数字印刷、印刷质量检测