课程设计:自行车里程表
- 格式:doc
- 大小:124.00 KB
- 文档页数:18
毕业设计(论文)开题报告题目:自行车里程表的设计专业:电子信息工程一、选题的背景、意义192个国家的谈判代表召开峰会,商讨《京都议定书》一期承诺到期后的后续方案,即2012009年12月7日开是在丹麦首都哥本哈根召开的《哥本哈根世界气候大会》,来自2年至2020年的全球减排协议,就未来应对气候变化的全球行动签署新的协议。
气候变化已经成为全世界共同关注的焦点问题,节能减排迫在眉睫,全球各个国家都在为节能减排做进一步的努力。
加之2008年爆发的经济危机的影响之深远,让每一个身处社会的人都心有余悸。
但是在这经济危机爆发的时刻,人来面临的能源问题,远比经济危机要让大家头痛得许多,中国正在积极推动企业的节能减排,提高全社会节能减排的意识。
电电动自行车是绿色节能的交通工具,在城城市化发展的进程中电动自行车满足了消消费者出行半径增大的需求。
经过15年的快速发展,电动自行车产业已经进入了成熟期,产品的质量不断提高,技术创新成果普遍应用。
中国已成为全球电动自行车的制造、消费大国,目前中国市场年产销量超过2000万辆,整个产业链的经济规模达到1000亿以上,从业人员近500万人。
整车企业1000余家、6000余家相关联配套企业、100000家经销商、市场保有量达 1.2亿辆,电动自行车成为中国一个重要的产业,也是中国老百姓主要的交通工具。
目前平均每四户居民家庭中就有一辆电动自行车,电动自行车已经成为城乡人民生活中的一种重要的消费品。
2009年以来,面对世界金融危机的挑战,电动自行车产业依然保持了平稳发展。
中国自行车协会助力车专业委员会的统计,50家主要生产电动自行车的企业,1-8月份累计总产量为656万辆,同比增长13%。
另外,根据国家统计局的统计,1-8月份行业规模以上企业电动自行车产量累计生产为445.5万辆,同比增长8.7%。
两个不同口径的统计数字均说明,2009年的前8个月行业仍然是增长的态势。
1989年清华第一台电动自行车样机到现在二十年的时间,中国电动自行车行业经历了从无到有,从小到大的过程,目前年产量已达2000万辆以上,社会总需求量在5亿辆以上。
自行车里程表的设计毕业论文前言 (1)第1章绪论 (2)1.1 课题背景 (2)1.2 设计的主要容及技术指标 (2)第2章自行车里程表总体方案设计 (3)2.1 任务分析与实现 (3)2.2 自行车里程表硬件方案设计 (3)2.3 自行车里程表软件方案设计 (4)第3章自行车里程表硬件模块设计 (5)3.1 里程表的硬件设计 (5)3.1.1 霍尔传感器电路模块设计 (5)3.1.2 按键电路模块设计 (6)3.1.3 电源电路模块设计 (6)3.1.4 时钟电路模块设计 (7)3.1.5 LCD显示模块电路模块设计 (7)3.1.6 串口下载电路模块设计 (8)3.1.7 复位电路模块设计 (9)3.1.8 晶振电路模块设计 (10)第4章软件的设计 (11)4.1 里程表的软件设计 (11)4.1.1 里程速度功能模块实现 (11)4.1.2 日历时钟模块功能 (14)4.1.3 LCD1602液晶显示模块 (17)第5章软件调试 (21)5.1 程序的检测与调试 (21)5.1.1 Keil软件简介 (21)5.1.2 编制单片机应用程序的步骤和难点 (21)5.2 系统仿真调试 (24)5.2.1 程序的查错手段 (25)第6章结论 (27)第7章谢辞 (28)参考文献 (29)附录1 硬件设计原理图 (30)附录2 硬件电路仿真图 (31)附录3 软件程序 (32)译文 (69)C语言 (69)第1章绪论单片机自从推出以来,以其超小型化、结构紧凑、可靠性高、成本低等优点被人们广泛接受,从而应用于工业、电讯、数据处理、仪器仪表等多方面。
自行车里程表是自行车的重要配件,在自行车仪表中占重要位置,但几十年来其发展变化并不大,现在国外很多车中使用了数字里程表,但在国还并不多见。
1.1 课题背景里程表的原理很简单,车轮的圆周长是恒定不变的。
由此可以计算出每走一里路车轮要转多少圈,这个数也是恒定不变的。
毕业设计(论文)开题报告题目:自行车里程表的设计专业:电子信息工程一、选题的背景、意义192个国家的谈判代表召开峰会,商讨《京都议定书》一期承诺到期后的后续方案,即2012009年12月7日开是在丹麦首都哥本哈根召开的《哥本哈根世界气候大会》,来自2年至2020年的全球减排协议,就未来应对气候变化的全球行动签署新的协议。
气候变化已经成为全世界共同关注的焦点问题,节能减排迫在眉睫,全球各个国家都在为节能减排做进一步的努力。
加之2008年爆发的经济危机的影响之深远,让每一个身处社会的人都心有余悸。
但是在这经济危机爆发的时刻,人来面临的能源问题,远比经济危机要让大家头痛得许多,中国正在积极推动企业的节能减排,提高全社会节能减排的意识。
电电动自行车是绿色节能的交通工具,在城城市化发展的进程中电动自行车满足了消消费者出行半径增大的需求。
经过15年的快速发展,电动自行车产业已经进入了成熟期,产品的质量不断提高,技术创新成果普遍应用。
中国已成为全球电动自行车的制造、消费大国,目前中国市场年产销量超过2000万辆,整个产业链的经济规模达到1000亿以上,从业人员近500万人。
整车企业1000余家、6000余家相关联配套企业、100000家经销商、市场保有量达 1.2亿辆,电动自行车成为中国一个重要的产业,也是中国老百姓主要的交通工具。
目前平均每四户居民家庭中就有一辆电动自行车,电动自行车已经成为城乡人民生活中的一种重要的消费品。
2009年以来,面对世界金融危机的挑战,电动自行车产业依然保持了平稳发展。
中国自行车协会助力车专业委员会的统计,50家主要生产电动自行车的企业,1-8月份累计总产量为656万辆,同比增长13%。
另外,根据国家统计局的统计,1-8月份行业规模以上企业电动自行车产量累计生产为445.5万辆,同比增长8.7%。
两个不同口径的统计数字均说明,2009年的前8个月行业仍然是增长的态势。
1989年清华第一台电动自行车样机到现在二十年的时间,中国电动自行车行业经历了从无到有,从小到大的过程,目前年产量已达2000万辆以上,社会总需求量在5亿辆以上。
简易自行车里程表设计朱鸿志摘要:随着现代社会对绿色出行的提倡及全民养生健身意识的觉醒,自行车逐渐成为我们生活中首选的中短途代步工具。
对于那些喜爱骑行健身的人来说,自行车车载速度里程表显得尤为重要。
而老式的传统里程表由于是机械构造,长期使用磨损严重,容易造成极大的误差。
因此,电子里程表便应运而生,成了自行车最好的车载伴侣。
在这样一个大背景下,本次课设我设计的电子里程表采用光电传感器,LCD1602液晶显示器,AT89C51,通过按键达成输入车轮周长,存储里程,显示速率等基本用途。
Abstract:With the promotion of green travel in modern society and the awakening of the consciousness of national health and fitness, bicycles have gradually become the preferred medium and short-distance transportation tools in our lives. For those who like to ride fitness, bicycle speedometer is particularly important. The old-fashioned traditional odometer belongs to mechanical structure and has been worn for a long time, so it is easy to cause great errors. Therefore,the electronic odometer came into being and became the best companion for bicycles. Under such a large background, the electronic odometer the author designed uses photoelectric sensors, LCD1602 liquid crystal display andAT89C51, and achieves the basic purposes of inputting wheel circumference,storing mileage and displaying speed through buttons.關键词:光电传感器;LCD1602液晶显示器;AT89C511 设计原理与设计要求1.1 设计原理本次课设使用51单片机完成简易自行车里程表的设计要求,使用对射光电传感器,LCD1602液晶显示器及51单片机,实现对自行车速度和里程的实时显示并保存里程。
青 岛 科 技 大 学本 科 课 程 设 计 (论 文)题 目 ____________________________________________________________________指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日自行车里程表 王乐毅 邵明宽 0807030122 自动化与电子学院 电子信息科学与技术 081 2011 12 27自行车里程表摘要:本文介绍的速度与里程表设计以单片机最小系统和霍尔传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
本系统由霍尔传感器、RC滤波电路、单片机AT89S51、系统化LED显示模块、数据存储电路和键盘控制组成。
其中霍尔传感器包含信号放大和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。
北京工业大学电子课程设计报告学院__________________________专业__________________________班级_____________组号________题目1._______________________2._______________________姓名_________________________学号_________________________指导教师____________________成绩________________________年月日数字部分:自行车里程表一.设计要求(一)设计任务设计、制作一个根据车轮周长、辐条数等参数来记录行驶里程的简易里程表。
要求具有可调整的手段,以适应不同车型。
(二)参考设计方案1、首先使用红外光电传感器对转动的车轮辐条进行测量,产生基本技术脉冲。
若以0.1公里作为里程表的计数单位,则需测量出车轮的周长、一周有多少根辐条、没走0.1 公里要有多少根辐条通过传感器。
若将此计数值转化为里程表的一个计数脉冲,提供给一个多位十进制里程计数器,则记录分辨率就为0.1公里,最后由多位数码管显示出来。
2、框图:(三)设计要求1、显示数字为3位,精度为0.1公里,即(00.0——99.9公里)。
2、数码管要有小数点,即个位与十位间的小数点要亮起来。
3、要标明你所设计的条件(轮周长、辐条数等),给出根据条件不同进行调整的方法。
4、结构简单、所用芯片尽量少、成本低、易于制作。
5、所用芯片与元件尽量在参考元器件范围内选择(实验室没有的需自行解决)(四)发挥部分从使用角度考虑,尝试加上你认为可以完善、改进的功能(如节电功能、显示清零等)。
(五)参考元件CD40106;CD4518(或CD4017,74LS161等);74LS21,74LS08,CD4011(或74LS00);CD4553,CD4543;共阴(共阳)数码管;NPN(PNP)开关管;红外光电传感器等;电阻,电容若干二、设计方案(一)实验初步设计经过对参考设计方案框图的分析得出该实验主要分为4个部分:光控电路设计及脉冲整形、轮辐计数电路、0.1公里计数电路、数码管显示电路(包括译码驱动)。
北京印刷学院EDA技术课程设计报告设计名称:自行车里程与速度计的设计设计题目:自行车里程与速度计的设计专业:电子信息工程专业班级:学生姓名:学号:指导老师:时间:可设置数字钟设计报告一、设计任务要求1、能接收传感器传送的信号。
2、能自动地按照设置好的型号,计算出速度值和行驶的里程数。
3、能在数码管上显示速度值和里程值。
4、能通过按键选择自行车的型号。
5、速度和里程的显示由按键切换。
6、写出方案整体说明(硬件连线说明,操作说明等),经指导教师认可后,按该设计方案编写程序并完成调试工作。
二、设计方案1、系统功能(基本功能,附加功能)1)、基本功能a.实现速度的测量(单位:米/秒)。
b.具有测量行程的功能(单位:米)。
c.测得的数据由LED数码管显示。
2)、附加功能a.可以进行速度单位切换(单位:公里/小时)。
b.可以进行测量行程单位切换(单位:公里)。
c.速度过快的警告功能。
2、操作说明1)、调节时间调节时间由{mod1,mod0}和turn三个按键进行控制,{mod1,mod0}的键值组合实现时、分、秒调节和正常显示之间的切换,turn键用来完成调节。
{mod1,mod0}的键值组合为00时为正常计时状态;{mod1,mod0}的键值组合为01时时间停止走动,进入调分状态,并且此时分钟开始以500ms的频率闪烁,表示此时开始调节分,此时每拨动一下turn键,分加一;调整好分后,再将{mod1,mod0}的键值组合调为10开始时的调节,此时闪烁,同样有turn键来调整时;调节时后,再把{mod1,mod0}的键值组合调为11时,秒开始闪烁,直接由turn键实现秒归零。
2)、速度单位切换(公里/小时)。
由unit1来实现速度单位切换(单位:公里/小时),unit1为低电平时显示为(单位:米/秒),将unit1置高将显示为(单位:公里/小时)。
3)、行程单位切换(单位:公里)。
由unit1来实现行程单位切换(单位:公里),unit1为低电平时显示为(单位:米),将unit1置高将显示为(单位:公里)。
一、概述1.1设计目的本设计采用AT89C52单片机作控制,利用霍尔元件等器件设计一个可用LED数码管显示当前自行车行驶的距离及速度并具有超速报警功能的自行车里程/速度表,使其作为自行车的一种辅助工具,让自行车的功用更强大,给人们带来更多的方便。
1.2课题简介自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,而里程计/速度计正满足了这个需求。
现在先进的里程/速度计不仅能显示实时的速度和里程,还显示时间,甚至具有测量骑车人的心跳、显示骑车人热量消耗等功能。
由于时间有限,本设计完成的功能减为两个,即测量并通过LED数码管进行动态显示当前的速度和里程,并在超速时发出警报。
要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。
2. 对脉冲信号进行计数。
实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。
3. 对数据进行处理,要求用LED显示里程总数和即时速度。
实现:利用软件编程,对数据进行处理得到需要的数值。
最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。
二、系统设计2.1总体设计方案采用AT89C52芯片,用霍尔元件将车轮的转速转换成电脉冲,经过处理后送入单片机。
里程及速度的测量,是经过AT89C52的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED显示器显示出来。
传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。
磁传感器是一种将磁学量信号转变为电信号的器件或装置。
随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。
电子系统设计报告设计题目自行车里程表的设计自行车里程表一:明确设计要求1.可以适用不同尺寸自行车,轻便、省电、全天候野外使用,总里程<999.99km 2.可以轮流显示或选择显示(显示数制为十进制数):里程——当前行驶里程;速度——当前3.6秒内平均速度(单位:km/h);最大速度——本次行驶中的最大速度(单位:km/h);最大加速度——本次行驶中的最大加速度(单位:m/2s);行驶时间——当前行驶累计时间(时、分、秒)北京时间――实际的北京时间(时、分、秒)3.考虑到要求省电全天候野外使用,选用一个3V电源4.体积小、结构可靠,便于安装及使用根据以上设计要求,可以画出自行车里程表的面板图如下:功能说明:各按钮(除时、分的调时间按钮)为电平输出(时、分脉冲输出),按下为高电平;电源接通后,最上面的工作指示灯亮,此直接用硬件电路实现,不包括在控制系统各按钮旁为LED灯,灯亮原理同电源灯;里程等单位显示LED灯采用控制系统信号输出控制二:确定系统方案将整个自行车里程表分为以下几个模块:系统时钟模块、计时与时间显示模块、传感模块、里程显示模块、最大加速度显示模块、最大速度显示模块、速度显示模块下面根据设计要求对各模块设计要求:(1)系统时钟模块产生1Hz和32Hz的系统时钟脉冲和其他后面所需要时钟脉冲(2)传感模块用霍尔器件产生里程脉冲,并要有行驶信号(3)计时与时间显示模块六位数码管分别显示时、分、秒,有校时按钮以及显示北京时间和行驶时间的切换功能(4)里程显示模块工作在7位里程记录,精确到0.1m,显示到0.01km(舍入方式)即5位显示(5)速度显示模块记录当前时间之前3.6s内的平均速度(定义为当前平均速度)(6)最大速度显示模块记录行程中最大当前速度(7)最大加速度显示模块记录行程中最大加速度根据系统方案可画出系统总体方框图,如下图所示三:设计数据子系统选择合适的器件以实现上述各模块电路 (1)系统时钟模块器件: CD4060-14位二进制异步计数器(带振荡器) 74LS74-双上升沿D 触发器 石英晶体32768Hz用CD4060和石英晶体构成振荡器并分频102,得到32Hz 脉冲,再经74LS161和74LS74二分频输出秒脉冲,同时利用32Hz 脉冲分频得到3.6s 脉冲及10/3.6 s 脉冲。
山西大学课程设计(论文)报告课题名称:自行车里程表姓名:学号:专业班级:系别:指导老师:设计时间:设计地点:教学楼摘要以74LS160芯片为核心,通过产生的相应基脉冲触发相应计数器进行计数,再经译码驱动器驱动数码管显示,实现自行车里程的测量,以及对行驶时间的测量。
【关键词】计数器、基脉冲、数码管、74LS160芯片目录一、作品要求 (1)二、课程设计思路 (1)三、具体方案选择 (2)四、实施方案 (3)五、方案实施所用器件相关资料 (5)六、制作总结及体会 (7)七、参考文献 (8)一、作品要求设计一个可以适用的自行车里程表。
设计要求:1.功能描述:可以轮流显示或选择显示:里程(当前行驶里程),速度(当前平均速度km/h),时间(当前行驶累计时间,时、分、秒)。
2. 技术指标:(1)里程表显示范围:0~999.99km。
(2)6位数字显示。
(3)显示刷新时间:1s。
(4)电源电压:9V。
3. 画出自行车里程表的电原理图,并选择元件参数。
二.课程设计思路1、里程显示、行驶时间显示、速度显示显示里程,首先需产生一个基脉冲为0.01km=10米,基脉冲触发计数器进行计数,从0开始,每来一个基脉冲,计数器计数一次,直到计数为99999。
因此需要设计一个10万进制计数器,对于小数点可通过控制数码管显示一个点即可。
显示时间,首先需产生一个基脉冲——能自动地产生稳定的标准时间脉冲信号。
即“秒脉冲信号”(频率为1Hz)。
秒脉冲触发计数器中进行计数。
由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,各计数器输出信号经译码器、驱动器到数字显示器,得以显示相应数据。
显示速度,有两个方案:(1)测量一定时间间隔T内,自行车车轮转过的圈数N。
假设车轮周长为L,则速度V=N*L/T(2)测量自行车车轮转过一圈的时间T,则速度V=L/T基于目前所掌握知识,不太好实现,除非用单片机,在此不作此要求。
安阳师范学院本科学生毕业设计报告自行车里程表电路设计作者陈乐乐系(院)物理与电气工程学院专业电气工程及其自动化年级 2009级学号 091103057指导老师刘永顺日期 2013.5.7诚信承诺书郑重承诺:所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。
与作者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
作者签名:日期:导师签名:日期:院长签名:日期:论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。
保密论文在解密后遵守此规定。
作者签名:导师签名:日期:自行车里程表电路设计陈乐乐(安阳师范学院物理与电气工程学院河南安阳 455000)摘要:介绍了自行车里程表研究的意义,提出了自行车里程表的设计方案,详细阐述了采用STC89C52、霍尔传感器、LED数码管等设计制作自行车里程表的过程。
关键词:里程表;单片机;霍尔传感器;LED数码管1 引言自行车由于本身低碳环保及方便等优点,成为居民喜爱的交通、健身工具。
在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来。
科学、美观、合理设计自行车里程表有一定的实用价值,它能计算出里程数,使运动者运动适量,达到健康运动与代步的最佳效果。
现在汽车上都装载有里程表,但是由于成本昂贵,不太适合应用在自行车上。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点,并且可进行扩充。
2 设计要求(1)以单片机为控制核心,采用霍尔传感器检测自行车轮胎的运转情况,通过抗干扰处理和计算后,由数码管显示自行车的里程;(2)总里程<999.9Km;(3)可扩展显示自行车速度。
学号:1434060103毕业设计说明书G RADUATE D ESIGN设计题目:基于单片机的自行车里程速度表设计与实现学生:程晓锋专业班级:2014自升本1班学院:继续教育学院指导教师:邸志刚副教授2016年11月30日摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。
本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。
以 AT89C52 单片机为核心,霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 1302 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LCD实时显示。
文章详细介绍了自行车的速度里程表的硬件电路和软件设计。
硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用C语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性。
关键词:里程/速度;霍尔元件;单片机;LCD显示AbstractWit h the developing of people’s life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of people’s 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 Hall 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 mileage/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; 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; LCD display .前言 (1)第1章绪论 (2)1.1课题背景 (2)1.2设计的主要容及技术指标 (2)第2章自行车里程表总体方案设计 (3)2.1任务分析与实现 (3)2.2自行车里程表硬件方案设计 (3)2.3自行车里程表软件方案设计 (4)第3章自行车里程表硬件模块设计 (5)3.1里程表的硬件设计 (5)3.1.1霍尔传感器电路模块设计 (5)3.1.2按键电路模块设计 (6)3.1.3电源电路模块设计 (6)3.1.4时钟电路模块设计 (7)3.1.5 LCD显示模块电路模块设计 (7)3.1.6串口下载电路模块设计 (8)3.1.7复位电路模块设计 (9)3.1.8晶振电路模块设计 (10)第4章软件的设计 (11)4.1里程表的软件设计 (11)4.1.1里程速度功能模块实现 (11)4.1.2日历时钟模块功能 (15)4.1.3 LCD1602液晶显示模块 (19)第5章软件调试 (24)5.1程序的检测与调试 (24)5.1.1 Keil软件简介 (24)5.1.2编制单片机应用程序的步骤和难点 (24)5.2系统仿真调试 (27)5.2.1程序的查错手段 (29)第6章结论 (31)第7章辞 (32)参考文献 (33)附录1硬件设计原理图 (34)附录2硬件电路仿真图 (35)附录3软件程序 (36)译文 (72)C语言 (72)前言本文介绍里程表设计以单片机和霍尔传感器为核心。
本科毕业论文题目:简易自行车数字里程表设计摘要本文对自行车里程表的结构、设计原理进行了介绍,并应用芯片LM339和AT89S51设计、制作了自行车里程表。
文章介绍了所用芯片的存储结构、各管脚的功能,对各个模块的工作原理进行了分析。
并对自行车里程表进行了展望。
本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。
【关键词】光电对管;单片机AT89S51 ;LM339;键盘;AbstractIn this paper, the structure and principle of traditional bicycle odometer are introduced, and applying LM339 and ATS89S51 has designed and made a bicycle odometer .The article has introduced what be memory structure of used chip , every function of pin ,and has carried out analysis on operating principle of each modules, and has been in progress to design of bicycle odometer to look into the distance.This article first right Odometer designs required equipment, details of the design issues of; Later on hardware and software design and implementation carefully analyzed; Then the system modeling process and the corresponding model, based on the control simulation, Simulation results also were compared.Odometer the design of the structure is simple, low cost, showing clear, stable and reliable results. And can be expanded to speed the function table and more convenient understand you are now stand.Keywords:photoelectric cell; AT89S51;LM339; keys;摘要IABSTRACT I1绪论11.1.课题的背景与意义11.2课题所要解决的主要问题12系统设计22.1.系统功能分析22.2.系统功能模块设计22.2.1硬件电路设计22.2.2软件设计83程序代码103.1.数据采集程序103.2键盘扫描程序103.3.中断程序114系统调试与结果分析124.1.电路调试124.1.1硬件调试124.1.2软件调试124.2.结果分析135总结与展望13致谢14参考文献14附录1程序原代码15附录2系统电路图21附录3系统实拍图错误!未定义书签。
摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。
本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。
以AT89C52 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。
文章详细介绍了自行车的速度里程表的硬件电路和软件设计。
硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用汇编语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
关键词:里程/速度;霍尔元件;单片机;LED显示I目录1 绪言 (1)1.1 课题背景 (1)1.2 课题的主要任务及内容 (1)2 自行车的速度里程表总体方案设计 (2)2.1 任务分析与实现 (2)2.2 自行车的速度里程表硬件方案设计 (2)2.3 自行车的速度里程表软件方案设计 (4)3 自行车的速度里程表硬件电路设计 (5)3.1 概述 (5)3.2 传感器及其测量系统 (5)3.2.1 霍尔传感器的测量原理 (5)3.2.2 集成开关型霍尔传感器 (6)3.3 单片机的原理及应用 (7)3.3.1 单片机原理简介 (7)3.3.2 单片机的引脚功能介绍 (8)3.3.3 单片机中断系统介绍 (10)3.3.4 单片机定时/计数功能介绍 (11)3.4 其他器件的介绍 (12)3.4.1 存储器的介绍 (12)3.4.2 74LS74芯片的介绍 (13)3.4.3 74LS244芯片的介绍 (14)3.5 单片机外围电路的设计 (14)3.5.1 时钟电路的设计 (14)3.5.2 复位电路的设计 (15)3.5.3 显示电路的设计 (16)3.5.4 报警电路的设计 (17)4 自行车的速度里程表软件程序设计....................... 错误!未定义书签。
工业学院本科课程设计(论文)题目__________________________________ __________________________________指导教师__________________________辅导教师__________________________学生__________________________学生学号_________________________________________________________院(部)____________________________专业________________班自行车里程表自动化与电子学院电子信息科学与技术0812011 12 27______年___月___日自行车里程表摘要:本文介绍的速度与里程表设计以单片机最小系统和霍尔传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
本系统由霍尔传感器、RC滤波电路、单片机AT89S51、系统化LED显示模块、数据存储电路和键盘控制组成。
其中霍尔传感器包含信号放大和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。
关键词:单片机最小系统,LED数码管,霍尔传感器,RC滤波器,EEPROM存储器目录第一章概述 (4)第二章硬件设计 (5)2.1系统组成结构框图 (5)2.2具体硬件电路及工作原理 (5)2.3 AT89C2051单片机简介 (6)2.3.1芯片概述 (6)2.4其他外围硬件电路 (7)2.4.1电源电路 (7)2.4.2霍尔传感器 (8)2.4.3 4位串行静态显示电路 (8)第三章软件设计 (9)3.1主程序设计 (9)3.2 外中断0和T1定时溢出中断服务子程序设计 (9)3.3 速度/里程显示控制子程序设计 (9)3.4系统完整源程序 (9)参考文献 (10)附录 (10)附录1 整体电路图 (10)附录2 源程序 (113)致 (19)总结 (19)第一章概述本设计介绍的速度与里程表设计以单片机和光电传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED 模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。
该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。
本设计的里程数的算法是一种大概的算法(假设在一定时间自行车是匀速行进,平均速度与时间的乘积即为里程数)。
本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。
其号预处理电路包含信号放大、波形变换和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。
设计时,应综合考虑测速精度和系统反应时间。
本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。
在计算里程时取了自行车的理想状态。
实际中,误差控制在几米之,相对于整个里程来说不是很大。
为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。
另外,还应尽量保证其他子模块在编程时的通用性和高效性。
本设计的速度和里程值采用6位显示,并包含两个小数位。
第二章硬件设计2.1系统组成结构框图根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合实际要求的系统,如图2.1所示。
系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。
功能选择后启动测量,大片及实时采集、处理后显示。
图2.1 系统组成结构框图2.2具体硬件电路及工作原理具体硬件电路如图2.2所示。
灯D1指示;S3为速度和里程切换开关;S4为限速切换开关,可以根据自身需要选择不同的最大超速速度;S5为里程单位切换开关。
P1.4输出低电平时,控制D2亮,表示此时显示的里程值为km/h,P1.5输出低电平时,控制灯D3亮,提示速度太慢;P1.6输出低电平时,控制灯D4亮,表示此时的显示值时里程(否则为速度);P1.7控制超速报警电路,其为高电平表示行驶速度正常,为低电平时,三极管9012导通,驱动蜂鸣器报警。
2.3 AT89C2051单片机简介2.3.1芯片概述AT89C2051是一个低电压,高性能CMOS 8位单片机,片含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。
AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。
省电模式中,片RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
管角配置图2.3所示。
图2.3 2051引脚图主要功能介绍(1)兼容MCS51指令系统(2)15个双向I/O口(3)两个16位可编程定时/计数器(4)时钟频率0-24MHz(5)两个外部中断源(6)可直接驱动LED(7)低功耗睡眠功能(8)可编程UARL通道(9)2k可反复擦写(>1000次)Flash ROM(10)6个中断源(11)2.7-6.V的宽工作电压围(12)128x8bit部RAM(13)两个串行中断(14)两级加密位(15)置一个模拟比较放大器(16)软件设置睡眠和唤醒功能可见。
2051可以为很多的嵌入式控制应用提供高度灵活而且价格低廉的方案,特别适合小系统。
本系统仅用到单片机的10个I/O口,所以选用2051单片机做主系统。
2.4其他外围硬件电路2.4.1电源电路如图2.4所示。
发电机发出+15V的交流电,经整流滤波后,再给镍氢电池组充电,充电采用恒流方式。
已充电的电池组经7805稳压,给霍尔传感器和单片机系统供电。
由图2.4 电源电路原理图于充电电流可达400~500mA,且充电时间较长,所以三极管选用功率高的C8050。
5KΩ的电位器用于调节充电电流,避免电流过大烧坏元件。
当然,实验设计过程中为了简便,我们可以不用电机。
直接用4个1.5V的电池组经7805稳压后得到+5V电压给单片机系统和霍尔传感器供电。
2.4.2霍尔传感器霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。
本系统采用JK8002D霍尔接近开关,他是一种非接触型无触点开关,系统通过它探测外部的磁场的强弱变化,继而控制开关输出。
磁场由外部的磁钢产生。
JK8002D霍尔接近开关的部原理图和输入/输出特性如图(5)和图(6)所示。
JK8002D霍尔接近开关的输入量是磁感应强度B,当B值达到一定的程度(如Bl)时,霍尔开关部的触发器翻转,其输出电平状态也随之翻转。
当探头与磁钢距离由远而近为8mm时,霍尔元件输出端输出一个无抖动的低电平(约为0.2V),当两者距离足够远时,霍尔元件输出端输出一个无抖动的高电平(约为3.7V),所以输出信号可直接到单片机的外中断0的引脚。
2.4.3 4位串行静态显示电路当单片机的UART口部进行串行通信时,可设置其工作于同步移位寄存器方式0,以输出显示信息,实现n位LED的静态显示,这样做只占用了很少的I/O 口线。
系统中,4各共阳极得LED数码管和4片74LS164构成4位数字显示电路,74LS164将串行输入的显示信息转换成并行输出,驱动数码管显示。
74LS164在低电平输出时允许通过的电流为8mA,故不必添加驱动电路即可获取理想亮度。
与动态扫描方式相比较,该方式无须CPU做不停的扫描,频繁地为显示服务,节省了CPU的时间,软件世界也比较简单。
显示电路如图2.5所示。
图2.5 4位串行静态显示电路原理图第三章软件设计3.1主程序设计主程序流程图见图3.1。
开机后系统自检,正常时LED显示“——”,同时等待自行车行驶。
轮子开始转圈后,系统进行记录和计算,并根据速度/里程开关的选择显示数值。
3.2 外中断0外中断0每计数一次,相应的值。
T1定时的基准时间设为ms即当序部分。
3.3 速度/里程显示控制子程序设计最大允许速度由限速切换开关S4控制,超速(>20千米/小时)使单片机的P1.7输出低电平报警。
若行驶速度太慢(<0.5m/s),灯D3不断闪烁,LED交替显示“Erro”、“Sudu”和当前速度值,以引起骑车者的注意。
速度显示值的单位有km/h和每m/s,由功能键S5切换。
对于里程值,为了较精确地显示,程序设置了不同里程围时所显示的小数点后数字的位数:里程为10m~99m,显示2位小数;里程为100m~999m,显示1位小数。
3.4系统完整源程序如附录2参考文献:[1] 毅坤,善久.单片微型计算机原理及应用.:电子科技大学,2002.[2] 友德,志英,徐时亮.单片微机原理应用与实验.:复旦大学,2000.[3] 伟福Lab2000P系列单片机仿真实验系统说明书.[4] 学坚周斌微型计算机原理和应用:清华大学[5] 为单片机原理附录附录1 整体电路图附录2 源程序自行车里程表/* 各引脚用途及系统功能说明P1.0 速度和里程切换:1显示速度,0显示里程P1.1 限速度切换:1 10m/s;0 8m/s P1.2 km/h和m/s的切换:P1.4 指示显示器单位为km/hP1.5 速度太慢灯闪烁警告P1.6 0时灯亮,指示里程;为以灯不亮,显示速度P1.7 超速度报警距离最大值为9999m6H圈、38H圈、22C圈、15B6圈0m=<S<10m 10m=<S<100m 100m=<S<1000m 1000m=<S<10000m 周长0707H 00B4H 0012H 0012H/0AH//变量定义//XIAOSHU EDU 57H ;小数点位数单元GEWEI EDU 40H ;显示单元SHIWEI EDU 41H ;BAIWEI EDU 42H ;QIANWEI EDU 43H ;QSHU1 EDU 43H ;QSHU0 EDU 61H ;自行车圈数存储单元高位QSHU0 EDU 62H ;自行车圈数存储单元低位SJIAN0 EDU 6CH ;T1定时溢出存储单元高位SJIAN1 EDU 6DH ;T1定时溢出存储单元低位//主程序//ORG 000HAJMP STARTORG 0003HAJMP INTEX0ORG 001BHAJMP IT11ORG 0030HSTART: MOV SP,#75H ;设置堆栈指针MOV SCON,#00H ;串行口工作方式MOV GEWEI,#0AH ;开机显示MOV SHIWEI,#0AHMOV BAIWEI,#0AHMOV QIANWEI,#0AHACALL DIS11SETB P3.2 ;外中断0为输入查询方式JB P3.2 ;等待第一个有效脉冲(下降沿)到来ACALL CLEARRAM ;调用系统准备显示初始化子程序STLOOP: JNB P1.0,ST1 ;p1.0=0,显示速度ACALL DISPLAYS ;P1.0=1, 显示里程SJMP STLOOP ;循环显示ST1: ACALL DISPLAYV ;第一个下降沿来后显示速度AJMP STLOOP ;循环显示//系统准备显示初始化子程序// CLEARRAM: MOV TMOD,#10H ;T1用于定时,工作于模式1MOV TH1,#0B1H ;定时20ms初始值SETB P1.2 ;P1.2-P1.0为输入SETB P1.1SERB P1.0CLR A ;相应RAM空间清零MOV 21H,A ;速度/里程的BCD码高位清0MOV 22H,A ;速度/里程的BCD码低位清0MOV QSHU1,A ;圈数空间清0MOV QSHU0,AMOV 6AH,A ;T1溢出次数暂存单元高位清0MOV 6BH,A ;T1溢出次数暂存单元低位清0MOV SJIAN0,A ;计数器空间清零MOV SJIAN1,AMOV XIAOSHU,#01H ;默认显示3位小数SETB IT0 ;设置外中断为边沿触发方式SETB PT1 ;T1优先级最高SETB EA ;开总中断SETB ET1 ;开T1中断SETB EX0 ;开外0中断//外中断0服务子程序//INTEX0: PUSH ACC ;累加器堆栈保护PUSH PSW ;状态字堆栈保护INC QSHU0 ;圈加1SETB P1.7 ;置1不报警CLR A ;清ACJNE A,QSHU0,SUBX0 ;计数没溢出转SUBX0INC QSHU1 ;溢出进位(61H加1)SUBX0: CLR TR1 ;关计时,读轮子转一圈的时间MOV 6AH,SJIAN0 ;时间暂存MOV 6BH,SJIAN1MOV TH1,#0B1H ;定时器T1重付初值MOV TL1,#0DFHCLR AMOV SJIAN0,A ;清计时空间MOV SJIAN1,ASETB TR1 ;重新计时POP PSW ;状态字恢复POP ACC ;累加器恢复RETI ;中断返回//T1定时器溢出时中断服务子程序//IT11: PUSH ACC ;堆栈保护PUSH PSWINC SJIAN1 ;定时20毫秒溢出次数MOV A,SJIAN1 ;读一圈定时的次数CJNE A,#0BBH,SUBT1 ;速度太慢(<0.5),处理AJMP SUBT2SUBT1: JC SUBT2INC 69H ;(69H)为奇数,LED显示“Erro”MOV A,69H ;再显示具体速度的值JB ACC.0 ERRO ;(69H)为偶数,LED显示“Sudu”MOV GEWEI,#05H ;再显示具体速度的值MOV SHIWEI,#0BHMOV BAIWEI,#0DHMOV QIANWEI,#0BHMOV XIAOSHU,#0BHACALL DIS11SJMP FS12ERRO: MOV GEWEI,#0CHMOV SHIWEI,#OBHMOV BAIWEI,#0BHMOV QIANWEI,#0DHACALL DIS21;“Erro”或“sudu”和具体速度大值交替闪烁显示FS12: MOV R2,#01H ;CLR P1.5ACALL DELAY2SETB P1.5ACALL DELAY2DJNZ R2,FLASHSUBT2: MOV TH1,#0B1HMOV TL1,#0DFHSETB TR1POP PSWPOP ACCRETI//里程显示控制子程序// DISPLAYS:CLR P1.6ACALL JULIMOV A,QSHU1CJNE A,#02H,DIAOYONGAJMP PANDY DIAOYONG:JNC PANDY1AJMP BUDYPANDY: MOV A,QSHU0CJNE A,#2CH,PANDY2AJMP PANDY1 PANDY2: JC BUDY PANDY1: MOV R6,#00hMOV R7,#0AHACALL JULI2ACALL BCDCACALL FENKAIACALL DIS21ACALL DELAY1RETBUDY: MOV R6,#00hMOV R7,#01hACALL JULI2ACALL BCDCACALL FENKAIACALL DIS11ACALL DELAY1ACALL DELAY1RET//速度显示控制子程序// DISPLAYV:SETB P1.6ACALL SUDUACALL BCDCACALL FENKAIMOV XIAOSHU,#01HRET//处理子程序1//JULI: PUSH PSWPUSH ACCMOV R2,QSHU1MOV R3,QSHU0JNZ GAOMOV A,QSHU0CJNE A,#06H,PAN1AJMP PAN2PAN1: JNC PAN2AJMP CZ707PAN2: MOV A,QSHU0CJNE A,#38H,PAN3AJMP GAOPAN3: JC CZB4GAO: AJMP CZ12CZ707: MOV R6,#07HMOV R7,#07HMOV XIAOSHU,#01HAJMP KAISHICZB4: MOV R6,#00HMOV R7,#0B4HMOV XIAOSHU,#02HAJMP KAISHICZ12: MOV R6,#00HMOV R7,#00HMOV XIAOSHU,#03H KAISHI为两字节乘两字节程序段KAISHI: MOV A,R3MOV B,R7MUL ABMOV R4,BMOV R5,BMOV A,R3MOV B,R6MUL AABADD A,R4MOV R4,ACLR AADDC A,BMOV B,R7MUL ABADD A,R4MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2MOV B,R6MUL ABADD A,R3MOV R3,AMOV A,R2ADDC A,BMOV 50H,R2MOV 51H,R3MOV 52H,R4MOV 53H,R5POP PSWPOP ACCRET //处理里程子程序2//Juli2: PUSH PSWPUSH ACCMOV R2,50HMOV R3,51HMOV R4,52HMOV R5,53H DIVD11: CLR CMOV A,R3SUBB A,R7MOV A,R2SUBB A,R6JC DVD11SETB OVRETDVD111: MOV B,#10H DVD211: CLR CMOV A,R5MOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2XCH A,R2MOV F0,CCLR CSUBB A,R7MOV R1,AMOV A,R2SUBB A,R6ANL C,/F0JC DVD311MOV R2,AMOV A,R1MOV R3,AINC R5DVD311: DJNZ B,DVD211MOV A,R4MOV R2,AMOV A,R5MOV R3,ACLR OVMOV 30H,R2MOV 31H,R3POP ACCPOP PSWNOPRET//十六进制转换乘BCD子程序// BCDC: PUSH ACCPUSH PSWMOV R6,30HMOV R7,31HCLR AMOV R3,AMOV R4,AMOV R5,AMOV R2,#10H HB322: MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3DJNZ R2,HB322MOV 20H,R3MOV 21H,R4MOV 22H,R5POP PSWPOP ACCNOPRET//算速度十六进制值子程序// SUDU: PUSH PSWPUSH ACCJB P1.2,KMSJMP JUBUKM: MOV R2,#00HMOV R3,#04HMOV R4,#0F1HMOV R5,#0A0HCLR P1.4SJMP QUANJU JUBU: MOV R2,#00HMOV R3,#001HMOV R4,#05FHMOV R5,#090HCLR P1.4 QUANJU: MOV A,6BHJB P1.1,XIAN10CJNE A,#0BH,BUXIANGSJMP JC0XIAN10: CJNE A,#09H,BUXIANGSJMP JC0 BUXIANG: JC JC0SJMP BUJGJC0: MOV A,6AHCJNE A,#00H,BUJGAJMP JIANGGAO JIANGGAO: CLR P1.7MOV GEWEI,#0CHMOV SHIWEI,#0BHMOV BAIWEI,#0BHMOV QIANWEI,#0DHACALL DIS21ACALL DELAY1MOV GEWEI,#0EHMOV SHIIWEI, #0EHMOV BAIWEI,#0EHMOV QIANWEI,#0EHACALL DIS21ACALL DELAY1SJMP QUANJU BUJU: MOV A,6BHCJNE A,#0AFH,LING0AJMP LING1LING0: JC LING1AJMP BUJINGLING1: MOV A,6AHCJNE A,#00J,BULING0AJMP BULING1 BULING0: JC BULING1 BULING: MOV SJIAN0,#00HMOV SJIAN1,#00HRET//4字节除2字节除法子程序// BULING1: MOV R6,6AHMOV R7,6BH DIVD: CLR CMOV A,R3SUBB A,R7MOV A,R2SUBB A,R6JC DVD1SETB OVRETDVD1: MOV B,#10H DVD2: CLR CMOV A,R5RLC AMOV R5,AMOV A,A4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2XCH A,R2MOV F0,CCLR CSUBB A,R7MOV R1,AMOV A,R2SUBB A,R6ANL C,/F0JC DVD3MOV R2,AMOV A,R1MOV R3,AINC R5DVD3: DJNZ B,DVD2MOV A,R4MOV R2,AMOV A,R5MOV R3,ACLR OVMOV 30H,R2MOV 31H,R3POP ACCPOP PSWSETB P1.7NOPRET//压缩BCD码转乘非压缩BCD码子程序// FENKAI: MOV R7,#02HMOV R0,#GEWEIMOV R1,#21HFENKAI1: MOV A,R1ANL A,#0F0HSWAP AMOV R0,AINC R0MOV A,R1ANL A,#0FHMOV R0,AINC R0INC R1DJNZ R7,FENKAI1RET//延时子程序//DELAY1: MOV R6,#0FFHDEL: MOV R7,#0FFHDJNZ R7,$DJNZ R6,DE;RETDELAY2: MOV R6,#02FHMOV R7,#0FFHDJNZ R7,$DJNZ R6,DEL2RET//4位串行静态显示子程序//DIS21: MOV R7,#04HMOV R0,#GEWEILED1_21: MOV A,R0MOV DPTR,#DATA_7SEG22 LED1_221: MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,LED1_21RETDATA_7SEG22DB081H,0EDH,043H,049H,02DH,019H,011H, 0CDH,001H,009H,07FH,077H,013H,071,0 FFH;0 1 2 3 4 5 6 7 8 9 - r o E 空显;= = = = = = = = = = = = = = = = = = = = = = = = =DIS11: MOV R7,#04HMOV R6,XIAOSHUMOV R0,#GEWEILED1_11:MOV A,R0DJNZ R6,LED6MOV DPTR,#DATA_7SEG3SJMP LED1_31LED6: MOV DPTR,#DATA_7SEG2 LED1_31: MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,LED1_11RETDATA_7SEG2DB081H,0EDH,043H,049H,02DH,019,011H,0 CDH,001H,009H,07FH,0A1H,0R9H,061H ;0 1 2 3 4 5 6 7 8 9 - U J dDATA_7SEG3DB080H,0ECH,042H,048H,02CH,018H,010H ,0CCH,000H,008H,07FH; 0. 1. 2. 3. 4. 5. 6 7. 8. 9. -致白驹过隙,转眼四年的学习生活就将结束了。