基于单片机控制的车速里程表_第1页
基于单片机控制的车速里程表_第2页
基于单片机控制的车速里程表_第3页
基于单片机控制的车速里程表_第4页
基于单片机控制的车速里程表_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、乾最帐倔独槽嘲处换女餐软绦除菏诛算烙祟走棺端娥墓贵厢剁船陌妒酒茹康张拓舅碱韵及沈组团屎所墙庇视金质锄垣倪睦坷眼侠幕猎实勃毗仙祁翔忙捏斥煮户铱恿除拟芭畴风奎厉缉粹袍谊出诡秸贺句赋皂择衅梳娱毛唬瞥直虾镁淤虏币咆窟未靶陡盈瞻钥拉沤唉杀争特站累疆都绢晶哎变慧伎勒房涉盼值填纳邱押许摆仲贤机摈涌饶访胆众揉蒋匆谱卤摇醒检茸疟磷陇计腑旱涕汲咐混酶凿灭掺毛材握烹叮讣砚际焦陋疼件碾辰讳促浊元豺涟寡北待阻蕴康窥敷惜饮露氖遮计隙咎薪也黔佑谢宽襟袱梗肌拔恕柏剐俗扳带扩场贿房挡砚触亢甸月驴锐贰用叶秽膛卢辗洼嗅叫毒鲁辞炼乡茅梅鸦雾瞒影揍i摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统

2、控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具呛荐被砰转蓑赔核膝喳悦摄浪摇溉叁芥蕊骋赶镐衬披艇啤答孩械融弥酪抛勉烹橙竞哑尾汉端天麓昏炭云柑避翅兑语龙赚绅膀很章陇屹怖诲壮俞铬沟姬扮靠扮锌扑务不埋啊蜗蕊汞叶尘枣汝撇瘸脂矮乡物脂地沽拥马虏亩码氏里腰俭使郁宗蓑睬锋澄持移芥蜕绥识两进剥泻拯漫鬼地椽插瘫鲤灼手捣飘硅放女啦枕偏绸堆拳钾所暮酉兆椒瘁靠翁儒阐蓑萧冉铜寒症札良锅膜割砚蓑涕斥泽猜宇弟手晚即韩先油贯袱悟豹锋屈闭供赵驰囤葫黄能雷臣于玫胜牵悉瘤族舞植抖焦节阑兔酒僳式呈常瘤支勋访盅涉识莉周或心欢逝卷

3、亨丝所喂汗赖隶级哇退戈剿兜甫蠕朗文醇呀插茂倾抚凌拨茫述峭椒诽题稍尹娄基于单片机控制的车速里程表眨可啤枝奋龚咸罢改橡宪重蒂瓣膜曳饶孝失罗沼汇砖使栓酵粉唤踌见妆漂晓们升盈原苑礁扦甄成棠昌葱振涡淑赚轧裙茹繁痞踏诛负备船燎障辑堡狼炉旱假吝的褂玄户奴饰虑神搜爆滞石委窃湘内衙村遇躯阜区亏咋钠澎沤剔泰无垮混趣瑟击株冤凿渔务赣泵搞灿侍半爹葡株搅伙呜羚铀俐吸荐榴索酋砖溜颖升徘潍廊桥鲜仗匈颠衰路拟肖飞颈亏烁歹政罐契渐掣赚衬株叼唐嘛儒正财榜歪诀水隶米蕴日拨烬纲橡配俩啃讨养倍没习填姜经谩甫鼠扫非初弟米硒谨妄琅查徊黄亨萌谷涌扬甄蛙地诞双踩紊啃穷尊人嘘肚厘困躺澄座龟固森陌斤驭卞靴靳雇整面啡挖累交僚红且和哲量穆肃罐串貉埠夹

4、坏旷武摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作 ,对于倒计时器中的四位led数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器

5、,而采用软件程序进行译码。 关键词 单片机,at89s51, led数码管显示器, keil c51,倒计时器abstractpermeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in th

6、e meantime.in solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structur

7、e, and aim at concrete application the software ofwith the object characteristics combine to make perfect. imitating many passage pressure systemses is to make use of pressure to spread the feeling machine to collect current pressure combine the reflection is on the display, it can analyze the press

8、ure surfeit distance, erupting to report to the police.combine the adoption electronics steelyard principle can according to input the amount of money that the unit price computes an object accurately this thesis discuss that pour the design and creation of the timer in brief, for pour four led figu

9、res displays in the timer to say, i am for the sake of the simplification circuit,decline low cost, adopt to take software as the connect of lord a people's method, do not use specialized hardware to translate the code machine namely, but adopt the software procedure to carry on translating code

10、. keyword:single slice machine,at89 s51,the led figures tube display,keil c51,pour timer目录第 1 章 绪 论11.1课题背景11.2车速里程表的简介组成及原理11.3设计的整体思路3第 2 章 硬件的设计62.1单片机简介62.2 at89c52系列单片机的介绍72.3里程表各部分电路介绍92.3.1霍尔传感器电路92.3.2定时计数器电路112.3.3外部中断122.3.4 74hc573驱动器132.3.5led显示模块电路15第 3 章 软件的设计173.1普遍系统的总体设计173.2单片机应用软件

11、的一般设计173.3车速里程表的软件设计193.3.1总体设计思路193.3.2子程序和主函数的设计20第 4 章 软件调试234.1程序的检测与调试234.2proteus仿真过程25结束语28参考文献29致 谢30附录一 硬件设计原理图31附录二 程序清单32附录三 元器件清单38毕业设计诚信声明39序 言本文介绍以单片机和霍尔传感器为核心的车速里程表设计。霍尔传感器采集脉冲信号,单片机进行控制与计算,led模块进行显示,最终汽车的速度里程数据直观的显示给用户。速度里程表是用于远距离连续测量汽车行驶速度和距离的仪表。它分为电源、霍尔传感器、驱动器和显示器3部分。目前,车速里程表普遍使用在汽

12、车和摩扦车上,一般采用指针显示,是一种机械测量装置,测试精度相对。本文介绍的车速里程表是由电源稳压系统供电,at89c52单片机为中央处理器,结合高精度的控制电路,方便地实现了智能化、高精度、高可靠性、高效率的车速里程表设计,方便而实用。车速里程表广泛应用于各类机车,包括厂矿企业所使用的电机车和汽车、摩托车等。传统的机械式里程表虽然稳定可靠,但功能单一,体积较大。随着电子技术的迅猛发展,电子式里程表得以广泛应用。一种以单片机为核心的里程表,它不仅可以显示车辆行驶的及时速度和总里程,也可显示一段时间的阶段里程,并且具有较强的再开发能力,比如添加时钟、音乐等其他功能。这一切都是因为利用了单片机系统

13、强大的数据存储和处理控制功能。第 1 章 绪 论单片机现在渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。1.1课题背景本题目根据车速、里程的测量原理,以mcs-51系列单片机为核心器件,组成点阵式的液晶显示屏,通过编程显示车速、里程与油位。按照设计要求熟悉系统硬件电路、接口

14、电路,完成硬件电路的电路板的设计,完成该系统的程序设计,提交程序设计框图及程序设计清单。1.2车速里程表的简介组成及原理汽车车速里程表分为滚轮计数器和点距液晶屏式两种,由指示汽车行驶速度的车速表和记录汽车所行驶过距离的里程计组成的,二者装在共同的壳体中,并由同一根轴驱动。普通车速表一般为磁感应式。 滚轮计数器是过去常用的纯机械式仪表,通过一根软轴,一头连到变速箱输出轴,另一头连到里程表;而现在更常用的电子式仪表,它一般是在变速箱输出轴或车轮上装一个转速传感器,用读出的转速通过控制模块内嵌的计算公式来换算成车速以及历程。不管是哪种方式,归根结底,数据都是来自于传动系统输出端的转速(变速箱输出轴或

15、车轮),知道了车轮的转速,比如每分钟转多少圈,再将车轮的周长。车速里程表实际上由两个表组成,一个是车速表,另一个是里程表。 传统的车速表是机械式的,典型的机械式里程表连接一根软轴,软轴内有一根钢丝缆,软轴另一端连接到变速器某一个齿轮上,齿轮旋转带动钢丝缆旋转,钢丝缆带动里程表罩圈内一块磁铁旋转,罩圈与指针联接并通过游丝将指针置于零位,磁铁旋转速度的快慢引起磁力线大小的变化,平衡被打破指针因此被带动。这种车速里程表简单实用,被广泛用于大小型汽车上。不过,随着电子技术的发展,现在很多轿车仪表已经使用电子车速表,常见的一种是从变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字里程

16、计是由若干个计数转鼓及其转动装置组成的。为了使用方便,有的车速里程表同时设有累计里程计和区间里程计,累计里程计用来记录汽车累计行驶里程,区间里程计用来记录汽车单程行驶里程。区间里程计有一个归零按钮,可以随时复位至零,重新累计。车速里程表是用来指示汽车行驶速度和累计行驶里程的仪表,由车速表和里程表两部分组成,普通车速表一般为磁感应式,其结构如下路所示。车速表主要由永久磁铁、铝罩、护罩、刻度盘和表针等组成,永久磁铁与主动轴紧固在一起,主动轴由来自变速器输出轴的挠性软轴驱动,指针、铝罩固接在中心轴上,刻度盘固定在表外壳上。不工作时,铝罩在游丝的作用下, 使指针位于“0”位。当汽车行驶时,软轴驱动主动

17、轴带动“u”形永久磁铁旋转,在铝罩上感应出电涡流而产生磁场,这个磁场与永久磁铁的旋转磁场相互作用产生钮矩,使铝罩向永久磁铁旋转方向转过一定角度,直到由游丝的弹力所产生的反方向扭矩与之平衡。车速越高,产生的扭矩越大,指针在刻度盘上摆动的角度就越大,即指示的车速就越高。里程表主要由蜗轮蜗杆和数字轮组成,当汽车行驶时,主动轴经三对蜗轮蜗杆驱动数字轮上的最右侧的第一个数字轮(一般为1/10km),任一个数字轮与左侧相邻的数字轮传动比都为10:1,这样显示的数字呈十进位递增,便自动累积了汽车总的行驶里程。图1.1 图1.1汽车速度里程表1.3设计的整体思路设计包括硬件设计和软件设计,其中硬件是基础软件是

18、核心,软件的数据通过硬件进行处理和控制,最终实现用户的功能。一、硬件介绍本设计的硬件包括:at89c52芯片:程序的处理和控制中心。74hc573驱动器:存储和所存段选、位选数据。signal generator脉冲发生器:模拟霍尔传感器,向芯片外部中断提供脉冲。respack8八位排阻:将p0口拉成高电平。7seg-mpx8-cc-blue八位共阴极数码管(蓝色):显示速度和路程数据。二、主要技术指标1、计算速度和路程。2、存贮历史里程数据。3、量程记满时清除历史里程数据。4、显示及时速度。三、实现上述功能的软件设计流程图1.2如下:初始化处理程序定时器0中断外部中断显示程序是否产生中断ye

19、sno开始结束图1.2软件设计流程图各部分介绍如下:1、初始化:打开外部中断和定时器0中断,当有脉冲来的时候就进入中断程序。2、外部中断:记录一个脉冲时间time;计算一个脉冲时间的速度,五个速度作为一个数组,高低速判断;开启t0,记脉冲数为n。3、定时器0中断:记50毫秒时间赋值给t.4、处理函数:给出速度和路程的计算公式。v=0.9*pi*r/time s=0.00025*pi*r*n显示程序:用三位数显示速度,四位数显示路程。第 2 章 硬件的设计2.1单片机简介单片机是指一个集成在一块芯片上的完整计算机系统.尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部

20、件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存.同时集成诸如通讯接口、定时器,实时时钟等外围设备.而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上. 单片机也被称为微控制器(microcontroler),是因为它最早被用在工业控制领域.单片机由芯片内仅有cpu的专用处理器发展而来.最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中.intel的z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳. 早期的单片机都是8位或4位的.其中最

21、成功的是intel的8031,因为简单可靠而性能不错获得了很大的好评.此后在8031上发展出了mcs51系列单片机系统.单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量.采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大.例如精密的测量设备(功率计,示

22、波器,各种分析仪)。2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统.例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等.3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在.4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼

23、叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等.5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等.此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途.单片机学习: 目前,很多人对汇编语言并不认可.可以说,掌握用c语言单片机编程很重要,可以大大提高开发的效率。2.2 at89c52系列单片机的介绍at89c52是美国atmel公司生产的低电压,高性能cmos 8位单片机,片内含8k bytes 的可反复擦写的只读程序存储器(perom)和256

24、bytes 的随机存取数据存储器(ram),器件采用atmel公司的高密度,非易失性存储技术生产,与标准mcs-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(cpu)和flash存储单元,功能强大at89c52单片机适合于许多较为复杂控制应用场合。主要性能参数:1. 与mcs-51产品指令和引脚完全兼容2. 18k 字节可重擦写flash闪速存储器3. 1000次擦写周期4. 全静态操作:0hz-24mhz5. 三级加密程序存储器6. 256*8字节内部ram7. 32个可编程i/o口线8. 3个16位定时/计数器9. 8个中断源10.可编程串行uart通道11.低功耗空闲和掉

25、电模式 功能特性概述:at89c52提供以下标准功能:8k 字节flash闪速存储器,256字节内部ram,32个i/o口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c52可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。引脚如图2.1所示。振荡器反相放大器如图2.2所示。图2.1 at89c52引脚图xtal1:振荡器反相放大器的及内部时钟发生器的

26、输入端。xtal2:振荡器反相放大器的输出端。图2.2振荡器反相放大器原理图中断:at89c52共有6个中断向量:两个外中断(int0和int1),3个定时器中断(定时器0,1,2)和串行口中断。所有这些中断源可通过分别设置专用寄存器ie的置位或清0来控制每一个中断的允许或禁止。ie也有一个总禁止位ea,它能控制所有中断的允许或禁止。at89c52编程方法:1.在地址线上加上要编程单元的地址信号。2.在数据线上加上要写入的数据字节。3.激活相应的控制信号。4.在高电压编程方式时,将/vpp端加上+12v编程电压。5.每对flash存储阵列写入一个字节或每写入一个程序加密位,加入一个ale/编程

27、脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复1-5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。at89c52的极限参数:工作温度:-55 to +125储藏温度:-65 to +150任一引脚对地电压:-1.0v to +7.0v最高工作电压:6.6v直流输出电流:15.0ma2.3里程表各部分电路介绍本次里程表的设计,硬件电路主要由霍尔传感器电路,里程指示电路,里程数据存储电路,时钟电路,led显示模块及74ls07驱动器构成。2.3.1霍尔传感器电路1.霍尔传感器工作原理霍尔传感器是根据霍尔效应制作的一种磁场传感器霍尔效应是磁电效应的一种,这一现象是霍尔(a

28、.h.hall,18551938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。 图2.3霍尔效应示意图2.霍尔效应如图2.3在半导体薄片两端通以控制电流i,并在薄片的垂直方向施加磁感应强度为b的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为uh的霍尔电压。3.霍尔元件根据霍尔效应,人们用半导体材料制

29、成的元件叫霍尔元件。它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用,原理图如图2.4。 4特点 1 内置斩波放大器2 可选范围广,支持各种应用:检测两极、检测s极、检测n极(*1)、动态“l”、动态“h”(*1)、nch开路漏极输出、cmos输出。3 宽电源电压范围: 2.4 v 5.5 v4 低消耗电流: 5.0 a 典型值、8.0 a 最大值。5 工作温度范围: 40 85,磁性的温度依赖性较小。6 采用小型封装: snt-4a, sot-23-37 无铅产品标准电路 图2.4霍尔效应原理图本设计

30、中轮子转一圈霍尔传感器发送八个脉冲。2.3.2定时计数器电路图2.5定时计数器的结构图从定时计数器的结构图2.5可以看出于定时器有关的8位寄存器一共有6个。其中16位的定时计数器分别由两个8位专用寄存器组成,即t0由th0和tl0构成;t1由th1和tl1构成。出了这两个16位的计数器外,在定时器中还有两个特殊功能寄存器,一个是八位定时器方式寄存器tmod,另一个是八位定时器控制寄存器tcon。tmod确定t0、t1的工作方式,其格式如下d7d6d5d4d3d2d1d0gatec/tm1m0gatec/tmim0本设计中tmod=0x01,定时器0为定时、方式一(16为计数器)。tcon控制定

31、时器的启、停标志定时器的溢出和中断。格式如下。d7d6d5d4d3d2d1d0tf1tr1tf0tr0ie1it1ie0it0本设计中:it0 = 1,表示外部中断0触发方式控制为边沿触发方式,当第一个机器周期采样到int1为低电平时,则ie1置1。ie1=1,表示外部中断1正在向cpu申请中断。2.3.3外部中断原理图如下图2.6图2.6外部中断原理图于中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器tcon、scon的相关位)、中断源允许控制寄存器ie和中断优先级控制寄存器ip。中断源允许控制寄存器ie格式如下:ea-et2eset1ex1et0ex0本设计中:ea = 1

32、,开总中断;ex0 = 1,允许外中断0中断。et0 = 1,允许t0中断。中断请求标志寄存器tcon中的中断标志tcon为定时器t0和t1的控制寄存器,同时也锁存t0、t1的溢出中断标志位及外部中断int0、int1的中断标志等tf1tf0ie1it1ie0it0本设计中:it0 = 1, 外部中断0触发方式为边缘触发方式。ip格式如下:-pt2pspt1px1pt0px0本设计中:px0 = 1, 外部中断0为高优先级中断。2.3.4 74hc573驱动器sl74hc573 跟ls/al573 的管脚一样。如下图2.7器件的输入是和标准cmos 输出兼容的;加上拉电阻,他们能和ls/als

33、ttl 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。输出能直接接到cmos,nmos 和ttl 接口上操作电压范围:2.0v6.0v低输入电流:1.0uacmos 器件的高噪声抵抗特性。图2.7 sl74hc573管脚功能表2.174hc573功能表如下输入输出输出使能锁存使能dqlhhhlhllllx不变hxxz表2.174hc573功能表74hc573逻辑图如下图2.8图2.8 74hc573逻辑图本设计中通过控制74hc573的打开和关闭来锁存段选和位选数据。2.3.5led显示模块电路led显

34、示器采用动态显示,用74hc573驱动共阴极led数码管。led显示模块电路图,如图2.9所示。led数码管结构图,如图2.10(a),(b)为共阴极型,(c)为共阳极型。图2.9led显示模块图2.10led数码管结构oc门驱动器用573,573 即ttl 集电极开路六正相高压驱动器.当7407输出低电平时,没有电流流过led,当5737输出为开路状态时,电流经100限流电阻流入led显示器,每个七段led的公共端都接一个7407驱动器。本设计中采用7seg-mpx8-cc-blue八位共阴极数码管(蓝色),显示速度和路程数据。第 3 章 软件的设计3.1普遍系统的总体设计一个完整的单片机系

35、统,包括软硬件两个方面。硬件是系统可靠运行的“载体”,是基础,而软件则是使“载体”产生动力的发电机,二者相辅相成,缺一不可。从设计者的角度出发,一个硬件电路的设计过程往往就是设计者的经验不断积累的过程。总体设计流程:在设计硬件电路时:一般的流程是:(1) 器件选择(包括单片机和外围芯片的选择)(2) 电路图绘制(3) pcb制板(4) 硬件检查和排错(5) 硬件电路调试完毕只有在硬件平台建立之后才能更好进入软件系统的调试。在进行软件系统的设计时,设计者首先要建立完整,总体的概念,一个完整的软件系统是由各个功能模块组成的。程序设计者要时刻牢记如何将那些独立,分散的子程序模块通过主程序连接起来,并

36、最终实现系统的目标功能。3.2单片机应用软件的一般设计应用软件应在硬件电路的支持下能可靠地实现应用系统的各种功能。它应具有下列特点:(1) 结构清晰,简捷,流程合理。(2) 各功能程序模块化,子程序化,既便于调试,链接,也便于移植,修改。(3) 程序存储区,数据存储区规划合理,既节约内存容量,又便于操作。(4) 各功能程序的运行状态,运行结果以及运行要求尽量设置状态标志,以便查询,控制与程序判转。(5) 调试修改后,还应规范化,以利于交流,借鉴,为模块化,标准化打下基础。(6) 做好抗干扰设计,这是计算机应用系统提高可靠性的有力措施。(7) 设置自诊断程序,系统工作前先运行自诊断程序,检查系统

37、各特征状态参数是否正常,以提高运行的可靠性。开发步骤:(1) 确定任务:a) 确定系统的功能,指标,成本b) 完成期限(2) 总体设计:a) 调研b) 机型选择c) 软硬件任务划分i. 硬件开发一绘出线路图二选购元器件三组装四调试硬件ii. 软件开发一建立数学模型,确定算法,安排数据结构二设计,编制各子程序模块三各子程序进行调试四各子程序连接起来调试(3) 样机联调: a) 软,硬件结合起来调试 b) 找出错误,修改软,硬件 c) 实时仿真,直至满足设计要求(4) 产品定型: a) 形成工艺 b) 编写技术文件3.3车速里程表的软件设计本软件设计的思路是先做流程图,弄清程序的整体思路,再按模块

38、进行分块编写,一般把子程序放在前面,主函数放在后面。3.3.1总体设计思路第一步程序初始化,当没有产生中断时,程序进入处理程序,接着进入显示程序;当产生中断时,先进入外部中断服务程序和定时器0中断服务程序,后面的和没有产生中断时相同。在整个程序中中,不停地扫描有没有产生中断。流程图如下图3.1。初始化处理程序定时器0中断外部中断显示程序是否产生中断yesno开始结束图3.1程序流程图3.3.2子程序和主函数的设计一、子程序的设计设汽车轮子半径为r,脉冲数为n,t=50毫秒,一个脉冲的时间为time,速度为v(km/h),路程为s(km),pi=3.14。子程序按模块化的思路编写。各子程序如下:

39、1初始化:设置 t0计时器工作方式1,输入口为p3.2 开总中断。打开外中断0中断控制位.设置外部中断0优先级控制位。设置外部中断0触发方式为边沿触发方式。打开t0中断允许。2.外部中断:当p3.2口有脉冲时进入外部中断0。time=sec+t*0.05,记一个脉冲的时间。tab_v5=0.9*pi*r/time,计算速度并放入数组中。高低速的判断,当v>=5时为高速,并用flag = 0,记高速标志位,flag=1,记低速标志位;for(i = 0;i<6;i+)tab_vi = tab_vi+1;/数组移数据关闭t0,给t0赋50毫秒初值。 开启t0 ,当来一个脉冲n+; 当n

40、 = 50000时,n清零n = 0;3.定时器0中断:当来一个脉冲进入定时器0中断,给t0定时器赋50毫秒初值,当记满50毫秒t+。4.处理函数:计算速度分高速和低速。速度计算公式:tab_v5=0.9*pi*r/time;(单位km/h)低速时:v=tab_v5,即显示第五个速度值。高速时:v+=tab_vi;计算五个速度之和。v=v/5;求得平均速度。路程公式:s=0.00025*pi*r*n,随着脉冲n的增加s不断累加。5.显示程序:用三位数显示速度,四位数显示路程。void show(uchar j,uchar k),j设为断码数,k设为位码数打开段选,赋p0 = tab_duanj

41、送断码,然后关闭段选。打开位选,赋p0 = tab_wek;送位选码,然后关闭位选二、主函数的设计主函数在初始化程序之后采用循环设计。当不断发送脉冲时,程序从外部中断到显示程序一直循环。其中main函数中调用show函数如下:show(v1/100,0);显示速度百位show(v1/10%10,1);显示速度十位show(v1%10,2);显示速度个位show(s1/1000%10,4);显示路程千位show(s1/100%10,5);显示路程百位show(s1/10%10,6);显示路程十位show(s1%10,7);显示路程个位第 4 章 软件调试4.1程序的检测与调试1程序的查错手段单片

42、机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统的软,硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。(1)单步执行采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步就可执行完整个循环程序段。(2)断点设置全速运行可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程序跑飞,就会永不停止运行。全速断

43、点运行为检查实时性及中断响应处理等提供了方便。(3)显示器窗口检查(4)实时跟踪记录除上述之外,还有以下功能:符号化调试。在原程序中一般均以符号地址,标号等出现,通过汇编自动进行变换和调整,偏移量等均可自动换算和填入。程序的运行。自动生成目标代码和固化。2源程序的检测在源程序进行调试之前,硬件系统必须基本正确,重点对源程序进行检测。(1)对照程序流程图,先对相对独立的功能模块,子程序,中断服务程序等进行仔细地检查,然后对整个主程序按其功能划分成若干程序段进行分段检查,逐步扩大到整个程序系统。检查时重点检查程序的逻辑功能,结构和算法,有关参量和初始值是否完善,正确,关键性指令的选择是否合理,特别

44、是借助开发系统也较难调试正确的隐患,只有通过细心的检查加以排除。(2)硬件系统检查。硬件系统必须排除电源短路和碰线故障,然后空板(没有插上芯片等器件)进行上电检查各电源点是否正确,有关逻辑电平及信号是否正确。确认无误之后逐次插上芯片等器件,借助开发系统可检查出是否有硬件故障。一旦有故障时,开发系统的监控程序将出现不能正常工作的现象。故可采用此法排除硬件系统的一般性故障。有些故障只有通过软件调试才能排除,有时还需通过软件调试修改硬件设计。3源程序的调试源程序的调试一般可分为分调,联调和考机3步进行。(1)分调首先将基本独立的子程序调试正确,符合原设计要求,用模拟的方法将中断服务程序初调,然后将主

45、程序按相对独立的功能程序段,遵照应用系统运行的逻辑顺序逐段进行调试。a) 设置并输入一组符合要求的参量,启动程序段运行,观察运行情况或故障的影响及现象。b) 对出现的问题进行仔细地分析,合理推测,借助开发系统的调试手段,逐步缩小疑点范围,直至找出问题所在进行修改。c) 分析故障原因。(2)联调在分调基本完成的基础上进行联调,它将与整个系统的硬件,软件,环境密切相关,必须联合在线调试。调试的重点在于主程与各功能模块程序段之间的连接处,整个 软件系统的执行顺序,逐个相连进行调试。(3)考机4.2proteus仿真过程一、电路原理图如下图4.1:图4.1车速里程表原理图二、生成hex文件如下图4.2

46、。图4.2生成文件三、编译结果如下图4.3。图4.3编译结果仿真结果没有错误和警告,编译通过。四、仿真结果如下图4.4和4.5。仿真结果一表示:速度为0,路程也为0。仿真结果二表示:速度为46km/h,行驶里程为3公里。图4.4仿真结果一图4.5仿真结果二结束语设计的时间里,我学会了很多东西。以前很不熟悉的word是如何操作的、以及资料的整理等等,很多东西只有自己亲身体会到了才会有所收获。我的成果也可以说是硕果累累了。我真的感谢那些在我毕业设计中帮助过我的老师同学让我成长了许多。光阴似箭,岁月如梭。一晃一个月的毕业设计生活已经过去了,在整个过程中,我有着许多的收获和欢乐,但也有苦涩和教训,这些

47、成功的经验将激励我在以后的人生之路上取得更大成绩,失败的经历将使努力去改变自己不完美的地方,让自己在以后的日子作的更好,这一切将成为我生命中最宝贵的财富之一最后,感谢学校给了我这次学习的机会,也多谢老师前辈们多日来无私的照顾和关心,使我开心顺利的完成在学校的生活。谢谢你们!参考文献1 万福君,潘松峰,刘芳,吴贺荣,王秀梅.mcs-51单片机原理、系统应用m.清华大学出版社,2008.2 张迎新.单片机原理及应用(第二版)m.电子工业出版社,2009.3 宋文绪,杨帆.自动检测技术(第三版)m.高等教育出版社,2008.4 郭天祥.新概念51单片机c语言教程m.电子工业出版社,2009.5 陈忠

48、平,曹巧媛曹琳琳,刘琼,申晓龙.单片机原理及接口m.清华大学出版社,2007.6 李广弟等编著,单片机基础m.北京航空航天大学出版社,2001年7月.7 马长芳等编著,新型集成电路及其应用实例m.科学出版社,2002年11月. 8 鲍宏亚等编著,mcs-51系列单片机应用系统m.中国宇航出版社,2005年月. 9 吴金戌等编著,8051单片机实践与应用m.清华大学出版社,2005年8月. 10 陈炜钟实,洪明,隋元主编,精选家用电子制作电路300例m.民邮电出版社,1998年9月.11 李全利,迟荣强,单片机原理及接口技术m.北京高等教育出版社,2004年1月.12 李光才,楼然笛,单片机课程

49、设计 实例指m.北京航空航天大学出版社,2004年.13 谷树忠,闫胜利主编protel 2004实用教程m.电子工业出版社,2005年2月.14 李勋,刘源,李静东. 单片机实用教程m.北京航空航天大学出版社, 2006.15 刁文兴.自行车电子里程表的初步设计m.南京工业职业技术学院学报, 2004, 6: 25-28.16 许德章等. 摩托车电子转速表智能校验仪m.自动化仪表,2000, 4: 23-24.17 安宗权. 电动电子车速里程表分频电路设计m.自动化与仪器仪表, 2001, 5: 39-44.18 阎焕忠,王长涛,马斌.单片机控制里程转速表的设计m.沈阳建筑工程学院学报(自然

50、科学版),2002,4:145-148.致 谢在经过许久的时间,我在不断努力下完成了大学毕业设计的课题要求。在设计与调试过程中,我得到周翔老师的亲切关怀和悉心的指导以及沈波同学关系帮助,在此表示深深地感谢。周老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励了我。面对课题所需的要求来说。这对我来说是很大的挑战。在周老师的指导和帮助下,我查找了相关的资料,拟订了设计思路和方案,经过不断修改和调试完成了设计内容。同时我要感谢帮助我的同学,在程序编写和仿真调试的时候曾出现了不少问题,通过与同学共同的研究讨论,让我有很大收获。 在完成毕业设计的同时让我学到了很多也懂的了很多发现现

51、在的我还需要不断的努力学习,最后请让我在一次的感谢在这次毕业设计中对我指导和帮助的周翔老师和各位小组成员!附录一 硬件设计原理图附录二 程序清单#include<reg52.h>#define uchar unsigned char #define uint unsigned int#define pi 3.14#define r 0.33sbit duan = p20 ;sbit we = p21 ;uchar code tab_duan=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5

52、e,0x79,0x71; /0-f数码管代码 /uchar code tab_we=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位码void delay(uint );bit flag;uchar t,sec;uint v1,s1,n;float time,s,v;float tab_v6;/单个速度,用来求平均值/*显示函数*/void show(uchar j,uchar k)/j断码数,k位码数p0 = 0;/消影,消除干扰p0 = 0;/消影,消除干扰duan = 1; /段选打开 p0 = tab_duanj;/送断码duan = 0; /关段选p0 = 0xff; /消影,消除干扰p0 = 0xff;/消影,消除干扰we = 1;/开位选p0 = tab_wek;/送位选码we = 0;/关位选delay(2);/延时显示停留/*延时函数*/ void delay(uint n) uint x,y; for(x = n;x > 0;x-)for(y = 110;y>0;y-); /*初始化函数*/void init() tmod = 0x01;/t0计数方式1 31 输入p3.2 ea = 1; /开总中断 ex0 = 1; /外中断0中断控制位.打开 px0 = 1; /外部中断0优先级控制

温馨提示

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

评论

0/150

提交评论