原创 基于单片机高性价比频率计的设计与实现

2009-8-15 00:37 1662 5 5 分类: MCU/ 嵌入式

发布: 2009-4-05 00:12 |  作者: 冯雷星 杨伟 芦艳龙 |   来源: 微计算机信息 |  查看: 15次


摘要:该系统以8051单片机为核心,应用单片机的运算和控制功能并采用LED显示器实时地将所测频率显示出来,既满足测量的精度要求, 又具有很好的性能价格比。
!R#B(W a~4y;k,n0关键词:单片机  同步  频率测量
s%?;v(g/FS0

U ajz/U01 系统测量原理电子园51单片机学习网/w)f8Kc;glt g,q

电子园51单片机学习网7Q9H@.P HAs/p+j

测量方法采用多周期同步测量法,保证了测量精度。

D F^xB:{'j8A#e N0

3J2r j Zp#g%z'?0多周期同步测量原理与传统的频率和周期的测量原理不同,时钟信号(f0)经同步电路作用后与被测信号同步。主门 与主门 在时间T 内被同时打开,于是计数器 和计数器 便分别对被测信号和时钟信号的周期数进行累计。在T内,事件计数器的累加数为Na;时间计数器的累加数为Nb。再由单片机运算得出被测频率为(Na/Nb)×f。由于D触发器的同步作用,计数器 所记录的Na值已不存正负1误差的影响。但由于时钟信号与闸门的开和关无确定的相位关系,计数器 所记录的Nb值仍存在正负1误差的影响,由于时钟频率很高,正负1误差影响小,所以测量精度与被测信号频率无关,且在全频段的测量精度是均衡的。

8|7P6}$J SY X0e0 电子园51单片机学习网%C+g"o+c2r4D

6136_200904050013311pqz1.jpg电子园51单片机学习网0W3X+c*F lD3e



图1 系统测量原理框图

?;]ZW,L _ h$x0

[T6E pE1Y;U02 系统硬件设计

3N7q9W0Q5U#_"}5e0 电子园51单片机学习网 T]2Lmu1m#e{

在频率计设计中,硬件电路采用了8051单片机、双四位二进制计数器74LS393、缓存器74LS244、8155带RAM和定时器/计数器的可编程并行接口芯片、16K程序存储器扩展芯片2716、十倍分频器74s196、反向器74ls14、反向驱动器7406、7407等。所采用的芯片技术成熟,性能可靠,性价比较高。电子园51单片机学习网6k7YY5z9i;]v


a:YV0M%Ika6N3N0系统硬件主要由四部分组成:通道部分、计数器部分、单片机控制和接口部分、显示部分。电子园51单片机学习网 q1z.X+@iUH s


.I!N2?G(A ?}6O.?Ys02.1通道部分电子园51单片机学习网lk/F2D%js2}u F

电子园51单片机学习网$z:G h;Q1o,F

本频率计的输入通道由两部分组成,第一部分就是常见的信号预处理电路,包括对被测信号的放大、整形、滤波等等。第一级由开关三极管构成的零偏置放大器,三极管采用开关三极管以保证放大器具有良好的高频响应。第二级是由74LS14施密特触发器构成的电路。施密特触发器一方面起到整形作用,用于把放大器生成的单相脉冲信号转换成与TTl/CMOS兼容的方波信号。另一方面其滞后带宽可以有效抑制信号中的干扰。第三级是由74ls196构成的分频器电路。本机设计测频范围20HZ~100MHZ,当被测频率大于10 MHZ时,需经分频电路分频后再送入计数器电路。第四级是由4N25构成的光电隔离电路,用于把输入的电信号转化为光信号进行传输,从而把测量电路与外界干扰隔开,能有效地保证测量精度。电子园51单片机学习网q Kj:F ^_6h


C2H`!Q/Mu5Bi&q0第二部分是同步门电路,它的作用是保证被测信号和频率基准信号同时进入测量电路。其构成主要包括由与门组成的主门I和主门II,以及由D触发器构成的同步门控制电路,主门I控制被测信号fx的通过,主门II控制时钟信号f的通过。电子园51单片机学习网*p*}\,sCYe(w

电子园51单片机学习网-B&z5w { b{

2.2计数器部分

'Zq:jzZlA*H3{m,C0 电子园51单片机学习网3Fw2\D d IMe FY

计数器包括时间计数器和事件计数器两部分,它们是完全相同的计数电路。分别由前后两级组成,前级电路由高速的TTL计数器74LS393构成八位二进制计数器;后级由单片机内的计数器构成十六位二进制计数器。计数前,先由P1.3发计数器清零信号,计数后通过74LS244 缓冲器将测量结果读入内存。这样设计既充分利用了硬件资源,又大大提高了测量频率范围。

l6R5BLq!l/^0 电子园51单片机学习网#l1?-eF }'cMIT

电子园51单片机学习网zq w H)un8N/A


点击看大图电子园51单片机学习网5J_Hu.WH,H/G


图2 计数器电路图

-j]zr7XC|:qq `0 电子园51单片机学习网:Gs:Q{$T!aaO4{paf

2.3 单片机控制和接口部分

wh)CG/@2UP'G m0

.|h'SxleKE08051单片机的任务是进行整机测量过程的控制、故障的自动检测以及测量结果的处理与显示等。电子园51单片机学习网U&U-sd9d4fl{5Y0T;a


L9QF1S]q5wJ9t0P1口与P2 口被用于施加各种控制信号,其中:P1.0 作为预置闸门时间的控制线;P1.1作为同部门控制电路的复位信号线;P1.2用于查询闸门时间的状态线;P1.3作为计数器复位信号线。

0W ~zK'VHP ]0

9z,us(X [(D Y)gHDlPU0单片机内部有两个16位二进制定时/计数器,用做两个主计数器的一部分,并通过T0,T1分别与外部事件计数器和时间计数器的进位端相接。外部的时间计数器和事件计数器的测量结果分别通过扩展输入口与P0口相连。

:j,Q5EQUu A(Z0 电子园51单片机学习网.J;R*w3A}7[ S1l

8155作为单片机的扩展I/O口,主要用来与显示电路接口, 8155内部的14 位计数器被用来作为本机的闸门时间计数器,定时器的输入信号取自单片机ALE端;定时器的输出与单片机的INT1相连,作为中断信号。电子园51单片机学习网_'YgRs'q6D)W

电子园51单片机学习网v5n%v-k3k}s2R9}

2.4 显示部分电子园51单片机学习网O8dn6Rb&li|9|


Mfne2dS0采用8 位LED数码管进行显示。这是一个较为典型的采用8155并行口组成的显示电路。八位LED显示采用了动态显示软件译码工作方式。LED显示器选用共阴极,段码由8155PA口提供,位选码8155PB口提供。其中7406反向驱动器做作为位选码驱动器,这是因为8155PB口正逻辑输出的位控与共阴极LED要求的低电平点亮正好相反,即当PB口位控线输出高电平时,点亮一位LED。7407是同相驱动器,作段选码驱动器。

O9g1o[$] bL0 电子园51单片机学习网6x^)F$N? wn

3 系统软件设计

h(x(gXb^/rI G%u-b0 电子园51单片机学习网5D c3\a0rL_P;a

软件采用汇编语言编写,应用模块化设计方法,主要包括中断监控服务程序,数值比较子程序,数据处理子程序,十进制转换子程序,LED显示子程序。主流程图如下:

f5H5`PdE0

6136_200904050013313ouBu.jpg

~ UPF:WA0

图3 程序主流程图电子园51单片机学习网1_y s_L:N l:? r2q

电子园51单片机学习网/G(A:N ^F N

程序编写较难的部分是数据处理部分,它涉及到多字节的乘除法。因为乘数和被乘数各为三字节,因此需要进行九次乘法运算,得到九个部分积。我们知道MUL AB 指令,把累加器A和寄存器B中的两个无符号8位数相乘,所得的16位乘积结果,低位字节放在A中,高位字节放在B中。假定部分积的高字节以“H ”为标志,部分积的低字节以“L”为标志,还要对相加产生的进位进行处理。 

:{[f*L3bS0

AXX"bln3RSu0下图为乘法的具体实现过程的示意图:

$U KS3m3Tz H:c0

i|8rp4Q ao4HQ0

6136_2009040500133142FPf.jpg

0k+_i7zFxt+nK0

图4 乘法运算示意图

}"B.}9?-dl6O0 电子园51单片机学习网Bbp&A_!c G.`!b

乘法运算程序的关键段如下:

N+S9U%Qjh q)kAQ0

"@-H%j%wy z;ec5L;i8{p0   MOV A,R6

g K[ u"[VPL0

D$D|&f U Vs cGfR0   MOV B,R3  

]e@1R ^#R0

Ce{"N?|Q0   MUL AB             ;得第一次部分积

n3zev4BE1bu?0 电子园51单片机学习网`gG| Zk{"V6v

   MOV O8H,A         ;得乘积的第六字节

5Jv vdr)J0

g$u\B4fjA9u0   MOV 09H,B         ;R3R6H

N5M6[8nq.cs2}0

S:g{7O_b0   MOV A,R6电子园51单片机学习网1Nl1T w u

电子园51单片机学习网j E-ynZ8^;O0No

   MOV B,R2   

1y$d5D#]'Z4V0

F\Jlh&A0   MUL AB             ;得第二次部分积

K c\"npY0

F {6q,X&I%Ck$[W0   ADD A,O9H          ;R3R6H+R2R6L电子园51单片机学习网Awo!I/d9DL"h9C

电子园51单片机学习网 mS4X-Q/t.D A

   MOV 0BH,A

f t0x:\I#KD*l-i0

] rb S4J3_q0   CLR A

1KUR'{v;B7n2u0 电子园51单片机学习网:z?*E:u8A-S6rn

   ADDC A,B          ;R2R6H+C电子园51单片机学习网'pndo:U!d}*Ft


)@U4Y'Ji7k0   MOV OAH,A

&s)K-k5MmkM:z0 电子园51单片机学习网v L5_ _;B*g%l

   MOV A,R6

*u? x |0@[#w0 电子园51单片机学习网"Fuh_A9ttSx

   MOV B,R1

?J;d'g+G`0 电子园51单片机学习网1a;B%X)U8H

   MUL AB             ;得第三次部分积电子园51单片机学习网&QO ZX$a*q8A7FY

电子园51单片机学习网T)Z.l FQ Uv(M

   ADD A,0AH         ;R2R6H+R1R6L电子园51单片机学习网 m|%?1D*L Mb


1o-v-O:X-E o i0   MOV OCH,A电子园51单片机学习网5Fr x4Au a5U

电子园51单片机学习网1S8~*bP+pn8T vs

   CLR A

t~8|4nn.v"Z0 电子园51单片机学习网_;h(o}l#f'N ql

   ADDC A,B          ;R1R6H+C电子园51单片机学习网,RE&|9Sy

电子园51单片机学习网s[6}eq

4 结束语

9v.IR!H,fq6K#s0m0 电子园51单片机学习网w5a`!E#qDs1J{

该系统结构简单,与传统的电路相比,该系统处理速度快、稳定性高,采用多周期同步测量法实现全频段的频率精确测量,具有较高的性价比。电子园51单片机学习网9rG4i ?ED


+Rq Ta2x$r0本文的创新观点是计数器和定时器分别由前后两级组成,前级电路由高速的TTL计数器74LS393构成八位二进制计数器;后级由单片机内的计数器构成十六位二进制计数器,大大提高了频率计的测量范围。

6z.G'Zs6D~_:z4w!H0 电子园51单片机学习网\-t6\z%t

参考文献

E-g2w z7{ ^#tx:d E0

6]/S8ls#[q]B]0[1]李光第,朱月秀等 . 单片机基础[M] . 北京航空航天大学出版社,2004

!u{'zhk Z0

6`(u5jp7I0vZ"w:jk0[2]李朝青. 单片机原理及接口技术设计[M] . 北京航空航天大学出版社,2003

(M'q'TX B1Ql2?0

~p.g;_f1w;C0[3]赵茂泰. 智能仪器原理及应用[M] . 电子工业出版社,2004电子园51单片机学习网 bMh%Jf;Z


JU4O9^ZF0[4]赫建国,刘建新等 . 基于单片机的频率计设计[J] 西安邮电学院学报,2003电子园51单片机学习网 sEP"{o"V W;m%a8w


5fj}J D0[5]曹柏荣,林士玮 . 基于单片机的康复仪研究[J] 微计算机信息, 2006,2-1:21-23。

em"uT&CT RY4g0
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条