GPS接收机模拟软件开发.docx
- 文档编号:29122879
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:8
- 大小:19.55KB
GPS接收机模拟软件开发.docx
《GPS接收机模拟软件开发.docx》由会员分享,可在线阅读,更多相关《GPS接收机模拟软件开发.docx(8页珍藏版)》请在冰豆网上搜索。
GPS接收机模拟软件开发
GPS接收机模拟软件开发
摘要:
随着科技的发展,GPS在越来越多的工程和科学领域得到应用,有关GPS的教学也逐渐引起重视。
介绍了用于教学的GPS接收机模拟软件开发。
该软件有助于课堂教学和课后学生练习GPS接收机的操作使用。
软件采用VC++编程方法实现,接收机各功能的实现基本上采用事件响应函数的形式。
运行结果表明,所有GPS定时校频接收机软件前面板模拟结果都与被模拟界面的画面及功能一致,完成GPS接收机的模拟。
文中的软件开发方法可为其他教学模拟软件的开发提供参考。
关键词:
教学软件;VC++;GPS接收机;教学模拟软件
中图分类号:
TN965+.5?
34;TP311.11文献标识码:
A文章编号:
1004?
373X(2016)10?
0100?
04
AnalogsoftwaredevelopmentofGPSreceiver
YANGChao1,YANGYuan2,LIUYunfei3
(1.DepartmentofElectronicsandinformationEngineering,NAAU,Yantai264001,China;2.Unit92407ofPLA,Huludao125000,China;
3.QingdaoBranch,NAAU,Qingdao266041,China;)
Abstract:
Withthedevelopmentofscienceandtechnology,GPSiswidelyusedinmoreandmorefieldsofscienceandengineeringnow,andtheGPSteachingisalsopaidmoreattention.AnalogsoftwaredevelopmentoftheGPSreceiverappliedtoteachingisintroducedinthispaper.ThesoftwareisnotonlycontributetoteachingGPSreceiverinclass,butalsotothepracticetogettheequipmentoperationskill.ThesoftwareisrealizedbyVC++programmingmethod,andeachfunctionofGPSreceiverisrealizedintheformofeventresponsefunction.SystemrunningresultsprovethatthefrontpanelanalogresultofGPStimingfrequency?
adjustmentreceiversoftwareissamewiththepictureandfunctionofthesimulatedinterface.Themethodofsoftwaredevelopmentcanprovideareferencefordevelopmentofotherteachinganalogsoftwares.
Keywords:
teachingsoftware;VC++;GPSreceiver;teachinganalogsoftware
GPS[1]是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统,目前,它已经在很多方面得到了应用[2?
9]。
随着现代科技的发展,GPS的应用还会越来越广泛。
相应的有关GPS理论和GPS接收机操作使用的课程也日益普遍。
本文旨在介绍一种用于授课和练习GPS接收机操作使用的GPS接收机模拟软件,该软件主要对某型GPS接收机进行人机界面模拟。
使用该软件,不仅在课堂上可以通过屏幕直观再现作为授课内容的GPS接收机的人机界面和操作使用方法,便于教师授课和学生学习,而且,更可以作为GPS模拟接收机,供学生练习GPS接收机的操作使用,对没有GPS接收机的场合下的GPS接收机操作使用教学,尤其有用。
通过使用该软件,让相关学员和技术人员能够在短时间内学会GPS接收机的操作使用,达到事半功倍的效果。
该软件的编程方法不仅可以帮助编写其他型号的GPS接收机教学模拟软件,同时也为其他课程的教学软件编程提供参考。
1GPS模拟接收机人机界面方案设计
本文主要对GPS定时校频接收机的面板和操作进行模拟。
VC++不仅具有C/C++语言的高效性和端口操作能力的特点,而且融合了可视化环境与面向对象的程序设计思想[10]。
在综合接收机的人机界面的面板及操作和VC++的特点之后,在开发时选择可视化的、面向对象的编程工具VisualC++6.0。
1.1GPS模拟接收机前面板外形的设计实现
根据实物,本文对GPS模拟面板的整体外形进行了设计。
(1)开关部分用一个Button控件和一个PictureBox控件组合实现,单纯地使用Button控件在外观设计上并不能满足要求,所以针对开关的开和关状态,在Button按钮弹起和按下时分别用PictureBox控件调用图片使之更加逼真。
(2)LCD显示屏作为整个软件的文字显示部分,VC++6.0有两个可用控件:
TextBox和Label。
而TextBox本身带有白色背景的底框,和真实的面板不相符,因此本文选择了Label控件。
Label控件有几个重要的属性,分别是Font,ForeColor,Visible,BackColor和Text;Font用来设置文本的字体;ForeColor用来设置文本的颜色;Visible用来设置控件是否可见;Text用来设置文本的内容;BackColor用来设置背景色。
(3)1PPS指示灯用一个PictureBox控件实现,在指示灯亮灭状态用PictureBox控件调用代表灯亮灯灭的图片实现。
(4)功能按钮为获得较真实的效果,先获取Button按钮位置画圆域,然后针对按下弹起状态填充相应的图片实现。
(5)其余文字说明部分均采用Label控件。
1.2GPS模拟接收机人机界面功能的实现
GPS接收机人机界面的每一个功能都使用事件响应函数的形式实现。
在实现系统各功能的时候,基本上是采用由相应的控件和相应的事件处理函数完成,即发生一个事件,执行一个相应的函数。
2GPS定时校频接收机开发过程
本节给出在VC++6.0中GPS定时校频接收机模拟软件界面主要功能的实现。
2.1开关功能的实现
用全局变量kg控制开关开启和关闭,按下开关执行单击响应函数BN_CLICKED,执行kg++,初始化各变量,调用定时器SetTimer()在其响应函数OnTimer()中判断kg是奇数还是偶数,若为奇数则表示开关在开的状态,用PictureBox控件的关联变量m_pic1调用SetBitmap函数为开关调用开时的图片,用变量控制其他控件功能可以正常使用,若kg为偶数则表示开关在关的状态,用PictureBox控件的关联变量m_pic1调用SetBitmap函数为开关调用关时的图片,用变量控制其他控件功能不可以使用,其流程图如图1所示。
2.21PPS指示灯闪烁的实现
在开关处于关状态时,调用定时器SetTimer()在其响应函数OnTimer()中用PictureBox控件的关联变量m_pic调用SetBitmap函数为指示灯调用暗色的图片表示指示灯灭。
当开关处于关状态时,在OnTimer()函数中用变量a控制时间,在PLEASEWAIT字样消失前调用自定义函数pic()让PictureBox控件的关联变量m_pic1调用SetBitmap函数为指示灯调用亮色的图片表示指示灯亮,在PLEASEWAIT字样消失后用变量a控制闪烁时间,实现指示灯闪烁,其流程图如图2所示。
2.3LCD显示屏的实现
在Label控件属性页中设置其BackColor参数和BackStyle参数使其满足LCD显示屏的颜色要求,设置Font参数使其满足显示字体的要求,设置BorderStyle参数使其满足样式的要求。
用SetDlgItemText()语句实现文本显示,使其完成LCD显示屏的功能。
2.4主要功能键的实现
开关开状态下,在各按钮的单击响应函数BN_CLICKED中主要功能键的实现为:
(1)UT/BT键。
用变量b控制按键第几次按下,依次在LCD显示屏显示相应的时间。
其实现流程图如图3所示。
以下是实现“UT/BT键”功能的程序片段:
voidCTestDlg:
:
OnButton6()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
b++;b1=0;b2=0;b3=0;b4=0;b5=0;c=0;
if(a>0&&b==1)
{
SetTimer(0,1000,NULL);
//time_tnow=time(0);
//tm*localtm=localtime(&now);
//SetDlgItemText(IDC_LABEL24,asctime(localtm));
//当地时间
}
if(a>0&&b==2)
{
SetTimer(0,1000,NULL);
//time_tnow=time(0);
//tm*gmtm=gmtime(&now);
//if(gmtm!
=NULL)
//{
//SetDlgItemText(IDC_LABEL24,asctime(gmtm));
//}//世界时
}
if(a>0&&b>2)
{
b=1;
}
}
voidCTestDlg:
:
OnLButtonDown(UINTnFlags,CPointpoint)
{
//TODO:
Addyourmessagehandlercodehereand/orcalldefault
CFormView:
:
OnLButtonDown(nFlags,point);
}
voidCTestDlg:
:
OnLButtonUp(UINTnFlags,CPointpoint)
{
//TODO:
Addyourmessagehandlercodehereand/orcalldefault
CFormView:
:
OnLButtonUp(nFlags,point);
}
(2)时间/频差键。
用变量b5控制其显示,d1,d2,d3,d4用于控制显示校频时间处于哪一档时的时间频差信息,在定时器SetTimer()中调用各函数完成显示。
其流程图如图4所示。
图4时间频差键流程图
以下是实现“时间频差键”功能的程序片段:
voidCTestDlg:
:
OnButton5()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
b5++;b=0;b1=0;b2=0;b3=0;b4=0;c=0;
if(a>0&&b5==1)
{
SetTimer(0,1,NULL);
}
if(b5>1)
{b5=0;
b=2;
}}
3模拟结果
以下是部分运行结果:
按下显示/翻页键,LCD显示屏显示内容变为经度信息,格式为P1:
A120°13.548’E如图5所示,其中A代表有效/无效,120°13.548’E代表东/西经度。
与对实物的操作对比可以看出,软件运行时的文字、开关按钮、LCD显示屏显示、1PPS指示灯、各功能键按钮的位置与工作状态均一致,整个界面和功能一致。
GPS模拟软件运行结果显示,所有GPS模拟定时校频接收机软件前面板模拟结果都与被模拟界面的画面及功能一致,完成了GPS模拟接收机软件模拟。
4结语
本文介绍了用于教学的GPS接收机模拟软件开发。
软件采用VC++编程方法实现,每一个功能都由相应的控件和相应的事件处理函数完成,文中给出在VC++6.0中GPS定时校频接收机界面的搭建、各功能的实现以及一些技巧说明。
软件运行结果表明,所有的人机界面和操作与实物一致,完成了某型GPS接收机的模拟。
文中的软件开发方法可为其他教学模拟软件的开发提供参考。
参考文献
[1]KAPLANED,HEGARTYCJ.UnderstandingGPS:
Principlesandapplications[M].2nded.Norwood:
ArtechHouseInc.,2006.
[2]崔明,吴志勇.一种利用GPS驯服压控晶体振荡器的方法[J].仪器仪表学报,2011,32(6):
386?
389.
[3]顾清华,冯治东,井石滚,等.基于3PGS和GPS的露天矿出入车辆运输智能管控系统[J].计算机应用与软件,2015,32(6):
72?
75.
[4]惠晓威,刘彦每.基于GPS/GPRS的物流车载终端系统设计[J].计算机应用与软件,2015,32(6):
80?
82.
[5]党学会,郭炳辉,吕健.基于GPS的华北地区地壳水平形变特征研究[J].华北地震科学,2015,33
(1):
20?
24.
[6]孙兆祥,刘军,胡浩.基于GPS和GPRS的车辆监控终端系统的设计[J].湖北工程学院学报,2015(3):
32?
35.
[7]李宗义.基于油耗的公交车绿色车速引导策略[J].交通科学与工程,2015,31
(2):
68?
74.
[8]施建平,楼楠.日本全球定位系统永久性跟踪站网的现代化[J].全球定位系统,2015,40(3):
86?
93.
[9]LIUJun,YANGChao,WANGCong.PerceptualsystemofthedangerousgoodsintransitescortbasedonWSN[C]//The20104thInternationalConferenceonIntelligentInformationTechnologyApplication.Qinhuangdao,China:
IEEE,2010:
395?
397.
[10]马安鹏.VisualC++6程序设计导学[M].北京:
清华大学出版社,2002.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GPS 接收机 模拟 软件 开发