找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 47150|回复: 4
打印 上一主题 下一主题
收起左侧

霍尔自行车测速里程表

[复制链接]
跳转到指定楼层
楼主
ID:341936 发表于 2018-5-31 09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

摘要
随着居民生活水平的不断提高,自行车已经不仅仅是普通的代步、运输工具,而是成为人们娱乐、休闲、锻炼的首选。自行车简易数字里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车速度里程表的设计。以 STC89C52单片机为核心,A3144E 霍尔传感器测转数,实现对自行车里程/速度的测量,采用1602LCD显示自行车的里程数及速度。文章详细介绍了自行车的速度里程表的硬件电路。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
关键字:单片机;LCD1602;霍尔;DS1302

















目录
第一章 绪论        3
1.1课题背景及其意义         3
1.2 国内外的研究状况              3
1.3本文的主要研究内容及论文结构安排        5
第二章 方案的设计与论证        6
2.1控制方案的确定        6
2.2控制方式的选择        6
2.2.1 单片机芯片的选择        6
2.2.2显示方案的选择        6
2.2.3声音报警电路方案的选择        7
2.2.4测速模块的选择        7
2.2.5时钟电路方案的选择        7
2.2.6电机模块的选择        8
第三章 硬件电路的设计        9
3.1系统的功能分析及体系结构设计        9
3.2模块电路的设计        9
3.2.1STC89C52单片机核心系统电路的设计        9
3.2.2 5V电源电路设计        13
3.2.3 LCD1602液晶显示电路设计        13
3.2.4 蜂鸣器报警电路设计        16
3.2.5 按键电路设计        17
3.2.6 DS1302时钟电路设计        17
3.2.37 A3144霍尔传感器电路设计        18
3.2.8 5V直流电机调速电路设计        19
第四章 软件设计        21
4.1 编程语言选择        21
4.2 keil软件设计思想        21
4.3 程序流程图        21
第五章 系统焊接与调试        23
5.1 电路焊接        23
5.2 系统调试        24
5.2.1 系统程序调试        24
5.2.2硬件测试        24
5.3 实物测试        25
致谢        26
参 考 文 献        27




第一章 绪论
1.1课题背景及其意义
随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果. 码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动,也便于收集骑行数据供自己或队友们进行参考和对比。
自行车码表一般由安装于前车圈钢条上的感应磁铁、前叉上的感应器、顺着前叉蜿蜒而上的连接线、置于握把上面的码表座和座上面的码表。码表的工作原理是:车圈旋转时感应器捕捉到感应磁铁带来的信息,通过连接线传输至码表,码表对此进行处理后计算出时速、里程等信息并显示。它能够让我们比较精确的知道自己的当前速度、骑行时间、单次里程、总里程、平均速度、最高速度等。本设计就是针对普通运动员在运动中不能很好的把握自己达到了多大的速度,行驶了多远的距离而设计的。以往的码表只能进行测量速度,里程,时间,温度等数据,虽然能实现很多的功能,但是其中的一些功能不适合自行车业余爱好者,浪费资源,而且性价比也低,而且也不能很好的把握当前运动量,从而不能很好的实现娱乐和锻炼的效果。而本设计却能实现娱乐和锻炼的双重效果,而且相对业余爱好者性价比更高。
1.2 国内外的研究状况      
随着交通工具多样化,里程表已经被广泛应用于各类车辆,传统的机械式里程表由于受到了软轴影响,稳定度不高,而且功能单一、易磨损。随着电子技术的不断发展,电子式里程表被广泛的应用,现在很多车辆已经使用电子车速里程表,本设计就介绍一种基于单片机和霍尔传感器的数字式里程表。该数字式里程表主要由车速表和里程表两个部分组成,其传感器采用霍尔传感器。它不仅可以显示车速,也可显示一段时间的阶段路程,还可以显示车辆行驶的时间等功能,并具有较强的功能扩展性。
传统的车辆转速里程表功能有两个:一是用指针指示出车辆行驶的实时车速;二是用机械计数器记录车辆行驶里程。并且传统机械式车辆的速度表连接了一条软轴,软轴另一端连接到变速器的其中一个齿轮上,齿轮的旋转带动软轴内的钢丝缆转动,使得里程表罩圈内的一块磁铁旋转,磁铁旋转速度的快慢引起磁力线大小的变化,打破了指针的平衡,使指针了偏离零点位置,指示出数值。这种车速里程表简单实用,曾经被广泛应用于各种车辆上。
但是随着现代车辆各种性能都在飞速的发展,车辆性能的提高,旧的里程表已经不能适应用于现代化的车辆当中;而且对于不同的车型,旧款里程表的安装也受到了软轴长度、弯曲度等的限制。
现代车速里程表为性能可靠的电子式仪表,其主要优点如下:
1)电子式里程表能够提供大量复杂的信息。随着车辆行驶和工作状态的信息量的显著增加,车辆电子里程表能够迅速、准确、直观地显示出车速,里程信息,而且显示的信息量大。
2)电子式里程表具有体积小、重量轻等优点。而且小型化、电子化的仪表盘还能适应于各种传感器或控制系统的电子化,节省了车辆仪表盘的空间,而且还能进行更大的信息处理。
3)高精度和高可靠性。由于实现了里程表的电子化,可以为使用者提供高精度的数据信息,也可以减少传统里程表中那些机械部分,从而改善并且提高了仪表的可靠性能和稳定性能。
4)具有一表多用的功能。采用数字显示能够进行分时显示,并可同时切换界面能显示几个参数,使得仪表盘更加简单化和清晰化。
毋庸置疑,车辆仪表的电子化、数字化和智能化是车辆仪表的发展方向,车用数字仪表的研究是国内外正在探索的一个新兴领域,集单片机控制技术、传感技术、信号处理技术等多门学科交叉的应用研究,属于世界车载装置领域的前沿性课题。随着现代车辆工业和电子技术的不断发展,车辆中各种系统和器件日趋复杂,车辆行驶和工作状况的信息量不断增加。车辆仪表的功能已经不仅仅是单纯的指示,而是通过对车辆各部件参数的监测与微处理机控制配套,从而达到控制车辆各种运行工作情况的目的。全数字式车辆仪表,是现在和未来车辆仪表显示装置的主导技术和重点发展方向。具体体现在以下几个方面:
1)多功能化;2)数字化;3)更好的视觉性;4)信息化和网络化。
车辆电子仪表向着多功能性、更高智能化的方向发展,同时车辆仪表的电子数字化,也表数字化水平不高,绝大部分仪表还是机械、模拟式的,而且大多数模拟仪表的体积大、数量多,使得显示系统复杂而拥挤;另外模拟仪表故障发生率较高,增加了事故发生率和经济负担,减小了车辆行使的安全稳定系数。
国外车速里程表采用了各大公司自行研制的芯片,不但成本高,而且对车种的适应性较差。不过,随着电子技术的发展,必将促进车辆仪表向高新技术领域、种类繁多、性能卓越的电子数字仪表方向发展。
1.3本文的主要研究内容及论文结构安排
第1章.主要介绍本设计的课题背景及国内外研究状况;
第2章.主要说明系统方案的选择;
第3章.主要介绍硬件电路的组成及使用方法;
第4章.主要介绍软件设计;
第5章.主要介绍硬件调试;
















第二章 方案的设计与论证
2.1控制方案的确定
本设计由STC89C52单片机核心电路+DS1302时钟电路+5V电机调速控制电路+霍尔测速电路+蜂鸣器报警电路+按键电路+LCD1602液晶显示电路+电源电路组成。
2.2控制方式的选择
2.2.1 单片机芯片的选择
方案一
采用可编程逻辑器件CPLD作为控制器,CPLD可以实现各种复杂的功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑,最终放弃了此方案。
方案二
采用ST公司的STC89C52单片机作为主控制器,STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。该单片机功耗低、接口丰富,成本低廉,完全能满足本设计要求。
方案三
采用单片机芯片控制MSP430单片机是美国德州仪器(TI)推出的一种16位超低功 耗的混合信号处理器(Mixed Signal Processor),主要是针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”混合信号处理的解决方案。MSP430F149是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有可靠性高、功耗低、扩展灵活、体积小、价格低和使用方便等优点,广泛应用于仪器仪表、专用设备智能化管理及过程控制等领域,有效地提高了控制质量与经济效益,已成为众多单片机系列中一颗耀眼的新星。然而其成本太高,故舍弃。
故选择方案二。
2.2.2显示方案的选择
方案一
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字十分合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,电路简单,性价比较高。
方案二
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。
方案三
LCD液晶显示,由单片机驱动,它主要用来显示大量数据、文字、图形,能够显示的位数多,显示得清晰多样、美观,同时液晶显示器的编写程序简单,价格便宜,故采用此种方案。
采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。
故选择方案三。
2.2.3声音报警电路方案的选择
方案一
采用语音集成芯片ISD4004报警,由于ISD4004需要扩充喇叭驱动电路且其本身控制比较繁琐、电路比较复杂,稳定性差。基于以上考虑,所以放弃了此方案。
方案二
通过蜂鸣器实现报警电路,具有电路简单,性能可靠、稳定等优点,最重要的是低成本,故选择方案二。
方案三
采用音乐片作为本系统门铃的音乐模块,音乐芯片是一种比较简单的语音电路,它通过内部的振荡电路,再外接小量分立元件,就能产生各种音乐信号,音乐芯片是语音集成电路的一个重要分支,目前广泛用于音乐卡、电子玩具、电子钟、电子门铃、家用电器等场合。其具有电路简单,成本低廉等优点。
故选择方案二。
2.2.4测速模块的选择
方案一
采用霍尔测速模块测速。霍尔元件是一种磁传感器。要他们可以检测磁场及其变化,可以在各种与磁场有关的场合中。
方案二
选择光电测速模块进行测速。光电传感器安装简单,只要在转动物体上贴上反光纸,手持或简单固定光电传感器即可。
由于霍尔测速精度高,稳定性好,故选择方案一。
2.2.5时钟电路方案的选择
方案一
采用并行芯片DS12887时钟芯片,但是其采用并行接线方式,占用了过多的单片机I/O口,可能会对此设计以后后续拓展带来瓶颈,故舍弃此方案。
方案二
采用串行时钟芯片DS1302,DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片,其只需3根数据线即可实现时钟的输入,电路简单。
2.2.6电机模块的选择
方案一:
采用步进电机,步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。另一个显著特点是转换精度高,正转反转控制灵活。
方案二:
采用普通直流电机。直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足各种不同的特殊运行要求。
由于普通直流电机更易于购买,成本极低,并且电路相对简单,因此采用直流电机作为动力源。选择方案二。

















第三章 硬件电路的设计
3.1系统的功能分析及体系结构设计
本设计由STC89C52单片机核心电路+DS1302时钟电路+5V电机调速控制电路+霍尔测速电路+蜂鸣器报警电路+按键电路+LCD1602液晶显示电路+电源电路组成。
1、通过时钟芯片DS1302获取时间。
2、LCD1602可以显示当前的速度,里程,时间。
3、按键功能:从左边第一个起,减键、加键、选择键、设置键。
4、可以通过电位器对电机进行调速。
5、具有超速报警功能,可以设置报警速度,当实际的速度大于当前的速度时就会由蜂鸣器产生报警。
6、可以查看总路程。
7、可以按键修改当前的时间。
   本系统具体框图如下图所示:

系统框图
3.2模块电路的设计
3.2.1STC89C52单片机核心系统电路的设计
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。
一、STC89C52主要特性如下:
(1)8K字节程序存储空间;
(2)512字节数据存储空间;
(3)内带4K字节EEPROM存储空间;
(4)可直接使用串口下载。
二、STC89C52主要参数如下:
(1)增强型8051单片机,6时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051;
(2)工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V 单片机);
(3)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作 频率可达48MHz;
(4)用户应用程序空间为8K字节;
(5)片上集成512 字节RAM;
(6)通用I/O 口(32个),复位后为:P1/P2/P3 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻;
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;
(8)具有EEPROM功能;
(9)共3个16 位定时器/计数器。即定时器T0、T1、T2;
(10)外部中断4路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒;
(11)通用异步串行口(UART),还可用定时器软件实现多个UART;
(12)工作温度范围:-40~+85℃(工业级)/0~75℃(商业级);
(13)PDIP封装。
三、STC89C52单片机相关引脚说明:
(1)VCC:供电电压。
(2)GND:接地。
(3)P3.0 RXD(串行输入口)
(4)P3.1 TXD(串行输出口)
(5)P3.2 /INT0(外部中断0)
(6)P3.3 /INT1(外部中断1)
(7)P3.4 T0(记时器0外部输入)
(8)P3.5 T1(记时器1外部输入)
(9)P3.6 /WR(外部数据存储器写选通)
(10)P3.7 /RD(外部数据存储器读选通)
(11)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(12)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
(13)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(14)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(15)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
(16)XTAL2:来自反向振荡器的输出。
单片机引脚图如下图所示:

STC89C52单片机引脚图
四、STC89C52单片机最小系统说明:
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。单片机最小系统原理图如下图所示。

单片机最小系统原理图
(1)VCC和GND为单片机的电源引脚,为单片机提供电源:
(2)复位电路由按键S1、电解电容EC1和电阻R1组成。具有手动按键复位和上电自动复位功能。系统上电复位按键接口采集到两个高端信号后进行手动复位,就是非自动的按键复位;系统检测到的电压由低电平上升到高电平的一段时间后,在这段时间过后,系统通过电阻与接地之间形成一条通路,然后自动把高电平进行拉低,使得单片机从高电位变为低电位,从而就是给单片机自动进行复位即上电复位。
(3)时钟电路由晶振Y1、瓷片电容C1和C2组成。有控制芯片的数字电路正常工作是少不了TIME(时钟)电路的,我们需要时钟电路自动发出系统时间,让控制芯片正常工作。给控制芯片正常工作的时钟信号,一般把这种工作方式称为“拍”,以至于让整个控制系统能正常工作,由于要保证控制系统能正常工作,提高他的工作能力,我们经常用11.0592MHZ晶振和30PF的电容进行组合,电容为了帮助晶振起振的,满足了数字控制器上电以后可以正常工作。
(4)JD1为单片机的下载接口。
3.2.2 5V电源电路设计
本系统选择5V直流电源作为总电源,为整个系统供电,电路简单、稳定。DC为电源的DC插座,SW为自锁开关,开关按下后,红灯亮,此时系统电源5V直流输出。开关再次按下后,红灯灭,此时系统电源无5V电源输出。


5V电源电路原理图
3.2.3 LCD1602液晶显示电路设计
LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。
一、LCD1602主要技术参数如下:
(1)显示容量为16×2个字符;
(2)芯片工作电压为4.5~5.5V;
(3)工作电流为2.0mA(5.0V);
(4)模块最佳工作电压为5.0V;
(5)字符尺寸为2.95×4.35(W×H)mm。
二、LCD1602采用标准的14脚,其接口的引脚说明如下:
(1)第1脚:VSS为地电源。
(2)第2脚:VDD接5V正电源。
(3)第3脚:V0为液晶显示器对比度调整端。
(4)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
(5)第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
(6)第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
(7)第7~14脚:D0~D7为8位双向数据线。
(8)第15~16脚:空脚
三、控制指令说明
LCD1602液晶模块内部的控制器共有11条控制指令,说明下表所示:
序号        指令        RS        R/W        D7        D6        D5        D4        D3        D2        D1        D0
1        清显示        0        0        0        0        0        0        0        0        0        1
2        光标返回        0        0        0        0        0        0        0        0        1        *
3        置输入模式        0        0        0        0        0        0        0        1        I/D        S
4        显示开/关控制        0        0        0        0        0        0        1        D        C        B
5        光标或字符移位        0        0        0        0        0        1        S/C        R/L        *        *
6        置功能        0        0        0        0        1        DL        N        F        *        *
7        置字符发生存贮器地址        0        0        0        1        字符发生存贮器地址
8        置数据存贮器地址        0        0        1        显示数据存贮器地址
9        读忙标志或地址        0        1        BF        计数器地址
10        写数到CGRA或DDRAM)        1        0        要写的数据内容
11        从CGRAM或DDRAM读数        1        1        读出的数据内容
表3.1 控制命令表
四、1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
(1)指令1:清显示,指令码01H,光标复位到地址00H位置
(2)指令2:光标复位,光标返回到地址00H
(3)指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
(4)指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁
(5)指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标
(6)指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符
(7)指令7:字符发生器RAM地址设置
(8)指令8:DDRAM地址设置
(9)指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
(10)指令10:写数据
(11)指令11:读数据
系统中采用LCD1602作为显示器件输出信息。在本电路中电位器可以调节液晶显示的对比度即清晰度。其具体电路原理图如下图所示。

LCD1602液晶显示电路原理图
其实物图如下图所示。

LCD1602液晶实物图
3.2.4 蜂鸣器报警电路设计
本蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于电子产品中作发声器件。本系统所采用的报警模块为5V有源蜂鸣器模块,电路中采用三极管9012来驱动,只要单片机控制引脚为低电平,蜂鸣器就会鸣叫报警,反之则不鸣叫,可以通过控制单片机引脚方波输出形式控制蜂鸣器的鸣叫方式。

蜂鸣器报警电路原理图
3.2.5 按键电路设计
在本系统中,按键作为系统的输入,起到了人机交互的枢纽作用。按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平。进而实现对系统的手动输入。其电路原理图如下图所示。

按键电路原理图
3.2.6 DS1302时钟电路设计
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。通过DS1302芯片为本设计提供时间数据。在本电路中,选择32.768KHZ晶振为DS1302提供时钟源,3V纽扣电池保证了DS1302掉电不丢失时间数据,电阻均为上拉电阻,使得DS1302工作更稳定。其电路原理图如下图所示。

DS1302时钟电路原理图
3.2.37 A3144霍尔传感器电路设计
霍尔元件是一种基于霍尔效应的磁传感器,已发展成一个品种多样的磁传感器产品族,并已得到广泛应用。霍尔元件是一种磁传感器。要他们可以检测磁场及其变化,可以在各种与磁场有关的场合中。霍尔器件以霍尔效应为其工作基础。霍尔线性器件的精度高、线性度好。A3144霍尔开关元件属于开关型霍尔传感器(集成霍尔开关),它是把霍尔片产生的霍尔电压放大后驱动触发电路,输出电压是能变化化的方脉冲。霍尔转速传感器的外形图和与磁场的作用关系如下图所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率就可以得出圆盘的转速。

A3144霍尔传感器测猪转速示意图

霍尔电流传感器本身已经存在滤波电路,输出无须再加装滤波,可直接供单片机的0~5V的 AD采集或直接送到单片机的中断输入引脚,信号非常稳定,而且抗干扰能力很强。
    霍尔电流传感器反应速度一般在7微妙,不用考虑单片机循环判断的时间.
若在圆盘上贴上多块磁钢,则圆盘每转一圈,输出的脉冲信号将相应增加,单位时间内测到的脉冲数将增多,测出的转速也将更加精细。本设计建模时采用一个圆盘上贴一个磁钢进行模拟。实际制作中可以贴上多块磁钢,即可以克服因车轮转速太慢而在设定时间内测不到脉冲的问题。
A3144霍尔传感器检测到磁铁信号后,霍尔传感器将输出低电平给单片机接收引脚,同时,LED灯将会亮,否则,LED灯不亮。

A3144霍尔传感器电路原理图
3.2.8 5V直流电机调速电路设计
本系统选通过纯模拟电路即可实现对电机转速的调节,DC为电源插座,SW2为电源开关,PR为10K的大功率电阻。当系统上电后,按下电源开关,通过调节电位器PR即可实现调速,调节PR,则分配到电机上的电压则会在0-5V变化,通过改变施加在电机上的电压的变化来实现对电机转速的调节。其具体原理图如下图所示。电机最大的速度与电位器分配到电机上的电压以及D接入的电压有关。

5V直流电机调速电路原理图

















第四章 软件设计
4.1 编程语言选择
由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数51系列的单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
(1)不需要了解处理器的指令集,也不必了解存储器结构。
(2)寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的地址和数据类型等细节。
(3)指定操作的变量选择组合提高了程序的可读性。
(4)可使用与人的思维更相近的关键字和操作函数。
(5)与使用汇编语言相比,程序的开发和调试时间大大缩短。
(6)C语言的库文件提供了许多标准的例程。
(7)通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(8)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用
4.2 keil软件设计思想
KEIL软件是单片机开发者广泛使用的开发工具的,简单的单片内形都是使用这种开发软件的,可以降低开发周期,从而减少很多成本,因此广泛受到开发者的欢迎和使用。在使用汇编语言,然后用KEIL软件开发,实现更深刻的。  KEIL软件提供了一个丰富的使用环境和调用的子程序,在全体的打开窗口中。还有一个重要因素就是。我们多看看编程器是如何生存程序序言的,使得使用者可以体会到其中的乐趣的,感觉到此KEIL软件会非常的好用的,越来越受到广大使用者的欢迎的。其中追要由它大多数代码都是集成的,调用很方便的,那些初学者也会感觉很好用的,起点水平不需要太高的。在开发大型软件,以更好地反映高语言的优势。以下的细节KEIL软件开发系统和使用的各个部分的功能。
4.3 程序流程图
本系统设计主要采用keil软件编写与调试程序,程序语言采取易读性和移植性更高的C语言编写。系统运行流程图如下图所示。

系统运行流程













第五章 系统焊接与调试
5.1 电路焊接
手工焊接是常用原始的焊接方法,目前大量工厂焊接的生产基本上不采用原始方法了,但是普通元器件的修理、系统测试中经常使用原始的手工焊接。重要的是如焊接本质上出现问题,则会影响到整个控制系统的,可以这么说,焊接的会导致这个控制系统可不可以用的。手工焊接主要有如下四步组成的:
第一步开始焊接:
需要把需要焊接的地方打扫干净,主要去处油迹和灰尘,然后把需要焊接的元器件的两个角向一定的方向掰一掰,注意不能把元器件的脚相交在一起了,这样会影响焊接的。接下来让电烙铁头碰到需要焊接的元器件脚下,放上焊锡丝。此处需要注意的是,不能让烙铁头碰到其它元器件的脚了,要不然会把两个元器件焊接在一起了。
第二步给焊接升温:
当在完成第一步以后,接下来就是加热焊锡丝了,主要是将烧热的电烙铁放在器件管脚旁边,慢慢融化焊锡丝,需要注意电洛铁的温度和加热时间,若时间过长,很有可能焊坏面包板焊盘的,一般建议电洛铁温度调整在400。C左右,加热2秒钟左右,例外也要根据器件种类作出具体区别的。在焊接过程中,当需要把焊接好的元器件卸下来,则也需要给焊接处进行加热的,主要操作是首先在焊接处补好焊锡丝,使焊点是圆润的,然后用电洛铁在焊接处进行加热,在加热的过程中就可以直接把元器件卸下来了,此时一定要主要时间,要不然也会损坏焊盘的
第三部清理焊接面:
当在完成第二步时,有的时候会观察到焊接的不完美或者担心出现虚焊情况,这时候需要进行修改的。主要是两种情况的,第一种是焊锡不够,焊接点不圆润,这时需要给焊接处补焊锡,此时需要注意的是焊锡量不能补多,要不然容易连接到其它期间的引脚的。第二种是焊锡过多,这时候可以用电洛铁放在焊接处来回的滑动,会把多余的焊锡带走的,若不行,只能使用吸锡器了。
第四部检查焊点:
当完成以上三步了,最后就需要整体观察了,主要是观看焊接点是不是圆满、亮度好、紧固,有没有与其它管脚相连在一起了。
5.2 系统调试
    整体系统上电调试前,大概观察下焊接的系统还存在问题,例如还有很显眼的断裂,正负极接反以及相连、虚焊、等问题,然后用万用表检测一下,电源正负极之间是否短路等严重的电源问题,最终保证系统没有问题。
5.2.1 系统程序调试
(1) 在Keil4软件中先创建一个工程:单击菜单栏中的“工程”,输入新建工程名,并保存;然后器件选择“Atmel”目录下的“AT89C52”。
(2)新建用户源文件:在新建的空白文本中编写程序源代码,编码完成保存文件并文件拓展名“***.c”,新文件创建完成。
(3)程序编译和调试:单击编译按钮,系统会对文件进行运行,在输出窗口中可看到提示信息,如下图中有一个error,按提示找出错误并改正,直到提示没有错误提示为止,如下图所示。
提示信息无错误
  (4)程序编译无错误后,进入程序调试状态,可查看单片机资源状态,进行断点等方式调试。
5.2.2硬件测试
最后一步就是硬件整体测试了,主要运用万用表、直流电源和示波器对焊接好的板子进行整体调试,主要检查每一个器件是不是都正常工作了,主要分为两个环节动态调试和静态调试。其中静态调试主要分为以下四种:
1.肉眼观察。主要观看焊接点是否饱满,以及相连器件之间是否相连或者器件管脚没有焊接好,出现短路现象。
2.使用万用表调试。首先查看电源是否短路,然后测量管脚是否连接正确,有没有接线错误。
3.上电检查。在完成第一步和第二步都没有问题,接下来就可以上电了,上电以后观看每个器件是否正常工作,然后在逐一测试功能。
4.综合检查测试。这种测试方法只适合单片机开发板开发的系统才能使用这种方法,本文不适宜用这种方法测试。
动态调试。动态调试主要是静态调试没有任何问题,做最后一步检查,就是每个器件能否正常工作,能否满足我系统开发的功能,防止器件内部损坏,影响系统性能。
5.3 实物测试
经过测算,系统测试正常,如下图所示。

系统测试图
















致谢
四年的艰苦跋涉,四个月的精心准备,毕业设计终于到了划句号的时候,心头如释重负,在本论文即将完成之际,谨此向我的指导老师致以衷心的感谢和崇高的敬意!整个毕业设计的过程都是在常老师的悉心指导下完成的,从资料的收集、方案的论证、联板调试以及毕业论文的撰写,何老师、常老师都做了非常细心的指导。老师以他敏锐的洞察力、渊博的知识、严谨的治学态度、精益求精的工作作风和对科学的献身精神给我留下了刻骨铭心的印象,这些使我受益匪浅,将成为我以后工作生活的榜样。  
我要感谢电子学院所有给我上过课老师,是他们传授给我方方面面的知识,拓宽了我的知识面,培养了我的功底,对论文的完成功不可没。我还要感谢学院的各位工作人员,他们细致的工作使我和同学们的学习和生活井然有序。
感谢本设计课题组的同学,协作竞争的团队精神是我得以顺利完成毕业论文的重要基础。感谢我们这一组同学在论文相关内容的讨论与合作交流带来的启示和帮助。正是由于我们的精诚合作以及大家设计期间给予我的帮助,良好的团队合作精神为我设计得以顺利完成提供了良好条件。
敲完最后一个字符,重新从头细细阅读早已不陌生的文字,我感触颇多。虽然其中没有什么值得特别炫耀的成果,但对我而言,是宝贵的。它是无数教诲、关爱和帮助的结果。
最后向审阅此文的教授、老师致以深切的敬意。
衷心祝愿母校的明天更加美好!








参 考 文 献
[1] 赵小兰,胡征,王培坤,林晓欢,庄衍竖,黄维沛. 多功能自行车码表设计[J]. 电子测试,2013,(20):1-2.
[2] 孙宝元、杨宝清.传感器及其应用手册.北京.
[3] 郑人杰. 计算机软件测试技术. 北京: 清华大学出版社, 1992.  
[4] 胡汉才. 单片机原理及系统设计. 北京:清华大学出版社, 2002.
[5 Silicon Storage Technology Inc, SST39VF800A Datasheet.2001 .
[6] 任强. 传感器选用原则. 计量工作.2004.
[7] 张俊谟. 单片机中级教程原理与应用. 北京航空航天大学出版社.2002.
[7]  张俊谟. 单片机中级教程原理与应用. 北京航空航天大学出版社.2002.
[8] Peter Van Der Linden著,徐波译.C专家编程,人民邮电出版社,2003.
[9]HamldStone.MieroeomPuterInterfaeingUniversityofMassachusetts.AmhorstAddison wesle .1982. 2~3.
[10] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].. TQM Journal. 2008  2~5.
[11] 李全利.单片机原理及应用技术.北京:高等教育出版社.2009. 30~46 .
[12] 李维提,郭强.液晶显示应用技术.北京:电子工业出版社.2006. 20~35.
[13] 赵小兰,胡征,王培坤,林晓欢,庄衍竖,黄维沛. 多功能自行车码表设计[J]. 电子测试,2013,(20):1-2.
[14] 孙宝元、杨宝清.传感器及其应用手册.北京.
[15] 郑人杰. 计算机软件测试技术. 北京: 清华大学出版社, 1992.  
[16] 胡汉才. 单片机原理及系统设计. 北京:清华大学出版社, 2002.
[16] Silicon Storage Technology Inc, SST39VF800A Datasheet.2001 .
[17] 张俊谟. 单片机中级教程原理与应用. 北京航空航天大学出版社.2002.
[18] 赵负图,传感器集成电路手册,第一版,化学工业出版社,2004,590~591 .
[19] 马建国.电子系统设计.北京:高等教育出版社,2004.1.
[20] 谭浩强.C程序设计(第三版).北京:清华大学出版社,2005.7 .
[21] 王建校. 51系列单片机及C51程序设计[M ]. 北京:科学出版社, 2002.
[22] 霍孟友.单片机原理与应用[M ].北京:机械工业出版社,2004.
[23] 何立民,单片机应用系统设计,北京:航天航空大学出版社,2~5,46~50.
[24] 李广弟,单片机基础,北京:北京航空航天大学出版社,2001,56~64.
[25] 何希才,新型实用电子电路400例,电子工业出版社,2000年,60~65.
[26] Wolf W, 孙玉芳等译. 嵌入式计算系统设计原理. 北京: 机械工业出版社, 2002.  
[27] Integrated Silicon Solution Inc. IS61LVI2816 Datasheet.2002.















分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:419294 发表于 2018-11-24 10:06 | 只看该作者
程序包呢
回复

使用道具 举报

板凳
ID:341936 发表于 2020-11-9 11:35 | 只看该作者
我回来了
回复

使用道具 举报

地板
ID:361216 发表于 2020-11-17 21:17 | 只看该作者
看看内容就不错了呢!!!思路不错!
回复

使用道具 举报

5#
ID:87156 发表于 2020-11-18 17:22 | 只看该作者
其实我很佩服你们, 很简单的东西, 参考那么多书, 还把国内外古今历史研究遍,  代码都没有文章打的字多。学一下老外,直接了当,告诉需要什么材料,写什么代码,怎样炒起来,然后就上菜了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表