ImageVerifierCode 换一换
格式:DOC , 页数:78 ,大小:815.50KB ,
资源ID:4015788      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4015788.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(自行车里程表的设计知识分享.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

自行车里程表的设计知识分享.doc

1、自行车里程表的设计精品文档学 号:1434060103毕业设计说明书GRADUATE DESIGN设计题目:基于单片机的自行车里程速度表设计与实现学生姓名:程晓锋专业班级:2014自升本1班学 院:继续教育学院指导教师:邸志刚 副教授2016年11月30日收集于网络,如有侵权请联系管理员删除 摘 要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 AT89C52 单片机为核心,霍尔传感器测转数

2、,实现对自行车里程/速度的测量统计,采用 1302 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LCD实时显示。文章详细介绍了自行车的速度里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性。关键词:里程/速度;霍尔元件;单片机;LCD显示AbstractWith the developing of peoples life, the bicycle is not only the universal tool of tra

3、nsportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Ha

4、ll element is elaborated. By AT89C52 as kernel, using Hall element to measure revolution, the measure and statistic are achieved. The range information is saved by when the power is off, the bicycle speed can be displayed on LCD. In this article, the hardware circuit and software design of bicycle m

5、ileage/speed instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language;

6、the program is designed in the mode of modules. The system has simple hardware, common sub-program.KEY WORDS: Mileage / speed; Hall element; Single chip microcomputer; LCDdisplay . 前 言1第1章 绪论21.1 课题背景21.2 设计的主要内容及技术指标2第2章自行车里程表总体方案设计32.1任务分析与实现32.2自行车里程表硬件方案设计32.3自行车里程表软件方案设计4第3章 自行车里程表硬件模块设计53.1 里程

7、表的硬件设计53.1.1 霍尔传感器电路模块设计53.1.2 按键电路模块设计63.1.3 电源电路模块设计63.1.4 时钟电路模块设计73.1.5 LCD显示模块电路模块设计73.1.6 串口下载电路模块设计83.1.7 复位电路模块设计93.1.8 晶振电路模块设计10第4章 软件的设计114.1 里程表的软件设计114.1.1 里程速度功能模块实现114.1.2 日历时钟模块功能144.1.3 LCD1602液晶显示模块17第5章 软件调试215.1 程序的检测与调试215.1.1 Keil软件简介215.1.2 编制单片机应用程序的步骤和难点215.2 系统仿真调试245.2.1 程

8、序的查错手段25第6章 结论27第7章 谢辞28参考文献29附录1 硬件设计原理图30附录2 硬件电路仿真图31附录3 软件程序32译文69C语言69前 言本文介绍里程表设计以单片机和霍尔传感器为核心。霍尔传感器将到来的低电平脉冲信号输入到单片机进行控制与计算,再采用LCD模块进行显示,使得自行车的里程数据能直观的显示给使用者。自行车里程表是用于远距离连续测量自行车行驶距离的仪表。它分为电源、霍尔传感器和显示器3部分。随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速度表

9、作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。本文介绍的自行车里程表是由电源稳压系统供电,AT89C52单片机为中央处理器,结合高精度的控制电路,方便地实现了智能化、高精度、高可靠性、高效率的自行车里程表的设计,并且使用方便。里程表以单片机AT89C52为核心,由系统输入、单片机部分和系统输出组成。第1章 绪论单片机自从推出以来,以其超小型化、结构紧凑、可靠性高、成本低等优点被人们广泛接受,从而应用于工业、电讯、数据处理、仪器仪表等多方面。自行车里程表是自行车的重要配件,在自行

10、车仪表中占重要位置,但几十年来其发展变化并不大,现在国外很多车中使用了数字里程表,但在国内还并不多见。1.1 课题背景里程表的原理很简单,车轮的圆周长是恒定不变的。由此可以计算出每走一里路车轮要转多少圈,这个数也是恒定不变的。因此只要能够自动把车轮的转数积累下来,然后除以每一里路对应的转数就可以得到行驶的里程了。这样简单的原理古人就已经发现,并且开始使用了。“记里鼓车”就是这样的装置,它是利用上述原理,再加上巧妙的机构使得车轮每转一定圈数就自动敲一下鼓,此时只要有专人把它记下了,就可以得到所走里程。此装置十分巧妙无论白天、黑夜均可使用,而且盲人也可使用,体现出了我国古代劳动人民的聪明才智。不过

11、,如果车上没有人默记鼓声数目的话,单靠记里鼓车本身还不能累计一共走了多少里。而且车停下来之后谁也不知道这车曾经走过多少里路,这是美中不足之处。从保护环境和经济条件许可等因素综合来看,自行车目前乃至今后都有着广阔的发展空间。目前市面上自行车的速度表和里程表都是机械的,看起来不够直观与方便。如果能用LCD直接显示出来里程数或速度值,就可节省用户的时间及精力处理自行车行进过程中的突发事件。1.2 设计的主要内容及技术指标单片机软件设计程序主要包括里程设计模块;存储历史里程数据设计模块;里程的显示设计模块;里程公里数的累计设计模块;里程公里数的清0设计模块。里程计数时有一盏指示灯闪烁;用LCD1602

12、进行显示公里数;用个开关实现对里程公里数的清0功能;用霍尔传感器实现对里程车轮圈数的累计功能。主要技术指标:一. 完成里程的显示功能二能存贮历史里程数据三能够清除历史数据四有一盏指示灯第2章自行车里程表总体方案设计2.1任务分析与实现本设计的任务是:以STC89C52单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过STC89C52测出总的脉冲数和每一秒所转的圈数,再经过单片机的计算得出,其结果通过1602LCD显示屏显示出来。本系统总体思路如下:假定车轮的周长为L,在车轮上安装m个磁钢,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=

13、1。车轮每转一圈,开关型霍尔传感器就会采集到一个脉冲信号,并从引脚端输入,传感器每获取一个脉冲信号代表车轮转动一圈,即圈数qs加1,圈数qs与设置的自行车车轮的周长L的乘积即为当前所走里程。同时可以从定时器TI知道在1秒内单片机收到的脉冲个数,即车轮所转的圈数,而自行车车轮周长与车轮所转圈数的乘积即为这1秒内自行车所走的距离,距离除以1秒的时间,即为瞬时速度。平均速度的计算大体上与瞬时速度一样,从计数器T1知道在t秒内车轮所转的圈数后,与自行车车轮周长相乘得到t秒内自行车所走的距离,距离除以t即为平均速度。另一个定时器T0则可以用来实现秒表的计时。最后LCD显示屏显示内容的切换可以由键盘的输入

14、来实现,而秒表计时的开始、暂停、清零及里程的清零也可以用键盘的输入来实现。设计时,应综合考虑测速精度和系统反应时间。本设计采用的脉冲计数方法,用来计算速度具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。另外,还应尽量保证其他子模块在编程时的通用性和高效性。最终实现目标:采用单片机作控制,自行车里程表具有里程、速度与秒表计时显示功能。通过不同按键的按下切换里程、速度、秒表三者之间的显示,也可以实现秒表计时的开始、暂停、清零及里程清零的功能,方便地实现了智能化、高精度、高可靠性、高效率的自行车里程表的设计,并且使用方便。2.2自行车里程

15、表硬件方案设计根据本设计的要求,经研究和分析,硬件部分主要分为信息采集、信息处理、键盘输入和信息显示四大模块,其中的核心是信息处理,所用芯片为STC89C52单片机。系统硬件框图如图2-1所示:外部信号信息采集STC89C52显示信息键盘输入图2-1系统硬件框图2.3自行车里程表软件方案设计通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括显示子程序、数据处理子程序(分为里程子程序、速度子程序)、秒表计时子程序、脉冲接收子程序等等。显示子程序是通过编程将数据处理

16、的结果送给显示器显示。数据处理子程序是将得到的车轮所转的圈数与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。秒表计时子程序是采用计数器T0通过编程实现秒表计时工作。脉冲接收子程序是通过编程实现脉冲的计数,即对车轮所转的圈数计数。系统软件框图如图2-2所示:外部信号脉冲接收键盘输入数据处理显示信息定时器1中断定时器0中断外部中断0图2-2系统软件框图第3章 自行车里程表硬件模块设计3.1 里程表的硬件设计本次里程表的设计,硬件电路主要由霍尔传感器电路,按键电路,电源电路,时钟电路,LCD显示电路,串口下载电路,复位电路,晶振电路构成。3.1.1 霍尔传感器电路模块设计A44E集成

17、霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部分组成,如图3-1所示。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输

18、出低电压,三极管截止,使OC门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。测量时,在1、2两端加5V直流电压,在输出端3与1之间接一个负载电阻,输出端3接单片机INT0/P3.2,如图3-2所示。图3-1 集成开关型霍尔传感器图3-2 霍尔传感电路3.1.2 按键电路模块设计键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘是单

19、片机系统设计中一种主要的信息输入接口,合理的设计,不仅可以节省系统的设计成本,更可使仪器设备的操作变得更为简单、方便,很大程度上提高系统综合性能。本次设计中通过按键来更改自行车车轮半径,并控制显示自行的车里程和平均速度,s3刷屏,s1加数据,s2减数据。 图3-3 按键电路3.1.3 电源电路模块设计 为整个电路提供电源。电路由7805三端稳压集成电路、电容、LED灯、1千欧姆的电阻、开关和直流电源组成。7805三端稳压集成电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。注意事项:电源不要超过20V,3A,防止意外。 图3-4 电源电路 3.1.4 时钟电路模块设计

20、 DS1302与单片机的连接也仅需要3条线:RST引脚(高电平时启动数据传送)、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。图3-5 时钟电路3.1.5 LCD显示模块电路模块设计 LCD1602引脚介绍:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enab

21、le)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图3-6 显示电路3.1.6 串口下载电路模块设计串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。单片机的串行通信可用于与计算机之间传送数据,一般采用RS232接口,但是由于TTL电平和RS232电平不兼容,所以两者对接时,必须进行电平转换,其原理图如图2-9。RS232与电平转换最常用的芯片有MC1488、

22、MC1489和MAX232,各厂家生产的此类芯片虽然不同,但原理都一样。在本次设计选用的是美国MAXIM公司的MAX232芯片,由此构成程序下载电路,以便调试烧写程序。它是RS232双工发送器/接收器接口电路芯片,由于芯片内部有自升压的电平倍增电路,将+5V转换成-10+10V,满足RS232标准对逻辑1和逻辑0的电平要求,工作时仅需要单一的+5V电源。图3-7 串口下载电路3.1.7 复位电路模块设计上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5

23、V加到了RET/VPD端从而复位称为手动复位。电路图如图3-8所示。图3-8 复位电路3.1.8 晶振电路模块设计晶振电路用于产生单片机工作时所需的时钟控制信号。通过单片机的引脚XTAL1,XTAL2跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。时钟频率直接影响单片机的速度,晶振电路的质量也直接影响单片机系统的稳定性。晶振电路电路图如图3-9所示。图3-9 晶振电路第4章 软件的设计4.1 里程表的软件设计 本自行车里程表软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、LCD显示模块、速度计算与显示模块、里程计算与与显示模块、数据存储、读取模块、定时器中断服务模块、时钟模

24、块以及其他功能模块组成。本设计的主要内容是自行车里程速度表,日历时钟为附加功能,在此进行简单介绍。4.1.1 里程速度功能模块实现里程速度功能程序流程图如图4-1所示。开始读取EEPROM数据检测按钮处理直径设置初始化设置特殊功能寄存器、置定时常数、开中断、清屏等等待中断刷新累计行驶时间刷新里程、速度存储里程数据等切换屏幕显示内容INT0INT1 图4-1 里程速度功能程序流程图程序代码如下:void main()EEPROM_LXRD(0x43,0,3,number);qs=number0;as=number1;bs=number2;init_LCD(); 初始化dispmore(1,1,-

25、Digital Meter-,16);for(i=0;i25000;i+);dispmore(2,1, Welcome ,16);显示欢迎信息for(i=0;i25000;i+);dispmore(2,1, Welcome. ,16);for(i=0;i25000;i+);dispmore(2,1, Welcome. ,16);for(i=0;i25000;i+);dispmore(2,1, Welcome. ,16);for(i=0;i25000;i+);dispmore(2,1, Welcome. ,16);for(i=0;i25000;i+);dispmore(2,1, Welcome.

26、 ,16);for(i=0;i30000;i+);W1302(0x90,0xa5);/打开充电二级管 一个二级管串联一个2K电阻 W1302(0x8e,0x80);/写保护,禁止写操作 wrcom(0x01);MODE=0;P2=0xff;qs2=0;tr1=5;tr2=5;wrcom(0x01);dispmore(1,1,Set Bike Tire L=,16);wrcom(0xc9);dispone(c);wrcom(0xca);dispone(m);P2=0xff;wrcom(0xc6);dispone(tr1+0x30);wrcom(0xc7);dispone(tr2+0x30);wh

27、ile(1)if(K1=0)for(i=0;i9)tr1=0;wrcom(0xc6);dispone(tr1+0x30);for(i=0;i32000;i+);if(K2=0)for(i=0;i9)tr2=0;wrcom(0xc7);dispone(tr2+0x30);for(i=0;i32000;i+);if(K3=0)for(i=0;i7) id=0;while(K3=0);switch(id)case 0:sec=0;Disp_line1();Disp_line2();break;case 1:/年year=1;Disp_line1(); Disp_line2(); id_case1_k

28、ey();break;case 2:/月year=0;mon=1;Disp_line1(); Disp_line2(); id_case1_key();break;case 3:/日mon=0;day=1;Disp_line1(); Disp_line2();id_case1_key();break; case 4:/星期day=0;weekk=1;Disp_line1(); Disp_line2(); id_case1_key();4.1.3 LCD1602液晶显示模块 LCD1602液晶显示器属于字符型液晶显示器,其内部自带有字符库,所以只要向显示器输送字符的ASCII码,就可以显示该字符

29、了。对于1602显示程序的编写最主要的是掌握好1602的读写操作的时序。1602显示器的控制端分别为RS、RW和E,当写指令时RS为低电平,RW为低电平,E首先为高电平,然后将数据送出,在延时一定时间后E变为低电平。这样就把命令写到了1602中。当写数据时RS为高电平,RW为低电平,E首先为高电平,然后将数据送出,在延时一定的时间后E变为低电平。这样就把数据写到了1602中。在实际应用1602时,要先将显示器初始化,初始化的内容包括清屏、设置显示模式,首字符的位置、光标的有无和闪烁等,然后才能显示具体内容。开始进行LCD的初始化进行数据的处理调用写指令子函数调用写数据子函数显示 图4-3 LC

30、D显示程序流程图该函数的作用是对LCD进行检测,看LCD是否处于忙的状态.当bflag=1时表示忙,此时不可以向LCD进行读写操作.而当busy=0时,表示可以向它读写数据.程序代码:void wait()P2=0xff;RW=1; RS=0; doE=0;E=1;while(busy=1);void dispone(dat)写数据,并显示出来P2=dat;RW=0; RS=1; E=0; E=1; wait();void wrcom(com)向LCD写入控制字P2=com;RW=0; RS=0; E=0; E=1; wait();void init_LCD() 初始化LCDwrcom(0x0

31、1); 显示清零,数据指针清零wrcom(0x06); 写一个字后指针加一wrcom(0x38); 设置16*2显示,5*7点阵,8位数据接口wrcom(0x0c); 设置开显示,不显示光标void dispmore(line,row,uchar dat,i) /格式为dispmore(第几行,第几列,开始要显示的字符地址,显示几个字符);uchar com;s=dat;if(line=1) com=0x80+row-1; / 第一行第一列对应的RAM的地址位为0x80H wrcom(com);while(i-)!=0&com=0x8f) dispone(*s);com+;s+;else co

32、m=0xc0+row-1; wrcom(com);while(i-)!=0&com=0xcf) dispone(*s);com+;s+;第5章 软件调试5.1 程序的检测与调试5.1.1 Keil软件简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代

33、码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提

34、供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.1.2

35、编制单片机应用程序的步骤和难点如何编写单片机应用程序,这是一个实践性很强的题目,也是一项艰苦而细致的工作。如果按照一定的步骤并且找出难点,事先对这些难点加以处理,能够收到事半功倍的效果。下面是开发中必经的几个步骤和可能遇到的难点的处理。编制步骤:1搞清功能和编写方案接到一个单片机项目设计之后,并不是马上动手编写程序,而是仔细研究技术要求或者技术说明,根据这些技术要求和技术说明,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作,否则在设计完成以后会发现有些功能由于事先没有考虑清楚再重新设计将会很麻烦,可能有些需要重新增加的功能很容易补充,而有些可能由于没有事先考虑周全而无法实现。 2编写

36、总流程图和各功能模块流程图根据要完成的程序功能写出总流程图,根据总流程图把整个程序划分成几个主要的功能模块,每个功能模块都要写出基本流程图,这主要是为以后的程序编写起到一个指导作用。当然,在实际的程序编写过程中肯定会有一些改动,一个基本的流程会指导写程序的过程中不会出现太大的偏差。 3准备编程所需的资料 这些资料主要是编程语言方面的书籍、杂志等。因为程序语言的有些资料不可能记得太清楚,如每条指令的含义,具体操作每条指令所牵涉的硬件电路等。如果资料准备得比较充分,可以放在案边,若有需要,顺手查阅。4分析编程的难点和技术解决方案为了能比较顺利地完成程序设计,应根据程序所完成的功能和程序流程对整个程

37、序的框架分析一下,并根据自己掌握的技能定位整个程序的难点,然后找到最佳的算法。5写程序在上面的准备工作完成后,就可以着手编写程序。因为有了明确的程序流程,有了充足的资料,可能遇到的难点基本上找到了解决方法。这样,事先准备得比较充分,即使在以后的程序编写过程中遇到困难,也较易解决。这样就可以节省很多时间,以便静下心来认真按照方案和流程编写程序。另外,一般写完一个功能程序就进行调试,通过后再编写另外一个功能代码,这样可以防止全部代码编写完毕后再调试可能带来的相互影响,从而可以搞清楚到底是哪部分程序有问题。 7程序调试单击Project菜单项,选择New Project项;此时弹出Create Ne

38、w Project对话框,选择合适的路径口,在文件名一栏中填入新工程的名字。单击保存;根据所用的器件,选择CPU的型号,单击确定;Keil51询问是否生成默认的配置文件,这个可选可不选,这里选定。单击Yes,观察项目文件管理窗口的变化;在File菜单下单击New选项,新建文件。此时在代码窗口出现一“Text1”空白文档;在“Text1”中编辑完代码后,单击File菜单中的保存项,弹出保存对话框。保存名写为text.c。单击保存。注意在对文件命名时必须加扩展名; 在项目导航栏中Source Group 上单击右键,选Add File to Group Source Group 1;此时弹出Add

39、 File 对话框。选中刚才保存的text.c文件。单击Add。 此时在项目文件管理窗口中就会出现刚才所添加的文件text.c;单击快捷菜单栏中的编译按钮 ,可以编译程序;单击Project菜单项,选择Option for Target Target 1选项。 在弹出的对话框中可以对Project进行总体配置;选择Output 选项卡,单击Create HEX File ,代码输出格式应为HEX-80 ; 单击确定后,并重新编译。可以看到编译成功之后,Build 选项卡里又多了一项。这是生成的HEX 文件;单击Debug 菜单项中的Start/Stop Debug Session 命令或工具栏

40、中的进入调试界面;单击调试界面Debug 菜单项中的Go命令或工具栏中的运行 程序,单击Stop Running 命令或结束程序。观察运行结果。图5-1 程序运行调试图5.2 系统仿真调试PROTEUS系统仿真平台与开发平台是由英国Labcenter公司开发的,是目前世界上最完整的系统设计与仿真平台之一。PROTEUS可以实现数字电路、模拟电路及微控制系统与外设的混合电路系统的电路仿真、系统协同仿真和PCB设计等全部功能。PROTEUS软件能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时就可以对系统进行调试与验证。在构思好电路原理图和编好程序之后就要对其进行系统

41、仿真,原理图的具体设计流程如图5-2所示。当完成原理图布线后,利用PROTEUS ISIS编辑环境所提供的电器规则检查命令对设计进行检查,并根据系统提供的错误检查报告修改原理图。直到通过电器规则检查为止。单片机系统的仿真是PROTEUS VSM的一大特色,同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并且很容易地查看到用户对源程序修改后对仿真结果的影响。源代码通过编译无误后,就可以进行仿真,在仿真过程中不断完善电路和程序的功能最后达到本次设计的目的。 新建设计文档设置编辑环境原理图布线放置元器件电器检查建立网络表是否合格?结束Y存盘、报表输出调

42、整N开始 图5-2 原理图设计流程图5.2.1 程序的查错手段 单片机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统的软,硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。(1)单步执行采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步就可执行完整个循环程序段。(2)断点设置全速运行可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程序跑飞,就会永不停止运行。全速断点运行为检查实时性及中断响应处理等提供了方便。(3)显示器窗口检查(4)实时跟踪记录除上述之外,还有以下功能:l 符号化调试。在原程序中一般均以符号地址,标号等出现,通过汇编自动进行变换和调整,偏移量等均可自动换算和填入。l 程序的运行。l 自动生成目标代码和

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服