毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc

上传人:仙人指路1688 文档编号:3980723 上传时间:2023-03-30 格式:DOC 页数:46 大小:1.36MB
返回 下载 相关 举报
毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc_第1页
第1页 / 共46页
毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc_第2页
第2页 / 共46页
毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc_第3页
第3页 / 共46页
毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc_第4页
第4页 / 共46页
毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的智能公交系统部分节点功能的设计.doc(46页珍藏版)》请在三一办公上搜索。

1、目 录摘 要1ABSTRACT2第一章 概述31.1 引言31.2 现阶段我国城市公交问题31.3 目前应用于城市公交的技术手段41.3.1 射频识别技术41.3.2 射频识别技术的系统实现与应用51.3.3 射频识别技术存在的不足6第二章 技术需求72.1 嵌入式系统方面72.1.1 关于嵌入式系统72.1.2 嵌入式产品的一般构成和开发方法82.1.3 本课题需要的嵌入式部分92.2 关于通用计算机系统132.2.1 计时器(TIMER)132.2.2 串口通信(MSCOMM控件)132.2.3 数据库编程14第三章 系统总体设计173.1 公交站台模块173.2 出租车模块193.3 通

2、用计算机模块203.3.1 公交总站系统数据库223.3.2 公交系统的主要窗体模块23第四章 算法模型与改进244.1 问题重述244.2 模型假设244.3 符号说明254.4 问题分析264.5 模型建立与求解274.5.1 线性变换274.5.2 二次变换284.5.3 三次变换294.5.4 四次变换304.5.5 五次变换314.5.6 六次变换31第五章 系统的实现、代码分析与界面简介345.1 程序运行的主界面345.2 串行通信端口相关系数的设置345.3 创建年度数据库355.4 数据库显示界面365.5 添加公交车线路375.6 删除公交车线路385.7 添加公交站台38

3、5.8 编辑公交车站台385.9 删除公交车站台395.10 数学建模程序代码及说明39第六章 总结、展望与改进416.1 课题总结416.2 系统展望416.3 系统改进42参考文献43致 谢44摘 要随着Freescale公司将HC08、HCS08系列单片机的应用推向市场,开发出一个速度快、性能强、功耗小、价格低的应用平台变成了可能。本课题就是要设计一个应用于城市公交系统中,对于出租车与公交车的呼叫具有辅助功能的终端设备。在VC,VB等高级语言和单片机编程软件CodeWarrior IDE的支持下,一个出租车与公交车的呼叫系统的雏形呈现了出来。通过对AW60芯片的编程来实现I/O口,串行通

4、信接口(SCI),液晶显示器(LCD)显示,键盘输入等功能,进而与拥有高级语言支持的通用计算机交互,以达到在城市以及郊区实现简单、方便、快捷地调度到公交车和出租车的目的。而其采用的类似实名制的方式又很好的解决了可能存在的乱刷卡、恶作剧等现象。通过数学建模的方法对已有的数据进行分析,并对未来的呼车数量进行预测,使得公共交通的智能性达到了前所未有的高度,因而,其实用性也将具有相当广阔的前景。本系统采用的是HCS08系列单片机AW60,由于其市场份额占有率较大,因而具有一定的通用性和扩展性,同时价格低廉、功能强大,可以在大多数城市的公交调度系统中使用。关键词: AW60单片机、串行通信接口SCI、通

5、用计算机、数学建模作 者:指导老师:AbstractWith the application of HC08、HCS08 MCU was pushed into the market by Freescale Corporation, it is becoming possible to develop a kind of application platforms with the features of rapid speed、strong function、low power and low price. The purpose of this task is to design a t

6、erminal device which applys to public transit system and with the accessibility for the calling of the taxi and bus.Now , an embryo of the taxi and bus calling system is appearing with the support of high level programming languages such as VC、VB and the MCU programming software CodeWarrior IDE. It

7、realizes the I/O, SCI, LCD and Keyboard input functions through the programming for the chip-AW60. Proceed to the next step ,it interacts with general purpose computer which supported by high level programming language and meets the purpose that the taxi and bus can be dispatched simply、conveniently

8、 and rapidly both in the city and in the remote areas. Besides, the method which looks like the real name system can solve the problems like repeating swiping card and playing a trick very well. We can analyse the data by the method of mathematical modeling and predicted the number of calling the ta

9、xi and bus which is needed in the future, this makes the intellectuality of the public transit system comes to the altitude which never happened before. Therefore, the practicability of the terminal device will be very vast.This system uses HCS08 series MCU and it has a very big market share, so it

10、has certain generality and expansion. At the same time, it also has low price and strong function, so it can be used into the vehicle scheduling system by the most cities.Key words: AW60 MCU, SCI, Computer , Mathematical modelingWritten by Guangshan DuanSupervised by Lin Wang第一章 概述1.1 引言能源是人类社会赖以存在的

11、物质条件之一,是经济发展和社会进步的重要资源,但是现在的能源结构中大部分都是不可再生资源,能源的利用一直是一个世界性的问题1-5。自2001年以来,国民经济进入了一个新的发展阶段,固定资产投资迅速增加,重工业比重增大,钢铁、建材、电解铝等一些高能耗产业迅速扩张,由此导致了能源消费量的急剧增加,甚至超过了经济增长速度。2002-2007年我国GDP增长速度分别为7.5%、8.3%、9.5%、9.5%、10.7%和11.4%,同期一次能源消费量的增长速度分别为9.9%、15.3%、16.1%、10.6%、9.6%和7.8%。2007年,我国的能源消耗总量是1863.5百万吨石油当量,是日本(517

12、.4)的三倍,德国(311)的六倍,其中,石油消耗368百万吨,是日本的1.5倍,是德国的3倍;天然气消耗60.6百万吨石油当量基本与日本德国持平;煤炭消耗1311.4百万吨石油当量,是日本的10.5倍,德国的15.2倍。如果今后我国能源消耗继续保持着高速的增长、过低的利用效率的发展趋势,那么能源资源的供给条件难以支撑,经济增长的目标难以实现,社会也难以承受。如不改变我国现在的能源消费现状,必然会引发各种问题。1.2 现阶段我国城市公交问题针对上面的情况,建设部城市建设司司长李东序在接受记者采访时曾说,中国将优先发展城市公共交通,以减缓城市能源消费增长6。近年来,我国城市公共交通有了较快发展,

13、但随着经济社会发展和城镇化进程的加快,一些城市交通拥堵、居民出行不便等问题日益突出。随着城市机动化进程的加快,城市交通结构出现了向个体小汽车为主转化的趋势,城市公共交通服务水平随之明显下降。目前中国公交出行的分担率平均不足10%,特大城市也仅有20%左右。公交车速越来越低,现在平均车速只有10公里/小时,已低于自行车的12公里/小时和小汽车的20公里/小时。随着中国加入WTO,私家车的数量也是达到了与日俱增的程度。私家车的猛增使得我国原本就迫在眉睫的能源问题,更加雪上加霜。而且,私家车的猛增还给我国带来更多的问题。比如说,汽车的尾气排放问题。尾气排放使得城市空气变得污浊起来,各种疾病随之而来;

14、再比如说,交通事故问题。私家车数量的迅猛增长,使得交通事故频发。统计数据显示,在2009年山东省8月份发生的11起重特大道路交通事故中,涉及到私家车的事故就有7起7。究其原因我们可以发现,私家车的出现主要是希望出行可以更加的方便。因此,我们若能够使得人们的出现更加的方便、快捷,那么私家车的数量很有可能得到一定的控制。人们出行要使用交通工具,而现阶段人均能源消耗最低的交通工具无疑是城市公交。因此改善城市公交理所应当的成为解决上述问题的一个关键点。1.3 目前应用于城市公交的技术手段在现阶段为了改善城市公交,提出了智能公交的概念。而采取的技术主要是射频识别技术8-11。1.3.1 射频识别技术目前

15、,信息化在国内外经济、政治、文化等各个领域受到的重视和推广说明信息科学技术在各个行业扮演了非常重要的角色。信息科学技术的革命为建立城市公共交通智能化和网络化管理体系的建设提供了基础技术和必备的先决条件,射频识别技术(Radio Frequency Identification,缩写简称为RFID)已被广泛应用于具有“点式定位”特点的交通运输、物流等行业,射频识别技术在公交站场智能化管理方面也可扮演重要的角色。射频识别技术的构成、工作原理及优势(一)构成及工作原理射频识别技术是通过射频信号自动识别目标对象并获取相关数据,由射频、读卡器和信号发射天线三个基本部分组成。其工作原理是:当射频卡进入收发

16、天线区域后,发出的加密载波信号被天线接收,经RFID射频读卡器装置接收处理后,向通信模块发送获取的卡信息。(二)射频识别频率RFID发送的频率称为RFID系统的工作频率或载波频率,原本有四个范围:低频(30300kHz)、高频(330MHz)、超高频(3002.45GHz)和微波系统(2.455.8GHz)。目前市场上常用的载波频率有低频125kHz与133kHz,高频13.56MHz、超高频902928MHz和微波2.45GHz与5.8GHz等。后面系统实现主要是采用2.45GHz2.483GHz频段。(三)射频识别技术具备的优势射频识别技术目前的发展已经比较成熟,应用推广的领域也逐渐增多,

17、应用在公交站场对车辆管理方面,具有其它识别或定位系统所具备的优势,主要体现在以下几点:1全双工稳定、可靠的无线数据通信误码率几乎为零。2载波信号穿透力和绕射力极强,标签可固定安装在车辆的任何物体的表面,包括金属、非金属、玻璃的表面等。3射频卡读写区域无方向性,接收和发射天线无需对准被读取的射频卡。4具有信息防冲撞功能,可同时识别多辆并排、串道等按规定行走的车载卡,无论车道上前后左右的车辆大小、高低、彼此遮挡,各均能可靠识别,单套设备可同时读取10个车道通行的载射频卡信息。5射频卡超低能耗设计,高能锂电可反复、连续读写高达700万次。6射频卡具有低压检测及低压信号报送后台计算机的管理功能。7射频

18、卡的感应范围(可达300米左右)和通过速度(可达120kMh)可根据管理需要进行灵活调整,而无需增加设备投资或对设备作大的改动。8射频卡的正常工作不受任何天气变化的影响,适应风沙、雨雪、粉尘、盐雾、灰尘、油污、加油站、加气站等防爆和非防爆的环境。射频识别技术在公交站场车辆管理中的应用射频识别技术这种基于“点式定位”的系统可广泛应用于公交站场营运公交车辆进场、出场、落客、候车、加油、加气、洗车、检修、自动抄号识别及电子站牌等方面的管理,实现公交车辆管理的无人值守,有利于协助公交车辆运营体系达到信息通透,将更好地实现“有效监管”和“高效服务”的统一。在公交站场实时采集通过车辆所携带的射频卡信息,并

19、与公交站场的地址信息、运营单位信息、车牌信息、车辆到达公交站场的时间信息捆绑在一起,有效对通行车辆进行远程自动抄号和联网监管,将实时采集到的数据通过GPRS线网络,实现公交站场与监管中心之间电予数据实时交互,使到达公交站场的车辆信息与监管方对车辆信息的管理实现精确同步,进而提高对公交车辆运营管理的自动化水平。在此之前,我国人口密集、交通比较拥堵的北京、上海、广州、武汉等城市都在公交站场建设中尝试采用了RFID技术。1.3.2 射频识别技术的系统实现与应用主要分车载卡射频卡、近端信息采集传输设备、远端数据库服务器、后台数据分析管理发布服务器和应用客户端五个主要部分组成。与目前采用最多的GPS卫星

20、定位公交智能交通技术相比,RFID技术具有其独到之处。GPS卫星定位虽然可以识别车辆,例如广州市在这方面也进行了很长时间的试点运行,但仍然存在较多问题,主要是GPS车载设备在一些有顶棚或者有遮掩体的公交站场信号不稳定、设备价格昂贵等。而在公交站场采用RFID技术,就可以解决这些问题的困扰。GPS的应用需要结合GIS地理信息系统才能发挥较大的效用,但GIS的开发增加了应用的成本,而RFID技术不需要复杂的GIS系统配合。RFID与GPS相比的缺点在于灵活性方面但RFID目前的技术完全能够满足公交车辆在固定公交站场进出营运的特点及行业需求。在公交站场内公交营运路线固定、实现同样功能的前提下,在公交

21、站场车辆管理中采用射频识别技术,成本将远远小于采用GPS技术。1.3.3 射频识别技术存在的不足射频识别技术(RFID)与GPS相比有了很大的改善,而且在现实生活中也得到了出色的应用。但是,在智能化公交系统方面,我们感觉到RFID的智能化程度还未达到理想的要求。公共交通系统(简称公交系统),顾名思义就是广大人民群众与公共交通工具之间所组成的一个集合。公共交通工具是为了服务群众而存在的,要使其具有智能的特性,也就是要让公共交通工具能够更好的满足群众的需求。一种理想的情况就是,当一个站台有乘客需要公共交通工具时,该交通工具能够立刻出现,以满足乘客的需求。在这种理想的情况中,包含了一个非常重要的思想

22、,那就是乘客的需求问题。无论是RFID,还是GPS,他们都没有体现这个思想。也就是说,他们都没有将乘客的需求考虑进去,没有和乘客之间进行沟通与交流。进而,他们的智能化水平也就有很大的提升空间。针对上述的不足之处,本课题提出了“智能公交系统部分节点的功能设计”的问题。主要方面就是要填补公交系统在智能化的过程中,出现的乘客与公交工具之间建立联系的空白。该节点的设计思想主要是,乘客通过在站台上刷卡(比如,身份证)并配以相应的操作,可以选择是呼叫出租车或者是呼叫公交车。在呼叫公交车的情况下,还可以选择具体的公交线路。这些信息可以通过异步串行通信口传送给公交总站,公交总站在针对具体的需求做出回应,以及时

23、的满足乘客的需求。随着USB接口的普及,串行口的地位逐渐变低。但是,作为设备间的一种简便的通信方式,在相当长的时间内,串行口还不会消失。因为简单且常用的串行通信只需要3根线(发送线、接收线和地线),在拥有庞大数量的公交站台上安装智能公交节点,成本也会大大降低12。公交系统将乘客的需求考虑进去以后,就可以更好的满足乘客的需要。这样的话,私家车的数量就可以得到有效的控制,伴随私家车的问题也就可以得到缓解和改善。在交通方面的能源需求也会相应的减少,能源城市交通利用率将得到提高。人们对政府的满意度也会上升,整个社会的氛围会更加的和谐,呈现出一派繁荣发展,但又井然有序的景象。第二章 技术需求智能公交系统

24、部分节点的设计主要涉及两个方面的内容,一个是位于城市公交站台以及出租车上的嵌入式系统方面;另一个是位于城市公交总站,用于调度出租车和公交车的通用计算机系统方面。2.1 嵌入式系统方面2.1.1 关于嵌入式系统嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:(1)对实时多任务有很强的支持能力,能完成多任务并且

25、有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。(3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。(4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至W级。图2-1 一个典型的MCU内部框图2.1.2 嵌入式产品的一般构成和开发方法1 嵌入式产品的一般构成一个以MCU为核心的比较复杂嵌入式产

26、品或实际嵌入式应用系统,包含模拟量的输入、模拟量的输出,开关量的输入、开关量的输出及数据通信的部分。嵌入式应用系统框图如图2-2所示。图2-2 一个典型的嵌入式应用系统框图2 嵌入式的优点嵌入式计算机系统同通用型计算机系统相比具有以下特点:(1)嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密;(2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个

27、行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统;(3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力;(4)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期;(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中;(6)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功

28、能进行修改的,必须有一套开发工具和环境才能进行开发。2.1.3 本课题需要的嵌入式部分在本课题中,本人采用的MCU是由Freescale半导体公司最新推出的MCS9S08AW60系列单片机。涉及到的具体部件有通用I/O接口、串行通信接口(SCI)、液晶显示器(LCD)、键盘以及键盘中断。1 通用I/O所谓通用I/O,即基本的输入/输出,有时也称为并行I/O。作为普通输入引脚,MCU内部程序可以读取该引脚,知道该引脚是“1”(高电平)或“0”(低电平),即开关量输入。作为普通输出引脚,MCU内部程序向该引脚输出“1”(高电平)或“0”(低电平),即开关量输出。MCS9S08AW60单片机有5个普

29、通I/O口,分别是A口、B口、C口、D口、E口。它们中的大部分具有双功能,本课题仅讨论它们作为普通I/O功能时的编程方法。2 串行通信接口SCI 1异步串行通信的格式SCI通常采用NRZ数据格式,即:standard non-return-zero mark/space data format,译为:“标准不归零传号/空号数据格式”。“不归零”的最初含义是:用正、负电平表示二进制值,不使用零电平。“mark/space”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。图2-3给出了 8位数据、无校验情况的传送格式。图2-3 SCI数据格式2串行通信的波特率波特率(baud

30、 rate):每秒内传送的位数。波特率单位是位/秒,记为bps。通常情况下,波特率的单位可以省略。通常使用的波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400、56000、128000。3 RS-232C总线标准MCU引脚一般输入/输出使用TTL电平,而TTL电平的“1”和“0”的特征电压分别为2.4V和0.4V,适用于板内数据传输。为了使信号传输得更远,美国电子工业协会EIA(Electronic Industry Association)制订了串行物理接口标准RS-232C。RS-232C采用负逻辑,-3V-15V为逻辑“1”,+3V+

31、15V为逻辑“0”。RS-232C最大的传输距离是30m,通信速率一般低于20Kbps。RS-232接口,简称“串口”,它主要用于连接具有同样接口的设备。目前几乎所有计算机上的串行口都是9芯接口。相应引脚含义如表2-1所示。表2-1 9芯串行接口引脚含义引脚号功能引脚号功能1接收线信号检测(载波检测DCD)6数据通信设备准备就绪(DSR)2接收数据线(RXD)7请求发送(RTS)3发送数据线(TXD)8清除发送4数据终端准备就绪(DTR)9振铃指示5信号地(SG)4 SCI的外围硬件电路与基本编程模型SCI的外围硬件电路:(1)电源供给与滤波;(2)晶振电路;(3)复位电路;(4)SCI电平转

32、换电路。SCI的基本编程模型如2-4图所示。图2-4 SCI编程模型3 液晶显示器LCD1点阵字符型LCD的接口特性(1)液晶显示屏是以若干57或511点阵块组成的显示字符群;(2)主控制电路为HD44780(HITACHI)及其它公司的兼容电路;(3)内部具有字符发生器ROM;(4)具有64字节的自定义字符RAM;(5)具有64字节的数据显示RAM;(6)标准接口特性,与H68HC08系列MCU容易接口;(7)模块结构紧凑、轻巧、装配容易;(8)单+5V电源供电(宽温型需要加-7V驱动电源);(9)低功耗、高可靠性。2 HD44780芯片编程结构及指令集1HD44780的编程结构从编程角度看

33、,HD44780内部主要由指令寄存器(IR)、数据寄存器(DR)、忙标志(BF)、地址计数器(AC)、显示数据寄存器(DD RAM)、字符发生器ROM(CG ROM)、字符发生器RAM(CG RAM)及时序发生电路构成。2HD44780的指令集(1)清屏(Clear Display)(2)归位(Return Home)(3)输入方式设置(Entry Mode Set)(4)显示开关控制(Display ON/OFF Control)(5)光标或画面移位(Cursor or Display Shift)(6)功能设置(Function Set)(7)CG RAM地址设置(CG RAM Addre

34、ss Set)(8)DD RAM地址设置(DD RAM Address Set)(9)读忙标志BF和AC值(Read Busy Flag and Address Count) (10)写数据到DDRAM或CGRAM(Write Data to DDRAM or CG RAM) (11)读DDRAM或CGRAM数据(Read Data from DDRAM or CGRAM) 4 键盘中断模块1键的识别如何知道键盘上哪个键被按下就是键盘识别问题。键盘识别主要有行扫描法与行反转法。2抖动问题当按下一个键时,会出现所按的键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况,当释放一个按键时也会出现

35、类似的情况,这就是抖动问题。解决抖动的方法通常是延迟等待抖动的消失或多次识别判定。3重键问题有两个或两个以上按键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有连锁法与巡回法。 4HC08单片机的键盘中断模块(1)键盘状态和控制寄存器(Keyboard Status and Control Register,INTKBSCR)INTKBSCR包含了键盘中断请求标志、屏蔽键盘中断请求、定义键盘中断的触发方式、清除键盘中断标志等功能。其地址是$001A(2)键盘中断允许寄存器(Keyboard Interrupt Enable Register,INTBIER)INTBIER的各位决定所对

36、应的引脚是否允许中断进入。地址为:$001B。 (3)D7D0,分别记为KBIE7KBIE0,可读写。若KBIEx=1,表示相应引脚KBIEx pin(也就是引脚PTAx pin)被定义为中断引入引脚,反之则不能作为中断输入引脚。复位时,全为0。5按键识别与键盘定义图2-8 44键盘与单片机的接法按上图的接法可以得出键值表,如下图。键值可以通过扫描法获得,由键值通过查表法编程得到定义值。图2-9 键盘定义2.2 关于通用计算机系统在通用计算机系统中,采用的主要工具是Visual Basic 6.013,14,15,在本课题“智能公交系统部分节点的功能设计”中,用到的VB方面的知识不仅仅有窗体(

37、Form)、模块(Module)、Sub过程、Function函数、命令按钮(CommandButton)、框架(Frame)、标签(Label)、文本框(TextBox)、消息框(MsgBox)、输入框(InputBox)等内容,还有计时器(Timer)、串口通信(MSComm)以及和数据库编程联系在一起的SQL语言、数据控件(Data控件和ADO控件)、网格控件(DataGrid控件)等等。针对上面的知识,由于有些比较简单在此不做介绍,下面介绍一些不是常用但是在本课题中又起到或是担任了重要角色的一些控件。2.2.1 计时器(Timer)计时器(Timer)控件可以每隔一个时间间隔(Inte

38、rval)触发一个计时器事件(Timer)。计时器控件在设计时显示该图标,在运行时它是不可见的。所谓时间间隔,指的是各个计时器事件之间的时间,一般以毫秒(ms)为基本单位。因为计时器在1秒钟内最多产生18个事件,所以两个事件之间的时间间隔精确到1/18秒。2.2.2 串口通信(MSComm控件)MSComm控件全称为Microsoft Communications Control,是Microsoft公司提供ActiveX控件,目的是为了简化Windows下串行通信编程,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的事件驱动的高级通信工具。MSComm控件处理通信的方式MSC

39、omm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供下列两种处理通信的方式。1 事件驱动方式事件驱动通信时处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,OnComm事件还可以检查和处理通信错误。在程序设计中,可以在OnComm事件处理函数中加入自己的处理代码,一旦事件发生即可以自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。2 查询方式在程序的每个关键功能完成之后,可以通过检查CommEvent属性的值

40、来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为惟一等待接收的字符时调制解调器的“OK”响应。MSComm控件的事件根据应用程序的用途和功能,在连接到其他设备过程中,以及接收或发送数据过程中,可能需要监视并响应一些事件和错误。可以使用OnComm事件和CommEvent属性捕捉并检查通信事件和错误的值。CommEvent属性返回最近的通信事件或错误,该属性在设计时无效,在运行时为只读。在发生通信事件或错误时,将触发OnComm事件,CommEvent属性的值将被改变。因此,在发生OnComm

41、事件的时候,如果有必要,可以检查CommEvent属性的值。捕捉这些事件和错误将有助于使应用程序对这些情况做出相应的反应。MSComm控件通信步骤通常以下面的步骤来使用Visual Basic的MSComm控件作通信控制。(1)加入通信部件,也就是MSComm对象。(2)设置通信端口号码,即CommPort属性。(3)设置通信协议,即HandShanking属性。(4)设置传输速度等参数,即Settings属性。(5)设置其他参数,若必要时再加上其他的属性设置。(6)打开通信端口,即PortOpen属性设成True。(7)送出字符串或读入字符串,使用Input及Output属性。(8)使用完M

42、SComm通信对象后,将通信端口关闭,即PortOpen属性设成False。2.2.3 数据库编程数据库作为企业、组织或部门所有的数据的集合,它不仅要反映数据本身的内容,而且要反映数据与数据之间的联系。由于计算机不能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据,并以某种方式进行组织和管理。Visual Basic所支持的不同类型的数据库(如Access、SQL Server、Oracle、MySQL等)可以通过相关的数据库管理系统来建立,也可以使用Visual Basic的可视化数据管理器来建立和管理数据库。在本课题中使用的是可视化的数据管理器建立了一个A

43、ccess数据库。在对数据库的操作方面采用了Data控件、ADO控件以及DataGrid控件。Data控件Data控件提供了一种方便地访问数据库中数据的方法,使用Data控件无须编写代码就可以对Visual Basic所支持的各种类型的数据库执行大部分数据访问操作。数据库记录的增、删、改操作需要使用AddNew、Delete、Edit方法。它们的语法格式为:Data控件.记录集.方法名1 增加记录AddNew方法在记录集中增加新记录。增加记录的步骤为:(1)调用AddNew方法。(2)给各字段赋值。给字段赋值格式为:RecordSet.Field(“字段名”)=值。(3)调用Update方法,

44、确定所做的添加,将缓冲区内的数据写入数据库。2 删除记录Delete方法从记录集中删除记录。其操作步骤为:(1)定位被删除的记录使之成为当前记录。(2)调用Delete方法。(3)移动记录指针。3 编辑记录使用程序代码修改当前记录的步骤为:(1)调用Edit方法。(2)给各字段赋值。(3)调用Update方法,确定所做的修改。4 Move方法使用Move方法可代替对数据控件对象的4个箭头按钮的操作遍历整个记录集。5种Move方法分别是:MoveFirst方法:移至第1条记录。MoveLast方法:移至最后一条记录。MoveNext方法:移至下一条记录。MovePrevious方法:移至上一条记

45、录。Moven方法:向前或向后移n条记录,n为指定的数值。5 Seek方法使用Seek方法必须打开表的索引,它在Table表中查找与指定索引规则相符的第1条记录,并使之成为当前记录。ADO控件ADO是微软推出的目前最为成熟的数据库开发技术,它是对ADO对象的封装,具有良好的扩展性。ADO控件与Visual Basic的内部Data控件很相似,它允许使用ADO控件的基本属性快速地创建于数据库的连接。1 ADO控件的属性1.1 ConnectingString属性ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接

46、的相关信息。1.2 RecordSource属性RecordSource确定具体可访问的数据,这些数据构成记录集对象RecordSet。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用SQL查询语言的一个查询字符串。DataGrid控件DataGrid控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示RecordSet对象的记录和字段。DataGrid控件有如下特点:可以使用DataGrid来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。可以在设计时快速进行配置,只需少量代码或无需代码。当在设计时设置了DataGrid控件的DataSource属性后,就会

47、用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。在运行时,可以在程序中切换DataSource来查看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集。第三章 系统总体设计在拥有了第二章介绍的技术储备的基础上,基本上可以进行本课题系统的设计了。下面详细的介绍关于“智能公交系统的部分节点功能的设计”。为了给读者一个直观的印象,使读者能够从整体上把握住系统的总体框架。现将整个系统的总体框图呈现给读者,希望对读者有所帮助。图3-1 系统的总体框图现在对图3-1进行详细的说明:1. 乘客在公交站台处,通过设立在那里的公交节点进行刷卡。刷卡后公交站台将数据发送给通用计算机,也就是公交总站。公交总站对接收到的数据进行进一步的处理。2. 通用计算机接收到公交站台发送来的数据后,首先判断刷卡用户呼叫的是出租车还是公交车,如

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号