单片机课程设计(论文)微机化转速测量系统设计_第1页
单片机课程设计(论文)微机化转速测量系统设计_第2页
单片机课程设计(论文)微机化转速测量系统设计_第3页
单片机课程设计(论文)微机化转速测量系统设计_第4页
单片机课程设计(论文)微机化转速测量系统设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计课 程 名 称: 课程设计 题 目: 微机化转速测量系统设计 年级/专业/班: 学 生 姓 名: 学 号: 小 组 成 员: 开 始 时 间: 年 月 日完 成 时 间: 年 月 日指 导 教 师: 年 月 日目 录单片机课程设计说明书- 1 -摘 要.- 2 -1 引 言 .- 3 -2 方案设计(或分析) .- 4 -2.1 总体设计框图.- 5 -2.2 单元电路设计.- 5 -2.2.1 数码管显示电路 .- 5 -2.2.2 主控电路.- 6 -2.2.3 硬件总电路图 .- 9 -2.3 软件流程图.- 10 -2.3.1 主程序流程图 .- 10 -2.3.2 程序清单

2、.- 10 -3、调试.- 13 -3.1 硬件调试 .- 13 -3.2 软件调试 .- 13 -3.3 proteus仿真调试 .- 14 -致 谢.- 15 -参考文献.- 16 -单片机课程设计说明书- 2 - 摘摘 要要本文介绍了一种以单片机内部计数器 t0 为测频端口的频率计方案,以 at-89c51 单片机作为主控核心, led 数码显示等较少的辅助硬件电路相结合,利用软件对 0-3000hz 频率的方波实现精确测频。本系统具有体积小、硬件少、电路结构简单。本电路中通过霍尔传感器,把测速机构装上齿轮,然后把霍尔传感器靠近齿轮的边缘,当齿轮在不断转动的时候,齿轮的齿和槽会相续接近霍

3、尔传感器,这样子霍尔传感器就会产生一系列的脉冲,当齿靠近传感器是会持续高电平,当凹槽靠近霍尔传感器是会持续低电平,这样当套在轴上的齿轮在不断转动时就会出现一系列的脉冲波形,把这波形整形后通过整形电路整形后通至单片机的测速口,再换算把脉冲信号转换成转速显示在数码管上面。关键词:关键词:单片机 频率计 89c52 数码显示 abstract this paper introduces a single-chip t0 internal counter for measuring frequency of port frequency meter project, taking the mig-at

4、 89c51 microcontroller as the master core, led digital display such as less auxiliary hardware circuit, combined with using the software of 0-3000hz frequency square-wave achieve precise measuring frequency. this system has small, simple structure, circuit hardware less. keywords:keywords: single-ch

5、ip microcomputer frequency meter 89c52 digital display 单片机课程设计说明书- 3 -1 1 引引 言言近年来随着计算机技术的飞速发展,计算机也正式形成了通用计算机系统和嵌入式计算机系统二个分支。单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、仪器仪表、工业控制单元以及通信产品中,成为现代电子系统中最重要的智能化工具。同时数模电技术、微电子技术也快速发展使得大量集成芯片出现,从而实现很多简单功能代替了原来的模拟电路。这样利用单片机、集成芯片和电子电路就可以很方便的进行设计,其中最典型、现在应用也很多的就是电子

6、产品的设计。 51 系列单片机是国内目前应用最广泛的一种 8 位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51 系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。本次课程设计的内容是使用 89c51 单片机最小系统设计频率计系统,系统以单片机为主控单元,主要用于对方波频率的测量。单片机课程设计说明书- 4 -2 方案设计(或分析) 频率的测量实际上就是在 1s 时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,第一种方法是使用

7、单片机自带的计数器对输入脉冲进行计数;第二种方法是单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。第一种方法的好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。这种方法的缺陷是受限于单片机计数的晶振频率,输入的时钟频率通常是单片机晶振频率的几分之一甚至是几十分之一,在本次设计使用的 89c52 单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1” ,后一个周期测出“0” 。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。第二种方法的好处是输入的时钟信号频率可以不受单片机晶振

8、频率的限制,可以对相对较高频率进行测量,但缺点是成本比第一种方法高,设计出来的系统结构和程序也比较复杂。由于成本有限,本次设计中采用第一种方法,因此输入的时钟信号最高频率不得高于 11.0592mhz/24=460.8khz。对外部脉冲的占空比无特殊要求。根据频率检测的原理,很容易想到利用 51 单片机的 t0、t1 两个定时/计数器,一个用来定时,另一个用来计数,两者均应该工作在中断方式,一个中断用于 1s时间的中断处理,一个中断用于对频率脉冲的计数溢出处理,(对另一个计数单元加一),此方法可以弥补计数器最多只能计数 65536 的不足。单片机课程设计说明书- 5 -2.1 总体设计框图 a

9、t89c51控制电路数码管显示电路定时器t0 中断控制一定频率方波输入图 1 总体设计框图硬件设计涉及的电路有:at89c52 控制电路、 led 显示电路、数码管显示电路2.2 单元电路设计2.2.1 数码管显示电路单片机课程设计说明书- 6 -图 2 四位一体数码原理图如图 2 为四位一体数码管,每个数码管都有 a、b、c、d、e、f、g 七个笔划和一个小数点h,这八个联对应二极管阴极,阳极都联在一起(称共阳极) 。以四位数码管矩阵为例,四个数码管的 a、b、c、d、e、f、g 七个笔划和一个小数点 h 电极分别并联在一起。当a,b,c,d,e,f 段低电平,第一位数码管位选也为低电平,其

10、他行列都为高阻态时,第一个数码管的 a,b,c,d,e,f 段会点亮,人眼看上去就是一个数字“0” 。 加上动态扫描方式在 1/20 秒内四个数码管依次都点亮一次,由于视觉暂留,就会看到每一位的结果,通过这种方式实现人和机器的信息交换。由于本电路只需显示简单一位数字所以不需要动态显示,只需要一位数码管。2.2.22.2.2 主控电路主控电路80c51 是 intel 公司 mcs-51 系列单片机中最基本的产品,它采用 intel 公司可靠的 chmos 工艺技术制造的高性能 8 位单片机,属于标准的 mcs-51 的 hcmos 产品。它结合了 hmos 的高速和高密度技术及 chmos 的

11、低功耗特征,它继承和扩展了mcs-48 单片机的体系结构和指令系统。 80c51 内置中央处理单元、128 字节内部数据存储器 ram、32 个双向输入/输出(i/o)口、2 个 16 位定时/计数器和 5 个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 此外,80c51 还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结 cpu 而 ram 定时器、串行口和中断系统维持其功能。掉电模式下,保存 ram 数据,时钟振荡停止,同时停止芯片内其它功能。80c51 有pdip(40pin)和 plcc(44pin)两种封装形式。其引脚图如图 3-1 所示:单片机课程设

12、计说明书- 7 - 图 3-1 80c51 单片机引脚图80c51 系列单片机都是以 8031 为核心发展起来的,具有和 51 系列单片机及基本结构和软件特征,其内部结构如图 3-2 所示: 图 3-2 80c51 单片机框图p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78rst/vpd9rxd p3.010txd p3.111int0 p3.212int1 p3.313t0 p3.414t1 p3.515wr p3.616rd p3.717xtal218xtal119vss20p2.021p2.122p2.223p2.324p2.425p2.526p2.627

13、p2.728psen29ale/prog30ea/vpp31p0.732p0.633p0.534p0.435p0.336p0.237p0.138p0.039vcc4080c51振荡器及定时电路80c51cpu4k 字节rom128 字节ram2 个 16 位定时器/计数器64k 总线扩展控制可编程i/o可编程串行口单片机课程设计说明书- 8 -80c51 单片机的引脚功能:1、主电源引脚 vss 和 vcc。 vss 接地。 vcc 正常操作时为+5 伏电源。2、外接晶振引脚 xtal1 和 xtal2。 xtal1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此

14、引脚接地。 。 xtal2 内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚 rst/vpd,ale/,和/vpp。progpsenea rst/vpd 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变) ,将使单片机复位在 vcc 掉电期间,此引脚可接上备用电源,由 vpd 向内部提供备用电源,以保持内部 ram 中的数据。 ale/ 正常操作时为 ale 功能(允许地址锁存)提供把地址的低字节锁prog存到外部锁存器,ale 引脚以不变的频率(振荡器频率的)周期性地发出正脉61冲信号。因此,它可用作对外

15、输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个 ale 脉冲,ale 端可以驱动(吸收或输出电流)八个 lsttl 电路。 对于 eprom 型单片机,在 eprom 编程期间,此引脚接收编程脉冲(功能) 。prog 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)psen期间,在每个机器周期内两次有效。同样可以驱动八 lsttl 输入。psenpsen /vpp /vpp 为内部程序存储器和外部程序存储器选择端。当/vpp 为eaeaea高电平时,访问内部程序存储器,当/vpp 为低电平时,则访问外部程序存储ea器。对于 eprom 型单片机,在

16、eprom 编程期间,此引脚上加 21 伏 eprom 编程电源(vpp) 。4、输入/输出引脚 p0.0 - p0.7,p1.0 - p1.7,p2.0 - p2.7,p3.0 - p3.7。 p0 口(p0.0 - p0.7)是一个 8 位漏极开路型双向 i/o 口,在访问外部存储器单片机课程设计说明书- 9 -时,它是分时传送的低字节地址和数据总线,p0 口能以吸收电流的方式驱动八个lsttl 负载。 p1 口(p1.0 - p1.7)是一个带有内部提升电阻的 8 位准双向 i/o 口。能驱动(吸收或输出电流)四个 lsttl 负载。 p2 口(p2.0 - p2.7)是一个带有内部提升

17、电阻的 8 位准双向 i/o 口,在访问外部存储器时,它输出高 8 位地址。p2 口可以驱动(吸收或输出电流)四个 lsttl负载。 p3 口(p3.0 - p3.7)是一个带有内部提升电阻的 8 位准双向 i/o 口。能驱动四个 lsttl 负载。且具有第二功能。在课程设计里用到了 t0,t1 做定时计数器,显示电路采用分时复用 p0 口,在设计里面使用的引脚较少,占用的资源也比较少。而且该芯片是以 8031 为核心,性能价格比高,应用成熟,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用 80c51 单片机作为主控芯片。2.2.32.2.3 硬件总电路图硬件总电路图图 7 整体电路图

18、工作原理:工作原理:当电源接通时,单片机开始运行,首先初始化子程序,然后定时计数器开始计数,一定时间采集一次脉冲的个数,每采集 3 次取平均值。然后送单片机课程设计说明书- 10 -给数码管显示。2.32.3 软件流程图软件流程图 2.3.12.3.1 主程序流程图主程序流程图计数器开始测频 上电初始化取平均值数码管显示是否测量三次否图 9 主程序流程图如图刚上电,初始化子程序,计数器开始计数测频,累计三次,把三次测频的值记录下来取平均值,数码管显示所测平均值。2.3.22.3.2 程序清单程序清单#include /头文件申明#include#define uint unsigned int

19、#define uchar unsigned charunsigned long tsum;long double psum,fresult,fage;unsigned char testcnt;double temp3;sbit w1=p37;sbit w2=p36;sbit w3=p31;sbit w4=p30;/按键申明uchar m,n,keynum,key1num;uint i;uchar code table=0 x3f,0 x06,0 x5b,0 x4f,单片机课程设计说明书- 11 -0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c

20、,0 x39,0 x5e,0 x79,0 x71 ; / 数码管阿拉伯字母所对的编码void delay(uint z) /延时子函数uint x,y; for(x=z;x0;x-)for(y=110;y0;y-);void leddisplay(uint n) /数码管显示子函数p1=0 xff;p1=tablen/1000;/显示数码管千位w1=1;w2=0;w3=0;w4=0;delay(10);p1=0 xff;p1=(tablen/100%10); /显示数码管百位w1=0;w2=1;w3=0;w4=0;delay(10);p1=0 xff;p1=tablen/10%10; /显示数

21、码管十位w1=0;w2=0;w3=1;w4=0;delay(10);p1=0 xff;p1=tablen%10; /显示数码管个位w1=0;w2=0;w3=0;w4=1;delay(10);testinit() tmod=0x15;/定时器计数器工作模式设置单片机课程设计说明书- 12 - ex1=1; it1=1; et1=1; tr0=0; tr1=0; ea=1; void main() testinit();/初始化子程序while(1)leddisplay(fage); /数码管显示程序delay(10);void int1() interrupt 2 if(testcnt) tr0

22、=0; tr1=0; tsum=(th18)|th0;/过了一个循环后余下的时间 tsum=tsum+65536*testcnt;/时间总长 psum=(double)(th02)/有 3 个采样数值就进行取平均值计算 for(i=0;i3;i+) fresult=fresult+tempi;fage=fresult/3.0; i=0; testcnt=0;th1=0;tl1=0;th0=0;tl0=0;单片机课程设计说明书- 13 -tr1=1;tr0=1;ex1=0; void t1() interrupt 3 /定时中断 1 每 65536 个机器周期相应一次 testcnt+; ex1

23、=1; 3 3、调试、调试3.1 硬件调试硬件调试是一件重要而细微的工作,许多硬件错误往往是在软件调试时被发现的。通常,先排除明显的硬件故障,之后,再和测试软件结合起来调试。硬件调试可分为静态调试和动态调试两步。静态调试是在用户系统未工作时的一种硬件检测。检测步骤如下:目测:检查外部的各种组件或者是电路是否有断点,及焊点是否牢固,是否存在虚焊等现象;用万用表测试:先用万用表复核目测中有疑问的焊接点及可能在焊接过程中烧坏的组件,再检测各种电源线与地线之间是否有短路现象;加电检测:给板加电,检测所有插座或器件的电源是否符合要求;联机检测:要完成对用户系统的调试,需在单片机开发系统环境下进行。动态调

24、试是在用户系统工作的情况下发现和排查错误的一种硬件检测。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该组件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关组件的方法,逐层调试下去,就会定位故障组件了。3.2 软件调试单片机课程设计说明书- 14 -程序调试结果如图 3-1:

25、creating hex file from “蓄电池电压检测系统”表明 .hex 文件创建成功。“蓄电池电压检测系统”- 0 error(s),0 warning(s)表明文件编译结果没有错误也没有警告。图 3-1 程序调试结果3.3 proteus 仿真调试在 proteus 中建立仿真图。结果如图 5-2:图 5-2 proteus 仿真图在 proteus 中点击运行,转动波形发生器上面的按钮,使其输出方波,同时调节不同频率的波形,可以在数码管上面看到显示的数字,即为信号发生器的输出频率。其变化结果如图 5-2 所示。单片机课程设计说明书- 15 - 致 谢本次课程设计有较强的综合性,不仅要求设计者能灵活使用单片机的各种指令,熟练使用单片计计数器余定时器,熟练编写顺序结构程序,循环结构程序以及分支结构程序,还要求对单片机的电路连接结构,对数码管管理芯片有明确清晰的了解与认识,否则在设计的第一步就会遇到障碍。经过这么久的资料收集与查询,总体构思,对频率计的设计有了一个总体的框架,对程序的流程图也有一个基本的结构,经过两天对程序的编写以及程序的改进,最后终于完成了本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论