电子科学与技术课程设计出租车计价器设计报告.doc

上传人:laozhun 文档编号:4135614 上传时间:2023-04-07 格式:DOC 页数:24 大小:1.28MB
返回 下载 相关 举报
电子科学与技术课程设计出租车计价器设计报告.doc_第1页
第1页 / 共24页
电子科学与技术课程设计出租车计价器设计报告.doc_第2页
第2页 / 共24页
电子科学与技术课程设计出租车计价器设计报告.doc_第3页
第3页 / 共24页
电子科学与技术课程设计出租车计价器设计报告.doc_第4页
第4页 / 共24页
电子科学与技术课程设计出租车计价器设计报告.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《电子科学与技术课程设计出租车计价器设计报告.doc》由会员分享,可在线阅读,更多相关《电子科学与技术课程设计出租车计价器设计报告.doc(24页珍藏版)》请在三一办公上搜索。

1、出租车计价器系别:电气信息工程学院专业:电子科学与技术1042小组: 成员:目 录1 前言32 系统设计方案42.1 系统的设计需求42.2 系统的工作原理43 系统硬件设计53.1 单片机介绍73.2 硬件组成84 系统软件设计145 仿真调试166 结 论177 参考文献188 心得体会及致谢20附录A 设计总图24附录B 源程序251 前言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注1。相对于公共汽车拥挤与缓慢以及私家车高昂的费用,出租车无疑是一种低价高质的出行交通工具。近年来越来越多的人为了出行方便舒适愿意选择使用出租车,出租车行业得以快速发展2。

2、出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器的技术在不断进步和提高3。最初的计价器计费模式较为单一,不便于在不同的运营环境下选取不同的计费模式。考虑到出租车行驶可能会出现从市区行驶到郊区或者行驶到偏僻地区,郊区或偏僻区打车的人少的现象,司机空车行驶返回成本较高,这时需要乘客为空车返回的路程承担一定的费用,这就需要区分单程/往返不同计价模式。“单程”模式是指目的地在郊区或者比较偏僻的地方,到达目的地后打车的人比较少,需要乘客乘客承担一定的空车返回的费用;“往返”模式是指目的地在市区,到达目的地后还会有乘客乘车返回,这种情况下司机不需要空车返回,乘客不需要承担回程

3、费用。考虑到夜晚时出租车的灯光需要消耗能源以及司机夜间服务比白天较为辛苦,所以一般夜晚出租车的价格需要比白天高一点。早期的出租车计价器均采用模拟电路和数字电路设计。计价器整体电路的规模较大,需要器件多,容易出故障,难调试。和模拟电路和数字电路设计相比而言,基于单片机进行设计的计价器,用较少的硬件和适当的软件相互配合就可以很容易的实现设计需求,硬件电路简单,稳定性好,灵活性强4,通过软件编程就可以实现计费模式的切换。2 系统设计方案2.1 系统的设计需求1、用数码管实时显示里程数及金额数。2、出租车计价器计价器具有多种计费模式,白天/夜晚模式及单程/往返模式。3、设计出租车计价器白天模式下起步公

4、里数为3Km,价格为8元;若实际里程大于3Km,大于3Km的部分单程价格为2.4元/Km,返价格为1.6元/Km。4、设计出租车计价器夜晚模式下起步公里数为3Km,价格为10元;若实际里程大于3Km,大于3Km的部分单程价格为3元/Km,返价格为2元/Km。5、 具有工作模式指示灯,指示当前工作模式状态。出租车价目表如表1所示:模式起步里程(Km)起步价(元)单程(元/Km)返程(元/Km)白天382.41.6夜晚310322.2 系统的工作原理出租车计价是根据出租车所行驶的路程以及乘客乘车的方式综合计算的。出租车行驶路程在起步里程内按照起步价收费,超过起步里程时超出起步里程的路程按照相应模式

5、下的单价收取附加费用,最后收取起步价及附加费用的总和。出租车的行驶路程可以通过车轮的周长乘以车轮旋转圈数得到。然后经过系统对相关数据的计算处理得出总的路程及计价金额,最后再通过显示电路将相关信息显示出来。本设计采用AT89C51单片机作为系统核心处理器,以A44E霍尔传感器作为里程测量仪,设计控制按键以便选择相关的计费模式,并采用74HC138译码器进行地址译码为8位8段数码管提供片选码,采用8段数码显示出租车行驶的里程及应付总金额,通过LED指示灯指示出租车当前工作状态,便于乘客监督司机。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性4,不仅能实现基本的计价功能,而且能在很大程

6、度上扩展功能,方便以后对系统进行升级。系统设计框图如图1所示:显示驱动模块单片机显示模块LED状态指示灯里程测量模块按键控制模块复位模块时钟模块图1 系统设计框图里程测量是通过安装在车轮上的霍尔传感器A44E检测到的信号5,送到单片机,经过处理输送到显示电路。 车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数6。P3.4引脚作为信号的输入端,内部采用定时/计数器0计数7,通过计算接收到的脉冲个数,计算出当前所行驶的路程。根据不同的收费模式,选择相应的起步价、单价等收费标准进行计算得出乘客应付总金额。假设出租车的车轮的周长是1m,那么出租车车轮旋转1000转,也就是行驶1Km

7、(实际应用时以车轮实际周长计算,这里为了仿真方便假设车轮周长为1m)。通过对定时/计数器0的TL0和TH0的初值设置使得定时/计数器计数一定数量的脉冲时计数器溢出产生中断,在中断服务程序中完成里程计算。本设计为了仿真方便做如下设置TMOD=0x06,TL0=255 ,TH0=255;即单片机定时/计数器0工作于工作方式2,8位自动重装模式,作计数器使用,单片机收到一次脉冲触发一次中断,里程增加0.1Km。通过按键能够实现启动、停止/结算以及选择不同的计费模式。显示电路使用8位LED数码管来显示,左边4位显示行车里程,小数点后面一位为百米位,右边4为显示应付金额,小数点后面一位为角位。由于现实生

8、活中一角使用的比较少,而五角钱使用的相对较多,为了司机与乘客之间交易方便,小数点后面的角位数字小于5的一律按5计算,大于5的一律向元位上进1。由于8位数码管静态显示需要许多I/O端口,和静态显示相比动态显示仅需要少量I/O端口就可以实现,所以这里采用动态显示方式。使用74HC138译码器对单片机输出的3位片选码进行译码并输送到8段LED片选端实现对8位LED的片选。3 系统硬件设计设计电路时,考虑到用霍尔传感器价格昂贵,且不便于试验检测仿真,在设计中采用一个模拟开关来代替。模拟开关一端接在P3.4引脚,另一端接地,通过来回高低电平的变化,每按一次,对应的里程数加0.1Km。通过程序计算出里程和

9、金额的信息,再加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。在显示方面,可以用液晶显示,也可以用数码管进行显示。由于液晶显示在距离一米多远以外就不怎么能看清楚8,而数码管能清晰的显示、经济适用并且在这次设计中只需要显示里程和金额信息,所以本设计采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。为了减少硬件的复杂度,设计中采用了动态显示方式。另外设计LED指示灯来实时指示各项状态,如出租车有客/待运状态,白天/夜晚状态,单程/往返状态,便于乘客监督司机作弊。设计中设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,白天/夜晚按键,单程/往返按键,清零按键等。3

10、.1 单片机介绍AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器9。3.2.1 AT89C51的特点 AT89C51具有以下几个特点:AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;全静态工作:0Hz24MHz;三级程序存储器加密;数据保留时间:10年;片内有4k字节在线可重复编程快擦

11、写程序存储器;1288位内部RAM;32位双向输入输出线;五个中断源,两级中断优先级;两个十六位定时器/计数器;一个全双工的异步串行口;间歇和掉电两种工作方式。3.2.2 AT89C51引脚功能AT89C51单片机为40引脚芯片,其实物图与引脚图如图所示: 图2 AT89C51实物与引脚图.口线:P0、P1、P2、P3共四个八位口。P0口是三态双向口,通称数据总线口,只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。P1口是一个内部提供上拉电阻的8位专门供用户使用的I/O口,是准双向口。

12、P2口是系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表2所示:端口引脚各个功能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断1请求输入端,低电平有效)P3.4T0(定时器/计数器0计数脉冲输入端)P3.5T1(定时器/计数器1计数脉冲输入端)P3.6WR(外部数据存储器写选通信输出端,低电平有效)P3.7RD(外部数据

13、存储器读选通信号输出端,低电平有效)控制口线:PSEN(片外选取控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制);电源:VCC:供电电压。GND:接地3.2.3 设计中使用的管脚VCC:接+5V电源。GND:接地。时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。RST:复位信号输入端,高电平有效。在此引脚加两个机器周期的高电平时,就可以完成复位操作。P1.0:接启动/停止按键。P1.1:接白天/夜晚按键。P1.2:接单程/往返按键。P1.3:接清零键。P0口接数码管段选端,P2口接驱动芯片。P3.4(T0):接模拟开关按键,替代了出租车计

14、价器中的霍尔传感器。3.2 硬件组成硬件组成主要包括:时钟模块、复位模块、按键及指示模块、里程测量模块、显示驱动模块、显示模块。3.2.1 时钟模块单片机工作是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作10,为了保证系统内各部分稳定工作,系统需要一个稳定的时钟信号。时钟电路产生振荡脉冲,经过二分频之后,为单片机提供时钟脉冲信号。振荡频率取决于石英晶体的振荡频率,频率范围可取1.2MHz12MHz。C1、C2具有频率微调和稳定作用,电容值可取530pF。单片机运行速度取决于晶体振荡频率,晶体振荡频率越高,系统的时钟频率越高,单片机运行速度越快。本设计中使用的时

15、钟电路,由两个约30PF的电容和12MHZ晶体振荡器组成,将晶体跨接在XTAL1和XTAL2两端。在整个系统中为系统各个部分提供基准频率信号,以防因其工作频率不稳定而影响相关设备工作的稳定性,晶振可以在电路中产生振荡电流,发出时钟信号。时钟模块的电路图如图所示。图3 单片机时钟电路图3.2.2 复位模块单片机在启动时需要进行复位操作,使系统处于初始状态,并从这个状态开始工作。单片机的复位是由外部的复位电路实现的, 复位电路通常有两种复位模式,一是采用上电自动复位,二是按键手动复位11。上电自动复位是通过复位电路的电容充电来实现的。按键手动复位有电平方式和脉冲方式两种。复位信号是高电平有效,持续

16、24个振荡脉冲周期(即二个机器周期)以上,即可完成复位操作。本次设计中采用手动复位的电平复位。图4 单片机复位电路 3.2.3按键及指示模块本设计中设有按键控制电路及LED指示部分,通过按键可以控制启动/停止计价以及根据乘客使用出租车情况选择不同的计费模式。LED指示模块可以实时的指示当前出租车所采用的计价模式状态,可以让乘客一目了然,监督司机,防止司机作弊。按键控制电路中,单片机的P1.0引脚接启动/停止按键,通过软件编程,当按下按键计数器开始工作,开始计价,启动指示灯点亮,代表出租车出于有客状态;当弹起按键时,计数器停止工作,停止计价,结算路费,停止指示灯点亮,表示出租车出于待运状态。按下

17、启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,计数器溢出时触发中断对里程进行计算,主程序中调用计价子程序开始计价。为了方便乘客与司机结算,角位上不足5角的按照5角计算,大于5角的按照1元计算。P1.1管脚接白天/夜晚按键,通过软件编程,当按下按键时执行白天模式计价标准,白天模式指示灯点亮,当弹起按键时,执行夜晚模式计价标准,夜晚指示灯点亮。P1.2引脚接单程/往返按键,当按下按键时执行单程模式计价标准,相应的指示灯点亮,当弹起按键时执行往返模式计价标准,相应的往返指示灯点亮。清零按键接单片机的P1.3引脚,按下清零按键,P1.3为低电平,调用清零子程序

18、,用于将显示数据以及里程及计价金额清零,以达到清零的目的,方便下次计价。图5 控制按键及指示灯图3.2.4 里程测量模块霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种。霍尔器件可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种,本设计采用开关型霍尔元件。A44E集成霍耳开关由稳压器、霍耳电势发生器(即硅霍耳片)、差分放大器、施密特触发器和OC门输出五个基本部分组成。在输入端输入电压Vcc,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与电流和磁场相垂直的

19、方向上将会产生霍耳电势差VH 输出,该信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出6。当施加的磁场达到BOP时,触发器输出高电压(相对于低电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到“释放点”(即Brp )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为“关”。这样两次电压变换,使霍耳开关完成了一次开关动作。将霍尔传感器的集成电路安装在车轮上放的铁板上,将小磁铁安装在车轮上,旋转的车轮将磁铁对准集成电路时,霍尔传感器会输出一个脉冲信号。我们选择了P3.4引脚作为脉冲信号的输入端,单片机内部采用内部定时/

20、计数器0计数触发中断。车轮每转一次,霍尔开关就检测并输出一个脉冲信号。单片机接收脉冲并对其计数,计数器溢出时产生中断,通过处理中断服务程序计算出总路程及相应的应付金额。霍尔传感器的测距示意图如图所小磁铁霍尔传感器车轮89C51单片机P3.4示: 图6 霍尔传感器的测距示意图 图7 脉冲输入由于仿真软件中没有霍尔元件,这里使用按键开关或者脉冲发生器来替代霍尔元件仿真,为了仿真方便,设定每向P3.4引脚输入一个低电平脉冲,单片机内部产生一个中断,里程计数器加一,每次脉冲表示出租车前进100m。 3.2.5 显示驱动模块74HC138是常用的译码器。74HC138是一款高速CMOS器件,74HC13

21、8引脚兼容低功耗肖特基TTL系列。74HC138译码器可接受3位二进制加权地址输入(A, B和C),并当使能时,提供8个互斥的低有效输出(Y0至Y7)11。74HC138管脚图如图表所示 :图8 74HC138译器管脚图通过74HC138译码器来给8位数码管提供片选码,使得8位数码管能够实现动态显示并且节约了I/O口资源。为了提供P0口驱动能力,在P0口设计上拉电阻。74HC138的功能表如下表所示: 输入输出E1E2E3CBAY0Y1Y2Y3Y4Y5Y6Y7HHHHHHHHHHHHHHHHHHLHHHHHHHHHLLLLLLHHHHHHHHLLLLHHLHHHHHHHLLLHLHHLHHHH

22、HHLLLHHHHHLHHHHHLLHLLHHHHLHHHHLLHLHHHHHHLHHHLLHHLHHHHHHLHHLLHHHHHHHHHHL译码驱动电路如下图所示:图9 译码驱动电路图3.2.6 显示模块现在很多的应用系统都需要配备输出外设,一般使用LED显示器或LCD显示器。考虑到LCD显示在距离超过1m远的时候不容易看清楚且为了节约成本,本设计中选用了LED数码管显示器。显示方式有两种:静态显示和动态显示。静态显示亮度较高,接口编程容易11,但是每位的段码线分别要与一个8位的锁存器输出相连,在显示位数较多的情况下,占用的I/O口线比较多,所以这里不采用静态显示方式。和静态显示方式相比动态

23、显示可以节省很多I/O口资源。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位数码管显示的时间间隔足够短,就能使人感觉到所有的数码管都在显示。通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的内容。LED数码管及集成数码管如图所示: 图10 LED数码管 图11 集成数码管本设计中使用的是8个一组的共阳8段数码管。左边4个用来显示里程,小数点后面一位表示百米位,右边4位表示金额,小数点后面一位表示角位。如下图所示:图12 本设计中的数码管显示4 系统软件设计51单片机的程序设计语言主要有两种:一

24、是汇编程序设计;二是C语言编程设计。两种程序设计语言都有各自的优点。和C语言相比而言汇编语言比较节省空间,但使用C语言编写的程序简单易行,通俗易懂。C语言作为编译型程序设计语言,它兼顾了多种高级语言的特点,并且具备汇编语言的功能。不仅如此,C语言程序还具有完善的模块化程序设计结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障12。本设计采用C语言编写的,采用模块化编程,程序在修改,执行的过程中比较方便易行。利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂。main函数编写开始,进行初始化,使硬件处于就绪状态。主程序模块中,主要完成定时/计数器0的设置

25、、开中断、开闭计数器、调用子程序以及循环等工作。主程序运行中通过对各个按键的判断决定是否计费,结算,清零等,分别调用不同的子程序。当检测到启动按键key1按键被按下去时,打开计数器0,并调用计价程序计价。通过检测key2(白天/夜晚按键)、key3(单程/往返按键)的程序执行不同的计价标准。Key1键被弹起时,关闭计数器0,恢复计数器0 的初值,并结算应付总金额。每当P3.4口收到一个低电平信号,单片机计数器0就对其计数一次,当计数器溢出时触发中断,进入里程计数中断服务程序,里程变量加1,总金额根据此时所设单价做出相应的变化。YNYNYN初始化开始计价?开启计数器0开始里程计数调用计价子程序关

26、计数器0,恢复初值,结算是否停止计价是否清零调用清零子程序调用显示子程序开始系统软件设计流程图如下图所示:图 13 系统软件设计流程图计价子程序设计流程图如下图所示:图 14 计价子程序设计流程图5 仿真调试1.在 Keil Vision 软件中使用C语言编写程序,经过编译生成hex文件。2.在Proteus软件中按照设计的原理图绘制出各种元器件并连接好电路。3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。 如图:图15 加载HEX文件到单片机中4.单击左下角运行按钮,进行软件仿真调试。软件的仿真窗口如图:图16 出租车计价器

27、仿真图根据设计需求规定出租车白天模式下起步公里数为3Km,价格为8元;若实际里程大于3Km,大于3Km的部分单程价格为2.4元/Km,返价格为1.6元/Km;夜晚模式下起步公里数为3Km,价格为10元;若实际里程大于3Km,大于3Km的部分单程价格为3元/Km,返价格为2元/Km。下面通过随机选取几个点进行仿真验证,超过起步里程计费价目表如下表所示:白天/夜晚单程/往返起步里程A起步价B单价C里程D计算公式E=B+C*(D-3)金额E白天单程382.48E=8+2*(5-3)20白天往返381.613E=8+1.8*(4.7-3)24夜晚单程31035E=9+3*(9-3)16夜晚往返3102

28、10E=9+2.4*(7.2-3)24图 17 白天单程模式下计价仿真图 图18 白天往返模式下计价仿真图图19 夜晚单程模式下计价仿真图 图20 夜晚往返模式下计价仿真图 通过对以上几种模式下的仿真结果与理论结果比较发现仿真结果与实际理论计算值相符,仿真成功。6结 论本次设计采用AT89C51单片机为核心处理器,设计出具有多种模式计价的出租车计价器,能够实现通过按键控制,按照不同的计价模式执行计价,显示里程和金额以及状态指示。通过Proteus调试仿真,达到了设计目的。这次课程设计设计完成后,有许多体会,在学与做的过程中,取长补短,不断学习新的知识,吸取经验。通过自身的努力以及与同学的探讨研

29、究,逐渐熟悉了Keil uVision3、设计软件Altium Deginer、PROTEUS和C语言等软件的使用。在设计过程中难免存在一些问题,功能还不是很全面,主要是因为现在个人能力有限考虑问题还不周全,缺乏设计经验,恳请老师批评指正,以使我在以后的学习和实践中加以改进和提高自我。7参 考 文 献1 舒涛,伍远超,李明.基于AT89S51单片机的出租车计价器系统设计J.现代电子技术,2010,33(22):57-59.2 张颖.多功能出租车计价器的设计J.广西轻工业,2009,25(9):96-97.3 肖卫初,陈伟宏,杨明.基于单片机的多功能出租车计价器的设计J.广现代电子技术,2008

30、,31(16):180-188.4 陈爱华.基于AT89C51单片机的多功能出租车计价器J.机电工程技术,2008,37(11):67-68.5 王华祥,张淑英.传感器原来及应用(修订版)M.天津:天津大学出版社,1999.6 黄代福.出租车计价器传感器原理及检测J.计量与测试技术,2006(8):20-21.7 潘永雄.新编单片机原理与应用M.西安电子科技大学出版社,2003.8 戴佳,陈斌,苗龙.51单片机应用系统开发典型实例M中国电力出版社,2005.9 余发山,王福忠.单片机原理及应用技术M.中国矿业大学出版社,2008.6.10 侯玉宝,陈忠平,李成群.基于Proteus的51系列单

31、片机设计与仿真M.电子工业出版社,2008.11 边春元,李文涛,江杰.C51单片机典型模块设计与应用M.机械工业出版社,2008.12 马忠梅.单片机的C语言应用程序设计(第三版)M.北京航空航天大学出版社,2004.8心得体会及致谢心得(主力丁福玲)在本次设计中,我们采用AT89C51芯片为核心器件,设计出了简单的出租车计价器,能够实现显示总金额和总里程,按键控制清零复位,选择四种计价模式。我是我们组的主力,选题后,我便开始复习单片机方面的知识,也查阅、搜索了很多相关资料,进行总体设计与具体设计,同时也学习仿真软件Protues、设计软件Altium Deginer和编程软件KeiC。由于

32、以前都采用汇编语言实现编程,对用C语言来实现单片机的编程不太习惯,花费了一些时间来熟悉C语言的编程。在设计开始,要形成流程图,它可以使设计有一定的逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编写、修改与调试,另外加上必要的注释,便于交流与理解。在这次实训中,我们出现了不少错误,大都因为对实际操作能力太差和专业知识不够,例如,在画原理图和PCB的时候没有认真查阅数据手册,以致将其画错,导致最后不得不用导线连接;还有就是焊接之前没有认真熟悉器件测其参数,导致有的器件焊反种种错误的出现与我这个主力不称职有很大的关系,一个好的团队,需要团结,更需要相互信任。这次课程设计完成后,

33、体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。通过自身的努力以及相关图书资料的帮助,逐渐熟悉了KEIL、PROTEUS和C语言等软件的使用以及硬件焊接与检测过程中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题。所焊实物尚有许多不足,虽然预期功能都已实现,但实物却并没有因为用了PCB板而更美观,主要原因是考虑问题不周全,电路设计经验少,实际动手能力不足。恳请各位老师批评指正,以使我在以后的学习和实践中加以改进和提高。经过这学期的努力,本次课程设计已经接近尾声。作为一个本科生的设

34、计,由于没有足够的经验,难免有诸多考虑不周的地方,好在有导师的指导和同学们的帮助,我才能按时完成任务。感谢我的指导老师,从课题的选择到设计的最终完成,老师都给予了我们细心的指导和不懈的支持。他严谨细致、一丝不苟的作风一直是我们学习中的榜样,并将继续影响我今后的学习和工作。在此向老师致以诚挚的感谢。心得(陈新利)我们这组课程设计做的出租车计价器,我主要画PCB,经过两周的课程学习,使我对单片机有了一个更新的认识,通过这两周对单片机的学习,我对单片机的应用有了一个更深的了解,也在单片机的实训操作上学会了不少东西,比如说数码管程序的编制,发光二极管的正负极以及通过单片机对电机的控制等,但是在其他课程

35、设计的过程中还是遇到了许多问题,比如说四位一体数码管引脚还不能较好的了解,对于一些相应的应用软件如Altium Deginer还没能熟练地掌握等。我主要负责的是画PCB,我们这样的安排到最后才发现不太合理,由于我没有画原理图,对整个设计的原理不是非常熟悉,以致于原理图过度后出现的一系列问题我没能及时的全都发现,耗费了不少时间的情况下还是出现了数码管的封装画错。但是经过我们组的齐心协力及其他同学的帮忙,终于把一个个问题解决了。所以我建议在做设计中画PCB之间一定要先查阅清楚所用各种元器件的封装引脚及尺寸。我感觉要更好的学习单片机就必须做到:在设计程序之前,对所用单片机的内部结构要有一个系统的了解

36、,应该明白所用的单片机内有哪些资源,自己要有一个清晰的思路和完整的软件流程图,在设计程序时,不能妄想一次就将整个程序设计好,必须要经过不断的,反复的验证和实践,尽量做到让整个程序简单化,完整化,从而做到让整个程序完美无瑕,无可挑剔,而且不要怕失败,失败并不可怕,要学会不断地总结。还要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而是应该让人一眼就能明白你的思路,明白你的程序的每一步是要干什么,要实现什么功能,这样也为资料的保存和交流提供了方便。课程设计培养了我们独立思考问题,分析问题与解决问题的能力,在设计中我明白了理论与实践有很大的区别,理论上可以实现的,但要做具体的实物,却要多

37、方面考虑。在老师的指导下,加上同组同学的讨论与分析,使所遇到的问题逐步得到解决。感谢我的指导老师,从课题的选择到项目的最终完成,老师都给予了我们细心的指导和不懈的支持。他严谨细致、一丝不苟的作风一直是我学习中的榜样,并将继续影响我今后的学习和工作。心得(周喜英)我们这组课程设计做的出租车计价器,我主要负责焊接和调试,虽然这次的实习算起来在实验室的时间只有几天, 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对元器件的各种功能

38、特性没有查阅清楚,以致焊反。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,一个团队要想完成一项任务需要非常团结,既要分工明确又要互相帮助。 首先在做本次实训的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机实习,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切

39、实际的构想永远只能是构想,永远无法升级为设计。 其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。 最后,是各种相关软件的熟练掌握,只有熟练掌握这些工具,在课程设计中才能游刃有余。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。致 谢经过两周的努力,课程设计已基本完成。尽管从刚开

40、始选题开始就着手准备,但在设计的过程中,由于设计经验不足,考虑不周全,经常遇到问题,还好有指导老师翁嘉民老师的细心指导和同学的帮助,最终我们顺利的按时完成任务。感谢指导老师为我们作好了毕业设计的日程规划,在设计期间给予了细心的指导和不懈的支持。他的谨慎细致,一丝不苟的治学作风一直是我们学习中的榜样,并将在我们今后的生活与学习工作中有着积极的影响。在此,真诚的感谢我的指导老师。课程设计意义重大,不仅仅是大学时需要完成的任务,课程设计充分的培养了我们独立思考,发现问题,分析问题与解决问题的能力,同时也让我们知道,没有什么解决不了的问题,方法总比困难多。同学间的互相合作也是尤其重要,有的时候发现问题

41、,单凭一个人的思维与能力很难想出解决方案,当有同学一起探讨研究时,问题就可以迎刃而解,在这里要感谢我们的同学,感谢他在我们课程设计期间和我们一起探讨攻克难题!最后再次感谢学校和老师给了我们这次锻炼自我的机会,以及同学对我们的帮助,谢谢你们!附录A 设计总图图21 设计总图附录B 源程序#include #include unsigned char code led_num10=0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90; unsigned char code led_bit8=0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,

42、0xfe,0xff; unsigned char led8 ;int i,j;int flag=0;float skm=0; float price=0;float zdflag=0; float sbm=0; unsigned inttotalprice=0 , totalsbm=0;sbit key1=P10;sbit key2=P11;sbit key3=P12;sbit key4=P13;sbit key5=P34;/*延时子程序*void delay(xms)unsigned int i,j;for(i=xms;i0;i-)for(j=50;j0;j-); /*显示子程序*void

43、display()led0=totalprice%10;led1=totalprice%100/10; led2=totalprice/100; led3=totalprice/1000; led4=totalsbm%10; led5=totalsbm%100/10; led6=totalsbm/100; led7=totalsbm/1000;for(j=0;j10;j+) for(i=0; i 8; i+) P2=led_biti; if(i=1)|(i=5)P0=led_numledi&0x7f; elseP0=led_numledi; delay(1); /*计价子程序*void jijia()if(key2=0) delay(20);if(skm=3) price=8;else if(key3=0) delay(20);skm-3); else price=8+1.6*(skm-3); else if(skm=3) price=10;else if(key3=0)delay(20);if(key3=0)

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号