单片机课程设计报告简易书数字频率计_第1页
单片机课程设计报告简易书数字频率计_第2页
单片机课程设计报告简易书数字频率计_第3页
单片机课程设计报告简易书数字频率计_第4页
单片机课程设计报告简易书数字频率计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告课程设计报告 设计课题:设计课题: 简易书数字频率计简易书数字频率计 专业班级:专业班级: 学生姓名:学生姓名: 学学号号: 指导教师:指导教师: 设计时间:设计时间: 2011 年年 6 月月 20 号号 中文摘要中文摘要 频率测量是电子学测量中最为基本的测量之一。频率计主要是由信号输入和放大电路、 单片机模块、分频模块及显示电路模块组成。at89c52 单片机是频率计的控制核心,来完成 它待测信号的计数,译码,显示以及对分频比的控制。利用它内部的定时/计数器完成待测 信号频率的测量。 在整个设计过程中,所制作的频率计采用外部分频,实现 1hz1mhz 的频率测量,而且 可以实现

2、量程自动切换流程。以 at89c52 单片机为核心,通过单片机内部定时/计数器的门 控时间,方便对频率计的测量。其待测频率值使用四位共阴极数码管显示,并可以自动切换 量程,单位分别由 3 个发光二极管指示。本次采用单片机技术设计一种数字显示的频率计, 具有测量准确度高,响应速度快,体积小等优点。 关键词:频率计;单片机;计数器;量程自动切换关键词:频率计;单片机;计数器;量程自动切换 the design of simple frequency measurement abstract frequency measurement is the most basic measurement in

3、 electronic field. a simple frequency meter mainly by the signal input and amplifying circuit, microcontroller module, sub-frequency circuit module and display module. at89s52 mcu is the control core frequency of dollars to complete its count of the signal under test, decoding, display and control o

4、f the frequency division ratio. using its internal timer or counter to complete the signal of the under test cycle / frequency of measurement. throughout the design process, periodic measurement of the frequency meter application and the corresponding mathematical treatment to achieve 1hz 1mhz frequ

5、ency measurements, and can automatically switch the flow to achieve scale. to the core of at89s52 microcontroller, with the mcu internal timer / counter gate time, it can be easier for frequency measurement. the use of microcomputer technology to design a digital display of frequency meter, have a m

6、easurement of high accuracy, fast response, small size and so on. key word: frequency meter; single chip; counter; range automatically switch 目录 第一章 前言 .1 1.1 频率计概述.1 1.2 频率计发展与应用.1 1.3 频率计设计内容.1 第二章 系统总体方案设计 .2 2.1 测频的原理.2 2.2 总体思路.3 2.3 具体模块.3 第三章 硬件电路具体设计 .4 3.1 at89c52 主控制器模块.4 3.1.1 at89c52 的介绍

7、.4 3.1.2 复位电路及时钟电路 .5 3.1.3 引脚功能 .6 3.1.4 单片机引脚分配 .8 3.2 放大整形模块.8 3.3 分频设计模块 .9 3.3.1 分频电路分析 .9 3.3.2 74ls161 芯片介绍.10 3.3.3 74ls151 芯片介绍.11 3.3.4 分频电路 .12 3.4 显示模块 .12 3.4.1 数码管介绍 .13 第四章 系统的软件设计 .13 4.1 软件模块设计 .13 4.2 中断服务子程序 .14 4.3 显示子程序 .15 4.4 量程档自动转换子程序 .16 4.5 应用软件简介 .17 4.5.1 keil 简介.17 4.5.

8、2 protues 简介.18 第五章 频率计的系统调试 .19 5.1 硬件调试 .19 5.1.1 整形模块调试.19 5.1.2 分频模块调试.21 5.2 软件调试 .21 5.3 系统调试.22 5.3.1 系统软件调试 .22 5.4 误差分析 .22 第六章 总结 .22 参考文献 .23 致 谢 .24 附录 .24 第一章第一章 前言前言 频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输, 因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的 工作,测频原理和测频方法的研究正受到越来越多的关注。 1.11.1 频率计概述频

9、率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是 一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波 信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程 中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。传统 的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不 但体积大,运行速度慢而且测量低频信号不准确。本次采用单片机技术设计一种数字显示的 频率计,测量准确度高,响应速度快,体积小等优点1。 1.21.2 频率计发展与应用频率计发展与应用 在

10、我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。单 片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机已成为电 子系统的中最普遍的应用。单片机作为微型计算机的一个重要分支,其应用范围很广,发展 也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据 采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。其中以 at89c52 为 内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需 要。 1.31.3 频率计设计内容频率计设计内容与要求与要求 一、任务 设计并制作一台数字显示的简易频率

11、计。 二、要求 1基本要求 (1)频率测量 a测量范围 信号:方波、正弦波; 幅度:0.5v5v; 频率:1hz1mhz b测量误差0.1% (2)周期测量 a测量范围 信号:方波、正弦波; 幅度:0.5v5v; 频率:1hz1mhz b测量误差0.1% (3)脉冲宽度测量 a测量范围 信号:脉冲波; 幅度:0.5v5v; 脉冲宽度100s b测量误差1% (4)显示器 十进制数字显示,显示刷新时间 110 秒连续可调,对上述三种测量功能分别用不同颜 色的发光二极管指示。 (5)具有自校功能,时标信号频率为 1mhz。 (6)自行设计并制作满足本设计任务要求的稳压电源。 2发挥部分 (1)扩展

12、频率测量范围为 0.1hz10mhz(信号幅度 0.5v5v),测量误差降低为 0.01%(最大闸门时间10s)。 第二章第二章 系统总体方案设计系统总体方案设计 2.12.1 测频的原理测频的原理 测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数” 。被测信号,通 过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端3。由 晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再 通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所 产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔 t

13、内累计周期 性的重复变化次数 n,则频率的表达式为式: (1) n fx= t 图 1 说明了测频的原理及误差产生的原因。 时基信号 待测信号 丢失(少计一个脉冲) 计到 n 个脉冲 多余(比实际多出了 0.x 个脉冲) 图 1 测频原理 在图 1 中,假设时基信号为 1khz,则用此法测得的待测信号为 1khz5=5khz。但从图 中可以看出,待测信号应该在 5.5khz 左右,误差约有 0.5/5.59.1%。这个误差是比较大 的,实际上,测量的脉冲个数的误差会在1 之间。假设所测得的脉冲个数为 n,则所测频 率的误差最大为 =1(n-1)*100%。显然,减小误差的方法,就是增大 n。本

14、频率计要求 测频误差在 1以下,则 n 应大于 1000。通过计算,对 1khz 以下的信号用测频法,反应的 时间长于或等于 10s, 。由此可以得出一个初步结论:测频法适合于测高频信号。 频率计数器严格地按照公式进行测频4。由于数字测量的离散性,被测频率在计 n f= t 数器中所记进的脉冲数可有正一个或负一个脉冲的量化误差,在不计其他误差影响的情1 况下,测量精度将为: 1 ()fa n 应当指出,测量频率时所产生的误差是由 n 和 t 俩个参数所决定的,一方面是单位时 间内计数脉冲个数越多时,精度越高,另一方面 t 越稳定时,精度越高。为了增加单位时间 内计数脉冲的个数,一方面可在输入端

15、将被测信号倍频,另一方面可增加 t 来满足,为了增 加 t 的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。 上述表明,在频率测量时,被测信号频率越高,测量精度越高。 2.22.2 总体思路总体思路 频率计是我们经常会用到的实验仪器之一,频率的测量实际上就是在单位时间内对信号 进行计数,计数值就是信号频率。本文介绍了一种基于单片机 at89c52 制作的频率计的设计 方法,所制作的频率计测量比较高的频率采用外部十分频,测量较低频率值时采用单片机直 接计数,不进行外部分频。该频率计实现 1hz1mhz 的频率测量能,八位共阴极动态显示测 量结,可以测量正弦波、三角波及方波的频率值

16、、周期值以及脉冲宽度。 2.32.3 具体模块具体模块 根据上述系统分析,频率计系统设计共包括五大模块:单片机控制模块、放大整形模块、 分频模块、独立按键模块及显示模块。各模块作用如下: 1、单片机控制模块:以 at89c52 单片机为控制核心,来完成它待测信号的计数,译码, 和显示以及对分频比的控制。利用其内部的定时计数器完成待测信号周期频率的测量。 单片机 at89c52 内部具有 2 个 16 位定时计数器,定时计数器的工作可以由编程来实现 定时、计数和产生计数溢出时中断要求的功能。 2、放大整形模块:放大电路是对待测信号的放大,降低对待测信号幅度的要求。整形 电路是对一些不是方波的待测

17、信号转化成方波信号,便于测量。 3、分频模块:考虑单片机外部计数,使用 12 mhz 时钟时,最大计数速率为 500 khz, 因此需要外部分频。分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统 一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。可用 74161 和 7400 进行外部十分频。 4、显示模块:显示电路采用八位共阴极数码管动态显示。 综合以上频率计系统设计有单片机控制模块、放大整形模块、分频模块及显示模块等组 成,频率计的总体设计框图如图 2 所示。 微控制器 at89s52 信号放大 整形 分频电路 驱动电路数码管显示 5v电源 图 2 频率计总体设计

18、框图 第三章第三章 硬件电路具体设计硬件电路具体设计 根据系统设计的要求,频率计实际需要设计的硬件系统主要包括以下几个部分: at89c5 2 at89c52 单片机开发板、放大整形模块、分频模块,下面将分别给予介绍。 3.13.1 at89c52at89c52 主控制器模块主控制器模块 3.1.1 单片机开发板原理图 3.1.2 引脚功能 模 块端口功能 显示模块p2 口数码管频率值显示 独立按键 p3 口切换频率、周期、脉宽 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高

19、,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。p3 口亦作为 at89c51 特殊功能(第二功能)使用,p3 口功能如表 2 所示。在 flash 编程和校验时,p3 口也接收一些控制信号。 表 2 p3 口的第二种功能说明表 引脚号第二功能 p3.0 rxd(串行输入) p3.1 txd (串行输出) p3.2 (外部中断 0)int0 p3.3 (外部中断 1) p3.4 t0(定时器 0 外部输入) p3.5 t1(定时器 1 外部输入) p3.6 (外部数据存储器写选通)wr p3.7 (外部数据存储器写选通)rd 根据系统设计及各模块的分

20、析得出,单片机的引脚分配如表 3 所示。 表 3 单片机端口分配表 模 块端口功能 p1.4 清零 p1.3 分频 3.2 放大整形模块放大整形模块 由于输入的信号可以是正弦波、三角波以及方波。而后面的闸门或计数电路要求被测信 号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者 三角波转化成矩形波。在整形之前由于不清楚被测信号的强弱的情况。所以在通过整形之前 通过放大衰减处理。当输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。当输 入信号电压幅度较小时,前级输入衰减为零时若不能驱动后面的整形电路,则调节输入放大 的增益,时被测信号得以放大。 根据上述分析,

21、放大电路放大整形电路采用高频晶体管 3dg100 与 74ls00 等组成。其中 3dg100 为 npn 型高频小功率三极管,组成放大器将输入频率为 fx 的周期信号如正弦波、三 角波及方波等波形进行放大。与非门 74ls00 构成施密特触发器,它对放大器的输出波形信 号进行整形,使之成为矩 形脉冲。具体放大整形电路如图 7 所示。 5v q10 3dg100 1k r 24 10 r 22 47k r 20 10k r 19 39k r 23 11 12 13 u7d 74ls00 1 2 3 u15a 74ls00 5 6 4 u15b 74ls00 47uf c 17 100uf c

22、18 47k r 21 d6 f1 vx 图 7 放大整形电路 3.33.3 分频设计模块分频设计模块 分频电路用于扩展单片机频率测量范围,并实现单片机频率和周期测量使用统一信号, 可使单片机测频更易于实现,而且也降低了系统的测频误差。可用 74161 进行分频。 3.3.1 分频电路分析 本频率计的设计以 at89c51 单片机为核心,利用他内部的定时计数器完成待测信号周 期频率的测量。单片机 at89c51 内部具有 2 个 16 位定时计数器,定时计数器的工作 可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在 被测时间间隔内,每来一个机器周期,计数器自动加

23、 1(使用 12 mhz 时钟时,每 1s 加 1),这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚 的待测信号发生从 1 到 0 的跳变时计数器加 1,这样在计数闸门的控制下可以用来测量待测 信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从 1 到 0 的跳变至少需要 2 个机器周期(24 个振荡周期),所以最大计数速率为时钟频率的 124(使用 12 mhz 时 钟时,最大计数速率为 500 khz),因此采用 74ls161 进行外部十分频使测频范围达到 2mhz。为了测量提高精度,当被测信号频率值较低时,直接使用单片机计数器计数测得频率 值;当被

24、测信号频率值较高时采用外部十分频后再计数测得频率值。这两种情况使用 74ls151 进行通道选择,由单片机先简单测得被测信号是高频信号还是低频信号,然后根据 信号频率值的高低进行通道的相应导通,继而测得相应频率值。 3.3.2 74ls161 芯片介绍 74ls161 是常用的四位二进制可预置的同步加法计数器12,可以灵活的运用在各种数字 电路,以及单片机系统种实现分频器等很多重要的功能。74ls161 引脚如图 8 所示。 图 8 74ls161 引脚图 时钟 cp 和四个数据输入端 p0p3,清零/mr,使能 cep,cet,置数 pe,数据输出端 q0q3,以及进位输出 tc (tc=q

25、0q1q2q3cet)。表 4 为 74161 的功能表。 表 4 74161 的功能表 清零 rd 预置 ld 使能 ep et 时钟 cp 预置数据输入 a b c d 输出 q0 q1 q2 q3 l l l l l hl 上升沿 a b c da b c d hhl 保 持 hh l 保 持 hhh h 上升沿 计 数 其中 rd 是异步清零端, ld 是预置数控制端, a、b、c、d 是预置数据输入端, ep 和 et 是计数使能端, rco(=et.qa.qb.qc.qd)是进位输出端,它的设置为多片集成计数 器的级联提供了方便。计数过程中,首先加入一清零信号rd0,使各触发器的状

26、态 为 0,即计数器清零。 rd 变为 1 后,加入一置数信号 ld0,即信号需要维持到下一 个时钟脉冲的正跳变到来后。在这个置数信号和时钟脉冲上升的共同作用下,各触发器 的输出状态与预置的输入数据相同,这就是预置操作。接着ep=et=1,在此期间 74161 一直处于计数状态。一直到ep=0,et1,计数器计数状态结束。 从 74ls161 功能表功能表中可以知道,当清零端 cr=“0”,计数器输出 q3、q2、q1、q0 立即为全“0”,这个时候为异步复位功能。当 cr=“1”且 ld=“0”时, 在 cp 信号上升沿作用后,74ls161 输出端 q3、q2、q1、q0 的状态分别与并行

27、数据输入端 d3,d2,d1,d0 的状态一样,为同步置数功能。而只有当 cr=ld=ep=et=“1”、cp 脉冲上 升沿作用后,计数器加 1。74ls161 还有一个进位输出端 co,其逻辑关系是 co= q0q1q2q3cet。合理应用计数器的清零功能和置数功能,一片 74ls161 可以组成 16 进制以下的任意进制分频器。 3.3.3 74ls151 芯片介绍 数据选择端(abc)按二进制译码,以从 8 个数据(d0-d7)中选取 1 个所需的数据。只 有在选通端 strobe 为低电平时才可选择数据。74ls151 有互补输出端(y、w) ,y 输出原码, w 输出反码13。74l

28、s151 引脚如图 9 所示。 图 9 74151 管脚图 74ls151 的功能如下表 所示。其中 a、b、c 为选择输入端,d0-d7 为 数据输入端, strobe 为选通输入端(低电平有效) ,w 为反码数据输出端,y 为数据输出端。 表 5 74151 功能表 3.3.4 分频电路 根据以上分析,采用 74ls161 和 74ls151 设计分频电路如图 10 所示。 a 3 b 4 c 5 d 6 enp 7 ent 10 c lk 2 load 9 m r 1 gnd 8 vc c 16 r c o 15 q3 11 q2 12 q1 13 q0 14 u16 74161 x0

29、4 x1 3 x2 2 x3 1 x4 15 x5 14 x6 13 x7 12 a 11 b 10 c 9 e 7 gnd 8 vc c 16 y 5 y 6 u14 74151 i11 1 i12 2 o1 3 i21 4 i22 5 o2 6 gnd 7 o3 8 i31 9 i32 10 o4 11 i41 12 i42 13 vc c 14 u13 7400 5v c lear 5v p35 5v 5v c lear addr 0 addr 1 addr 2 f1 图 10 分频电路原理图 3.43.4 显示模块显示模块 频率值显示电路采用八位共阴极数码管动态显示频率计被测数值。频率

30、、周期、脉宽由 独立按键控制转换。 3.4.1 数码管介绍 常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管,根据其结构 的不同,可分为共阳极数码管和共阴极数码管两种。根据管脚资料,可以判断使用的是何种 接口类型.两种数码管内部原理如图 11 所示。 图 11 两种数码管内部原理图 l 第四章第四章 系统的软件设计系统的软件设计 系统软件设计主要采用模块化设计,叙述了各个模块的程序流程图,并介绍了软件 keil 和 proteus 的使用方法和调试仿真。 4.14.1 软件模块设计软件模块设计 系统软件设计采用模块化设计方法。整个系统由初始化模块,信号频率测量模块和显示 模块等

31、模块组成。系统软件流程如图 12 所示。 频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块 设置堆栈指针(sp)、工作寄存器、中断控制和定时计数器的工作方式。定时计数器的 工作首先被设置为计数器方式,即用来测量信号频率15。 开始 系统初始化 频率测量 频率是否超过1khz 硬件十分频 计数器计数 测频率值 测量数据 显示 n y 图 12 系统软件流程总图 首先定时计数器的计数寄存器清 0,运行控制位 tr 置 1,启动对待测信号的计数。计 数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数 闸门结束时 tr 清 0,停止计数。计数寄

32、存器中的数值经过数制转换程序从十六进制数转换 为十进制数。判断该数的最高位,若该位不为 0,满足测量数据有效位数的要求,测量值和 量程信息一起送到显示模块;若该位为 0,将计数闸门的宽度扩大 10 倍,重新对待测信号 的计数,直到满足测量数据有效位数的要求。定时计数器的工作被设置为定时器方式,定 时计数器的计数寄存器清 0,在判断待测信号的上跳沿到来后,运行控制位 tr 置为 1,以 单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位 tr 清 0,停止计数。 16 位定时计数器的最高计数值为 65535,当待测信号的频率较低时,定时计数器可以对 被测信号直接计数,当被测信号的频率

33、较高时,先由硬件十分频后再有定时计数器对被测 信号计数,加大测量的精度和范围。 4.24.2 中断服务子程序中断服务子程序 t0中断服务子程序流程如图13所示。测频时,定时器t0 工作在定时方式,每次定时50ms ,则 t0 中断20 次正好为1秒,即t0用来产生标准秒信号,定时器t0 用作计数器,对待测信号计数, 每秒钟的开始启动t0 ,每秒钟的结束关闭t0 ,则定时器t0 之值乘以分频系数就为待测信号 的频率。 中断开始 关外部计数器 中断计数器装初值 开外部计数器 选择相应档位 判断计数是否为1s 中断返回 y 图13 t0中断服务子程序 定时计数器t1工作在计数方式, 对信号进行计数,

34、计数器1中断流程图如图14所示。 中断开始 中断开始 计数器加1 图14 计数器1中断服务子程序 4.34.3 显示子程序显示子程序 显示子程序将存放在显示缓冲区的频率或周期值送往数码管上显示出来,由于所有 4 位 数码管的 8 根段选线并联在一起由单片机的 p2 口 控制,因此,在每一瞬间 4 位数码管会显 示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一 瞬间只点亮某一位显示字符,在此瞬间,段选控制口 p2 输出相应字符。由 p0.0-p0.3 逐位轮 流点亮各个数码管, 每位保持 1ms ,在 10ms20ms 之内再点亮一次,重复不止,利用人的视 角暂

35、留,好像 4 位数码管同时点亮。数码管显示子程序流程如图 15 所示。 开始 选择档位 数据各位分离 送数据显示 延时 结束 图 15 显示子程序流程图 4.44.4 量程档自动转换子程序量程档自动转换子程序 使用定时方法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于 待测信号周期的方波,该方波同样加至定时计数器的输入脚(p3.5)。工作高电平是否加 至定时计数器的输入脚;当判定高电平加至定时计数器的输入脚,运行控制位 tr 置 1,启动定时计数器对单片机的机器周期的计数,同时检测方波高电平是否结束;当判定 高电平结束时 tr 清 0,停止计数,然后从计数寄存器读出测量数据。

36、由显示电路显示测量 结果,根据测量结果判断,进行频率计比较后,进行档位的自动切换,具体档位自动切换流 程图如图 16 所示。 开始 测量频率值x 显示频率值 判断x值 x1khz xnew project”菜单,出现一个对话框,要求给将要建立的工程起一个 名字,你可以在编缉框中输入一个名字,点击“保存”按钮,出现第二个对话框,按要求选 择目标器件片。建立新文件并增加到组。分别设置“target1”中的 “target,output,debug”各项,使程序汇编后产生 hex 文件。 (2)汇编,调试系统程序 keil 单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。 在

37、集成开发环境中选择菜单“file new.”、单击对应的工具按钮或者快捷键ctrl +n 将打开一个新的文本编辑窗口,完成汇编语言源文件的输入,并且完成源程序向当前工程的 添加。 然后在集成开发环境中选择菜单“filesave as.”可以完成文件的第一次存储。注 意,汇编语言源文件的扩展名应该是“asm”,它应该与工程文件存储在同一文件夹之内。 在完成文件的第一次存储以后,当对汇编语言源文件又进行了修改,再次存储文件则应该选 择菜单“filesave”、单击对应的工具按钮或者快捷键ctrl +s 实现文件的保存。 接着的工作需要把汇编语言源文件加入工程之中。选择工程管理器窗口的子目“sour

38、ce group 1”,再单击鼠标右键打开快捷菜单。在快捷菜单中选择“add file to group source group 1”,加入文件对话框被打开。在这个对话框的“查找范围(i)”下拉 列表框中选择存储汇编语言源文件的文件夹,在“文件类型(t)” 下拉列表框选择“asm source file(*.a*;*.src)”,这时存储的汇编语言源文件将显示出来。双击要加入的文 件名或者选择要加入的文件名再单击“add”按钮即可完成把汇编语言源文件加入工程。文 件加入以后,加入文件对话框并不消失,更多的文件也可以利用它加入工程。如果不需要加 入其它文件,单击“close”按钮可以关闭加入文

39、件对话框。这时工程管理窗口的文件选项 卡中子目录“source group 1”下出现一个汇编语言源文件。 需要注意,当把汇编语言源 文件加入工程但还没有关闭加入文件对话框,这时有可能被误认为文件没有成功地加入工程 而再次进行加入操作,系统将显示所需的文件已经加入的提示。在这种情况下,单击提示框 中的“确定”按钮,再单击“close”按钮可以关闭加入文件对话框。 (3)编译源程序,出现错误时,返回上一级对错误更改后重新编译,直到没有错误为 止。 4.5.2 protues 简介 protues是labcenter公司出品的电路分析、实物仿真系统,而keil是目前世界上最好 的51单片机汇编和c

40、语言的集成开发环境。他支持汇编和c的混合编程,同时具备强大的软件 仿真和硬件仿真功能17。protues能够很方便的和keil、matlab ide等编译模拟软件结合。 proteus提供了大量的元件库有ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件, 部分iic器件,它可以仿真单片机和周边设备,可以仿真51系列、avr,pic等常用的mcu,与 keil和mplab不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真。 这里我将 keil 和 protues 两个软件的快速集成起来使用。 (1)首先将 keil 和 protues 两个软件安装好。 (2)然后在

41、 c:program fileslabcenter eletronicsprotues 6 professionalmodels(我的 protues 是安装 c 盘里面的)目录下的 vdm51.dll 动态连接库文 件复制到 c:keilc51bin 目录下面(我的 keil 也安装在 c 盘)这个文件将在 keil 的 debug 设置时用到。 (3)打开 protues 软件,新建一文件将硬件原理图绘入图中。 (4)将 keil 生成的 hex 文件下载入单片机中,点击“开始”进行仿真。 (5)在 keil 中进行 debug,同时在 proteus 中查看直观的结果(如 lcd 显示)

42、 。这 样就可以像使用仿真器一样调试程序。利用 proteus 与 keil 整合进行实验,具有比较明显 的优势,当然其存在的缺点也是有的。利用仿真实验可以做全部的软件实验和极大多数的硬 件系统,虚拟仿真实验室,因极少硬件投入、所以经济优势明显,不仅可以弥补实验仪器和 元器件缺乏带来的不足,而且排除了原材料消耗和仪器损坏等因素。 第五章第五章 频率计的系统调试频率计的系统调试 频率计的系统调试包括系统软、硬件联合调试。硬件调试包括整形模块、分频模块等模 块,软件调试就是通过修改程序,使频率计功能完善,提高频率计的测量精度。使用软件仿 真,调试仿真结果,同时使用数字万用表和示波器测试输出电压值和

43、输出波形,调试出正确 的软硬件电路。 5.15.1 硬件调试硬件调试 5.1.1 整形模块调试 整形电路采用与非门 74ls00 构成施密特触发器,它对正弦波、三角波等各种波形信号 进行整形,使之成为矩形脉冲。 整形电路在 multisim10 中进行电路的仿真与调试,在 multisim10 绘制的整形电路如图 17 所示。选择虚拟函数发生器输入不同的信号,同时使用数字示波器测的输出波形,经测 试施密特触发器可以把 1hz-1mhz 的正弦波等波形整形为方波信号,仿真结果如图 18 所示。 u1a 74ls00d u2b 74ls00d u3c 74ls00d 2 3 xfg1 0 xsc1

44、 a b ext trig + + _ _ + _ 4 d3 1n4148 5 1 图 17 整形电路仿真 图 18 整形电路输出波形仿真 搭建整形电路模块,测试电路基本正确,使用数字示波器测得输入输出波形如图 19 所 示。 图 19 整形电路实际输出波形 5.1.2 分频模块调试 为了达到 1hz-1mhz 的频率范围,使用外部分频,搭建分频电路,测试电路基本正确, 选择函数发生器输入 1mhz 以下不同频率的的方波信号,同时使用数字示波器测的输出波形, 经观察分频电路可以把 1mhz 以下不同频率的方波波形进行十分频,示波器测得输入输出波 形如图 20 所示。 图 20 分频电路实际输出

45、波形 5.2 功能调试 当测量频率值小于 1khz 以下时,数码管显示频率值,并最右边发光二极管亮,作为 hz 档单位指示。当测量频率值大于且等于 1khz 并小于 1mhz 时,数码管显示频率值,并从右边 数第二个发光二极管亮,作为 khz 档单位指示。当测量频率值大于 1mhz 时,数码管显示频 率值,并从右边数第四个发光二级管亮,作为 mhz 档单位指示。 经上述测试,基本功能都以实现,可以测出波形频率值,并可以自动切换量程单位,符 合要求。 5.35.3 系统调试系统调试 5.3.1 系统软硬件调试 软件系统测试只能测试方波信号,外加硬件整形电路,可以测试正弦波、三角波等各种 波形的频

46、率值,把各模块组合在一起,做成完整的频率计。经过不断的软硬件联合调试,修 改程序和硬件,最终符合设计功能要求。 为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了调试。用这次设 计的频率计对信号进行了测量,使用函数发生器输出各种波形,由实物频率计测得频率,记 录数据。实际测得频率范围没有仿真结果那么高,只能稍微超过 1mhz。实际记录数据如下 表 6-8 所示。 表 9:hz 档的数据记录表 待测值(hz) 10.328.9268.7324.8490.6678.3978.8 测量值(hz) 1029269325491678979 表 10:khz 档的数据记录表 待测值(khz)

47、15.2633.2860.12161.75308.8470.7912.1 测量值(khz) 15.333.360.2162.0309.0470.9912.4 表 11:mhz 档的数据记录表 待测信(mhz) 1.1231.318 测量值(mhz) 1.123 测不出 5.45.4 误差分析误差分析 从记录的数据可以看出,系统软件仿真误差很小,在 1hz-1mhz 范围内测量出来的频率 基本上就是输入信号的频率,在超出这个范围后,才出现很小的误差。但是在硬件调试中, 可能是由于标准元器件本身误差,如随着时间的延长,其值相比出厂时产生误差;造成测量 结果没有软件仿真精确。同时手工焊接单片机最小系

48、统、分频整形电路等也会带来一定的干 扰,造成信号的失真,从而导致测量精度下降,测量范围有所缩小,但是可以看出,误差在 允许范围内,所设计的电路基本符合要求。 第六章第六章 总结总结 毕业设计已经结束,通过这次设计,我受益匪浅。毕业设计是一次综合性的实践,它将 各种知识结合到一起综合运用到实践上来扩展、弥补、串联所学的知识。通过本次毕业设计 我得到了很多收获。首先,了解了单片机的基本知识和在控制领域的作用和地位。其次掌握 了 c 语言的编写程序,学会了使用 protutes 和 keil 的仿真来实现,同时掌握了如何收集、 查阅、应用文献资料,如何根据实际需要有选择的阅读书籍和正确确定系统所要使

49、用的元器 件的类型。再次,在精神方面锻炼了思想、磨练了意志。面对存在的困难首先分析问题根据 目的要求确定可实现的部分,定出那不准的方面找同学和老师讨论研究,再完善、再修改、 再发现问题、再解决培养了自己的耐心、恒心及遇事不乱的精神。总之,我明白了理论和实 践之间存在的距离只有靠不断的思考不断的动手才能将所学的知识真正运用到实践上来。在 毕业设计中我的很多方面的能力都得到了提高,尤其在单片机软件编程方面让我感触颇深。 我个人认为软件设计是个即灵活又细腻的工作,它要求耐心和细心去不断完善,同时还需要 有良好的逻辑思维能力。通过这次毕业设计,我分析问题和解决问题的能力有所提高,也巩 固了所学的知识,

50、加深了对理论知识的理解,更重要的是锻炼自己的独立性,为我今后的工 作和学习打下坚实的基础。 参考文献参考文献 1邹大挺频率计的设计j. 电子产品世界出版社. 2006. 第 193 期. 4-7. 2雷玉堂光电检测技术m. 中国计量出版社. 1995. 3季建华. 智能仪表原理m. 山东教育出版社. 2004. 4王永生. 电子测量学m. 西北工业大学出版社. 2003. 5李华单片机实用接口技术m. 航空航天大学出版社. 2006. 6张鹏王雪梅. 单片机原理与应用实例教程m. 海军出版社. 2007. 7赫建国等. 单片机在电子电路设计中的应用m. 清华大学出版社. 2005. 8康华光电

51、子技术基础(模拟部分)m. 高等教育出版社. 1998 9http:/ 英文参考手册z 10谢自美电子线路设计与实验m. 华中科技大学出版社. 2006. 11 http:/ html.74ls00 英文参考手册z. 12http:/ 英文参考手册z. 13http:/ 英文参考手册z. 14康华光电子技术基础(数字部分)m. 高等教育出版社. 1998. 15赖麒文. 8051 单片机 c 语言软件设计的艺术m. 科学出版社. 2004. 16徐波. keil 的使用技巧j. 电子产品世界出版社. 2006. 第 224 期. 6-9. 17吴清平. 单片机原理与应用实例教程m. 海军出版社

52、. 2008. 致致 谢谢 在论文完成之际,我的心情万分激动。从论文的选题、资料的收集到论文的撰写编 排整个过程中,我得到了许多的热情帮助。 我首先要感谢老师,本课题在选题及研究过程中得到老师的悉心指导。姚老师多次 询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。姚老师 花费大量了的时间和心血在我的论文上,才有我今天的定稿。还有在我大学四悉心教导 我的老师们,是你们教会我很多有用的知识,特别是教会了我解决问题思考问题的方式 和习惯,我在做论文的时候才能有自己的思想和规划,论文工作才有了目标和方向。在 此我代表大家向所有老师表示最诚挚的谢意。 最后,感谢各位评审老师在百忙中

53、抽出时间对论文进行审稿、参加答辩,并对加答 辩会的老师和同学表示谢意。 附件:频率计源程序附件:频率计源程序 #include #define segmentp2 #define sl p0 unsigned char cnt; /定时 1s 计数 unsigned char d4; /对应数码管的各位 unsigned char level; /档位 unsigned int tn; /不同档位计时值 unsigned int fcnt; /脉冲下降沿次数 unsigned int regcnt; /脉冲次数暂存 unsigned int pcnt; /频率显示 unsigned char num10=00 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; void delay(unsigne

温馨提示

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

评论

0/150

提交评论