基于单片机的打车系统设计和实现计算机专业

上传人:文*** 文档编号:63382342 上传时间:2022-03-18 格式:DOCX 页数:54 大小:588.66KB
收藏 版权申诉 举报 下载
基于单片机的打车系统设计和实现计算机专业_第1页
第1页 / 共54页
基于单片机的打车系统设计和实现计算机专业_第2页
第2页 / 共54页
基于单片机的打车系统设计和实现计算机专业_第3页
第3页 / 共54页
资源描述:

《基于单片机的打车系统设计和实现计算机专业》由会员分享,可在线阅读,更多相关《基于单片机的打车系统设计和实现计算机专业(54页珍藏版)》请在装配图网上搜索。

1、摘 要随着社会经济的发展,交通运输越来越发达,汽车行业空前发展,人们出行也越来越多,出行方式由之前的步行、自行车改为出租车,因此加快了出租车行业的发展。城市出租车行业的发展,势必方便人们的出行,增强城市的建设。如何计算顾客乘坐出租车里程费用,需要一款智能的打车计费系统,实现智能化,简洁化,准确化的计算乘客打车金额,因此出租车计价器将具有广阔的市场价值。本设计是一款基于单片机的打开计费系统,主要采用单片机结合外围电路模块来实现计费功能。本系统功能强大,有两种计费方法,分为白天和夜晚两种模式,夜晚价格相对较高。同时支持按时间和里程收费,收费方式灵活。同时采用电机来模拟出租车是否载有乘客。当没乘客乘

2、坐时,液晶屏显示时间和日历,电机不工作。当有乘客乘坐后,液晶界面转到计费界面,电机工作,模拟汽车正常行驶。本系统通过按键来设置各个计费价格,包括起步价,超过起步价后每公里价格,以及白天和夜晚价格,且具有掉电保存功能。计价器关系到乘客的经济利益,在实际生活中很有必要,因此本设计的研究价值很高。关键词:计价器;时钟;单片机IIAbstractWith the development of social economy, transportation is more and more developed, unprecedented development of automobile industr

3、y, people travel more and more, the way of travel from the previous walk, bicycle to taxi, so the development of the taxi industry. The development of urban taxi industry is bound to facilitate peoples travel and enhance the construction of the city. How to calculate the cost of customers taxi milea

4、ge requires an intelligent taxi billing system, which can realize the intelligent, concise and accurate calculation of passengers taxi amount. Therefore, the taxi meter will have broad market value.This design is based on a single chip open billing system, the main use of single chip combined with t

5、he peripheral circuit module to achieve billing function. This system has powerful functions and two billing methods, which are divided into day and night modes, and the night price is relatively high. At the same time support by time and mileage charges, charges flexible. Electric motors are also u

6、sed to simulate whether a taxi is carrying passengers or not. When there are no passengers, the LCD screen displays the time and calendar, and the motor does not work. When passengers are on board, the LCD interface turns to the billing interface, and the motor works to simulate the normal running o

7、f the car. The system can set each billing price by pressing the button, including the starting price, the price per kilometer after exceeding the starting price, and the day and night price, and has the function of power off and saving. The meter relates to the economic interests of passengers, whi

8、ch is necessary in real life, so the research value of this design is very high.Key words: meter;clock;SCM目 录第1章绪论11.1选题概述11.2单片机概述1第2章实施方案设计32.1设计任务要求32.1.1设计任务32.1.2 设计要求32.2设计的主要功能32.3方案的确定42.3.1单片机的选择42.3.2 计时模块的选择52.3.3 显示模块的选择52.3.4 最终方案的确定5第3章硬件电路设计73.1STC89C52单片机73.1.1主要特性83.1.2引脚功能83.1.3串口通

9、信93.1.4STC89C52单片机最小系统103.2时钟模块123.2.1DS1302性能简介123.2.2DS1302接口电路设计123.3按键控制模块143.4 LCD1602显示电路153.4.1LCD1602主要技术参数163.4.2引脚功能说明163.5AT24C02存储模块173.6电机驱动模块18第4章软件设计204.1系统流程图204.2编程软件Keil C5121第5章总结与展望23参考文献24附 录25IV第1章 绪 论1.1 选题概述我国的出租车发展很晚,主要还是因为科技技术的限制,但随着社会的发展,我们对科技的需求只能依靠进口,大多数出租车的计费系统都是采用国外进口,

10、因此付出了非常大的价格。市场需求的增加以及科技水平的进步,国内开始自主开发计价器。开始时功能简单,依靠机械仪表实现里程的计量,计费不够准备。由于涉及到乘客的经济价值,因此经常司机和乘客产生矛盾的现象。后来,计价器高速发展,实现智能化加价,不但可以自主计费,还可以进行语音播报收费时间历程和价格,同时可以结合时间来进行任意切换。随着人们生活水平的提高,出行数量逐渐增加,每年的旅游季节,出行人数更是逐年翻倍,因此出租车行业也在迅猛发展,计费系统为出租车行业做出了巨大的贡献。1.2 单片机概述从应用层面上来分析,对单片机的研究应当着重把握“单片”以及“规模”这两个显著特征。前者强调的是单片机设计的组成

11、架构,也就是不仅仅涵盖电阻原件、必要的按键单元、电容原件等,其余的逻辑电路也应当囊括在单片机板上1。从设计的优势上来看,此类设计方法一方面能够减少开发资金投入,降低材料的使用量,另一方面还可以压缩硬件单元的体积,同时增强运行过程的有效性与稳定性等。所以说由NEC主导研发的四位单片机以及摩托罗拉所研制的八位单片机在该方面发挥了较大优势,但是也应当结合实际需要选取是否集成外部存储单元以及数据I/O接口。就现阶段国内的单片机应用来看,收到单片机硬件开发技术以及开发成本的制约,在开发集成化方面还有较大欠缺,因此大部分单片机产品都集成了外部存储功能单元以及数据传输接口,甚至还会把STD总线进行了功能集成

12、,这也在一定层面上忽视单片机的表现特征。世界单片机年产量7亿片左右,年销售额达30亿美元2。4位单片机以其价格低廉、应用早、范围广等特点广泛应用于加点产品中。从全球市场上来看,占据主要市场的仍旧是八位单片机,其中所包含的产品有Intel8048等等,该系列产品应用于电器生产领域、工业智能控制领域等等。随着集成电路工艺的完善和提高,单片机和ASIC以及RISC技术有了较为广泛的结合,同时这也是单片机在随后十几年的成长趋势3。第2章 实施方案设计本次设计是基于单片机的出租车计价器设计,充分发挥了单片机多样化数据交互端口的优势,并且保证了端口使用的灵活性与可靠性,确保计价器时钟显示以及价格调节等基础

13、功能的实现。具有性能可靠,电路简单、成本低、扩展空间大等特点4。2.1 设计任务要求2.1.1 设计任务本系统需要设计一款计费系统,能够针对汽车行驶里程进行计费,且单价可以设定,同时含有多种模式,分为白天和夜晚计费,里程和时间计费,设定的单价需要掉电保存,不需要系统重启后再次设定5。2.1.2 设计要求(1)当没有乘客乘坐时,液晶屏能够显示当前日历和时间,界面简洁清晰。(2)液晶显示器实时显示汽车行驶的公里数,并且能够显示到十分之一位。(3)乘客乘车的时间点必须显示,收费模式可选,乘客可以根据自己情况选择计费模式,如果路程近,可以选择里程计费,如果路程远,且道路交通顺畅,可以选择时间收费。(4

14、)液晶屏实时显示当前乘客消费金额,精确到价格金额的角。(5)系统默认起步按3公里计算,如果与当地城市最低里程有冲突,可以通过按键设定,超过最低里程后,每公里单价同样可以设定。(6)按清零键,计价器可清除计价。(7)由于白天和夜晚实际价格不同,所以可以通过按键设定模式,计费分开。(8)整个系统的价格设定,必须具有掉电保存功能。2.2 设计的主要功能 本设计是一款基于单片机的打开计费系统,主要采用单片机结合外围电路模块来实现计费功能6。本系统功能强大,有两种计费方法,分为白天和夜晚两种模式,夜晚价格相对较高。同时支持按时间和里程收费,收费方式灵活。同时采用电机来模拟出租车是否载有乘客。当没乘客乘坐

15、时,液晶屏显示时间和日历,电机不工作。当有乘客乘坐后,液晶界面转到计费界面,电机工作,模拟汽车正常行驶。本系统通过按键来设置各个计费价格,包括起步价,超过起步价后每公里价格,以及白天和夜晚价格,且具有掉电保存功能。2.3 方案的确定早期的计费系统通常采用数字技术设计,采用时钟振荡器提供振荡信号,界面的显示采用数码管显示,显示内容少,界面不美观。本系统通过单片机来设计,可以采用软件编程控制外围器件,设计简单,且功能强大,按键中断用来设定时间和价格设定,时钟芯片提供时间,存储芯片用来保存时间和设定的价格7。采用LCD1602液晶屏显示收费界面,美观且显示内容多。系统分为硬件和软件,硬件由单片机最小

16、系统和外围电路构成,通过Altium Designer软件来设计原理图,通过万用板,将各元器件按照原理图中电路连接进行焊接8。软件采用Keil进行设计,根据硬件功能要求,编程对应的函数模块,经程序编译完成之后烧录至芯片当中。2.3.1 单片机的选择方案1:使用51单片机作为主控模块51单片机具备较强的计算能力,对应的程序编写较为便捷,可以根据实际的使用情况对程序代码进行快速调试,对程序的兼容性强。不仅如此,单片机占据的空间体积小,运行阶段耗能低,工作稳定可靠,能在较多领域发挥关键性作用。方案2:使用凌阳单片机作为主控模块该系列单片机可以在较短的时间内完成各类复杂运算,并且单片机模块集成数量多。

17、凌阳系列单片机的集成化程度高,整体的体积有所降低,数据处理与运行可靠性强。主要面向的是大规模数据处理与运算对象。根据上述的对比并综合本次设计的要求,本课题选用的是51单片机,资金成本投入小并且功能较为强大,符合经济性原则、实用性原则。2.3.2 计时模块的选择方案1:采用DS1302为计时时钟芯片该芯片是串行电路,与单片机接口简单,程序设计要求低,而且价格低廉。但需另备电池和32.768kHz晶振,因焊接工艺和晶振质量等原因会导致精度降低。方案2:采用DS12C887为计时时钟芯片该芯片功能强大,自身配置晶振和电池,整个芯片集成度高,能够起到抗干扰的作用,且精度高,但跟单片机通信需要8位数据线

18、,占用单片机太多IO口,降低了单片机的资源,同时价格比DS1302高。综合考虑,本设计价格成本低,而且精度要求低,所以时钟芯片使用的是DS1302。2.3.3 显示模块的选择方案1:使用LED数码管从经济性层面上看,数码管成本较低,符合经济性原则,从控制方式分析,数码管的调整方式便捷,操作简单。但是显著的缺点就是显示内容与数据表现形式十分单一。方案2:使用液晶字符显示典型的显示模块是LCD1602,该原件能够有效显示32个字符,并且界面较为美观,唯一缺点跟单片机连接需要8位,占用一定的单片机IO口资源。价格较数码管稍贵一些。综合考虑,因为单片机的IO口有限,无法提供太多的IO口,且数码管需要占

19、用过多的IO口,本设计选择液晶屏LCD1602来作为显示界面。2.3.4 最终方案的确定综合上述的对比与本次设计所要实现的设计要求,将各个模块的方案选定如下:(1)系统主控选取单片机;(2)时钟模块选定为;(3)数据内容显示模块使用的是。第3章 硬件电路设计图3.1是本次设计单片机系统的框架,其中主控模块是单片机,外围器件包括复位电路和时钟电路,构成单片机最小系统9。LCD液晶用来显示时间和价格信息,电机用来模拟出租车行驶状态。系统中添加的按键功能单元能够用来完成单价以及时间的配置,集成的存储模块可以对数据进行有效存储10。系统整体框架如下图3.1:图3.1 系统的总体框图3.1 STC89C

20、52单片机该系统主要是借助于单片机实现各类模块的有效控制,所以选取单片机作为主控单元,是由于单片机的控制功能特别强大,我们可以通过使用软件对它进行编程就可以对其随意进行操控,提起软件编程,单片机的软件操作相比较来说更简单,并不需要我们对软件的技能特别熟悉,因此该系统对于初学者较为友好,使用的门槛低,只需要对于C语言的结构与编写方法有初步认识即可,基于C语言完成信号的控制调节,只使用简易的逻辑关系11。在单片机中,51单片机就更加方便了,51单片机的内部还包含了存储单元,串口通信接口,还包括SPI和IIC等一些高级通信接口,它是一款功能强大的微型电脑控制单元,因此本设计使用了STC89C52单片

21、机来作为整个系统的控制中心。封装图如下图所示:图3.2 单片机引脚图3.1.1主要特性1.它的内核是51系列,但是它属于增强型的,时钟信号很灵活,可以选用12时钟周期。2.它的供电电压是一个范围,一般我们采用5V电压对其进行供电,这种电压大多是插件系列,还有3.3V供电电压的单片机,这种单片机电压范围的基本都是贴片系列,像QFP封装。3.工作频率:,该频率区间相当于8051单片机频率区间的。4.提供给使用者的程序占用大小是8K。5.能够有效添加512字节的运存模块单元。6.集成了串行数据接口。 7.使用温度区间:不同的工作状况对于温度区间的要求也有一定的差异性,应用在工业领域:,商业级温度区间

22、是:。3.1.2引脚功能VCC:40引脚位置处,该节点接入电源,提供电压供给;VSS:20引脚位置处,该节点为接地位置;P0端:(,引脚位置处):实质是漏极开路数据输入/输出接口;P1端:(,引脚位置处):该节点集成了上拉电阻,同样是作为数据输入/输出接口工作;P2端口(,引脚位置处): 集成了上拉电阻,是作为数据输入/输出接口工作;P3节点:对工作系统进行初始化处理,完成单片机系统的快速复位过程;:串口数据输入节点;:串口输入传输节点;P3.2以及P3.3端口:作为单片机系统的程序中断功能节点;:系统定时器功能模块的0以及1的信号接收节点位置;:单片机集成外部存储模块的数据处理;: 这个引脚

23、用外面电解电容和按键并联组成复位电路。: 读取系统外部存储模块的传输数据。: 单片机晶振外接起振电容端口。3.1.3串口通信 有一种通信方法,其中数据的每一位由位以串行方式,这就是在单片机系统中经常用到的串口通信方式,按照数据信息传递的方向为依据,该通信模式能界定为:全双工、半双工以及单工工作形式。(1) 工作方式0当单片机系统的SM0以及SM1都是0信号状态时,串口所选取0工作模式运行,这也可以作为同步移位寄存器来工作。在进行外部信号的采集与系统内部数据传输中,该方式始终将波特率设定在,信号交互位置在RXD处。该系统的帧格式表达为: . . (2) 工作方式1 若工作过程中处于SM0=0,并

24、且的工作状态下,此时串口通信模式是以1来运行,在进行外部信号的采集与系统内部数据传输中,该工作方式波特率设定并非是恒定不变的,而是与T1以及T2溢出速度有较为密切的关联性,或者是在程序编写的过程中人为地对其数值进行配置。举例来说,在T2CON当中,将T2设定为波特率发生模块,处于状态下,调整为T1。在帧数据传递阶段都是以10位为基础,传输的表达格式为: 起始0 停止1 在实际的数据信号传递阶段,数据的输出起始节点是内部16分频计数模块完成整个信号翻转流程,所以说,在传输环节中周期表现与16分频计数单元呈现一致性。(3) 方式2和方式3以上所阐述的两种方式是11位异步数据传递形式,在控制调节阶段

25、起到的功能都是一致的,唯一的区分性是波特率差异。而方式3所设定的波特率数值在工作过程中同样是恒定的。 该方式都是以SBUF指令为数据起始节点,在TB8完成数据内容的输出环节之后,将TI置位为1即可。两者能够完成数据处理的基础就是REN调整为1,并且在RI=1和的情况下,系统将传输的数据内容暂时装载至SBUF以及模块内部等待调用。 8051系列单片机在串口通信方面有一个较为独特的特点,就是串口同样涵盖第9位。该类型单片机能够添加此位作为系统特殊数据的收发。借助于此功能,使用单一的单片机就能够完成多个硬件系统的关联,并且相互之间的指令地址是独立的,正常通信的前提条件是具备清晰的系统主从关系。3.1

26、.4 STC89C52单片机最小系统:将主控单元的最简单电路称之为最小系统,首先,该系统应当具备必要的工作电源,并提供一个电源端口。电源端口通过自锁开关所控制,自锁开关是带弹簧的控制开关。按一次导通,再按一次,弹簧就弹出,电路就能断开。时钟电路提供时钟信号给单片机,复位电路,使单片机在程序离开的时候复位再次工作12。 单片机的最小系统构成涵盖开关电源、时钟模块、复位电路、电源接入节点以及单片机。图3.3 单片机最小系统原理框图(1) 时钟电路时钟电路可以为系统工作提供时钟信号,也就是给它一定的工作频率,所述时钟信号具有许多用途,如定时器电路,该定时器时间的选择根据给定的时钟信号的频率来计算。该

27、系统通过一个外部晶体振荡器提供时钟信号到单芯片微型计算机,晶体振荡器的两端分别连接到芯片的时钟信号的两脚,即单芯片微型计算机的18脚和19脚,而另一端和两个30pF的起振电容并联接地13。内部时钟方式如图3.4所示。晶振采用12M,起振电容为30pF。图3.4 STC89C52内部时钟电路(2) 复位电路该功能模块的功能相当于重新启动计算机。使用复位功能是因为单片机通过软件控制工作。有时程序会跑掉,会卡死,你需要重新启动单片机并再次工作。软件中的看门狗也是如此,这是由程序设定的,当狗到一定时间时就得喂食,不然就会使程序重新启动,这相当于复位。 单片机有一个复位引脚,通过一个按键与VCC串联,即

28、电源。同时,电源端与一个电解电容器和10K电阻器串联连接到地,电解电容和电阻器串联中间连接到复位引脚。未按下按键时,复位引脚将电阻器传递到地,单片机工作正常。按下按键时,复位引脚和电源导通,单片机重置复位14。图3.5 STC89C52最小外围电路3.2 时钟模块3.2.1 DS1302性能简介由Dallas公司主导生产的时钟芯片DS1302是现阶段使用较为广泛的芯片。该类型芯片和主控单片机系统之间是以串行的方式完成数据传输,时间数据包含年、月、日以及时、分、秒等,并且日期是同步完成传递与调整;芯片的外部电源接入较为便捷,主要是由于集成了电源接入引脚节点,不仅如此,在外部电源断电的情况下,内部

29、仍然可以工作。从DS1302芯片的主要硬件构成上分析,其中涵盖逻辑控制单元、振荡器元件和寄存器。DS1302和单片机的数据传输可以通过RST,I/O以及的数据收发通道来完成。主要的运行阶段可以阐述为:工作初始阶段应当将RST引脚调整为高电平信号,然后借助于信号完成数据指令收发,即从系统的I/O口向DS1302进行传递。下图3.6是DS1302引脚示意图:图3.6 DS1302管脚3.2.2 DS1302接口电路设计1、DS1302电路及原理:图3.7 DS1302与MCU接口电路上图为时钟电路,时钟芯片的VCC1引脚所接入的是系统工作备用电源模块,而VCC2接入的是系统工作主电源模块。因此前者

30、是作为外部电源断电情况下的备用电源,而后者为系统提供主要工作电源。所以VCC1引脚的接入能够显著提升时钟系统工作的稳定性与可靠性。2、DS1302的控制字DS1302控制字格式如下表1,其中在第七位置处设定为1,其余位置处的逻辑字节是0。但是数据内容并不能存储在该时钟芯片内部,假定第6位调整为逻辑0,所代表的含义就是对日历时钟数据的读取与写入过程,处于1状态就是对运行内的信息进行调用。表1 DS1302的控制字格式 1 RAM/CKA4A3A2A1A0RD/WR3、数据输入输出(I/O)完成系统的控制指令输入,等待单片机系统下一次SCLK上升沿信号,此时系统数据是在DS1302中读取调用。依据

31、此原理,将之后的8位控制指令下降沿输出时钟信号,并且读取的起始节点是最低位,图3.8是整个时钟芯片数据交互过程图示。14图3.8 DS1302读/写时序图4、DS1302的寄存器AMDS1302内部集成了12个寄存器单元,并且与时钟信号直接相关的有7个,数据信号存储格式是BCD码,其中时钟信号相关的寄存器控制字如表2所示。 表2 DS1302的日历、时间寄存器写寄存器读寄存器Bit7Bit6Bit5Bit7Bit3Bit2Bit1Bit080H81HCH10秒秒82H83H10分分84H85H12/010时时/PM86H87H0010 日日88H89H00010月月8AH8BH00000星期8

32、CH8DH 10年年8EH8FHWP00000003.3 按键控制模块在单片机中,通常使用按键来控制电路,按下和松开按钮以实现控制的目的。通常,使用机械按键,按下以打开,松开以断开连接。电路的连接也非常简单,将按钮的一端直接连接到单片机的端口,另一端直接连接到地。单片机使用中断来进行收集按键。 单片机的默认IO端口为输出高电平,按键的一端连接到单片机的IO端口,一端接地。因此,在设计软件时,输入单片机的IO端口,即对IO端口判断电压。当没有按下按键时,由于单片机默认输出高电平,如果收集的电压为高电平,则表示此时没有按下按键,没有采取任何动作,当按下按键,因为按键并且接地是串联连接的,此时单片机

33、收集一个低电平,表示该按钮此时有按下动作,因此单片机接收按键行为以执行其他操作15。有当按键被中断要考虑的一个问题是,按键去抖。由于人工的推动,按键肯定有所抖动。这对由单片机采集到的信号存在某些干扰。因此,按键的去抖是必须要考虑的一个问题。当按下按键时,单片机延时为20毫秒,给按键去抖动时间,然后在此时间后执行所述命令。示例代码:If(KEY=0)Delay(20);If(KEY=0).硬件电路如图3.9所示:图3.9 按键控制电路3.4 LCD1602显示电路本次设计所选用的模块按照是否带背光功能分为两种,通常情况下是将作为显示模块控制单元,带有背光功能的显示单元体积较大,但是在实际的应用当

34、中表现出较小的差异性,图3.10是为两种不同的显示单元结构。图3.10 1602LCD尺寸图3.4.1 LCD1602主要技术参数数据显示容量:字符;正常运行电压区间:;正常运行电流数值:;运行最优电压数值:5V;显示字符规格:。3.4.2 引脚功能说明下表3是显示单元的引脚功能。若选用的是带背光显示模块,则具备有16个引脚接口,若选用的是不带背光的显示模块,则具备14个引脚接口。编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15B

35、LA背光源正极8D1数据16BLK背光源负极表3 液晶引脚接口说明表第1脚:表示接地接口。第2脚:系统工作主要供电接口,接入的是5V电压值。第3脚:VL代表的是显示模块的参数调整接口,主要是对工作状态下的数据显示对比度进行控制。第4脚:RS表示的是该显示模块中寄存器选取节点,若引脚处于高电平信号状态,则选取的是数据寄存器,其余状况按照指令寄存器进行选取运行。第5脚:R/W代表的是数据信号读写接口,若获取的是高电平信号,直接进入数据读取流程,在低电平状态下进行数据写入流程。第6脚:在E接口端定义为工作使能端,发生电平信号翻转之后,显示模块进入工作环节。第714脚:表示的是系统8位双向交互通信。第

36、15以及16脚:接入背光+/-极信号。3.5 AT24C02存储模块 能够为系统提供可擦除的串行1024位存储模块。并且在生产中充分考虑到了该功能模块的实际应用领域,将使用的额定电压进行了最优设计。另外,整个系列有2.7V(2.7V至5.5V)和1.8V (1.8V至5.5V)两个版本。设备操作:以及DATA调整:一般在实际的应用中都是讲SDA引脚进行拉高处理。并且将SCL位置处信号的翻转作为起始或者是终止节点。开始状态:在所有控制初始阶段都应当处于的状态,当SCL位处于高电位则调整成为下降沿工作。停止状态:在SCL处于高电位状态,则对应的SDA将上升沿作为终止节点进行定义。总线设计是由飞利浦

37、公司所研发并推广,该总线实质上是双线式串行模式总线,可以作为主控单元模块与外部设备之间相互关联的媒介。从发展起源上来看,该类型总线能够追溯到上世纪八十年代,刚开始投入使用时大部分都是应用在音频设备研发领域,而现阶段集中在服务器管理领域中,并且涉及到单一组件的数据关联16。例如服务器管理员能够借助于该总线完成系统各个硬件的状态监测,对全部的运行指标进行检索查看,显著提升了管理便捷性水平。图3.11 AT24C02存储模块3.6 电机驱动模块本次设计选定的3V直流电机作为驱动单元,线路连接如图3.12所示。电路中通过一个自锁开关,来打开或关闭电机,电机电路中串联一个电位器,用来调节阻值来控制电机两

38、端的电压,从而来改变电机的转速17。图3.12 电机驱动模块电路图第4章 软件设计本系统采用Keil来作为软件开发平台,编写C语言程序,进行编译调试18。4.1 系统流程图本系统的软件设计主要流程图如下:图4.1 系统主流程图4.2 编程软件Keil C51由美国企业所主导研发的是现阶段51单片机系统搭建过程中必不可少的工具。该工具主要面向C程序语言进行开发,和机器汇编语言进行对比得知,使用C语言能够在整体结构以及可读性上有较强的提升。内部集成了较为丰富的库函数以供使用者随时读取调用,并且与微软的系统有较好的兼容性。不仅如此,在该环境下编译程序效率较高,尤其是在完成大型软件与系统设计中更能发挥

39、的优势。对的使用与子功能阐述如下19。 图4.2 Keil C51软件界面第5章 总结与展望这几个月准备毕业设计的时间匆匆就过去了。刚开始选题的时候,我自以为选一个自己感兴趣的领域做毕业设计能够顺利完成,于是刚开始定了一个相对没那么容易的题目。虽然有所挑战,但我还是以为这个设计还是可以接受的,毕竟是基于单片机的毕业设计,在以前的课程中我们大家都有学习过,也有专门的实验课做单片机的实践内容,我自认为学的也还可以,所以比较有信心能够顺利完成本次毕业设计。但是,在接下来的毕业设计上,遇到了诸多困难,首次制作一个综合性这么强的设计,因为缺乏经验,对以前学过的知识又有点忘记了,导致有很多地方考虑不全,甚

40、至根本想不到。多亏有了导师的耐心教导和同学们的热心帮助,才让我有了很多进步。但同时,通过这次的课程设计,让我学到了很多,在我不断地翻看C语言和单片机的教材后,我了解到和掌握了一些编程思想、方法和对I/O口的使用条件的思考,对C语言学习更进了一步,对单片机的各个管脚功能更加的理解和熟悉。另外,在焊接电路板的过程中,也遇到了非常大的困难,如何焊接地更美观一直困扰着我,后来在老师和舍友的帮助下,才顺利地完成了。光阴似箭,日月如梭。一转眼,我的大学生涯即将划上句号。在整个大学生涯里,我迷茫过,颓废过,也努力过,总的来说,大学生活非常精彩充实。有一群实诚、有趣的舍友和同学,让我在大学里有了依靠,有困难的

41、时候,他们总是会第一时间站出来帮助我。尤其是这个毕业设计,我能顺利完成,舍友对我的帮助尤为重要。毕业设计的完成意味着我们的大学生涯即将结束,接下来我们需要走出社会,走向各自的工作岗位。人生就是这样,走过了一站就要奔向下一站。在以后的工作生活中,或许会有更大的困难,需要我们坚强,需要我们互相帮助,去克服。我相信走出大学后,大学的趣事依然会荡漾在我们的脑海里,记忆犹新。最后,让我们充满信心,加油吧! 参考文献1 李广弟,朱月秀,冷祖祁.单片机基础M.第3版.北京航空航天大学出版社,2011.2 李华.MCS-51系列单片机实用接口技术M.北京航空航天大学出版社,2009.3 李群芳,肖看.单片机原

42、理接口与应用.北京:清华大学出版社,2005.4 朱承高.电工及电子技术手册M.北京:高等教育出版社,2012.5 高峰.单片微型应用系统设计及实用技术.北京:机械工业出版社,2004.6 胡辉,单片机原理及应用设计21世纪高等院校规划教材M,水利水电出版社,2005,7.7 刘守义,单片机应用技术M,西安:西安电子科技大学出版社,2011.8 张友德,赵志英,涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社2005,12.9 魏永昌.单片机外围电路设计.北京.电子工业出版社.2006.10 王为青,邱文勋. 51单片机开发案例精选J.人民邮电出版社,2001,(5):45-47.11

43、 张鑫,华臻,陈书谦. 单片机原理及应用J.电子工业出版社,2008,(5).12 张洪润,张亚凡.单片机原理及应用J. 清华大学出版社,2005,(4).13 黄智伟.凌阳单片机课程设计指导J. 北京航空航天大学出版社,2007,(6).14 蒋辉平,周国雄. 基于Proteus的单片机系统设计与仿真实例M.机械工业出版社,2009.15 张毅坤. 单片微型计算机原理及应用,M西安电子科技大学出版社 1998.16 赵妍妮.I2C总线的单片机C语言实现及应用J.微机发展,2001,12(4):172-174.17 Guiyun Tian.Foundation and Application

44、of Micro controllerM.北京:高等教育出版社, 2004.18 WOLFGANG KLOSTERHALFEN University of Dusseldorf, 4000 Dusseldorf, Federal Republic of Germany. A computer-controlled cardiotachometer1 980, Vol. 12 (1), 58-62.19 K.D.TAYLOR.Technicalnote-(Keywords-Cardiotachometer,Pulsegenerator)Precision cardiotachometer cal

45、ibrator .Med. & Biol. Eng. & Comput.1977. 15.476-478.附 录附录1、系统原理图附录2、程序/出租车计价器/宏定义#define uchar unsigned char#define uint unsigned int /头函数声明#include #include Lcd.h#include Data.h#include DS1302.h#include AT24C02.h/键盘定义sbit K1=P34;/模式切换sbit K2=P36;/减按键sbit K3=P35;/加按键sbit K4=P37;/万年历模式时:设置时间信息。计价器模式

46、时:设置单价/模式0时钟 1时钟调整 uchar Mode=0;/时钟屏幕调整uchar Wei=0;uchar SS=0;/价格调整uchar JGWei=0;/计价器参数uint Day=0;uint Night=0;uint DanJia=0;uint DJ_min=0;uint ZJ=0;unsigned long GL=0;uint Time=0;uint count=0;uchar m=0;/白天/晚上uchar DN=0;/公里/时间uchar GT=0;/初始化函数void InitTimer0();/写初值void SETS();/读初值void READS();/主函数vo

47、id main()/初始化Ds1302_Init();Init_LCD();initeeprom();/SETS();/读取初始参数READS();/定时器初始化InitTimer0();/循环while(1)/时钟模式if(Mode=0)/读时间if(Wei=0)Ds1302_Read_Time();/显示时间display_NYR(time_buf1,Wei,0);else if(Mode=1)if(time_buf14=23|time_buf14=100)time_buf11=0;/月else if(Wei=2)time_buf12+;if(time_buf12=13)time_buf1

48、2=1;/日else if(Wei=3)time_buf13+;if(time_buf13=YDay(time_buf11,time_buf12)+1)time_buf13=1;/时else if(Wei=4)time_buf14+;if(time_buf14=24)time_buf14=0;/分else if(Wei=5)time_buf15+;if(time_buf15=60)time_buf15=0;/秒else if(Wei=6)time_buf16+;if(time_buf16=60)time_buf16=0;/显示if(Wei!=0)display_NYR(time_buf1,We

49、i,SS);/调价else if(Mode=2)/单价if(JGWei=1)DanJia+;if(DanJia999)DanJia=1;/等待时间单价else if(JGWei=2)DJ_min+;if(DJ_min999)DJ_min=1;/夜间else if(JGWei=3)Night+;if(Night999)Night=1;/白天else if(JGWei=4)Day+;if(Day999)Day=1;display_D(Day,Night,DanJia,JGWei,DJ_min);while(K3=0);/-if(K2=0)delay(100);/调时if(Mode=0)/年if(W

50、ei=1)time_buf11-;if(time_buf110)time_buf11=99;/月else if(Wei=2)time_buf12-;if(time_buf12=0)time_buf12=12;/日else if(Wei=3)time_buf13-;if(time_buf13=0)time_buf13=YDay(time_buf11,time_buf12);/时else if(Wei=4)time_buf14-;if(time_buf140)time_buf14=23;/分else if(Wei=5)time_buf15-;if(time_buf150)time_buf15=59

51、;/秒else if(Wei=6)time_buf16-;if(time_buf160)time_buf16=59;/显示if(Wei!=0)display_NYR(time_buf1,Wei,SS);/调价else if(Mode=2)/单价if(JGWei=1)DanJia-;if(DanJia=0)DanJia=999;/等待时间单价else if(JGWei=2)DJ_min-;if(DJ_min=0)DJ_min=999;/夜间else if(JGWei=3)Night-;if(Night=0)Night=999;/白天else if(JGWei=4)Day-;if(Day=0)Da

52、y=999;display_D(Day,Night,DanJia,JGWei,DJ_min);while(K2=0);/切换if(K1=0)delay(100);/计价器模式if(Mode=1)Mode=0;ZJ=0;GL=0;Time=0;/开启定时器TR0=0;EX0=0;/显示计价器Init_LCD();else if(Mode=0)Mode=1;/参数初始化/读初值READS();ZJ=0;GL=0;Time=0;/开启定时器m=0;TR0=1;EX0=1;/显示计价器Init_LCD_JJQ();while(K1=0);/初始化函数void InitTimer0(void) TMOD = 0x01; TH0 = 0x3C; TL0 = 0xB0;/10ms EA = 1; ET0 = 1; TR0 = 1;IT0=1;/INT0负跳变触发EX0=0;/开外部INTO中断/定时器0中断10msvoid Timer0Interrupt(void) interrupt 1 TH0 = 0x3C; TL

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!