搜索
bottom↓
回复: 5

大家看一下我的这个毕业设计的程序要的不 我很郁闷呀 我们学校的老师都说不会 than

[复制链接]

出0入0汤圆

发表于 2009-5-15 01:14:58 | 显示全部楼层 |阅读模式
引  言
随着中国经济的迅猛发展,购车的家庭越来越多,实际生活中,汽车被撞而且肇事车辆逃逸也是生活中的常事.虽目前大多数车辆都装有报警系统,但一般仅为声光警告,一旦人与车距离过远,车主将无法及时得知车辆被撞的信息,从而失去实时报警的机会.因此,本设计对汽车被撞报警器进行改进,使用GSM短消息作为报警媒介,就可以克服上述问题.只要求车主有一只可以收发短消息的GSM(Global System for MobileCommunications)手机,汽车被撞系统就可实时报警。


1.汽车被撞手机报警系统的组成
本文设计用AT89c2051单片机,实现的基于GSM短信模块的汽车被撞手机报警系统,短信息服务作为GSM网络的一种基本业务,已得到广泛推广,本设计以 GSM网络为无线传输网络,系统结构如图1所示。汽车检测到被撞信号以后,通过软件处理系统、再通过GSM网络将报警信号传到用户手机,实现了报警信号的远距离传输。
系统组成框图如下:










图1.汽车被撞手机报警系统的组成

2单片机概述
2.1 AT89c2051的主要性能[1]
  (1)和MCS-51产品兼容;
  (2)2KB可重编程FLASH存储器(1000次);
  (3)2.7-6V电压范围;
  (4)全静态工作:0Hz-24KHz
  (5)2级程序存储器保密锁定
  (6)128*8位内部RAM
  (7)15条可编程I/O线
  (8)两个16位定时器/计数器
  (9)6个中断源
2.2 AT89c2051的简介
at89c2051是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大at89c2051单片机可为您提供许多高性价比的应用场合。
由于89C2051内部程序存贮器为Flash,所以修改它内部的程序十分方便快捷,只要配备一个可以编程89C2051的编程器即可。
2.3 AT89c2051的功能特性描述
AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带一个2k字节可编程EPROM的高性能微控制器。它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。AT89C2051有以下特点:2k字节EPROM、128字节RAM、15根I/O线、2 个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25V至5.5V的电压工作范围和12MHz/24MHz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,AT89C2051还支持二种软件可选的电源节电方式。空闲时,CPU停止,而让RAM、定时/计数器、串行口和中断系统继续工作。可掉电保存RAM的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。

2.3.1时钟电路
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图2中外接晶体以及电容C2和C3构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为33PF左右,晶振频率选12MHz。
2.3.2复位电路
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(I/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2中R0和C0组成上电复位电路,其值R取为10K, C取为10uF。
2.4 AT89c2051的管脚及外围电路设计

图2  AT89c2051的管脚及外围电路
3 GSM 模块简介
3.1 G100A短信模块的特点
北京捷麦公司的G100A短信模块具有
(1)利用移动通信网络覆盖面广、网络设施完备的整体优势,不再需投资基础设施、随时随地实现“个性化”的服务;
(2)实施与运行费用低,只需增加终端控制系统,运行时,短消息实行包月制或按每条0.10(选用中国移动)元计费,整体费用低;
(3)可以实现在无人情况、环境恶劣、超远距离的情况下控制信息的收集和传送,硬件的品质保证了通信安全可靠;
3.2 G100A短信模块技术指标[2]
工作温度:-30℃~+60℃;
天线阻抗:50;
输入电压:DC5~15v;
接口速率:9600Bps;
发射电流:≤2A;
静候电流:≤65Ma;
标准接口:RS232、RS485、TTL电平可选;
模块的盖板上有SIM卡座,可以插移动通信公司发行的SIM卡。
G100A短信模块的功能基于TC35GSM模块实现.TC35GSM模块是德国西门子公司推出的高可靠性、通用型GSM模块,可用于远程监控、车辆导航、无线上网等,它的主要特点
(1)支持双频:GSM900/DCS1800MHz;
(2)符合ETSIGSM Phase2/Phase2+标准;
(3)支持语音、短消息、传真和数据传输功能;
(4)SMS支持PDU(协议数据单元)格式和TEXT(文本)格式,符合GSM 07.05标准;
(5)RS232接口界面(CM0S电平);
(6)AT命令控制,完全符合GSM 07.07、GSMO7.O5、VI25标准,以及扩展的SIEMENSAT命令;
(7)可由电源或者电池供电;
(8)工作电压:3.3~5.5V 。
3.3 G100A短信模块的产品实图[3]

图 3 短信模块
连接要求
(1)指示灯: 本机有四个单绿色和一个单红色指示灯,分别对应外壳印字上的L1,L2,L3,L4,POW。其中L1-L4 是模块的信号指示灯,如同手机屏幕上的信号强度指示,从L1 开始,指示灯亮的越多,表明信号强度越强。POW 指示灯是模块的状态指示灯,当模块与GSM 网络通信时,此指示灯闪动。以后每次发送短信或接收短信时此指示灯均闪动。
(2)天线连接座:本连接座的连接器连接外接天线。
(3)连接插座:本机的连接插座由两芯和五芯的两个插座组成,其功能如下
两芯电源线插座。VCC:直流正电源输入,电压范围为5-12V。GND:电源地。
五芯数据线插座:
RXD:模块的串口接收,与上位机的TXD 相连
TXD:模块的串口发送,与上位机的RXD 相连
GND:地线(与电源地相连)
VOUT: 5V 电源输出,为接口连接线或电平转换板提供工作电源。

6传感器设计(信号采集)
本设计利用光敏控制电路,进行有效地被撞报警控制。为了实现报警功能如图6—2所示,光源通过小孔给光电接收二极管长期照射,使光电二极管接收一个稳定的信号,当外部汽车被撞击震动,振动信号通过弹簧传到挡光板,光源被挡光板挡住不能通过小孔,使光电传感器不能接收光信号,使光电传感器的电阻变大,从而实现一个报警信号。为了实现不误报警,本设计采用三路传感器,让报警传感器更加稳定。只有当三路传感器同时动作时才实现通过手机报警。
电路如6—1所示光敏传感器RH1选用MG44-03其亮阻不大于5K,暗阻不小于一兆,通过调节RP1,RP2,使光敏接收二极管RH有较高的灵敏度。用GA3140进行放大输出信号使单片机接收状态信号。

图6—1  光敏控制电路

图6—2光敏控制电路实图
4 汽车被撞手机报警装置原理图设计
该装置的原理图主要有单片机89C2051及复位、晶振电路,GSM数据传送模块,单片机的保护及接口电路,如图4所示
对各部分的电路说明如下:
(1)单片机及复位、晶振电路 单片机89C2051是智能汽车被撞报警系统的控制器,当单片机89C2051检测到传感器电压后就会进行处理,然后通过串行口把数据送到GSM数据传输模块中,GSM数据传输模块利用GSM网络发送数据(短信)。用户手机接受到短信后可以进一步处理。此外C1、R3用于为单片机一脚复位。晶振Y1为单片机提供工作的时间周期。
(2)GSM数据传送模块 采用北京捷麦公司G100A短信模块,通过串口与单片机相连,单片机控制GSM数据传输模块,可利用GSM网络将需要发送—接收的数据进行发送—接收。其优点是不受传输距离的约束且实用性较好,传输数据的错误率低。
(3)电源电路及电平转换电路
通过三端稳压管78L05将汽车电池输入的电压15V转化为稳定的5V DC,为单片机系统及传感器电路提供所需的工作电压和基准电压。
(4)单片机的保护的电路和接口电路
单片机P1.4口接指示灯L3。当单片机和短信模块通信连接正常时,L3显示。L1和L2为系统工作状态指示灯。当单片机数据线、电源线、GND线接口与外部与短信模块G100接口相连时,系统启动,L2灯闪烁,需要的系统20s的系统启动时间,启动完毕,L2熄灭。此时L1灯亮表示系统进入正常工作状态。
(5)IC卡存储芯片  
芯片AT88SC102与单片机的P1.4、P1.5的I/O脚相连可将分配的任务数据写在此芯片中。AT88SC102 卡是带加密码逻辑的1k 位E2 PROM 型IC 卡。采用低功耗CMOS 工艺制造, ICC 小于4. 0mA 。内部产生编程电压V PP ,从而可以用+ 5V 单电源工作。2μs 读取时间, 工作频率可达300kHz 。温度范围宽: - 25~75 ℃。芯片max3238为高可靠性: 100 ,000 次擦写循环,100年数据保留期。
(6)max3238是串行总线收发模块,它的作用是
MAX3238芯片引脚说明:1-3,25-28脚接0.1uf电容。4脚和27脚对地接0.1uf电容,26脚电源,4脚接地。17,19,22,23,24为逻辑电平输入对应232电平输出端为12,10,7,6,5 。8,9,11为232电平输入端对应逻辑电平输出端为21,20,18 。13,14为关断端15为故障信号输出端。
详细信息看3238数据手册。

图 4 汽车被撞手机报警装置原理图
5 G100A短信模块的软件设计[4]
5.1 电话号码的表示
模块是用GSM模块的短信息功能来传输数据的,所以在使用它传输数据的时候就要用到电话号码。为了规范和方便,下面介绍数据包中电话号码的表示方法。数据包中用6个8位二进制字节表示电话号码,每个字节中高4位和低4位均用BCD码表示1位十进制的电话号码,这样每个字节可表示两位电话号码,6个字节共可表示12位电话号码,因现行的电话号码均为11位,而6字节能表示12位十进制的BCD数,所以在传输数据表示电话号码时要将电话号码的前面补0以凑足12位。假设电话号码是13648498021,转换成6字节BCD码后变为
01H,36H,48H,49H,80H,21H。
将电话号码转换成数据包中BCD码的格式的步骤就是:1.在电话号码的左边补一个“0”2.从左向右每两位分成一组3.分别将各组转换成BCD码。如果要将数据包中的数据还原成电话号码,步骤正好相反。
5.2 术语
信息:信息是指GSM模块与上位机通信的内容。
数据:上位机通过串口,发送给模块GSM模块,通过GSM模块的无线发送及GSM网络传输传送给另一GSM模块的信息叫数据。由上位机通过串口发送给GSM模块的数据叫发送数据。由GSM模块收到短信后传送给上位机的数据叫接收数据。数据的起始点是上位机,目的点是另一上位机。
命令:上位机通过串口,发送给GSM模块让模块执行一定的动做或GSM模块传送给上位机报送模块内的一些参数或状态的信息叫命令。若命令的起始点是上位机,目的点则是GSM模块。
5.3数据包格式
无论是数据还是命令都用下面的格式来表示
D7H        控制字节        信息
不管是命令还是数据,都有一个包头D7H,接着就是一个控制字节。本模块规定:当控制字节大于147时,数据包为命令,否则就为数据。比如命令D7H,FFH,参数,D7H为包头,FFH为控制字节,因FFH>147,故参数为命令字节。模块就是靠数据包的第二个字节来识别您发给它的信息是命令还是数据的。
5.4发送数据的格式
5.4.1发送短信(上位机→模块)
语法:
字头:D7H        一字节数据长度:UDL        六字节目的电话号码:STA        数据UD
UDL:要发送的除包头D7H以外总的数据长度。包括STA,UD和它本身的字节长度,因STA和UD长度一般是固定的,即固定为1+6=7个字节,所以其长度可由如下公式计算
UDL:数值=1+6+UD长度。接收方收到的时间字节也不包含在内。
STA:接收方的电话号码,即目的地址。号码需要进行格式转换。
UD:您需要发送的有效数据。其总长度小等于140个字节。因为短信息的数据长度不能超过140个
例1:
假设您要发送00H,11H,22H,33H,44H,55H,共6个字节数据,接收方的电话号码(目的地址)是13648498021,
UDL=0DH(13个字节),STA=01H,36H,48H,49H,80H,21H,UD=00H,11H,22H,33H,44H,55H,
发送格式如下
D7H        0DH        01H        36H        48H        49H        80H        21H        00H        11H        22H        33H        44H        55H
5.4.2 接收短信(模块→上位机)
语法:
字头:D7H        一字节数据长度:UDL        六字节源电话号码:STA        数据UD        六字节发送时间:DATE
UDL:接收到的除包头D7H以外总的数据长度。包括STA,UD和它本身的字节长度,因STA和UDL的字节长度一般是固定的,即固定为1+6=7个字节,所以其长度可由如下公式计算UDL数值=1+6+UD长度。接收方收到的时间字节DATE不包含在内。
STA:发送方的电话号码,即源地址。
UD:发送方发送的有效数据。其总长度小等于140个字节。因为短信息的数据长度不能超过140个字节。
DATE:短信中心收到短信的时间,也就是发送方发送短信的时间。共6个字节的BCD码,依次是年、月、日、时、分、秒。UDL的数值并不包含这6个字节。
例2:
假设您收到上面发送来的00H,11H,22H,33H,44H,55H,共6个字节数据,发送方的电话号码(源地址)是13648498021,发送时间是2009-04-27 13:21:21。UDL=0DH(13个字节),SOA=01H,39H,20H,85H,57H,95H,UD=00H,11H,22H,33H,44H,55H,DATA=03H,08H,12H,13H,21H,21H。接收到的数据格式如下
D7H        0DH        01H        36H        48H        49H        80H        21H        00H        11H        22H        33H        44H        55H
09H        04H        27H        13H        21H        21H

命令用下面的格式来表示
D7H        控制字节        参数
控制字节的第一个字节总是大于147,有些命令的控制字节长度为一个字节有些命令的长度为两个字节。各控制命令的功能见表一,关于表一的命令作如下的说明。
表一 命令集
控制字节        参数        方向        功能
FDH        一字节        模块→上位机        模块已工作,参数表示模块的工作状态,参数为03H时表示串口与上位机通信正常,参数为02H时表示模块内的自检完成,参数为01H时表示模块已经连接到GSM网络上。上电初始化完成后也返回此命令码
FEH        无        上位机→模块        询问模块是否工作。初始化完成后任何时候用此命令询问模块,模块会根据模块与网络的连接情况返回D7H FDH
FAH        无        模块→上位机        数据已经成功发送。由于网络原因,发送相同的数据量所需要的时间也是不一样的,即延迟时间也是不相同的,所以发送数据时,要等到数据发送的回应命令码(D7H FAH或D7H FCH)后再发送下一次数据
FCH        无        模块→上位机        数据发送失败,需要重新发送。
ECH        无        上位机→模块        询问模块的软件版本
ECH        8字节        模块→上位机        回答软件版本。后跟八个字节的版本信息(ASCII码)
        FBH        无        模块→上位机        模块忙
FBH        无        上位机→模块        系统复位









7 系统发送数据流程图

图 7 系统发送数据流程图


结论及展望
目前大多数报警器都充分考虑了汽车被盗的情况,而汽车被撞而且肇事车辆逃逸也是生活中的常事。所以本设计能够通过GSM网络以短信的方式快速的通知车主。本设计完成了用光电检测模块对汽车被撞的检测。用单片机控制了GSM短信模块对被撞信号的发送。本次设计切实考虑了汽车被撞手机报警的需求,针对汽车被撞手机报警的主要方面而设计的一款新型的汽车被撞手机报警系统。设计过程中充分考虑了各种可能出现意外情况,根据具体情况设计了相应的功能。操作简单、方便。此系统借助最可靠、最成熟的GSM移动网络和三路传感器设计,大大减少了误报现象,可靠性强,性能良好。
由于设计时间的关系汽车被撞手机报警器还可以进行有效的的扩展,可以增加录象和防盗等功能。
从2008年3月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。
3月初,在与导师的交流讨论中我的题目定了下来,是:80C51单片机控制汽车被撞手机报警设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。我将这一困难告诉了导师,在导师细心的指导下,终于使我对自己现在的工作方向和方法有了掌握。
在搜集资料的过程中,我认真准备了一个笔记本。我在学校图书馆,大工图书馆搜集资料,还在网上查找各类相关资料,将这些宝贵的资料全部记在笔记本上,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。然后我将收集到的资料仔细整理分类,及时拿给导师进行沟通。
4月初,资料已经查找完毕了,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。
4月中旬,论文的文字叙述已经完成。并开始进行相关图形的绘制工作和电路的设计工作。为了画出自己满意的电路图,我仔细学习了protel99se的绘图技术。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过导师的指导,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案。方案中传感器电路的设计和GSM短信模块程序设计是个比较头疼的问题,在反复推敲,对比的过程中,最终定下了行驱动电路采用三路光电传感器为单片机输入信号传感器,并用北京捷麦G100A为GSM短信发送模块。
当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但这是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。
我在这次设计中有很大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。
在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。
在此更要感谢我的导师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成毕业论文。在我的学业和论文的研究工作中无不倾注着老师们辛勤的汗水和心血。老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。

















参考文献


【1】        求是科学.单片机通信技术与工程实践[M].北京:人民邮电出版社,2004.11.
【2】        谢崇明.GSM汽车防盗报警系统设计[M].广西机电工程学校,2006.
【3】        北京捷麦通信器材有限公司产品使用手册.
【4】  肖金球.单片机原理与接口_技术[M].清华大学出版社.2007.
【5】  李晓辉 孙康明 卢 艳 任艳君 陈爱群.《现代电子技术》2008 年第3 期总第266[M].
【6】  松井邦彦.传感器应用技巧141例[M].科学出版社.2004
【7】  松井邦彦.传感器实用电路设计与制作[M].科学出版社.2005.
【8】  赵长娥.自动检测与传感器技术[M].中国电力出版社.2005.
【9】  魏红.移动通信技术[M].人民邮电出版社.2006.1.
【10】 袁佑新 黄晓研 陈继伟 彭万权 梅晓莉.中国水运[M].第5卷第3期.2007.
【11】 陈宣毅.汽车防盗GSM报警系统设计[M].深圳深大蓝宇科技公司.
【12】 刘修文.新编电子控制电路300例[M].机械工业出版社.2005.4.
【13】 李俄收 张少靖 吴文民.汽车传感器应用综述[M].中国人民解放军汽车管理学院装备技术系.
【14】 http://www.dali-tech.com/cn-ProductInfo.asp?TypeID=1&ID=36
【15】 关  键 电子cad技术[M].电子工业出版社.2005.











致      谢


本次毕业设计过程中,朱老师对该论文从选题、构思、资料收集到最后定稿的各个环节给予细心指引与教导,使我对本设计有了深刻的认识,使我得以最终完成毕业设计,在此表示衷心感谢。朱老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度、积极进取的科研精神以及诲人不倦的师者风范是我终生学习的楷模。在本文写作的各个阶段给出了许多宝贵意见。导师们的高深精湛的造诣与严谨求实的治学精神将永远激励着我。在四年的大学生涯里,还得到众多老师的关心支持和帮助,在此,谨向老师们致以衷心的感谢和崇高的敬意!
通过本次毕业设计,使我增强了理论与时间结合的能力,设计过程中遇到各种问题在指导老师的帮助下得以解决,锻炼了我的意志,更使我增强了信心。在此要感谢学院给提供了良好的实验环境以及我的指导老师朱兆虎。

















附录:下位机发送数据程序
按照已经设计的硬件电路进行软件编程。下位机发送数据程序流程图如图7所示。只有在下位机检测到开机三个光电传感器全部有信号时的才表示在开机正常状态。而三个光电传感器全部信号断开时才表示汽车被撞了。在这两种状态下,89C2051才通过串口把状态数据信息发送到GSM数据模块中,GSM数据传输模块利用GSM网络将状态数据信息以短信的方式发送出去。远程的接收端手机通过GSM网络接收到汽车状态信息。
AA     EQU  P1.0                                                                                        ;定义A相闭合检测
BB     EQU  P1.1                                                                                        ;定义B相闭合检测
CC     EQU  P1.2                                                                                        ;定义C相闭合检测
OUT    EQU  P1.3                                                                                        ;定义工作状态标志
FLAG   EQU  00H                                                                                                ;定义发送标志位
T_DEL  EQU   30H                                                                                        ;定义时间间隔
T_10MS EQU   31H                                                                                        ;定义延时时间
ORG    000H
LJMP   MAIN                                                                                      ;长跳转到主程序
ORG    000BH                                                                                                ;定时器0中断入口地址
LJMP   TO_INT
ORG    0023H                                                                                                ;定时器1中断入口地址
LJMP   RT_INT
ORG    0030H
DATA1:                                                                                                         ;定义全接通时的G100A发送
       DB    0D7H,  0EH                                                                                  ;数据长度
           DB    01H,67H,01H,54H,54H,90H                                      ;手机号16701545490
           DB    31H,31H,31H,33H,0D8H,0D8H,0EH                                          ;无信号时发送的数据
           ORG   0040H
DATA0:                                                                                                                  ;定义全断开时的发送数据长度
       DB    0D7H,0EH
           DB    01H,67H,01H,54H,54H,90H                                      ;手机号16701545490
           DB    31H,31H,31H,33H,0D8H,0D8H,0EH                                          ;有信号时发送的数据
           ORG   0040H
MAIN:
       MOV   SP,                #60H                                                                  ;堆栈指针
           MOV   PSW,           #00H                                                                  ;寄存器组0
           LCALL INIT_REG                                                                                  ;初始化寄存器
           CLR   C
           MOV   FLAG, C
MAIN:                                                                                                                  ;查询模块工作是否正常
       CLR   TI                                                                          
           CLR   RI
           MOV   A,                    #0D7H
           MOV   SBUF,                 A                                                                          ;发0D7H、0FEH
           JNB   TI,                   $
           CLR   TI
           MOV   A,                    #0FEH
           MOV   SBUF                  A
           JNB         TI,                   $
           CLR   TI
           JNB   RI,                   $
           CLR   RI
           MOV   A,                    SBUF
           CJNE  A,                    #0D7H,    MAIN_1                                        ;等待模块回答
           JNB   RI,                   $                                                               
           CLR   RI
           MOV   A,                    SBUF
           CJNE  A,                    #0FDH,    MAIN_1                                        ;不正常重新联络
           CLR   RI
MAIN_LOOP:                                                                                                       
       CPL   P1.3                                                                                        ;P1.3发光二极管显示工作状态
           MOV   T_DEL.                #5
MAIMLOOP1:                                                                                                        ;模块正常工作,查询传感器输入状态
              JNB         FLAG,          PD1                                                               
           LCALL NOW_OFF                                                                                ;查询是P1.0是否有输入信号
           JNC         PD1
           LCALL SENDDATA0                                                                                ;发送数据
           LJMP  PD2
PD1:
           JB         FLAG,                PD2                                                                         ;查询是否全部接通
           LCALL NOW_ON
           JC         PD2
           LCALL SWNDDATA1
PD2:   
       MOV   A,        T_DEL
           JZ    MAIN_LOOP
           SJMP  MAINLOOP1
;定时器0中断子程序:10ms定时
T0_INT:
           PUSH         ACC
           PUSH  PSW
           MOV   TH0,                 #OFCH
           MOV   HL0,                 #66H                                                                ;10ms时间常数
           MOV         A                        T_10MS                                                          
           JZ         T01
       DEC         T_10MS
           LJMP         T0_END
T01:
           MOV         T_10MS,        #09H
           MOV         A                        T_DEL
       JZ         T0_END
       DEC         T_DEL
TO_END:
       POP         PSW
           POP         ACC
           RETI
;串行口接收/发送中断子程序
RT_INT:
       TETI
;判断外部输入是否断开(P1.0、P1.1、P1.2是否都为0)
NOW_ON:
           MOV         A                        #0FFH
           MOV         P1,                A
           MOV         A,                        P1                                                                        ;读P1口内容
           MOV         C,                        ACC.0
           ORL         C,                 ACC.1
           ORL         C,                        ACC.2
           RET
;判断外部输入是否断开(P1.0、P1.1、P1.2是否都为1)
NOW_OFF:
           MOV         A                        #OFFH
           MOV         P1,                A
           MOV         A,                        P1                                                                        ;读P1口内容
           MOV         C,                        ACC.0
           ANL         C,                        ACC.1
           ANL         C,                        ACC.2
           RET
;初始化程序
INIT_REG:
           MOV         TMOD,                #21H                                                                ;定时器0方式1,16位计时器
                                                                                                                        ;定时器1方式2
           MOV         THO,                #0FCH                                                                ;定时器0的1ms
           MOV         TH1,                #0FDH
           MOV   TL1            #OFDH                                                                ;波特率9600(11.0592MHz)
           MOV   PCON,                #0                                                               
           MOV         SCON,                #01010000B                                                        ;串行方式1(异步接收/发送)
           MOV         IE,                #00010010B                                                        ;定时器0、串行口中断永许
           SETB         TR0                                                                                        ;启动定时器0
           SETB         TR1                                                                                        ;启动定时器1
           SETB         EA                                                                                                ;开中断
           SETB         PS                                                                                                ;串行口中断高优先级
           CLR   ES                                                                                                ;串行口中断永许
           RET
;被撞时外部输入断开,发送的数据(从EEPROM DATA0开始的数据模块)
SWNDDATA0:
           LCALL TESTREV0
           LCALL COMTX
           MOV   T_DEL,                #200                                                                ;2s定时
SD01:
           CLR         RI
SD04:
           JB    RI.                SD00
           MOV         A,                        T_DEL
           JZ         SD0END
           LJMP         SD04
SD00:
           MOV         A,                        SBUF                                                                ;2s内收到0FAH表示已发送成功
           CJNE         A,                        #0FAH,                SD01
           CLR         FLAG                                                                                        ;置0表示已发送成功发送断开状态数据
SD1END:
RET
;安装完成测试后测试时,发送的数据(从EEPROM DATA1开始的数据块)
SENDDATA1:
          LCALL         TESTREV1
          LCALL         COMTX
          MOV         T_DEL,                #200                                                                ;2s定时
SD11:
      CLR    RI
SD14:
          JB         RI,                SD10
          MOV         A,                        T_DEL
          JZ         SD1END
          LJMP         SD14
SD10:
          MOV         A,                        SBUF                                                                ;2s内收到0FAH表示已经成功发送测试数据
SD1EDN:
          RET
;取DATA1开始的数据块到50H开始的RAM中
TESTREV1:
          MOV         DPTR,                #DATA1
          MOB         R0,                #50H
          LJMP         TESTDATA1
;取DATA0开始的数据块到50H开始的RAM中
TESTDATA1:
          CLR         A
          MOVC         A,                        @A+DPTR
          MOV         @R0,                A
          INC         DPTR
          INC         R0
          CJNE         A,                        #0EH,                TESTDATA1
          RET
COMTX:                                                                                                                 ;串口发送RAM中50H开始的
          CLT         ES                                                                                                 ;单元中数据,0E为结束标志
          MOV         R0,                #50H
COMTX1:
          MOV         A,                        @R0
          CJNE         A,                        #0EH,            COMTX2                                    ;判断数据是否发完
          RET
COMTX2:
          MOV         SBUF,                A
          JNB         TI,                $
          CLR         TI
          INC         R0
          AJMP         COMTX1
          END
基于GSM短信模块的汽车被撞手机报警系统正文1.docourdev_444943.doc(文件大小:350K) (原文件名:基于GSM短信模块的汽车被撞手机报警系统正文1.doc)

出0入0汤圆

 楼主| 发表于 2009-5-15 01:30:25 | 显示全部楼层
谢谢那为大哥大姐帮我改一下 @@

出0入0汤圆

发表于 2009-5-15 09:45:45 | 显示全部楼层
您第一个框图上面那条线是电源吧,最好在上面加电源两个字,
你那个复位电路应该有问题,可以找点资料,很简单的,另外
最好举例说明工作流程,不一定把全部代码写出来,关键点
写一些就行了,主要你做的东西多说一些,大家都知道的51原理什么
的简写就行了,尽量少抄书,最好有实物演示,最好自己做的,
别给老师问住,不错,鼓励一下!

出0入0汤圆

 楼主| 发表于 2009-5-19 16:29:16 | 显示全部楼层
首先谢谢zgx8 大哥,我还想问一下各位。下面这个   查表指令中有没有实际的意义   或者能发送或接收不,31H,31H,31H,33H,0D8H,0D8H,0EH能在手机上显示出什么不???


DB    31H,31H,31H,33H,0D8H,0D8H,0EH                                          ;无信号时发送的数据



;定义全接通时的G100A发送
DATA1:                                                                                                                 DB    0D7H,  0EH                                                                                  ;数据长度
           DB    01H,67H,01H,54H,54H,90H                                      ;手机号16701545490
           DB    31H,31H,31H,33H,0D8H,0D8H,0EH                                          ;无信号时发送的数据
           ORG   0040H
DATA0:                                                                                                                 ;定义全断开时的发送数据长度
       DB    0D7H,0EH
           DB    01H,67H,01H,54H,54H,90H                                      ;手机号16701545490
           DB    31H,31H,31H,33H,0D8H,0D8H,0EH                                          ;有信号时发送的数据
           ORG   0040H

出0入0汤圆

发表于 2009-5-30 16:07:04 | 显示全部楼层
单单用89C2051这么低的资源,就可以实现这个系统,真的假的?

出0入0汤圆

发表于 2009-5-30 16:21:42 | 显示全部楼层
估计有点难,我用52都只实现了发和接短信,设置主机号码之类的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 14:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表