版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CHANGZHOUINSTITUTEOFTECHNOLOGY科研实践题目:基于单片机的出租车计价器二级学院〔直属学部〕:延陵学院专业:电气工程及其自动化班级:10电Y3学生姓名:学号:指导教师姓名:范力旻职称:副教授2023年12月30日至2023年1月10日目录第1章绪论11.1课题的背景11.2课题目的及意义1第2章总体设计22.1系统的分析与原理22.2硬件方案设计22.3芯片简介4第3章最小系统63.1复位电路63.2晶振电路73.3电源电路8第4章输入局部设计104.1按键电路104.2信息存储电路11第5章输出局部设计13第6章硬件仿真186.1protus软件介绍与使用186.2keil软件介绍与使用186.2protus软件仿真18第7章实物制作与调试217.1电路板焊接217.2硬件调试及排故障22第8章总结23第9章附录241.参考文献242.元器件清单242.系统原理图253.程序清单254.实物图34第1章绪论1.1课题的背景汽车计价器是乘客与司机双方的交易准那么,它是出租车行业开展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广阔出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的开展已成定局。而局部小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速开展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。1.2课题目的及意义我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的开展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程〔需要司机自己定价,计算后四舍五入〕,到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的开展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。随着出租车行业的开展,出租车已经是城市交通的重要组成局部,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。出租车计价器是根据客户用车情况来自动显示车费的数字仪表,根据用车起步价、行车里程计费求得客户用车的总费用,并通过数码管显示相应的里程及金额。模拟出租车计价器设计:进行里程显示,预设起步价和起步公里数;行程按全程收费,有复位功能和启动功能,启动后,开始计价。我们采用单片机进行设计,可以用较少的硬件和适当的软件相互配合来实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,应用前景广阔。第2章总体设计2.1系统的分析与原理设计的主要内容是利用51单片机实现出租车计价器的功能,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来实现出租车计价器的功能。这次电路设计的计价器能实现根本的计价功能,AT89C51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。设计一个出租车自动计费器,计费包括起步价、行车里程计费、计费三局部,用数码显示管显示总金额,运行时间。用数码管显示行驶里程和总金额。并有清零,复位,掉电保护等功能。上电时显示全为零,通过出租车带锁开关按下之后,来开始计价,数码管开始显示起步价和起步金额上电后显示最初的起步价。按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,单片机断电后,数码管显示数据不丧失。同时具有运行,暂停,停止等状态,可以显示运行的时间,同时可以显示暂停的时间,具有累加功能,暂停和运行时间在暂停和运行前一次的状态上计时。出租车停止后能够显示行驶的总费用。最大值不能超过100元,起步价为4.0元,2Km之内起步价计费,缺乏两公里时,显示两公里。用数码显示管显示总里程,同时显示价钱。2.2硬件方案设计设计采用AT89C51单片机为主控器,以A44E霍尔传感器测距〔按键替代〕,实现对出租车的根本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现根本的计价功能。设计中,为了能够让数码管更好的正常显示,我们还采用了驱动电路来驱动。在出租车计价器的硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。设计电路时,考虑到用里程〔霍尔〕传感器价格昂贵,且不便于试验检测,在设计中采用一个模拟开关来代替。模拟开关一端接在P3.4口,另一端接地,通过来回上下电平的变化,每按两次,对应的里程数加一。通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。在显示方面,可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了本钱,又可以到达显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。为了焊接方便,我们选用了集成在一起的数码管。我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,清零按键等。这次出租车计价器的系统由时钟电路,复位电路,信息存储电路,按键控制与显示等模块组成在一起。系统结构图如下:89C5189C51单片机按键控制时钟电路复位电路信息存储电路显示路程与价钱图2.1系统结构2.3芯片简介AT89C51提供以下标准功能:4k
字节Flash
闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:各个管脚备选功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0〔计时器0外部输入〕P3.5T1〔计时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕P3口同时为闪烁编程和编程校验接收一些控制信号图2.2AT89C51引脚图图2.3AT89C51封装设计中用到的单片机各管脚(图2.1)功能介绍如下:VCC:接+9V电源。VSS:接地。时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。它可以使单片机稳定可靠的运行。RST:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平时,就可以完成复位操作。P1.0:接启动/停止按键,控制计价。P1.1:接功能键。P1.2:接调节数据键。P1.3:接清零键。P0口接数码管段选端。P2口接驱动芯片。P3.4(T0):接模拟开关按键,替代了出租车计价器中的霍尔传感器。P3.1、P3.0口接掉电保护电路。第3章最小系统最小系统设计是单片机应用系统的设计根底,它包括:信息显示电路、显示电路、复位电路、晶振电路。3.1复位电路复位电路有两种方式:手动复位和上电复位两种方式。这次选择是手动复位。单片机复位使CPU和系统中的其他功能都处在一个确定的初始状态,并从这个状态开始工作。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。单片机复位的条件:单片机的第9脚RST为硬件复位端,只要将该端持续2个机器周期的高电平即可实现复位。我们所设计出租车计价器的时钟频率是12MHz,那么每个机器周期就是1us,(T=12*1/12MHZ=1us),那么就是需要2us,T=〔12*1/12MHZ〕*2=2us,的时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。复位计算时间:T=RC,R=200Ω,C=10μF所以复位电路所需要的时间是T=200Ω×10μF=2us由以上计算可以得出,满足复位条件,所以此电路可以实现复位功能图3.1复位电路3.2晶振电路MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个局部同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。为更好地保证振荡器稳定可靠地工作,晶振器和电容应尽可能安装得与单片机芯片靠近。单片机的时钟来源通常有两种方式:内部振荡方式和外部振荡方式。在我们这次出租车计价器设计中选用的是内部振荡方式。在AT89C51的单片机内部有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输出和输入端。这次出租车计价器中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成的。在XTAL1和XTAL2两端跨接晶体和2个30PF的电容组成就构成一个自激振荡器。XTAL1是反向振荡放大器的输入及内部时钟工作电路的输入,XTAL2是来自反向振荡器的输出,电容C1和电容C2起到稳定振荡频率,快速启振的作用。在整个系统中为系统各个局部提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。图3.4晶振电路3.3电源电路电源装置是电路的能量提供者,该设计中所制作的电源为单相小功率电源,将9V的直流电源经稳压管转换成所需要的5V直流电源。电源局部通过稳压电路而稳压电路是由7805芯片,1个470uF的极性电容组成,并且配套使用的。我们所设计的出租车计价器,由一块9V的电池块稳压到5V,输出电容和输入电容都不需要很大容量,有470μF就可以了,主要起抑制自激振荡的作用。电源局部通过稳压电路由7805芯片,1个470uF的极性电容组成的。1.7805芯片概述7805是我们最常用到的稳压芯片了,它的使用方便,用很简单的电路即可以输入一个直流稳压电源,它的输出电压为5v。下列图为其结构见图:其中1接整流器输出的+电压,2为公共地(也就是负极),3就是我们需要的正5V输出电压了。2.根本参数:输出电压:4.75-5.25V;静态电流:4.2-8mA;输出噪音电压:40uV;纹波抑制比:78dB;输出电阻:17mΩ;输出电压温度系数-1.1mV/°C;根本特征:输出电流可达1.5A;不需外接补偿元件;内含限流保护电流,防止负载短路烧毁元件;内含结温过热保护电路,防止结温过热烧毁器件;内含功耗限制电路,防止烧毁输出驱动器晶体管。下列图是7805与单片机相连的电源模块图3.5电源电路降压电路中应注意以下事项:1、输入输出压差不能太大,太大那么转换效率急速降低,而且容易击穿损坏;2、输出电流不能太大,1.5A
是其极限值。大电流的输出,散热片的尺寸要足够大,否那么会导致高温保护或热击穿;3、输入输出压差也不能太小第4章输入局部设计4.1按键电路在单片机控制系统中,如果需要按键个数较少或功能要求较为简单时,就可以采用独立式按键结构。所以在这次出租车计价器的设计中,我们采用了独立式按键结构。在输入控制电路中,独立式按键是直接利用I/O口线构成的单个按键电路,其特点是每个按键单独占有一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。单片机的P1.0管脚接启动/停止按键,控制计价,P1.1管脚接功能键,P1.2管脚接接调节数据键,P1.3管脚接接清零键。当K1弹起时,按下K2键,选择功能。数码管的倒数第三位显示1时为调节单价模式。为0时测不能调节,而当为1时测能调节。通过这个K3按键可以调节单价,里程计费单价。K4为清零按键,价格清零那么数码管全显示零,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码〔0x3f〕,以到达清零的目的,方便下次计价。功能键是控制系统功能的按键,由于电压和电流都比拟小所以选择普通的按钮开关,下表是功能键及对应的功能见表4-1:表4-1功能键及对应功能序号功能K1开始/停止K2功能选择K3调节单价K4清零4.2信息存储电路信息存储电路中采用了存储芯片AT24C02。AT24C02是一个CMOS标准的EEPROM存储器,这些EEPROM存储器的特点是功耗小、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之。24C02是一个2K位串行CMOSE2PROM,使用方便。AT24C02是一个在突然掉电的情况下存储数据的芯片,即掉电存储芯片。当电压到达最低的时候可以到2.5V,但是额定电流为1mA,静态电流10uA(5.5V)下列图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。图3.2AT24C02引脚图引脚功能介绍如下:SCL串行时钟:24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。SDA串行数据/地址:24C02双向串行数据/地址管脚用于器件所有数据的发送或接收。SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或〔wire-OR〕。A0、A1、A2器件地址输入端:这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用24WC02时最大可级联8个器件,24WC02被总线寻址这三个地址输入脚。A0、A1、A2可悬空或连接到Vss。WP写保护:如果WP管脚连接到Vcc所有的内容都被写保护,只能读。当WP管脚连接到Vss或悬空,允许器件进行正常的读/写操作。起始信号:时钟线保持高电平期间,数据线电平从高到低的跳变作为I2C总线的起始信号。停止信号:时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C总线的停止信号。本次设计中24C02起存储作用,将出租车计价器的里程总价钱存储在24C02中,当掉电时,存储的数据不会丧失,可以读取24C02中的里程数完成里程的累积和总的价钱。单片机的P3.0接到24C02的时钟输入管脚SCL端,P3.1接到24C02的双向串行数据/地址SDA端。本设计采用信息存储电路图如下:图3.3信息存储电路第5章输出局部设计多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比拟好,已经成为了一种开展趋势,但为了节约本钱,我们选用了LED显示器〔图5.1〕按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。图5.1LED数码管在这次出租车设计的显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。占用的I/O口线比拟多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。本次课程设计的显示电路采用数码管显示,是一种外加电压从而流过电流并发出可见光的器件。数码管有单个数码管和八段数码管之分,也有共阴和共阳两种。我们采用的是6个一组的共阴8段数码管。我们所设计使用的数码管使用的共阴端,并且是高电平有效时,开始显示。LED显示模块如图5.2所示,利用单片机的P0端口的P0.0-P0.7连接到数码管,数码数码管上显示,价钱与路程。图5.2数码管模块一般数据管是每段用一个电阻,一共需要8个电阻。因为单片机的P0口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。P0口接上拉电阻欧姆,其作用是为了限流作用。数码管的型号是:型号BT5161AH它的电压大约2V。其流过的数码管的电流为:〔5V-2V〕/510=5.88mA5v-2v/510=5.在其数码管所允许的范围5mA-10mA内。其电阻两端的电压为3V左右。图5.3数码管显示我们在用上拉电阻的使用的排阻,因为使用排阻比用假设干只固定电阻更方便。所谓排阻就是假设干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。其余引脚正常引出。图5.4数码管显示在出租车计价器的数码管动态显示时工作电流大约20mA,单片机绝对最大I/O口电流是15mA,数码管的电流超过单片机所能承受的电流,所以不能点亮数码管里面的LED,并且LED的电流一般要20毫安才能到达正常亮度,而且数码管一般时候都是几个LED同时点亮,所以不能直接点亮。所以我们在出租车计价器的设计中,为了能够让数码管更好的正常显示,我们采用了芯片74LS245来驱动数码管显示。因为74LS245的电流可达50mA左右,所以我们参加了74LS245的芯片。如下列图的所示。图5.5数码管驱动电路1.74LS245的概述74LS245是我们常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S),是8路同相三态双向总线收发器,可双向传输数据。图5.374LS245芯片管脚图利用74LS245来驱动数码管显示,从单片机的P2.0到P2.5分别接A0到A5管脚,进行数据的传送,其中AB/BA接高电平,控制数据从A到B进行传送,B0到B5分别接数码管的位选端,驱动数码管依次显示。P2.0到P2.5的数据通过A传送到B中的数据送到数码管,以到达显示数据信息的目的。下列图是74LS245与单片机相连的示意图图5.474LS245示意图第6章硬件仿真6.1protus软件介绍与使用Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方按键、LED、数码管等等。通过Proteus仿真软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室6.2keil软件介绍与使用KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境、将这些局部组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。6.2protus软件仿真绘制出租车的软件仿真图步骤分一下四步:
〔1〕查找所需要的元器件;
〔2〕根据电路图进行连线;
〔3〕加载所写完的C程序生成的.HEX文件即可以仿真。
通过以上步骤,来实现出租车设计的仿真实现,仿真如下列图所示:仿真开始时的仿真如图6.1:图仿真6.1计价器开始图各个界面的显示单价调节时界面图单价6.2调节显示里程的增加与价钱界面图6.3里程与价钱清零界面图6.4清零仿真第7章实物制作与调试7.1电路板焊接手工焊接是传统的的焊接方法,虽然批量电子产品生产已较少采用手工焊接了,但在电子产品的维修、调试中不可防止地还会用到手工焊接。焊接质量的好坏直接影响到维修效果。手工焊接是一项实践性很强的技能,在了解一般方法后,要多练;多实践,才能有较好的焊接质量。一、手工焊接一般分四步骤进行①准备焊接:清洁被焊元件处的积尘及油污,再将被焊元器件周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向焊接处时烫坏其他元器件。焊接新的元器件时,应对元器件的引线镀锡。②加热焊接:将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。假设是要拆下印刷板上的元器件,那么待烙铁头加热后,用手或镊子轻轻拉动元器件,看是否可以取下。③清理焊接面:假设所焊部位焊锡过多,可将烙铁头上的焊锡甩掉,用光烙锡头沾些焊锡出来。假设焊点焊锡过少、不圆滑时,可以用电烙铁头"蘸"些焊锡对焊点进行补焊。④检查焊点:看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。手工焊接对焊点的要求是:①电连接性能良好;②有一定的机械强度;③光滑圆润。二、易损元器件的焊接易损元器件是指在安装焊接过程中,受热或接触电烙铁时容易造成损坏的元器件,例如,有机铸塑元器件、MOS集成电路等。易损元器件在焊接前要认真作好外表清洁、镀锡等准备工作,焊接时切忌长时间反复烫焊,烙铁头及烙铁温度要选择适当,确保一次焊接成功。此外,要少用焊剂,防止焊剂侵入元器件的电接触点(例如继电器的触点)。焊接MOS集成电路最好使用储能式电烙铁,以防止由于电烙铁的微弱漏电而损坏集成电路。由于集成电路引线间距很小,要选择适宜的烙铁头及温度,防止引线间连锡。焊接集成电路最好先焊接地端、输出端、电源端,再焊输入端。对于那些对温度特别敏感的元器件,可以用镊子夹上蘸有元水乙醇(酒精)的棉球保护元器件根部,使热量尽量少传到元器件上。焊接过程要遵循以下原那么:焊接原那么是先焊接小的元件,再焊接大的。焊接过程要掌握烙铁的温度,以免温度过高损坏元器件。焊接过程中要特别注意的几点:〔1〕在焊接多引脚元件时最好焊接一个底座,这样可以防止器件烧坏。〔2〕51单片机引脚较多,它与外围电路连接时,要特别注意,以免连焊、虚焊。〔3〕有极性的电解电容,要注意其极性。〔4〕焊接前先弄清各芯片引脚排列方式。7.2硬件调试及排故障按照原理图将电路板焊接完毕,还要对电路板做认真的检查。确保相互之间改连接的引脚电气上一定相连。不该连接的引脚之间完全断开。设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中。各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进行检测,然后进行调试。在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。在本设计中采用了先焊接插槽的方法,这可以防止一些元件在焊接的过程中被烧坏。另外在焊接数码管时,要先排线,再焊接以免线路混乱。元件在选购时需要多备选元件,元件的型号较多,产品质量没有可靠保证,就防止不了我们买的元器件是损坏的,再加上焊接是在万能板上焊接的。就有可能发生虚焊,短路等情况的发生。所以,在焊接好每个元件后都要进行检测,以保证焊接无误。焊接好电路板,把相应的芯片插到对应的插槽中,再检一次,看芯片是否与插槽接触良好。驱动局部是检查74LS245与数码管和单片机接触的各个引脚,看是否焊接良好,另外要让芯片和插座有良好的接触。显示局部检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,那么应该检查驱动电路。第8章总结本次设计中,我们采用AT89C51芯片为核心器件,设计出了简单的出租车计价器,能够实现显示总金额和总里程,按键控制清零,调价。选题后,我便开始复习单片机方面的知识,也查阅、搜索了很多相关资料,进行总体设计与具体设计,同时也学习仿真软件Protues和编程软件KeiC。由于以前都采用汇编语言实现编程,对用C语言来实现单片机的编程不太习惯,花费了一些时间来熟悉C语言的编程。在设计开始,要形成流程图,它可以使设计有一定的逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编写、修改与调试,另外加上必要的注释,便于交流与理解。这次毕业设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,到达进步的目的。通过自身的努力以及相关图书资料的帮助,逐渐熟悉了KEIL、PROTEUS和C语言等软件的使用以及硬件焊接与检测过程中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识水平有限,实践知识和设计经验缺乏,在设计过程中难免存在一些问题。所焊实物尚有许多缺乏,个别预期功能还不能很好的实现,主要原因是考虑问题不周全,电路设计经验少,实际动手能力缺乏。恳请各位老师批评指正,以使我在以后的学习和实践中加以改良和提高。第9章附录1.参考文献[1]谭浩强.C程序设计〔第二版〕.清华大学出版社,2003[2]胡泉、谢芳.C语言程序设计.华中科技大学出版社,2023[3]戴佳.51单片机C语言应用程序设计实例精讲.电子工业出版社,2007[4]张毅刚.单片机原理及应用.高等教育出版社,2004[5]马忠梅.单片机的C语言应用程序设计〔第三版〕.北京航空航天大学出社,2004[6]潘永雄.新编单片机原理与应用.西安电子科技大学出版社,2003[7]肖玲妮、袁增贵.Protel99SE印刷电路板设计教程.清华大学出版社,2003[8]戴梅萼史嘉权.微型计算机技术与应用.清华大学出版社,2003[9]陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,2004[10]王卫平.电子工艺技术根底.电子工业出版社,2004[11]单片机学习网.m2.元器件清单序号文字标号名称数量规格型号备注1R9电阻器11K2R10电阻器12003R2、R3电阻器210K4C1、C2电容230pf无极性5C3电容110uf有极性6U1单片机1AT89C517U3单片片1AT24C028U2单片片174LS2459LED显示器1GN-5461AH9SW1-SW8按钮5TD-03B10START等按钮1TD-03B12X1晶振1UM-514RP1排阻1控制电源157805稳压管12.系统原理图图9.1系统原理图3.程序清单#include<AT89x51.h>#include<stdio.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintintxscode[6]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};//显示存储区intzxscode[6]={0x1f,0x2f,0x37,0x3b,0x3d,0x3e};//共阴显示片选码intcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};inti,j,flag;ucharsec;intkk=0;//路程标志位intjkk=0;//费用intjflag=0;//费用标志位intkflag=0;//路程标志位intzdflag=0;//中断标志位intkilo=0;//路程intdj=1;//路程单价 intdjflag=0;//路程单价biaozhiweisbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitkey5=P3^4;sbitSDA=P3^1;//IIC引脚sbitSCL=P3^0;voiddelay(){;;}voiddelay1(xms)//延时程序子程序{uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidstart()//IIC开始位{SDA=1;SCL=1;DelaySDA=0;delay();voidstop()//IIC停止位{SDA=0;delay();SCL=1;delay();SDA=1;}voidrespons()//IIC应答位{uchari;SCL=1;delay();while((SDA==1)&&(i<250))i++;SCL=0;delay();}voidinit(){SDA=1;delay();SCL=1;delay();}ucharread_byte()//从EEPROM读到MCU{uchari,j;for(i=0;i<8;i++){SCL=1;j<<=1;j|=SDA;SCL=0;}return(j);}voidwrite_byte(uchardate)//从MCU写到EEPROM{uchari,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;SCL=0;delay();SDA=CY;delay();SCL=1;delay();}SCL=0;delay();SDA=1;delay();}voidwrite_data(ucharaddr,uchardate)//在指定地址addr处写入数据date{start();write_byte(0xa0);respons();write_byte(addr);respons();write_byte(date);respons();stop();}ucharread_data(ucharaddr)//在指定地址addr读取数据{uchardate;start();write_byte(0xa0);respons();write_byte(addr);respons();start();write_byte(0xa1);respons();date=read_byte();stop();returndate;}voidxianshi()//显示程序子程序{for(flag=0;flag<6;flag++){ P0=xscode[flag];//送显示码 P2=zxscode[flag];//送片选码 delay1(2); P0=0; }} voidjijia()//计费子程序{if(kk<=2)//计价方案{jkk=4;//起步价4元 kk=2;}elseif(kk>2&&kk<=35){jkk=4+dj*(kk-2)+1;}elseif(kk>35&&kk<900) {jkk=4+2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗合同管理规范制度
- 第一单元+任务二《诗歌朗诵》课件-2024-2025学年统编版语文九年级上册
- 石河子大学《影像诊断学》2021-2022学年第一学期期末试卷
- 防三无食品安全
- 石河子大学《包装容器与纸盒结构》2023-2024学年第一学期期末试卷
- 沈阳理工大学《数据库系统原理》2022-2023学年期末试卷
- 沈阳理工大学《科技文献检索与写作》2022-2023学年第一学期期末试卷
- 沈阳理工大学《产品形导思维设计》2022-2023学年第一学期期末试卷
- 规范人事档案和劳动合同
- 合股开店协议合同书模板
- 上海家政行业报告
- 《咖啡培训课程》课件
- 2024年中粮集团中粮贸易有限公司招聘笔试参考题库含答案解析
- 《吸入性气体中毒》课件
- 抗菌药物临床应用课件
- 肿瘤健康预防知识讲座
- 护理专业人才培养方案
- 小学生航海知识讲座
- 心电监护并发症预防及处理
- 甲鱼宣传方案策划
- 夜班人员的补贴和福利政策
评论
0/150
提交评论