




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于c p l d 的多功能等精度数字频率计的设计 摘要 本文主要论述了利用c p l d 进行测频计数,单片机实施控制实现多功能频 率计的设计过程。该频率计利用等精度的设计方法,克服了基于传统测频原理 的频率计的测量精度随被测信号频率的下降而降低的缺点。等精度的测量方法 不但具有较高的测量精度,而且在整个频率区域保持恒定的测试精度。该频率 计利用c p l d 来实现频率、周期、脉宽和占空比的测量计数。利用单片机完成 整个测量电路的测试控制、数据处理和显示输出。 本文详细论述了硬件电路的组成和单片机的软件控制流程。其中硬件电路 包括键控制模块、显示模块、输入信号整形模块以及单片机和c p l d 主控模块。 设计器件采用a t m e l 公司的单片机a t 8 9 c 5 1 和a l t e r a 公司的e p m 7 1 2 8 s l c 8 4 1 5 。键控制模块设置5 个功能键和3 个时间选择键,键值的读入采用一片7 4 l s l 6 5 来完成;显示模块用8 只7 4 l s l 6 4 完成l e d 的串行显示;被测信号经限幅后由 两级直接耦合放大器进行放大,再经施密特触发器整形后输入c p l d ;标准频率 采用5 0 m h z ;单片机软件用汇编语言编写,软件模块对应于硬件电路的每一个 部分,还包括部分数据计算和转换模块。 关键词频率计,测频,等精度,单片机,c p l d t h ed e slg n o fm u l ti f u n c t10 ne q u a l - a c c u r a c y d i g i t a lc y m o m e t e rb a s e do nc p l d a b s t r a c t t h er e a c h p a p e rm a i n l yd i s c u s s e s t h e d e s i g np r o c e s so fm u l t i - f u n c t i o n c y m o m e t e rt h a tu s e sc p l dt oc o u n tt h ef r e q u e n c ym e a s u r e m e n ta n dc y m o m e t e ri s a l s oc o n t r o l e db ys i g n a lc h i pc o m p u t e r t h ec y m o m e t e rm a k e su s eo fe q u a l a c c u r a c y d e s i g nt h a tc a no v e r c o m et h ed i s a d v a n t a g eo ft r a d i t i o n a l + m e a s u r i n gp r i n c i p l e ,w h i c h p r e c i s i o n d e c l i n e sa sm e a s u r e ds i g n a l f r e q u e n c yd o e s t h ee q u a l a c c u r a c y m e a s u r e m e n tn o to n l yh a sh i g h e rm e a s u r i n gp r e c i s i o n ,b u ta l s oc a nk e e pi n v a r i a b l e m e a s u r i n gp r e c i s i o ni nw h o l ea r e ao ff r e q u e n c y t h i sc y m o m e t e ru s e sc p l dt or e a l i z et h em e a s u r i n gc o u n to ff r e q u e n c y 、 p e r i o d 、p u l s ew i d t h a n do c c u p y e m p t yr a t i o s i g n a lc h i pc o m p u t e rc o m p l e t e st h et e s t c o n t r o l 、d a t ap r o c e s s i n ga n dd i s p l a yo u t p u to ft h es y s t e m t h i se s s a yd i s c u s s e st h ec o m p o s eo fh a r d w a r ec i r c u i ta n ds o f t w a r ec o n t r o lf l o w o fs i g n a lc h i pc o m p u t e ri nd e t a i l h a r d w a r ec i r c u i ti n c l u d e sk e yc o n t r o lm o d u l e 、 d i s p l a ym o d u l e 、p l a s t i cm o d u l eo fi n p u ts i g n a l 、s i n g l ec h i pc o m p u t e rc o n t r o lm o d u l e a n dc p l dm a i nc o n t r o lm o d u l e t h ec y m o m e t e ra d o p t s s i n g a lc h i pc o m p u t e ra t 8 9 c 51o fa t m e lc o m p a n ya n d e p m 7 1 2 8 s l c 8 4 - 1 5o f a l t e r ac o m p a n y k e yc o n t r o lm o d u l eh a s5f u n c t i o nk e ya n d3 t i m es e l e c t i o nk e y ac h i p7 4 l s16 5c o m p l e t e st h ek e yv a l u ei n p u t d i s p l a ym o d u l e u s e se i g h t7 4 l s16 5 st or e a l i z et h es e r i a ld i s p l a yo fl e d f i r s t ,t h em e a s u r i n gs i g n a l a m p l i t u d ei sl i m i t e d s e c o n d ,t h es i g n a li sa m p l i f i e db yt w oc l a s sd i r e c tc o u p l i n g a m p l i f i e r f i n a l l y , t h es i g n a li n p u t sc p l da f t e r i t i st r i m e db ys m i t t e rt r i g g e r s t a n d a r df r e q u e n c yi s5 0 m h z s o f t w a r ep r o g r a mo fs i n g a lc h i pc o m p u t e ri sw r i t e d b ya s s e m b l yl a n g u a g e s o m eo fs o f t w a r ep r o g r a mi sc o r r e s p o n d e dt oe v e r yh a r d w a r e p a r t ,t h eo t h e r s i n c l u dd a t ac o u n ta n dt r a n s f o r m k e y w o r d s c y m o m e t e r , f r e q u e n c ym e a s u r e m e n t ,e q u a l p r e c i s i o n , s i g n a lc h i pc o m p u t e r , c p l d 引言 测频一直以来都是电子和通讯系统工作的重要手段之一。高精度的测频仪 和频率发生器有着广泛的市场前景。以往的测频仪都是在低频段利用测周的方 法、高频段用测频的方法,其精度往往会随着被测频率的下降而下降。该测频 仪利用等精度的测频原理,保证了整个测试范围内恒定的测试精度。 在器件选择上,该测频仪采用a t m e l 公司生产的a t 8 9 c 5 1 单片机和a 1 t e r a 公司所生产的m a x7 0 0 0 系列中的e p m 7 l2 8 s l c 8 4 1 5 。a t 8 9 c 5 l 是一种低功耗、 高性能的8 位c m o s 单片机。片内有4 k b 的闪烁可编程擦除只读存储器 ( f p e r o m ) ,并且与m c s 一5 1 引脚和指令系统完全兼容。芯片上的f p e r o m 允许在线或采用通用的编程器对其重复编程,可循环写入擦除1 0 0 0 次。并且 有宽工作电压范围、存储数据保存时间长( 1 0 年) 等优点。是一款性价比较高 的单片机。e p m 7 1 2 8 s l c 8 4 一l5 是在a 1 t e r a 公司的第二代m a x 结构基础上,采用 先进的氧化物半导体e2 p r o m 技术制造的。可容纳各种各样、独立的组合逻辑和 时序逻辑函数。可以快速而有效的重新编程,并保证可编程擦除10 0 次。 e p m 7 1 2 8 s l c 8 4 1 5 包含1 2 8 个宏单元。每1 6 个宏单元组成一个逻辑阵列块,同 时,每个宏单元有个可编程的“与”阵和固定的“或”阵,以及一个具有独 立可编程时钟、时钟使能、清除和置位功能的可配置触发器。 单片机的软件采用汇编语言编写,c p l d 的各种功能块用v t t d l 语言描述实现。 测频仪器性能也各不相同。该测频仪将c p l d 的高速高可靠性、单片机的 灵活控制功能和等精度测频原理较高的测量精度相结合,具有速度快、功能全、 精度高等特点,适合子教学及科研工作使用。 第一部分等精度测频原理 1 1 等精度测频原理 等精度测频的实现方法可以用图1 - 1 来简化说明。 、1 控信号 标准信号 被测信号 清零信号 图卜1 等精度测频原理框图 图1 - 1 中晌门控信号是可预置的宽度为t p r 的一个脉冲。c o u n t l 和c o u n t 2 是两个可 控计数器。标准频率信号从c o u n t l 的时钟输入端c l k 输入,其频率为f s ;经整形后的被 测信号从c o u n t 2 的时钟输入端c l k 输入,设其实际频率为f x e ,测量频率为f x 。 当门控信号为高电平时,被测信号的上沿通过d 触发器的q 端同时启动计数器c o u n t l 和c o u n t 2 。对被测信号f x 和标准频率信号f s 同时计数。当门控信号为低电平时,随后而 至的被测信号的上沿将使这两个计数器同时关闭。设在一次门控时间t p r 中对被测信号计数 值为n x 。对标准频率信号的计数值为n s 。则: f x n x = f s n s ( 标准频率和被测频率的门宽时间t p r 完全相同) 就可以得到被测信号的频率值为: f x = ( f s n s ) + n x 误差分析如下: 在一次测量中,由于f x 计数的起停时间都是由该信号的上升沿触发的,在t p r 时问内对 f x 的计数n x 无误差;在此时间内f s 的计数n s 最多相差一个脉冲,即| e ti 1 ,则下式 成立: f x n x = f s n s f x e n x = f s ( n s + e t ) 所以有: f x = ( f s n s ) * n x f x e = f s ( n s + e t ) * n x 根据相对误差公式有: f x e f x e = lf x e f xl f x e 代入整理得: f x e f x e = l e t l n s 又因为: i e tl l 所以:i e ti n s l n s 即:l6i = f x e f x e 1 n s 其中:n s = t p r * f s 由以上推导结果可得出下面结论: ( 1 ) 相对测量误差与频率无关。 ( 2 ) 增大t p r 或提高f s ,可以增大n s ,减少测量误差,提高测量精度。 ( 3 ) 标准频率误差为f s f s ,由于晶体的稳定度很高,标准频率误差可以进行校准。 ( 4 ) 等精度测频方法测量精度与预置门宽度和标准频率有关,与被测信号的频率无关。 在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的 测量精度在整个测量范围内保持恒定不变,而常规的直接测频法( 在低频时用测周法,高频 时用测频法) ,其精度会随着被测信号频率的下降而下降。 1 2 基本性能指标 ( 1 ) 频率测试功能:测频范围0 1 h z 6 0 旧z ,测频精度:测频全域相对误差恒为百万分 之一( 由l e d 的显示位数决定) 。 ( 2 ) 周期测试功能:信号测试范围与精度要求与测频功能相同。 ( 3 ) 脉宽测试功能:测试范围0 1us 1 s ,测试精度o 0 1us 。 ( 4 ) 占空比测试功能:测试精度1 9 9 。 第二部分硬件电路设计 2 1 系统原理框图 系统组成原理框图如图2 1 所示。由一片c p l d 完成各种测试功能,对标准频率和被测 信号进行计数。单片机对整个测试系统进行控制,包括对键盘信号的读入与处理;对c p l d 测量过程的控制、测量结果数据的处理;最后将测量结果送l e d 显示输出。被测信号整形电 路主要对被测信号进行限幅、放大、再经施密特触发器整形后送入c p l d 。用5 0 m h z 的有源 晶振作为c p l d 的测试标准频率。电源部分采用2 2 0 v 交流电经变压、滤波、稳压后得到5 v 电压供整个系统使用。单片机由外接1 2 m h z 标准晶振提供时钟电路。 图2 1 系统原理框图 f i g 2 - 1s y s t e mp r i n c i p l eb l o c k 2 2 键控制模块 图2 2 为按键接口电路,因为按键数量较少,所以采用独立式按键结构。 图2 2 键盘接口电路 每个按键各接一根输入线,从而使一根线上按键的工作状态不会影响其它线上的工作状 悉l 个按键通过一片并入串出的7 4 l s l 6 5 接入单片机,单片机的p 3 0 口为串行数据输入线, 3 1 口提供7 4 ,s 1 6 5 移位所需的时钟信号,p 3 2 口控制7 4 l s l 6 5 的并行置入和串行移位信号 线。p 3 5 为信- 弓封所线,防止按键按下时的强电流对显示造成影响。按键的消抖用软件延时 的方法实现。八个键分别为测频、测周期、测占空比、测脉宽、自校五个功能键和o 1 秒、1 秒、l o 秒三个时间键。7 4 l s l 6 5 的8 个i o 口通过3 k 的电阻接高电平,当扫描到某一位为低 咆、f 时表示有按键按下。 4 2 3 显示模块 测试结果输出显示模块如图2 - - 3 所示,8 位8 段l e d 采用共阳极接法,显示方式为静态 显示,静态显示方式显示亮度较高,而且显示状态稳定。根据实际亮度需求每段l e d 接5 k 的 限流电阻。a t 8 9 c 5 1 的p 3 0 口为数据输出线,数据经8 片目 入并处7 4 l s l 6 4 以串行方式送入 l e o ( 数据从最右端串行移入) ,每片7 4 l s l 6 4 驱动一只l e d 。p 3 1 为串行移位时钏1 线。p 3 4 为数据封锁线。 图2 - 3 显示模块 f i g 2 - 3d i s p l a ym o d u l e 2 4 单片机主拉块 如图2 4 所示,该模块主要完成单片机对c p l d 的控制。单片机p 1 口的8 根口线为控制 信号线,具体控制功能如下: p 1 0 ( e n d ) :脉宽计数结束状态信号,e n d = i 计数结束。 p 1 1 ( t f ) :t f = o 时等精度测频,t f = l 时测脉宽。 p 1 2 ( c h o i s e ) :自校测频选择,c h o i s e = i 测频,c h o i s e = o 自校。 p 1 3 ( s t a r t ) :当t f = o 时,作为预置门闸,门宽由键盘输入值决定,s t a r t = 1 时预置门打开, s t a r t = o 时关门:当t f = l 时,s t a r t 有第二功能,此时,当s t a r t = o 时测负脉宽,当s t a r t = i 州测正脉宽,利用此功能可分别获得脉宽和占空比数据。 p 1 4 ( c l r t r i g ) :当t f = o 时系统全清零功能,当t f = i 时c l r t r i g 的上跳沿将启动c o u n t 2 , 进行脉宽计数。 p 1 5 ( e e n d ) :等精度测频计数结束状态信号,e e n d = o 时计数结束。 p 1 6 ( a d r a ) ;p 1 7 ( a d r b ) :计数值读出选通控制。若令a d = a d r a ,a d r b ,则当a d = 0 0 、0 l 、 1 0 、1 1 时可从p o 口和p 2 口由低8 位至高8 位分别读出两组4 个8 位计数值。 单片机p 0 口的8 根口线接c p l d 的a 0 a 7 口,输出的是标准频率的计数值。 单片机p 2 口的8 根口线接c p l d 的b o m b 7 口,输出的是被测频率的计数值。 c 6 7 8 9 1 0 1 1 1 2 1 3 g h d r 1 5 i 6 l8 1 9 2 0 p 1 8 v c c p 1 1 p 0 0 p 1 2 p o 1 p i 3a t 8 9 3 5 lp 0 2 p 1 4 p 0 3 p 1 5p 0 4 p 1 6 p 0 5 p 1 7 p 0 6 r s t v p d p 0 7 p 3 0融 p 3 1 a l e p 3 2p s 碰t p 3 3p 2 0 p 3 4 p 2 1 p 3 5 p2 - 2 p 3 6 p 2 3 p 3 7p 2 4 x t a l lp 2 5 x t a l 2p 2 6 v s s p 2 7 3 0 2 9 2 4 2 5 2 0 2 2 3 3 3 t a 0 a l a 2 c p l d a 3 a 4 f s t d a 5 a 6f a t c 虻 霉 b 0 b l b 2 b 3 b 矗 b 5 b 6 b t 盆i 嚣 矧g 图2 4 单片机主控模块 f i g 2 - 4s i n g l ec h i pc o m p u t e rm a i nc o n t r o lm o d u l e 2 5 输入信号整形模块 5 0 m 乜 i 43 12 被测信 号输入 自校频 率输入 图2 5 为输入信弓整形电路。被测信号经限幅电路( 由两片i n 4 1 4 8 组成) 限幅后,由 两级直接耦合放大器放大,最后再由施密特触发器整形,送入c p l d 进行测频。该电路r ,c 参数根据实际所测信号的带宽确定,如频率较高( 大于7 0 m h z ) 则电路和p c b 布线都需作 较大改动。本测频仪洞试阶段所用信号为信号发生器输出的标准信号,故对该电路部分未做 深入分析,如果要做实际应用,该电路部分还需进一步研究。 6 们一一一钾一一强一m一一:一雏一一四一写一研一拍一巧一m一盟牡一n + 5 v g l 皿 图2 5 输, k 4 t 号整形模块 出 2 6c p l d 实现模块 该系统的测试功能都是由c p l d 完成的。根据等精度的测频原理,利用v h d l 语言编写各 部分逻辑模块,实现框图如图2 - 6 所示。 圈2 - 6 测试原理框图 7 f c i 模块为测频、测周、自校选择控制模块,c o n t r l l 控制标准频率和被测频率的计数装 置,c o n t r l 2 为脉宽和占空比测量的控制模块,c o u n t l 、c o u n t 2 是两个3 2 位的计数器,分别 对标准频率和被测频率进行计数,并将计数结果由8 位总线输出到单片机。 2 6 1 测频测周期的实现 测频测周期时,先由单片机给出控制信号,令t f = o ,c h o i s e = i ,选择测频测周,再 由单片机将c l r 端置高完成测试电路的初始化。接下来单片机将门控信号s t a r t 置为高电平, 由被测信号的上升沿将两个计数器同时打开,对被测频率和标准频率同时进行计数。定时结 束后,单片机把c o n t r l 的s t a r t 端置为低电平,在被测信号的下个脉冲的上沿到来时, e o u n 1 1 l 停止计数,同时关断c o u n j 2 对f s 的计数。计数结束后由e e n d 端输出的低电平来指 示计数的结束,单片机即可通过a d r a 、a d r b 分别读回标准频率和被测频率的计数值。 图2 7 是控制部分电路。如图所示,当s t a r t 为高电平时,紧接着f i n 的下一个高电平 使q 端置高,将标准频率由c l k 2 送入c o n u t 2 进行计数,被测频率由c l k l 送入c o u n t l 进行 计数,同事将e e n d 置为高电平,作为结束状态标志。当s t a r t 为低电平时,紧接着的f i n 的 下一个脉冲上升沿将两个计数器通道切断,并将e e n d 受为低电平,通知单片机计数已结束。 图2 - 7 测频测周期控制电路 2 ,6 2 脉宽和占空比洳量模块设计 图2 - 8 为脉宽测量电路图。在测量开始前先向电路的c l r 端送一个正脉冲以便进行电路 的工作状态初始化。然后将g a t e 的c n i 。端置为高电平,表示开始脉冲宽度的测量。在被测脉 冲的上升沿到来时,c o n t r l 2 的p u l 端输出高电平,标准频率进入到c o o n t 2 。在被测频率下 降沿到来时,c o n t r l 2 的p u l 端输出低电平,计数器c o u n t 2 被关断。最后由单片机读出数 结果,并通过测量原理中的计算公式得出脉冲宽度。 c o n t r l 。2 子模块的主要特点是:电路的设计保证了只有c o n t r l 2 被初始化过后才能工作, ;写则p u 。输出始终为零。只有在先检测到上升沿后p u l 才为高电平,然后在淦测到下降沿时, p u l 输出为低电平;e n d d 输出高电平以便通知单片机计数已经结束;如果先检测到下降沿, p u l 并无变化;在检测到上沿并紧接一个下沿后,c o n t r l 2 不再发生变化直到下一个初始化信 号到来。 图2 - 8 脉宽m 4 量电路图 f i g 2 - 8p u l s ew i d t hm e a s u r e m e n tc i r c u i t 2 7 电源模块 整个电路的供电电源如图2 6 所示,2 2 0 交流电经变压、滤波后,由一片7 8 0 5 将输出 皂压稳压在+ 5 v 。 2 2 0 v t 1 g n d 图2 9 电源模块 f i g 2 - 9p o w e rm o d u l e 9 第三部分软件部分设计 3 。l 单片机主程序 图3 一l 表示单片机主程序流程图。各种测试功能流程如下: 系统初始化后,由键盘扫描子程序读入要执行的功能键。比如要执行的功能,”潮0 频功能, 那么读入键之后马上跳转到测频予程序,测频子程序先置测频控制位c l r ( p 1 4 ) 、t f ( p 1 1 1 、 c h o i s e ( p 1 2 ) ,将c p l d 内的计数器清零,然后通过7 建盘将预簧门的时问值读入单片机,打 开预置门进行测频计数,等预置门时间到后,关断预置门,c p l d 关断预置门后将给单h 机 一个结束信号,单片机读到结束信号后,通过置 a d r a ,a d r b 的四个状态,分四次将测 频结果勺3 2 位数据读入单片机,计算后将结果转换为b c d 码送l e d 显示输出。 测司期时只要将计算结果由频率值取倒转换为周期值即可。 自校子程序与测频子程序相同。 脉宽的测量子程序与周期测量子程序基本一致,只是脉宽测量是在被测信号的脉宽内对 标准频率进行计数,所以在c p l d 内要有对上下沿的处理过程,而且技术结果为一组数据,不 像测频和测周期一样同时对被测信号和标准信号进行计数。 占空比予程序是在脉宽子程序的基础上,先对一个脉宽进行计数,测得训数健为n l ,然 后将输入信号反相,再测其脉冲宽度,测得计势值为n 2 ,则可以计算出: 占空比= n 1 ( n i + n 2 ) x 1 0 0 在空闲状态程序始终扫描键盘,等待输入,并在l e d 上显示c p u r e a d y 的字样。执行完某 一功能后程序又会回到键盘扫描状态上来。 图3 1 单片机主程序流程图 1 0 图3 2 为测频子程序流程图,测周期、测脉宽等予程序除了计算部分有所区别外其余与 测频子程序流程基本一致,这里不再详细列出。 i 量塑9 塑撞型s 一 盎】 t 读入预置门时间值l 蜜 审 计算并将结果转换为b = 鸸 i 调显示子程j 芊i 图3 - 2 测频子程序漉程图 i ? i g 3 - 2f r e q u e n c ym e a s m e 1 1 e l i l , s u b p r o g r a mf l o w c h a r t 测频主程序: k e y l :l c a i ,lc 1e a r :调i 。e d 熄灭f 程序 l c a l 。t i m e :调t p r 时间渣 m o vr 0 2 0 h c l rp 1 】:t f = o 测频 s e t bp 1 2 :c h o i s e = i s e t bp i 4 :系统初始化( c l r = i ) c l r p 1 4 s e t bp 1 3:s t a r t = l d e l y :a c a l ldl o o m s d j n zr o ,d e l y c l rp 1 3:s t a r t = o e e n d :m o vc ,p 1 5 :将e e n d 状态送至c j ce e n d m o va ,# 0 0 1 1 1 1 1 1 b :胃 p 3 7 ( a d r a ) ,p 3 6 ( a d r b ) = o ,0 读数 a n lp 3 a n o p m o va ,p o m o v7 0 h ,a m o va p 2 m 0 v7 4 h a s e t bp 3 6 n o p m o va p o m o v7 1 h a m o va p 2 m 0 v7 5 h a s e t bp 3 7 c l rp 3 6 n o p m o va ,p o m o v7 2 h ,a m o va p 2 m o v7 6 h ,a s e t bp 3 6 n o p m o va ,p o m o v7 3 h ,a m o va ,p 2 m o v7 7 h a m o vr o ,1 4 8 0 h m o vr 1 ,# o f o t m o vr 2 ,# o f a 1 m o vr 3 # 0 2 h m o vr 4 ,7 4 h m o vr 5 ,7 5 h m o vr 6 ,7 6 h m o vr 7 ,7 7 h a c a l lm u ,s u b a c a l i 。n d i v a c a l lb i nb c d a c a l le x t d a c a l ld i s p r e t 字节展开子程序: e x t d :m o vr 1 ,9 3 0 h m o vr 7 ,9 0 4 h a g a n :m o va , r o m o vr 3 ,a 将n s 的值存 7 0 “7 3 h 单元 将n x 的值存入7 4 7 7 h 单元 5 0 m 标准频率转换为1 6 进制为2 f a f 0 8 0 r 3 为最高位 调四字节乘法子程序f s * n x 调除法子程序f x = f s * n x n s 调二进制转换b c d 码子程序 调字节展开子程序 送【e d 显示 2 a n la # 0 0 0 0 1 1 1 1 b m o v r 1 ,a m o va ,r 3 i n cr 1 a n la # 1 1 1 1 0 0 0 0 b m o v r 1 ,a i n cr 1 i n cr o d j n zr 7 ,a g a n r e t 延时0 i s 子程序: dl o o m s :m o vr 7 ,# o c 8 h d l l 2 :m o vr 6 ,# o f 9 h d l l l :d j n zr 6 ,d l l l d j n zr 7 d l l 2 r e t l e d 熄灭子程序: c l e a r :m o vr 7 # 0 8 h m o vr o ,- “3 0 h m o va ,# 1 2 h :显示熄灭 a b c lm o v r o a i n cr o d j n zr 7 ,a b c l r e t 3 2 显示子程序 其流程图如图33 。显示数据由单片,叽的串行hp 3 0 送出,p 3 :l 提供串行移位的时钟 信i - ,p 3 4 口控制数据的输出。显示的数据存放在从3 0 h 开始的r a m 单元中。串行口设为方 式o 。显示用查表的方式,将要晁示的段形码预先存入以t a b 开头的码表中。 具体程序如下: d i s p :s e t bp 3 ,4 m o vr 7 。g o s f i m o vr o # 3 0 h m o vs c o n # o o s e n d : - ! o v a r o a d da # 0 d h :i o v ca , a + p c m o v s b u f ,a w a i t :j n bt i ,w a i t c l ,rt i i n c1 1 0 d j n zr 7 s e n d c l rp 3 4 r e t 黍 yl 关显示控制p 3 4 图3 3 显示子程序流程图 f “3 - 3d is , l a ys u b p r o g r a mf l o w c h a r t 开显示控制 置显示个数 置显示缓冲区指针 没串行口方式0 设置偏移值 ,高动发送 t a b :d 1 3o c ( ,o f g i i ,o a 4 i i ,o b o i l ,9 9 t i ,:0 , d b9 2 t i 。8 2 i ,0 :8 t i 8 0 h 。9 8 t t , :5 , d b8 8 h ,8 3 11 ,0 c 6 i ,o a 州,8 6 h ,8 酬,:a , d b7 17 1 1 ,o f f f i ,0 c 6 l i ,8 c 1 i ,o c l “,:, d bo c e h ,8 6 h ,8 8 h ,o a i h ,9 】h , :r , d i38 6 i ,o c 8 h ,o f 8 h ,8 州l ,o c e h ,;e , d bo b f t i ,9 2 1 1 。o f o t t ,:一, 1 ,2 ,3 ,4 6 ,7 ,8 ,9 b ,c ,d ,e ,f 暗,c ,p ,u e ,a ,d ,y n ,t ,e ,r s ,j , 3 3 键盘扫描子程序 该程序采用查;莉方式进行工作。程序开始后,先在l e d 上给出c p l r e a d y 的提示字,然后 进入键盘扫描方式。单片机通过7 4 l s l 6 5 不断查询键盘,当有键输入时,将键值读入到预存 单元,然后采用软件消抖的方法,用软件延时1 0 r e s ,再读键值,和原键值进行比较,若和原 值不相同,证明是由抖动引起的。重瓤j 描键盘。若相同,则跳转到相应南能子程序执行。 相应功能予程序开始执行后,对按键不会再响应,只至程序执行完为止,雨进入键盘扫描状 态。 具体程序如下: k e y i n :a c a l ll o a d a c a l ld i s p s ,i i a r t :c l rp 3 2 s e t bp 3 2 w a i t l w a i t 2 : t o2 : 一 t o3 : 一 t oq : 一 t o5 : 装入c p u r e a d y 调显示子程序 并行置入键值 :允许串行移位 m o vs c o n # 0 0 0 l c 0 0 0 b j n br i ,w a i t i c l rr i m o va ,s b u f a n la # l f h m o vr 3 , a c a l li ) l o3 f i s c l rp 3 2 s e t bp 3 2 m o vs c o n # o o o l 0 0 0 0 b j n br i ,w a i t 2 c l rr i m o va ,s b u f a n la # 1 f h m o v2 0 h ,a c j n ea ,2 l h ,k e y z n c j n ea ,# i e h ,t 吐2 a c a l lk e y l c j n ea ,g l d i ,t o 3 a c a l lk e y 2 c j n ea ,# l b h ,t 吐4 a c a l lk e y 3 c j n ea ,# i t h ,t q 5 a c a i ,lk e y 4 c j n ea # o f i - i 。s t a r t l a c a l lk e y s j m pk e y i n 延时1 0 毫秒子程序: d 一1 0 m s :m o v t 7 抖1 4 1 i l o o p l :m o vr 6 ,4 0 f g t l :设置串行口模式0 ,启动接收 :屏蔽高三位( 时间值) :暂存键值 :延时,去刳 测频子程序 测周期子程序 脉宽测量 臼校子程序 占空比测量 l o o p 2 :d j n zr 6 ,l o o p 2 d j n zr 7 ,l o o p i r e t 提示字装入予程序: l o a d :m o vr 7 ,# 0 8 h m o vr o ,- + 3 0 h m o va # 1 3 h:c p u r e a d y l d :m o v r o ,a i n cr ( ) :n ca p - j n zr 7 ,l d l e t 3 4 时间值输入子程序 键盘设有三个时间值建,分别为0 1 s 、1 s 和1 0 s ,来控制预置门的开关时问。在执行功 能子程序之前会提示先输入时间值( 在l e d 上显示e n t e r - - s j ) 。测高频时用0 1 秒作门控时 问,在满足测量精度要求下可减少计数值,减少程序运算量。测低频时,用1 秒或1 0 秒作门 控时间,由其在测眠于l t l z 的低频时至少要选择l o 秒的门控时间,才可能使被测信号被计 数一个以上的脉冲。其程序执行过程与键盘扫描子程序相同。 具体程序如下: t i m e :m o vr 7 ,s 0 8 t t m o vr o - x - , 3 0 i _ 1 m o va ,# 1 9 h :显示e n ,i e rs j l p :m o v r o ,、 i n cr o i n cr o d j n zr 7 ,l p l c a l ld i s p 5 j e g i n :c l ep 3 4 s e t bp 3 4 m o vs c o n # 0 0 0 10 0 0 0 b w t l :j n bi i w t l c l rr i z f f o va ,s b u f a n la # o e o t t:屏蔽功能键 m o vi 3 a l c a l ld1 0 m s c l rp 3 4 s e t bp 3 4 m o vs c o n ,;0 0 0 1 0 0 0 0 b w ,r 2 :j n br i ,w t 2 c l ,rr i 6 m o va ,s b u f a n la ,# 0 e 0 m o v2 2 h ,k c j n ei ,2 2 h ,b e g i n c j n ea ,# o c o h ,s 一1 0 m o v2 0 h ,# o l h i 。e t s 一1 0 :c j n ea ,# o a o h ,s 一2 0 m o v2 0 1 1 ,e 0 a h 【 e i 、 s2 0 :c j n ea ,# 6 0 h ,b e g i n m o v2 0 h # 6 4 h r e t s t a r t = o 1 s s t a r t :l s s t a r t = io s 3 5 计算及数值转换子程序 单片机读入测频计数结果后,还要根据等精度测频原理进行计算,才能得到最终的测量 结果。这部分计算主要包括:四字节数乘法子程序;八字节数除以四字节数除法子程序;二 进制转换b c d 码子程序。 3 。6 误差来源探讨 表3 1 是一组实验测试数掘结果 预越门宽 微测参考频率被测频率值标准频l 值 1 0 st h z l4 7 1 8 5 1 5 3 0 1 0 s 1 l i z14 7 1 8 5 4 3 2 0 1 0 s h zl4 7 1 8 5 1 5 4 0 1 s1 2 2 h z1 2 34 9 9 7 0 3 9 0 1 sl 蔓【z l z 3 4 9 9 7 0 3 8 5 ls】2 2 h z 1 2 3 4 9 9 7 0 3 8 7 0 1 s 9 7 81 7 z9 9 05 0 1 7 5 1 9 o 1 s9 7 8 h z9 9 05 0 l7 5 1 8 01 s9 7 8 h z9 9 05 0 1 7 5 1 9 01s 1 2 5 k 1 】z1 2 5 2 5 0 5 0 0 9 5 1 8 0 1s1 2 5 k i7 z1 2 5 2 5 05 0 0 9 5 1 9 o 1 s1 2 5 k i z1 2 5 2 5 05 0 0 9 5 1 9 o i s2 5 6 k i z2 5 0 5 0 05 0 0 9 7 2 0 0 s2 5 6 k 1 j z2 5 0 5 0 05 0 0 9 7 1 9 0 1 s 2 5 6 k i t z2 5 0 5 0 0 5 0 0 9 7 1 9 表3 。- 1 实验测试数据 t a b l e 3 一1 e x d e r l l l e l t l tt e s t i n gd a t a 1 7 本频率计样机的制作和调试已全部完成,各种测试指标达到预期目标。由于没有比理论 误差更高精度的频率源,所以只能作误差来源可能性的探讨,无法准确的测出其相对误差。 现将误差来源作如下分析: 按照等精度测频原理的理论2 析,其测频相对误差应为16l = af x e f x e 1 n s ,即 使在门宽时间为0 1 s 时,其泪对误差也在百万分之以上,而现有条件无法提供精度在千万 分之一一以上的被测频率。但在实际测频过程中,被测频率每次的测试;j 果都稳定不变,标准 频率计数值只有在个位出现误差,这和理论计算的结果是相吻合的,证明该频率计已达到预 计设计要求。预计误差来源有以下几私可能: ( 1 ) 被测频率的不稳定性( 如信号发生器征产生1 k h z 的频率时总是在i k h z 和9 :) 9 1 f z 上 跳动) 。 ( 2 ) 单片机在产生门宽信号时其上升沿和下降沿的建立时间过长,每次产生的门宽信号 不一样,造成计数结果的误差。 ( 3 ) 由于该频率及采用8 位1e d 显示,最高显示精度为百万分之,其舍去位数仍有套 效数字,所以会造t 茂低于测曼精,均显示误差。 结束语 多功能等精度数字频率计的设计已接近尾声,在整个设计过程中所出现的一系歹| j 问题 使我受
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025杭州市临安区城市发展投资集团有限公司下属路桥公司公开招聘工作人员4人笔试参考题库附答案解析
- 2025福建福州工会招聘工会社会工作者35人笔试模拟试题及答案解析
- 贵州省遵义市航天高中2026届化学高二上期末质量检测模拟试题含答案
- 2026届甘肃省武威市化学高二第一学期期末统考模拟试题含答案
- 2026届湖南省衡阳市衡阳县六中高一化学第一学期期中达标测试试题含解析
- 2026届江苏省徐州市铜山区化学高一第一学期期末考试模拟试题含解析
- 2026届四川省广元市苍溪中学化学高二第一学期期末学业水平测试试题含答案
- 2026届云南省石林县民中高二化学第一学期期中复习检测模拟试题含解析
- 跨界融合运营机制-洞察及研究
- 虚拟摄影技术趋势-洞察及研究
- GB/T 7588.2-2020电梯制造与安装安全规范第2部分:电梯部件的设计原则、计算和检验
- GB/T 13560-2017烧结钕铁硼永磁材料
- 三视图及尺寸标注课件
- 混凝土配合比验证检验委托书模板
- 住房公积金投诉申请书
- 众辰变频器说明书3400
- 小学教师量化考核表
- 计算机操作系统(第四版)-汤小丹-课后习题答案
- 《财务管理》课程教学实施方案
- 露天采矿设计技术规定
- 检验科生物安全风险评估报告
评论
0/150
提交评论