2015年电赛频率计设计报告

合集下载

2015全国大学生电子设计竞赛重庆赛区(编号190)

2015全国大学生电子设计竞赛重庆赛区(编号190)

2015年全国大学生电子设计竞赛数字频率计(F题)【本科组】时间:2015年8月15日摘要本作品以FPGA和STM32F103ZET6设计了一台闸门时间为1s的数字频率计,作品主要由主控模块、放大器模块、FPGA模块、电源模块及TFT显示模块构成。

为了满足测频对小信号的要求,系统采用电压反馈放大器OPA847搭建二级放大电路对小信号进行放大处理;通过FPGA模块对高频信号进行计数,达到了测频率、测周期等功能。

由STM32F103ZET6接受FPGA传来的信号,再进行数据处理,控制TFT模块显示相关测量数据。

最后,通过对作品进行实测,得到的实验数据表明,本设计达到了预期在功能和精度方面的要求。

关键字:FPGA,STM32,小信号放大,频率计。

AbstractIn this work, a digital frequency meter is designed by FPGA and STM32F103ZET6, which is composed of main control module, amplifier module, FPGA module, power module and TFT display module. And gate time is 1s. In order to meet the requirements of small signal frequency measurement, the system uses the voltage feedback amplifier OPA847 to set up the two stage amplifier circuit to amplify the small signal. Through the FPGA module, the high frequency signal is counted, and the function of the frequency and cycle is reached. The signal that is received by FPGA is processed by STM32F103ZET6, and the data processing is controlled by TFT module. Finally, the experimental results show that the design can meet the requirements of the function and precision.Keywords: FPGA, STM32, small signal amplification, frequency meter.一、方案选择与论证1、主控模块方案选择方案一:利用STM32单片机作为主控芯片直接进行数据采集和处理,其优点是硬件电路比较简单。

2015全国大学生电子设计大赛F题一等奖--数字频率计

2015全国大学生电子设计大赛F题一等奖--数字频率计
图1系统总体框图
2.
2.1.
本设计的宽带通道放大器如图2所示,是一个自动增益控制模块。 压控放大器VCA810依靠反馈得到的控制电压控制放大倍数;高速比较器
AD8561比较的是VCA810输出信号和预设电压,使用二极管和RC对比较器的 输出信号进行检波;TL082将检波得到的电压转换至VCA810的控制电压范围内,使得VCA810能够正常工作;OPA690起着二级放大与级联缓冲的作用。具 体电路连接如图3所示。
0.03
726
29.97
34
0.088
667
49.98
902
0.02
196
70.00
331
0.004
731
89.9
987
0.001
444
5MH
z
10.00
41
0.04
1
30.02
6
0.086
667
50.08
29
0.16
58
70.23
478
0.335
404
90.0
235
0.026
111
4.3.
1、频率测量时,在1Hz-100MHz时,最低测量有效值Vrms可降低为5mV;
(2)测量结果
表4占空比测量数据表

定 占 空 比
10%
30%
50%
70%
90%
频 率
测量 值
/%
误差
/%
测量 值
/%
误差
/%
测量 值
/%
误差
/%
测量 值
/%
误差
/%
测量 值
/%
误差

李明利20154070702数字频率计设计报告

李明利20154070702数字频率计设计报告

工学08-I《电子技术课程设计》报告数字频率计的设计专业:工学08—Ⅰ班级:15级工学(7)班姓名:李明利学号:20154070702指导教师:富爽中国·大庆2016 年12 月信息技术学院课程设计任务书信息技术学院工学08-I专业 2015 级,学号 20154070702 姓名李明利一、课程设计课题:数字频率计的设计二、课程设计工作日自 2016 年 11 月 28 日至 2016 年 12 月 9 日三、课程设计进行地点:黑龙江八一农垦大学图书馆四、课程设计任务要求:1.课题来源:教师指定2.目的意义:针对电子线路课程要求,对学生进行实用型电子线路设计、安装、调试等各环节的综合性训练,培养学生运用课程中所学的理论与实践紧密结合,独立地解决实际问题的能力,提高自身创新能力。

3.基本要求:(1)测量信号:方波。

(2)测量频率范围:1Hz~9999Hz ; 10KHz~10KHz。

(3)显示方式:4位十进制数显示。

(4)时基电路由555 定时器及分频器组成, 555 振荡器产生脉冲信号,经分频器分频产生的时基信号,其脉冲宽度分别为: 1s, 0.1s。

(5)当被测信号的频率超出测量范围时,报警。

课程设计评审表目录1设计任务要求 (6)2方案比较 (6)3单元电路设计 (7)4元件选择 (11)5整体电路 (12)6说明电路工作原理 (12)7困难问题及解决措施 (15)8设计总结首先感谢老师给我们创造这次机会进行课程设计,让我们在为期一周的电子课程设计中懂得了更多,学到了更多。

电子设计是我们必需要学会的技能,而熟练的使用protel等电路设计软件是我们应该具备的基本技能,这次实习恰恰给我们提供了一个应用自己所学知识的机会。

在设计的过程中发现了本学期学过的数字电路的知识掌握的不牢。

同时在设计的过程中,遇到了一些以前没有见到过的元件,但是通过查找资料来学习这些元件的功能和使用。

设计过程是一个考验人耐心的过程,尤其是在使用protel画原理图时,更需要我们细心的去做每一步,而555定时器,74151,74153等引脚比较多,而且要根据原理使用,只有耐心做好每一步,才能顺利的完成课程设计。

15电子设计大赛频率计介绍

15电子设计大赛频率计介绍

数字显示脉冲参数测试仪(A 题)摘要:本文设计的是一个数字显示脉冲信号参数测试仪,实现对脉冲信号的参数测量。

根据需要完成的功能,分为:前端信号处理模块、峰值检波模块、窗口比较器模块、AD/DA模块、电源模块等。

本设计中,信号经峰值检波器后,信号被AD提取,MCU根据AD的结果切换到合适的档位获取脉冲幅值信息。

MCU同时输出适当的电压给窗口比较器,使比较器输出含频率、上升沿、下降沿、正脉宽等信息的脉冲,FPGA对信息脉冲精准处理,并将处理结果传给MCU,MCU将结果数字显示,从而实现各种参数的测量与显示。

本设计中的信号处理部分,利用FPGA的强大处理能力,完成数字信号的处理,将处理后的信号送至单片机进行显示,综合应用了电容去耦、滤波以及同轴电缆等抗干扰措施,减少的电路中的干扰。

经验证,本方案完成了全部基本功能和大部分扩展功能。

关键词:峰值检波窗口比较器脉冲参数测试等精度测频目录一、系统设计与方案论证 (2)1.1 前端信号处理部分 (2)1.2 信号幅值测量部分。

(2)1.3 频率测量部分 (2)1.4 时间沿、占空比测量部分 (3)二、硬件电路设计 (4)2.1系统框图 (4)2.2前端信号处理电路设计 (4)2.3峰值检波器电路设计 (5)2.4比较器部分电路设计 (5)2.5电源部分 (6)三、软件设计 (7)四、测试结果 (10)参考文献 (15)一、系统设计与方案论证1.1 前端信号处理部分由于信号幅度跨度大(20mv-5V),所以对于不同幅值的信号需要进行适当的处理后才能让后继电路精准的测出幅值。

方案一:采用高速AD直接方案,由于在上升沿极短时,需要对AD的速度有较高要求才能采到足够多的信号点进行处理,但高速AD在考虑到成本时位数比较低,精度较差。

且对信号处理的平台要求较高,性价比低。

方案二:采用继电器进行档位切换,对小信号放大,中等幅值信号跟随,大幅值信号衰减以便后继电路进行处理。

2015年全国大学生电子设计竞赛-F题(数字频率计)-全国一等奖-电子科技大学

2015年全国大学生电子设计竞赛-F题(数字频率计)-全国一等奖-电子科技大学
同样,测量存在 1 的计数误差,误差大小为:
| N s | 。题目中极限情况下要 Ns
-3-
求在 5MHz 、10%占空比时 达到 0.01。因此,由
| N s | 0.01 ,可求得 Ns
Ns 100 。为在 20ns 时间内计数值大于 100,时基脉冲频率需大于 5GHz。可通
图 1 系统框图
单片 机
人机 界面
二、理论分析与计算
2.1 宽带通道放大器设计 按题目的要求, 被测正弦波信号有效值范围需要为 10mVrms 至 1Vrms,频率范 围为 1Hz 到 100MHz。一般考虑用放大器进行放大,再使用门电路整形。假设门 电路输入电压超过 2V 就被识别逻辑 1 电平,则对于小信号,要使放大后能够触 发逻辑门或者缓冲器进行缓冲整形,所需放大器增益为:
dt 100% 。
| D0 D | 100% 。 D0
4.2.4 数据刷新时间测量 在本系统中单片机提供预设的闸门时间为 1.2s,实际的闸门时间约为 1.4s, 数据在单片机中处理并送去显示所需要的时间约为几 ms,总刷新时间不会超过
-6-
1.5s。 理论上 1Hz 的信号所需要的刷新时间是最多的,故在 1Hz 频率的情况下,通 过秒表测量信号的刷新时间。 4.3 测试结果及分析 4.3.1 频率和周期测量 测量数据如下表 2 所示:
图 6 系统流程图
图 7 FPGA 和单片机连接框图
-5-
四、测试方案与测试结果
4.1 测试仪器 根据题目要求,所需要的测试仪器如下表 1:
表 1 测量仪器表
序号 1 4.2 测试方案
仪器名称 双通道函数信号发生器
型号 DG4162
指标 0~160MHz

2015年全国大学生电子设计大赛F题技术报告

2015年全国大学生电子设计大赛F题技术报告

1.2 频率/周期测量模块的论证与选择
方案一:时间门限测量法,包括直接频率测量和直接周期测量。测频法即在一定的 时间门限 T 内,若测得输入信号的脉冲数为 N,则待测信号的频率
f
x
N / T ,通过改
变 T 即可改变所测频率范围,但此法在频率较低时误差较大;而测周法恰与测频相反, 即被测信号用来控制闸门电路的开关,标准时基信号作为计数脉冲。若时基信号的周期 为 T 0 ,则被测信号周期
fpga频率计等精度测量verilogiii目录目录11信号放大整形模块的论证与选择12频率周期测量模块的论证与选择13单片机控制及显示模块的论证与选择21前置放大整形电路的分析22各被测参数测量方法的分析221信号频率周期测量的分析222同频率方波时间间隔测量的分析223矩形波占空比的分析23提高仪器灵敏度措施的分析31电路的设计311系统总体框图312信号整形子系统框图313信号参数测量子系统框图314单片机控制及显示子系统框图315电源32程序的设计321程序功能描述与设计思路322程序流程图1041测试方案1042测试条件与仪器1143测试结果及分析11431测试结果数据11432测试分析与结论13附录1
III
数字频率计(F 题) 【本科组】 1 系统方案
本系统主要由如下三部分组成:信号整形、信号参数测量、单片机控制及显示。其中, 信号参数测量又可细分为频率/周期测量,时间间隔测量,占空比测量等模块,下面分别 论证这几个子系统的选择。
1.1 信号放大整形模块的论证与选择
方案一:采用分立元件实现前置放大整形功能,用两只三极管对信号放大后送入反 相器整形。设计电路详见附录图 6.1.1,通过仿真发现当被测信号幅度较小,频率较高 时所得到的波形品质较差,而频率超过 50MHz 时输出信号完全无法满足要求。另外,此 方案需要大量采用分立元件,系统设计复杂,调试困难,尤其是增益的定量调节很难, 而且,稳定性差,容易自激震荡也是该电路另外一个缺点。 方案二: AD811 同比例放大电路放大小信号, 大信号直接输入比较器, 由于 AD811 带 宽积太小放大高频信号的时候衰减严重。 方案三:AD8099 同相比例放大电路,迟滞比较器,输入输出阻抗匹配;这种电路放 大电路的输出信号杂波较多,放大器的输出信号波形较粗,适当调节迟滞比较器的门限 电压可以有效抑制杂波对后级比较器的影响, 这样输入信号为方波时信号的频率以及有 效值的范围都比题目要求宽,输入为正弦波时也能满足题目要求。 综合以上三种方案,选择方案三。

电赛频率计设计报告

电赛频率计设计报告

年电赛频率计设计报告————————————————————————————————作者:————————————————————————————————日期:此处贴密封纸,然后掀起并折向报告背面,最后用胶水在后面粘牢。

2015年全国大学生电子设计竞赛数字频率计(F题)2015年8月15日摘要数字频率计可以直接计数单位时间内被测信号的脉冲数,并以数字形式显示频率值。

主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。

首先通过OP37G把输入信号进行放大,由施密特触发器CD40106整形,由于其对正向和负向增长的信号有不同的阀值电压,使得高低电平具有迟滞性,得到更稳定的方波。

接着通过74LS160对过高频率的信号进行分频;而后通过AT89S52控制闸门电路来控制计数器计数的标准时间,再由计数器对通过的高电平进行计数,用数码管显示计数后的高电平数,即得到被测信号的频率。

关键词:AT89S52、放大整形电路、施密特触发器、分频、时基电路、数码管目录1引言: 02系统理论分析与设计 02.1放大电路的选择: 02.2整形电路: 02.3分频电路 (1)2.4计数模块 (1)2.5显示模块 (1)3电路与程序设计 (1)3.1电路的设计 (1)3.1.1系统总体框图 (1)3.1.2 电路原理图 (2)3.1.3电源 (3)3.2程序的设计 (3)3.2.1程序功能描述与设计思路 (3)3.2.2程序流程图 (3)4测试方案与测试结果 (5)4.1测试方案 (5)4.2 测试条件与仪器 (6)4.3 测试结果及分析 (6)4.3.1测试结果(数据) (7)4.3.2测试分析与结论 (7)附录1:电路原理图 (8)附录2:源程序 (9)数字频率计(F题)1引言:数字计数式频率计能直接计数单位时间内被测信号的脉冲数,然后以数字形式显示频率值。

数字计数器主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。

2015年大学生电子设计竞赛设计报告模板

2015年大学生电子设计竞赛设计报告模板

…………………①……………….……第一装订折叠线……………….…①……………….第一装订折叠线…………………………①………………………2015年全国大学生电子设计竞赛(题)2015年9月6日…………………①……………….……第一装订折叠线……………….…①……………….第一装订折叠线…………………………①………………………摘要*********************************************************************** *************************************************************************** *************************************************************************** *************************************************************************** *******************************************************************(300字以内,宋体小四)。

关键词:#####,####,####,####(最多5个)…………………①……………….……第一装订折叠线……………….…①……………….第一装订折叠线…………………………①………………………目录目录自动生成!目录最多显示三级标题,字体宋体,字号自定…………………①……………….……第一装订折叠线……………….…①……………….第一装订折叠线…………………………①………………………报告正文长度限A4纸8页以内,一级标题三号黑体字,二级标题小三号黑体字,三级标题四号宋体字,其他标题均为小四号宋体字,正文采用小四号宋体字。

每页右下端注明页码。

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

此处贴密封纸,然后掀起并折向报告背面,最后用胶水在后面粘牢。

2015年全国大学生电子设计竞赛数字频率计(F题)2015年8月15日摘要数字频率计可以直接计数单位时间内被测信号的脉冲数,并以数字形式显示频率值。

主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。

首先通过OP37G把输入信号进行放大,由施密特触发器CD40106整形,由于其对正向和负向增长的信号有不同的阀值电压,使得高低电平具有迟滞性,得到更稳定的方波。

接着通过74LS160对过高频率的信号进行分频;而后通过AT89S52控制闸门电路来控制计数器计数的标准时间,再由计数器对通过的高电平进行计数,用数码管显示计数后的高电平数,即得到被测信号的频率。

关键词:AT89S52、放大整形电路、施密特触发器、分频、时基电路、数码管目录1引言: (1)2系统理论分析与设计 (1)2.1放大电路的选择: (1)2.2整形电路: (1)2.3分频电路 (2)2.4计数模块 (2)2.5显示模块 (2)3电路与程序设计 (2)3.1电路的设计 (2)3.1.1系统总体框图 (2)3.1.2 电路原理图 (3)3.1.3电源 (4)3.2程序的设计 (4)3.2.1程序功能描述与设计思路 (4)3.2.2程序流程图 (4)4测试方案与测试结果 (6)4.1测试方案 (6)4.2 测试条件与仪器 (7)4.3 测试结果及分析 (7)4.3.1测试结果(数据) (8)4.3.2测试分析与结论 (8)附录1:电路原理图 (9)附录2:源程序 (10)数字频率计(F题)1引言:数字计数式频率计能直接计数单位时间内被测信号的脉冲数,然后以数字形式显示频率值。

数字计数器主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。

首先通过宽带前置放大电路把输入信号进行放大,由CD40106整形得到能被计数器识别的脉冲波;接着通过74LS160对过高频率的信号进行分频;而后通过AT89S52控制闸门电路来控制计数器计数的标准时间,再由计数器对通过的脉冲信号进行计数,用LCD1602显示计数后的脉冲数,即得到被测信号的频率。

本系统主要由放大整形模块、分频模块、计数模块、显示模块、电源模块构成,整体流程框图如下:2系统理论分析与设计2.1放大电路的选择:因为输入的被测信号幅值不确定,在本设计中要求测量的幅值在50MV-1V之间,所以必须在对脉冲技术前必须对信号进行处理,使其转化为能被计数器识别的高电平。

方案一:三极管放大优势:放大的可调性更高,缺点:三极管的放大特性在高频时不稳定,只适用于中低频的放大。

且单个三极管的放大倍数有限,对于幅值极低的信号无法满足。

方案二:运算放大器放大优势:电路简单,集成度高,比较稳定缺点:运算放大器就是由多个三极管集成,单其参数固定,放大倍数足够。

且运算放大器的工作范围较大,对于较高频率的信号同样适用。

综合考虑本设计的需求,我们决定采用运算放大器进行信号的放大,因为本次设计的要求是达到10MHZ以上,采用三极管无法处理这么高的频率。

因此采用运算放大器。

2.2整形电路:由于输入的信号可以是正弦波,三角波。

而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。

方案1:使用电压比较器优点:电路简单,使用方便,容易受到噪声干扰。

缺点:输出的方波不够平稳,在输入的波形不稳定的情况下,电压比较器不能在同样的地方开启,使得输出的方波占空比不稳定。

且当电流不够大时,波形边沿不够陡峭。

方案2:使用施密特触发器优点:因为对正向和负向增长的输入信号具有不同的阀值电压,从而使传输特性具有迟滞特性。

使得输出的波形保持在两种状态之间,较为稳定。

可避免噪声误触发电路。

缺点:对于以0V及以上为低电平的信号,施密特触发器处理效果不好。

综合考虑这两种整形电路,因为本设计只需要多方波和正弦波进行处理,所以决定采用施密特触发器,因其处理的波形更稳定,且能有效避免杂波的干扰。

2.3分频电路因为AT89S52单片机对于1MHZ以上的信号处理比较吃力,所以在对经过放大整形后的脉冲进行计数时,要先对高频的部分进行分频,使其降低到单片机可计数的频段,而后在显示时输出计数的数值乘以相应的分频倍数。

可以选用74LS160计数器对其进行分频,74LS160可以实现任意倍数的分频,比较方便。

我们将输入信号的频率范围分为三个频段:1HZ到100kHZ为低频段,此频段可直接输入单片机进行计数;100kHZ到1MHZ为中频段,放大整形后进行10分频,输入单片机计数;而1MHZ到10MHZ为高频段,放大整形后进行100分频再输入单片机计数。

最后的显示模块即由计数器得到的脉冲数再乘以相应的放大倍数输出显示,即为输入信号的频率。

2.4计数模块计数模块由T89S52单片机进行计数2.5显示模块显示模块由AT89S52单片机进行控制,我们考虑到了数码管显示和LCD1602显示这两种显示方式。

方案一:数码管显示优点:简单明了,数据一目了然缺点:只能显示数字,不能显示其他的提示。

方案二:LCD1602显示优点:可以显示其他提示,使得显示的内容更加全面缺点:成本稍高。

3电路与程序设计3.1电路的设计3.1.1系统总体框图系统总体框图如图1所示\图1 系统总体框图 3.1.2 电路原理图1、宽带放大模块系统框图图2 放大子系统框图2、整形、分频子系统电路图3 整形、放大子系统电路宽带放大、整形分频,脉冲信号 信号源AT89C532单片机 数码管显示3、显示电路图4、显示电路3.1.3电源电源由变压部分、滤波部分、稳压部分组成。

为整个系统提供5V电压,确保电路的正常稳定工作。

这部分电路比较简单,都采用三端稳压管实现,故不作详述。

3.2程序的设计3.2.1程序功能描述与设计思路1、程序功能描述根据题目要求软件部分主要实现自动分档和显示。

1)键盘实现功能:设置频率值、频段、电压值以及设置输出信号类型。

2)显示部分:显示频率、周期、档位。

2、程序设计思路3.2.2程序流程图1、主程序流程图2、显示模块子程序流程图4测试方案与测试结果4.1测试方案1、放大整流模块电路测试:图5 宽带放大电路如图是对放大模块的测试,当输入信号频率在200KHZ以下,波形显示正常,函数信号发生器发出的信号源经过OP37放大过之后,通过示波器观察输出的是频率与信号源相同,幅值为4V到5V的脉冲信号。

施密特触发器CD40106,得出的是频率与信号源相同,幅值为5V的方波,符合计数器的幅值要求。

但输入频率超过200KHZ,OP37输出波形严重失真,并逐渐归零,无法计数。

2、软件仿真测试采用Multisim仿真软件,用软件画好仿真电路,写入编号的程序,查看现象。

图6 输入信号波形图7 输出信号波形图8 软件仿真数码管示数3、硬件软件联调当输入信号频率在200KHZ以下,数码管显示正常与函数信号发生器输出波形的频率一致,误差极小。

当输入频率超过200KHZ,数码管显示数值不再与信号源一致,并逐渐归零。

4.2 测试条件与仪器测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。

测试仪器:函数信号发生器、模拟示波器、数字万用表、数字频率计、5V直流电源、Multisim仿真软件4.3 测试结果及分析Multisim软件仿真结果与实际电路测试结果不同,推测应该是OP37的最大工作频率在200KHZ以下,所以在高频阶段OP37无法正常,故频率计无法正常显示。

而在我们实验室现有的器材中,OP37可以达到的工作频率已经是最高,故受器材限制,频率计无法更进一步,测量更高的信号频率。

4.3.1测试结果(数据)4.3.2测试分析与结论根据上述测试结果,当输入信号超过200KHZ时,频率计的误差就开始增大,当频率越来越大时,频率计示数越来越不稳定,当信号到达3MHZ是示数完全归零由此可以得出以下结论:1、当输入信号在200 KHZ以下时,数字频率计的示数很精确,误差极小,可以正常使用。

2、当输入信号超过200KHZ,数字频率计的示数开始不稳定,一直到2MHZ左右,越来越不稳定,当输入信号超过3MHZ,频率计示数完全归零。

3、频率计只可以在低于200KHZ的频率时能够实现信号频率的精准测量,即只能测量中低频的信号。

综上所述,本设计未达到设计要求。

附录1:电路原理图附录2:源程序#include <reg52.h>#define value P0#define place P1unsigned char d[4];unsigned char Num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; sbit clear=P2^3;sbit ledG=P2^4;sbit ledY=P2^5;sbit ledR=P2^6;unsigned char count=0;unsigned char gears;unsigned int tN;unsigned int fCnta;unsigned long regCnta;unsigned int fCntb;unsigned long regCntb;unsigned long pCnt;void Delay(unsigned int DelayTime){while(DelayTime--);}void display(){if(gears==1){d[3]=0;d[2]=pCnt/100;d[1]=(pCnt%100)/10;d[0]=pCnt%10;place=0x01;value=Num[d[3]];Delay(200);place=0x02;value=Num[d[2]];Delay(200);place=0x04;value=Num[d[1]];Delay(200);place=0x08;value=Num[d[0]];Delay(200);ledY=1;ledR=0;}if(gears==2){d[3]=pCnt/1000;d[2]=(pCnt%1000)/100;d[1]=(pCnt%100)/10;d[0]=pCnt%10;place=0x01;value=Num[d[3]];Delay(300);place=0x02;value=Num[d[2]];Delay(300);place=0x04;value=Num[d[1]]+0x80;Delay(300);place=0x08;value=Num[d[0]];Delay(300);ledG=1;ledY=0;ledR=1;}if(gears==3){d[3]=pCnt/1000;d[2]=(pCnt%1000)/100;d[1]=(pCnt%100)/10;d[0]=pCnt%10;place=0x01;value=Num[d[3]]+0x80;Delay(50);place=0x02;value=Num[d[2]];Delay(50);place=0x04;value=Num[d[1]];Delay(50);place=0x08;value=Num[d[0]];Delay(50);ledG=0;ledY=1;ledR=1;}if(gears==4){d[2]=0;d[1]=0;d[0]=0;place=0x01;value=Num[d[3]];Delay(100);place=0x02;value=Num[d[2]];Delay(100);place=0x04;value=Num[d[1]];Delay(100);place=0x08;value=Num[d[0]];Delay(100);ledG=0;ledY=0;ledR=0;}}void intialize(){clear=1;ledG=1;ledY=1;ledR=0;TMOD=0x66;gears=1;RCAP2H=(65536-62500)/256;RCAP2L=(65536-62500)%256;TH2=RCAP2H;TL2=RCAP2L;tN=16;ET2=1;TR2=1;ET0=1;TR0=1;ET1=1;TR1=1;TH0=0;TL0=0;TH1=0;TL1=0;EA=1;void main(){intialize();while(1){display();}}void timer2() interrupt 5{count++;TF2=0;if(count==tN){EA=0;regCnta=(long)fCnta*256+TL1;regCntb=(long)fCntb*256+TL0;TL1=0;TH1=0;TL0=0;TH0=0;fCnta=0;fCntb=0;count=0;clear=0;clear=1;if(gears==1){if(regCnta<1000){pCnt=regCnta;}else{gears=2;}else if(gears==2){regCntb=regCntb*10/100;if(regCntb>=10&&regCntb<10000){pCnt=regCntb;}else if(regCntb>=10000){gears=3;}}else if(gears==3){regCntb=regCntb*10/1000;if(regCntb<10000){pCnt=regCntb;}else if (regCntb>=10000){gears=4;}}else if(gears==4){if(regCntb<2500)gears=1;}EA=1;}}void tally1() interrupt 3{fCnta++;}void tally0() interrupt 1{fCntb++;。

相关文档
最新文档