里程计数器课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南文理学院

课程设计报告

课程名称:里程计数器课程设计

专业班级:建筑电气与智能化12101班

学生姓名:曾计生

指导教师:李建英

完成时间:2015年6 月18 日

报告成绩:

评阅意见:

评阅教师日期

湖南文理学院制

目录

一、设计任务及要求 (3)

二、设计的作用与目的 (3)

三、设备及软件 (3)

四、系统设计方案 (4)

1.系统设计方案 (4)

2.系统工作原理 (4)

五、系统硬件设计 (5)

1.单片机最小系统及说明 (5)

2.里程信号的采集 (7)

3.显示单元电路设计 (8)

六系统软件设计 (10)

1.系统主程序设计 (10)

2.中断服务程序 (11)

3.显示子程序 (11)

七、系统仿真调试与分析 (13)

八、设计中的问题及解决方法 (15)

九、设计心得 (16)

十、参考文献 (17)

附录: (18)

附录A:电路图 (18)

附录B:源程序 (19)

里程计数器

一、设计任务及要求

汽车里程计数器由三个部分组成:

一、车辆跑动信号的采集:当车辆跑动时,转轴带动一小磁体转动,车轮和该小磁体的转动比是一定的,这里可以利用磁感应传感器来接收小磁体的信号,小磁体转动一周与磁感应传感器正对一次,传感器输出口就会产生一个大约20ms的低脉冲,使用单片机来检测传感器信号。本次设计中采用按键来模拟传感器信号,检测按键按下的次数就可采集车辆的跑动信号。

二、对车辆行驶的里程进行计数并利用I2C协议将数据及时保存到E2PROM中,设计中使用单片机内部的基本RAM单元来存储计数值。

三、显示车辆行驶的距离,假设按键按下10次为1公里,利用6位数码管显示里程数。

二、设计的作用与目的

1.进一步熟悉和掌握单片机的结构及工作原理。

2.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

3.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。4.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。

5.学习程设计的相关内容,为以后的毕业设计打下基础

三、设备及软件

PC机 keil uVison4软件 proteus软件

1.系统设计方案

采用AT89C51芯片,用霍尔元件[2]将车轮的转速转换成电脉冲,经过处理后送入单片机。里程及速度的测量,是经过AT89C51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED 显示器显示出来。

图1单片机控制方案

2.系统工作原理

各单元的工作原理如下:

1. 利用霍尔传感器产生里程数的脉冲信号。

霍尔传感器是最具代表的磁传感器,当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并输入到单片机引脚12即P3.2外部中断0端,传感器每获取一个脉冲信号即对系统提供一次计数中断 2. 对脉冲信号进行计数。

实现:利用单片机自带的计数器T0对霍尔传感器脉冲信号进行计数。 3. 对数据进行处理,要求用LED 显示里程总数和即时速度。 实现:利用软件编程,对数据进行处理得到需要的数值。 最终实现目标:采用单片机作控制,显示电路可显示里程

AT89C51

霍尔传感器

信号

LED 数码管 显示单元

时钟电路

复位电路

1.单片机最小系统[1]及说明

图2单片机最小系统

单片机最小系统是单片机应用的最基电路,由芯片AT89C51、电源、时钟电路和复位电路组成。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。其应用广泛,生活中很多地方都有它的应用,像电子钟、出租车计价器、交通灯等。其管脚说明如下:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程

和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,

相关文档
最新文档