专业综合课程设计
题 目 自行车数字里程表设计
学 院 管理科学与工程学院 专 业 电子信息工程 班 级 08信工(3)班 学 号 200883053 姓 名 钟素娟
摘 要
自行车里程表是用于远距离连续测量自行车行驶速度和距离的仪表。它分为传感器、单片机和显示器三部分。目前,里程表普遍使用在汽车和摩托车上, 是一种机械测量装置,测试精度相对低,自行车上使用里程表的还很少见。针对这种情况,研制数字化里程表用于自行车上是非常有必要的。本文介绍的自行车里程表是采用以AT89C51单片机为中央处理器,结合高精度的采样电路、 控制电路、显示电路,方便地实现了智能化、 高精度、 高可靠性、 高效率的自行车里程表的设计,并且使用方便。
如今,随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强个人动手能力﹑重视实践应该是电子发展需求的必然趋向。实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。
关键词: 里程计,AT89C51,霍尔传感器,DS1302,键盘矩阵
第一章 自行车数字里程表系统设计 ......................................................................... 4
1.1 课程设计目的 ..................................................................................................... 4
1.2 课程设计主要任务及内容 ................................................................................. 4
1.3课程设计技术指标 .............................................................................................. 4
1.4自行车数字里程表系统设计 .............................................................................. 4
1.4.1系统硬件构成................................................................................................ 4
1.4.2设计思路........................................................................................................ 5
第二章 自行车数字里程表硬件设计 ......................................................................... 5
2.1概述 ...................................................................................................................... 5
2.2数据采集模块 ...................................................................................................... 6
2.2.1传感器............................................................................................................ 6
2.2.2 时间芯片....................................................................................................... 8
2.2.3键盘矩阵........................................................................................................ 8
2.3控制模块 .............................................................................................................. 9
2.3.1概述................................................................................................................ 9
2.3.2单片机最小系统............................................................................................ 9
2.3.3中断系统...................................................................................................... 11
2.4显示模块 ............................................................................................................ 11
2.5其他介绍 ............................................................................................................ 12
2.5.1复位电路...................................................................................................... 12
2.5.2报警设计...................................................................................................... 12
第三章 自行车数字里程表软件设计 ....................................................................... 12
3.1概述 .................................................................................................................... 12
第四章 PROTEUS仿真 ............................................................................................ 15
4.1 概述 ................................................................................................................... 15
4.2 仿真结果图如下示 ........................................................................................... 16
参考文献 ..................................................................................................................... 16
第一章 自行车数字里程表系统设计
1.1 课程设计目的
1.训练对所学知识的综合应用能力。
2.学会查找资料、分析资料。
3.懂得如何按要求的指标确定方案。
4.学习对主要参数性能进行测量。
1.2 课程设计主要任务及内容
用单片机设计一个可以适用各种自行车的数字里程表,可显示里程、速度、时间等信息。学习、了解、掌握程序设计方法和了解自行车的数字里程表的基本工作原理。用传感器将所测转速转变为数字脉冲信号,然后再将数字脉冲信号数据传输于核心单片机处理,单片机将根据设计程序计算在一定时间内数字脉冲的频率,再由计数值最终得到路程里数并通过终端显示设备显示出来。附加报警功能,在速度超过某一个固定值后,指示灯发亮,提示需要减速。
1.3课程设计技术指标
计数方式:十进制
里程显示位数:4位
速度显示位数:2位
1.4自行车数字里程表系统设计
1.4.1系统硬件构成
系统硬件以AT89C51为核心,包括以下三个模块电路
1.数据采集模块(霍尔传感器采集数据、时间芯片DS1302、键盘矩阵)
2.控制模块(AT89C51)
3.LCD显示模块(LM016L)
图 1 系统构成框图
1.4.2设计思路
基本思路:假设自行车车轮的半径为R,R的值根据自行车半径的不同由编程是内部设定或键盘输入给定,则L=2*3.14*R。在轮圈上安装一个永久磁铁,则轮子每转一圈,通过开关型霍尔传感器的电平就会发生一次跳变,跳变产生一个脉冲信号,从引脚P3.5计数器T1端输入,并通过计数器对其进行计数为N在规定的周期T时间内的路程S=N*L,而在该周期内的速度V=S/T,当前的总路程为lc=lc+S。
计时功能由时间芯片DS1302来选取,如果当时间不符合时,则由键盘对时间进行初始化设置来调整时间,然后通过定时器来完成时间计时功能,键盘还可以对不同规格的自行车半径来作选择。
在LCD上需显示的内容为time,sd,lc。由AT89C51控制显示数据,实时刷新。
1.5自行车数字里程表软件设计
自行车的软件设计部分采用模块化设计的方法,包括主模块,数据采集子模块,控制子模块,显示子模块等。
第二章 自行车数字里程表硬件设计
2.1概述
自行车数字里程表的硬件设计主要包括运用传感器对外部信号进行采集,单片机对数据进行处理,液晶显示的设计,单片机是设计的核心。
系统硬件仿真电路图
2.2数据采集模块
2.2.1传感器
1.传感器的选择
里程测量传感器的选择方案有:使用编码器对自行车车轮的圈数进行测量、使用红外光敏电阻对里程进行测量、利用霍尔传感器对自行车里程进行测量。 编码器的安装相对来说比较复杂;红外光敏电阻不仅对光敏感,还对环境和天气的要求也高,这些因素都能严重影响测量的效果;而霍尔传感器完全能避免上述的不足之处,由霍尔元件加整形电路构成的霍尔开关系统,不仅安装方便,不受光线和环境的影响,而且具有输出响应快,数字脉冲性能好,既简单又经济适用,所以本设计采用霍尔传感器来对里程进行测量。
2.霍尔传感器的原理 当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象就称为霍尔效应。两端具有的电位差值称为霍尔电势U,其表达式为 U=K·I·B/d,其中K为霍尔系数,I为薄片中通过的电流,B为外加磁场的磁感应强度,d是薄片的厚度,由此可见,霍尔效应的灵敏度高低与外加磁场的磁感应强度成正比的关系。而利用霍尔效应制成的元件叫做霍尔元件,霍尔元件接线图如下图所示。
图 1 接线图
霍尔传感器检测转速示意图如下图示。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲,通过单片机测量产生脉冲的频率就可以得出圆盘的转速。
图 2 测速原理图
霍尔传感器的外形图和与磁场的作用关系如图3所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。
图 3 霍尔元件产品图和管脚图
2.2.2 时间芯片
本设计时间芯片采用的了DS1302,DS1302是由美国DALLAS公司推出的一种具有涓细电流充电能力的低功耗实时时钟电路,具有可对年、月、日、周、日、时、分、秒进行计时等的功能,工作电压为2.5V~5.5V。主要的特点是采用串行数据传输,即使掉电亦不丢失,在DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302与AT89C51的连接线有三条线:RST引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2作为备用电源,芯片外接晶振X2,为芯片提供计时脉冲。
2.2.3键盘矩阵
键盘是4*4的矩阵键盘,在设计中是用来调整时间的,从上述知道当时间芯片DS1302的时间不准确时,就可以通过键盘来对时间进行调整,当然键盘还能对不同规格自行车的半径进行选择。
2.3控制模块
2.3.1概述
单片机是指一种集成在电路芯片上的微型计算机,它包括中央处理器CPU、随机存储器RAM、只读存储器ROM、并行I/O口、串行I/O口、中断系统、定时器/计数器、定时电路及元件等部件集成到一块芯片上构成的一个小而完善的计算机系统。
1. 中央处理器
中央处理器CPU是单片机的核心,主要完成运算和控制功能。
2. 随机存储器RAM
CPU在运行时可随时进行数据的写入和读取,断电后RAM中内容丢失。
3. 只读存储器ROM
只读存储器ROM,顾名思义是指将数据写入后不易改写的存储器,断电后ROM 中内容不丢失(如MP3)
4. 并行I/O口
51单片机有4个并行I/O口P0、P1、P2、P3,每个I/O口有8根I/O口线。
5. 串行I/O口
目前比较高档的8位单片机均设置了全双工串行I/O口,用以实现与某些终端设备进行串行通信,51单片机只有一个串行口P3.0、P3.1。
6. 中断系统
中断系统包括中断装置和中断处理程序,是计算机的重要组成部分,实时控制、故障自动处理、计算机与外围设备间的数据传送广泛采用中断系统。
7. 定时器/计数器
定时器是由单片机内部提供一个非常稳定的计数信号;计数器则是记录单片机的外部事件的。
8. 定时电路及元件
计算机的整个工作是在时钟信号的驱动下,按照严格的时序有规律的一拍一拍的执行各个操作,单片机内部设有定时电路,只需要外接振荡元件即可工作。
2.3.2单片机最小系统
单片机的最小系统可以为单片机提供一个稳定无抖动的电源,主要由电源,时钟,复位三部分电路组成。
图4 单片机控制模块
1.电源电路:向单片机供电
通常图片都没有给出,20脚是地GND, 40脚是电源VCC,一般我们会选择在电源VCC处,加一个瓷片电容,它的目的是能滤掉电源中的高频杂波,使系统更加安全。需要注意的是51单片机使用的是5伏直流电源。
2.时钟电路:时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度
AT89C51片内有一个用于构成振荡器的反相放大器,该反相放大器的输入为芯片引脚XTAL1(19脚),输出端为引脚XTAL2(18脚),这两个引脚通过连接一个12MHz晶振X1和两个30pF的瓷片电容C1、C2,构成了单片机的时钟电路。振荡器是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。晶振是石英晶体振荡器的简称,通常用来构成振荡电路,产生各种频率信号。是一种能够输出稳定的震荡周期的元件,通过晶振输出的时钟脉冲,来安排单片机的工作,这样单片机才能够有了时间的概念。但是晶振并不能够独立的使用,图中的瓷片电容C1和C2起稳定作用,所以晶振必须配合合适的负载电容,否则会产生错误,或者是晶振不能正常的工作。晶振所加电容是匹配电容,主要是根据单片机内部电路和晶振确定的,一般选取30pF左右即可,电容大小对振荡的稳定性有较大影响,对频率有一定的微调,但不明显。晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
注:时钟电路振荡频率f = 晶振频率
时钟电路振荡周期 = 1/f
单片机机器周期 = 振荡周期×12
例如:
晶振频率 = 12MHz
振荡频率 = 12MHz 振荡周期 = 1/12μs
机器周期 = 1μs
3.复位电路:确定单片机工作的起始状态,完成单片机的启动过程
AT89C51单片机的复位信号时高电平有效,通过RST/VPD(9脚)连接复位电路,复位电路连接方式有两种。1)上电复位:单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。2)手动复位:手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机的“重启”。上电复位是每个单片机都必须有的,一般断电以后,再上电就复位了,而手动复位在大型的系统中运用比较多,在一般的小东西里面基本不用,所以本设计采用了上电复位方式。
本设计的复位电路是由一个10uF的电容C3和一个10K的电阻R1组成的。一般单片机复位脚至少需要大约10ms时间的持续高电平脉冲,才能保证有效复位。当上电时,电容充电,类似于短路,复位脚就变成高电平,电容充满电后,复位脚就变成低电平。同时应注意保证加在RST 引脚上的高电平持续两个机器周期,才能使单片机可靠复位。
2.3.3中断系统
中断源:引起中断的根源
中断请求:中断源向CPU提出的处理要求
中断响应过程:CPU中断事件A,转去执行事件B的过程 中断处理:对事件B的整个处理过程
中断返回:CPU处理完事件B返回到原事件A被中断的地方继续执行 实现上述中断功能—中断系统。
AT89C51有5个中断源,2个优先级。
2.4显示模块
显示设计采用LM016L液晶模块,该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。在本设计中用来显示速度、路程、和时间。LCD模块引脚及功能如下
图 LM016L引脚 VSS:接地
VDD(VCC):电源电路,+5V VEE(VO):液晶驱动电压
RS:寄存器选择(为“1”时,选数据寄存器DR,为“0”时选指令寄存器IR)
RW:读写信号
E:使能,片选,下降沿触发 DB0-DB7:数据线
2.5其他介绍
2.5.1复位电路
复位是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个
状态开始工作。51系列单片机通常采用上电复位、手动复位、上电+手动的混合复位等方式。而本设计采用上电复位方式,其实质是一阶充放电电路,系统上电时该电路将提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。同时应注意保证加在RST 引脚上的高电平持续两个机器周期,才能使单片机可靠复位。
2.5.2报警设计
报警设计中当即时速度超过固定值时,指示灯D1会发亮,提示需要减速
第三章 自行车数字里程表软件设计
3.1概述
所谓的软件设计就是指把软件需求变换成软件具体设计方案(即模块化结构)的过程。模块化结构设计是指根据要求和硬件设计的结构,将整个系统的功能分成多个小的功能模块,再根据小的功能模块进行程序编写的过程。所以在本设计中的软件设计的思想主要是模块化设计,包括一个主模块和三个子模块(数据采集子模块、控制子模块、LCD显示子模块),对各个子模块进行逐一设计,主模块完成对各个子模块的初始化,调用控制子模块、显示子模块。数据采集子模块采用中断方式工作,同时在编程中采用C语言编写,使用了许多技巧,使运
算做到高精度、快速。
系统整体流程图
初始化程序流程图
主程序流程图
第四章 Proteus仿真
4.1 概述
Proteus
中的电路仿真是在ISIS 原理图设计模块中延续下来的,利
用Proteus的交互式仿真功能,用户可以清楚的观察电路的工作情况。Proteus原理图仿真分析的首要任务是从元件库中选取绘制电路所需元件,查找所需元件,将元件放置在绘图区,同时编辑元件的参数,然后连线。再利用电器规则对设计进行检查直到通过其检查为止。在源代码通过编译无误后就可以进行仿真。
4.2 仿真结果图如下示
参考文献
[1] 谢维成,杨加国.单片机原理与应用及C51程序设计,2009 [2] 徐爱军,彭秀华.8051单片机实践教程,电子工业出版社,2005 [3] 何立明.单片机应用技术选编,北京航空航天大学出版社,1993 [4] 王成安,王贺明. 模拟电子技术(基础篇) ,大连理工大学出版社,2005 [5] 刘守义.单片机应用技术,西安:西安电子科技大学出版社,2002 [6] 薛栋梁.MCS-51/151/251单片机原理与应用,中国水利水电出版社,2001 [7] 刘灿军.实用传感器,国防工业出版社,2008年
[8] 周兴华,手把手教你学单片机C程序设计,北京航空航天大学出版社,2007 [9] 蒋力培.单片微机系统实用教程,机械工业出版社
专业综合课程设计
题 目 自行车数字里程表设计
学 院 管理科学与工程学院 专 业 电子信息工程 班 级 08信工(3)班 学 号 200883053 姓 名 钟素娟
摘 要
自行车里程表是用于远距离连续测量自行车行驶速度和距离的仪表。它分为传感器、单片机和显示器三部分。目前,里程表普遍使用在汽车和摩托车上, 是一种机械测量装置,测试精度相对低,自行车上使用里程表的还很少见。针对这种情况,研制数字化里程表用于自行车上是非常有必要的。本文介绍的自行车里程表是采用以AT89C51单片机为中央处理器,结合高精度的采样电路、 控制电路、显示电路,方便地实现了智能化、 高精度、 高可靠性、 高效率的自行车里程表的设计,并且使用方便。
如今,随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强个人动手能力﹑重视实践应该是电子发展需求的必然趋向。实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。
关键词: 里程计,AT89C51,霍尔传感器,DS1302,键盘矩阵
第一章 自行车数字里程表系统设计 ......................................................................... 4
1.1 课程设计目的 ..................................................................................................... 4
1.2 课程设计主要任务及内容 ................................................................................. 4
1.3课程设计技术指标 .............................................................................................. 4
1.4自行车数字里程表系统设计 .............................................................................. 4
1.4.1系统硬件构成................................................................................................ 4
1.4.2设计思路........................................................................................................ 5
第二章 自行车数字里程表硬件设计 ......................................................................... 5
2.1概述 ...................................................................................................................... 5
2.2数据采集模块 ...................................................................................................... 6
2.2.1传感器............................................................................................................ 6
2.2.2 时间芯片....................................................................................................... 8
2.2.3键盘矩阵........................................................................................................ 8
2.3控制模块 .............................................................................................................. 9
2.3.1概述................................................................................................................ 9
2.3.2单片机最小系统............................................................................................ 9
2.3.3中断系统...................................................................................................... 11
2.4显示模块 ............................................................................................................ 11
2.5其他介绍 ............................................................................................................ 12
2.5.1复位电路...................................................................................................... 12
2.5.2报警设计...................................................................................................... 12
第三章 自行车数字里程表软件设计 ....................................................................... 12
3.1概述 .................................................................................................................... 12
第四章 PROTEUS仿真 ............................................................................................ 15
4.1 概述 ................................................................................................................... 15
4.2 仿真结果图如下示 ........................................................................................... 16
参考文献 ..................................................................................................................... 16
第一章 自行车数字里程表系统设计
1.1 课程设计目的
1.训练对所学知识的综合应用能力。
2.学会查找资料、分析资料。
3.懂得如何按要求的指标确定方案。
4.学习对主要参数性能进行测量。
1.2 课程设计主要任务及内容
用单片机设计一个可以适用各种自行车的数字里程表,可显示里程、速度、时间等信息。学习、了解、掌握程序设计方法和了解自行车的数字里程表的基本工作原理。用传感器将所测转速转变为数字脉冲信号,然后再将数字脉冲信号数据传输于核心单片机处理,单片机将根据设计程序计算在一定时间内数字脉冲的频率,再由计数值最终得到路程里数并通过终端显示设备显示出来。附加报警功能,在速度超过某一个固定值后,指示灯发亮,提示需要减速。
1.3课程设计技术指标
计数方式:十进制
里程显示位数:4位
速度显示位数:2位
1.4自行车数字里程表系统设计
1.4.1系统硬件构成
系统硬件以AT89C51为核心,包括以下三个模块电路
1.数据采集模块(霍尔传感器采集数据、时间芯片DS1302、键盘矩阵)
2.控制模块(AT89C51)
3.LCD显示模块(LM016L)
图 1 系统构成框图
1.4.2设计思路
基本思路:假设自行车车轮的半径为R,R的值根据自行车半径的不同由编程是内部设定或键盘输入给定,则L=2*3.14*R。在轮圈上安装一个永久磁铁,则轮子每转一圈,通过开关型霍尔传感器的电平就会发生一次跳变,跳变产生一个脉冲信号,从引脚P3.5计数器T1端输入,并通过计数器对其进行计数为N在规定的周期T时间内的路程S=N*L,而在该周期内的速度V=S/T,当前的总路程为lc=lc+S。
计时功能由时间芯片DS1302来选取,如果当时间不符合时,则由键盘对时间进行初始化设置来调整时间,然后通过定时器来完成时间计时功能,键盘还可以对不同规格的自行车半径来作选择。
在LCD上需显示的内容为time,sd,lc。由AT89C51控制显示数据,实时刷新。
1.5自行车数字里程表软件设计
自行车的软件设计部分采用模块化设计的方法,包括主模块,数据采集子模块,控制子模块,显示子模块等。
第二章 自行车数字里程表硬件设计
2.1概述
自行车数字里程表的硬件设计主要包括运用传感器对外部信号进行采集,单片机对数据进行处理,液晶显示的设计,单片机是设计的核心。
系统硬件仿真电路图
2.2数据采集模块
2.2.1传感器
1.传感器的选择
里程测量传感器的选择方案有:使用编码器对自行车车轮的圈数进行测量、使用红外光敏电阻对里程进行测量、利用霍尔传感器对自行车里程进行测量。 编码器的安装相对来说比较复杂;红外光敏电阻不仅对光敏感,还对环境和天气的要求也高,这些因素都能严重影响测量的效果;而霍尔传感器完全能避免上述的不足之处,由霍尔元件加整形电路构成的霍尔开关系统,不仅安装方便,不受光线和环境的影响,而且具有输出响应快,数字脉冲性能好,既简单又经济适用,所以本设计采用霍尔传感器来对里程进行测量。
2.霍尔传感器的原理 当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象就称为霍尔效应。两端具有的电位差值称为霍尔电势U,其表达式为 U=K·I·B/d,其中K为霍尔系数,I为薄片中通过的电流,B为外加磁场的磁感应强度,d是薄片的厚度,由此可见,霍尔效应的灵敏度高低与外加磁场的磁感应强度成正比的关系。而利用霍尔效应制成的元件叫做霍尔元件,霍尔元件接线图如下图所示。
图 1 接线图
霍尔传感器检测转速示意图如下图示。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲,通过单片机测量产生脉冲的频率就可以得出圆盘的转速。
图 2 测速原理图
霍尔传感器的外形图和与磁场的作用关系如图3所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。
图 3 霍尔元件产品图和管脚图
2.2.2 时间芯片
本设计时间芯片采用的了DS1302,DS1302是由美国DALLAS公司推出的一种具有涓细电流充电能力的低功耗实时时钟电路,具有可对年、月、日、周、日、时、分、秒进行计时等的功能,工作电压为2.5V~5.5V。主要的特点是采用串行数据传输,即使掉电亦不丢失,在DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302与AT89C51的连接线有三条线:RST引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2作为备用电源,芯片外接晶振X2,为芯片提供计时脉冲。
2.2.3键盘矩阵
键盘是4*4的矩阵键盘,在设计中是用来调整时间的,从上述知道当时间芯片DS1302的时间不准确时,就可以通过键盘来对时间进行调整,当然键盘还能对不同规格自行车的半径进行选择。
2.3控制模块
2.3.1概述
单片机是指一种集成在电路芯片上的微型计算机,它包括中央处理器CPU、随机存储器RAM、只读存储器ROM、并行I/O口、串行I/O口、中断系统、定时器/计数器、定时电路及元件等部件集成到一块芯片上构成的一个小而完善的计算机系统。
1. 中央处理器
中央处理器CPU是单片机的核心,主要完成运算和控制功能。
2. 随机存储器RAM
CPU在运行时可随时进行数据的写入和读取,断电后RAM中内容丢失。
3. 只读存储器ROM
只读存储器ROM,顾名思义是指将数据写入后不易改写的存储器,断电后ROM 中内容不丢失(如MP3)
4. 并行I/O口
51单片机有4个并行I/O口P0、P1、P2、P3,每个I/O口有8根I/O口线。
5. 串行I/O口
目前比较高档的8位单片机均设置了全双工串行I/O口,用以实现与某些终端设备进行串行通信,51单片机只有一个串行口P3.0、P3.1。
6. 中断系统
中断系统包括中断装置和中断处理程序,是计算机的重要组成部分,实时控制、故障自动处理、计算机与外围设备间的数据传送广泛采用中断系统。
7. 定时器/计数器
定时器是由单片机内部提供一个非常稳定的计数信号;计数器则是记录单片机的外部事件的。
8. 定时电路及元件
计算机的整个工作是在时钟信号的驱动下,按照严格的时序有规律的一拍一拍的执行各个操作,单片机内部设有定时电路,只需要外接振荡元件即可工作。
2.3.2单片机最小系统
单片机的最小系统可以为单片机提供一个稳定无抖动的电源,主要由电源,时钟,复位三部分电路组成。
图4 单片机控制模块
1.电源电路:向单片机供电
通常图片都没有给出,20脚是地GND, 40脚是电源VCC,一般我们会选择在电源VCC处,加一个瓷片电容,它的目的是能滤掉电源中的高频杂波,使系统更加安全。需要注意的是51单片机使用的是5伏直流电源。
2.时钟电路:时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度
AT89C51片内有一个用于构成振荡器的反相放大器,该反相放大器的输入为芯片引脚XTAL1(19脚),输出端为引脚XTAL2(18脚),这两个引脚通过连接一个12MHz晶振X1和两个30pF的瓷片电容C1、C2,构成了单片机的时钟电路。振荡器是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。晶振是石英晶体振荡器的简称,通常用来构成振荡电路,产生各种频率信号。是一种能够输出稳定的震荡周期的元件,通过晶振输出的时钟脉冲,来安排单片机的工作,这样单片机才能够有了时间的概念。但是晶振并不能够独立的使用,图中的瓷片电容C1和C2起稳定作用,所以晶振必须配合合适的负载电容,否则会产生错误,或者是晶振不能正常的工作。晶振所加电容是匹配电容,主要是根据单片机内部电路和晶振确定的,一般选取30pF左右即可,电容大小对振荡的稳定性有较大影响,对频率有一定的微调,但不明显。晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
注:时钟电路振荡频率f = 晶振频率
时钟电路振荡周期 = 1/f
单片机机器周期 = 振荡周期×12
例如:
晶振频率 = 12MHz
振荡频率 = 12MHz 振荡周期 = 1/12μs
机器周期 = 1μs
3.复位电路:确定单片机工作的起始状态,完成单片机的启动过程
AT89C51单片机的复位信号时高电平有效,通过RST/VPD(9脚)连接复位电路,复位电路连接方式有两种。1)上电复位:单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。2)手动复位:手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机的“重启”。上电复位是每个单片机都必须有的,一般断电以后,再上电就复位了,而手动复位在大型的系统中运用比较多,在一般的小东西里面基本不用,所以本设计采用了上电复位方式。
本设计的复位电路是由一个10uF的电容C3和一个10K的电阻R1组成的。一般单片机复位脚至少需要大约10ms时间的持续高电平脉冲,才能保证有效复位。当上电时,电容充电,类似于短路,复位脚就变成高电平,电容充满电后,复位脚就变成低电平。同时应注意保证加在RST 引脚上的高电平持续两个机器周期,才能使单片机可靠复位。
2.3.3中断系统
中断源:引起中断的根源
中断请求:中断源向CPU提出的处理要求
中断响应过程:CPU中断事件A,转去执行事件B的过程 中断处理:对事件B的整个处理过程
中断返回:CPU处理完事件B返回到原事件A被中断的地方继续执行 实现上述中断功能—中断系统。
AT89C51有5个中断源,2个优先级。
2.4显示模块
显示设计采用LM016L液晶模块,该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。在本设计中用来显示速度、路程、和时间。LCD模块引脚及功能如下
图 LM016L引脚 VSS:接地
VDD(VCC):电源电路,+5V VEE(VO):液晶驱动电压
RS:寄存器选择(为“1”时,选数据寄存器DR,为“0”时选指令寄存器IR)
RW:读写信号
E:使能,片选,下降沿触发 DB0-DB7:数据线
2.5其他介绍
2.5.1复位电路
复位是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个
状态开始工作。51系列单片机通常采用上电复位、手动复位、上电+手动的混合复位等方式。而本设计采用上电复位方式,其实质是一阶充放电电路,系统上电时该电路将提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。同时应注意保证加在RST 引脚上的高电平持续两个机器周期,才能使单片机可靠复位。
2.5.2报警设计
报警设计中当即时速度超过固定值时,指示灯D1会发亮,提示需要减速
第三章 自行车数字里程表软件设计
3.1概述
所谓的软件设计就是指把软件需求变换成软件具体设计方案(即模块化结构)的过程。模块化结构设计是指根据要求和硬件设计的结构,将整个系统的功能分成多个小的功能模块,再根据小的功能模块进行程序编写的过程。所以在本设计中的软件设计的思想主要是模块化设计,包括一个主模块和三个子模块(数据采集子模块、控制子模块、LCD显示子模块),对各个子模块进行逐一设计,主模块完成对各个子模块的初始化,调用控制子模块、显示子模块。数据采集子模块采用中断方式工作,同时在编程中采用C语言编写,使用了许多技巧,使运
算做到高精度、快速。
系统整体流程图
初始化程序流程图
主程序流程图
第四章 Proteus仿真
4.1 概述
Proteus
中的电路仿真是在ISIS 原理图设计模块中延续下来的,利
用Proteus的交互式仿真功能,用户可以清楚的观察电路的工作情况。Proteus原理图仿真分析的首要任务是从元件库中选取绘制电路所需元件,查找所需元件,将元件放置在绘图区,同时编辑元件的参数,然后连线。再利用电器规则对设计进行检查直到通过其检查为止。在源代码通过编译无误后就可以进行仿真。
4.2 仿真结果图如下示
参考文献
[1] 谢维成,杨加国.单片机原理与应用及C51程序设计,2009 [2] 徐爱军,彭秀华.8051单片机实践教程,电子工业出版社,2005 [3] 何立明.单片机应用技术选编,北京航空航天大学出版社,1993 [4] 王成安,王贺明. 模拟电子技术(基础篇) ,大连理工大学出版社,2005 [5] 刘守义.单片机应用技术,西安:西安电子科技大学出版社,2002 [6] 薛栋梁.MCS-51/151/251单片机原理与应用,中国水利水电出版社,2001 [7] 刘灿军.实用传感器,国防工业出版社,2008年
[8] 周兴华,手把手教你学单片机C程序设计,北京航空航天大学出版社,2007 [9] 蒋力培.单片微机系统实用教程,机械工业出版社