数字频率计的设计
发布时间:2024-08-30
发布时间:2024-08-30
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
数字频率计设计
【摘要】本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,所以测量范围不是很大。
【关键词】频率计、处理电路、单片机、译码器、显示电路
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
1概述
目录
1.1 课题研究背景..........................................................................................................................1 1.2 课题研究意义......................................................................................................................... 1 2 芯片介绍
2.1 74HC164 .............................................................................................................................. .1 2.2 74HC145 .................................................................................................................. .............2 2.3 AT89C52 ....................................................................... ........................................................3 2.4 74LS14...................................................................................................................................4 2.5 74LS160.................................................................................................................................5 3 系统基本原理
3.1 处理方法 ........................................................................................................................... 6 3.2 数据显示部分......................................................................................................................7 3.3 单片机部分 ....................................................................................................................... 7 4 软件实现...................................................................................................................................8 4.1 实现一秒定时......................................................................................................................8 4.2 计数部分.............................................................................................................................8 5 测量结果与误差分析..............................................................................................................8 5.1 测量结果 ........................................................................................................................... 8 5.3 误差来源 ............................................................................................................................8 6总结...........................................................................................................................................9 参考文献
附录............................................................................................................................................13
1 数字滤波器原理图..........................................................................................................13 2 数字滤波器PCB图.........................................................................................................14 3 单片机源程序...................................................................................................................15
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
1概述
1.1课题研究背景
数字频率计是一种基本的测量仪器,到目前为止已有30多年的发展史。早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量数字频率计的技术水平,决定数字频率计价格高低的主要依据。目前这些基本技术日臻完善,成熟。 随着科学技术的发展,用户对数字频率计也提出了新的要求。
1.2课题研究意义
本设计的主要内容为数字频率计的单片机实现,主要涉及信号的预处理、计算、译码及量程的自动转换等功能模块的软硬件实现。通过该项设计,可以将模拟电路及数字电路的理论知识运用于实际设计中,并熟练编程控制单片机的能力,同时提高分析问题和解决问题的能力。
2 芯片介绍
2.1 74HC164
74HC164 是 8 位串入并出移位寄存器,引脚排列图和逻辑功能示意图如下图2-3、2-4 所示:
图(2-1)引脚图 图(2-2)逻辑功能示意图
DS Da Db是数码串行输入端是数码,/CR是清零端,Q0~Q7 是数据输出端CP是时钟脉冲。
—移位操作信号。其逻辑功能表如下:
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
(表2.1)逻辑功能表
表2.1 所示是 74HC164状态表,由表可知,74HC164 具有下列功能: (1)清零功能
当 /CR(/ Re set ) = 0 时,移位寄存器异步清零。 (2)保持功能
当 /CR(/ Re set ) =1 、CP(Clock)不处于上升沿时,移位寄存器保持状态不变,
Qi
n 1
Qi(i 0 7)
n
(3)送数功能
当 /CR(/ Re set ) =1 时,CP(Clock)上升沿将加在 Ds = Da * Db 端的二进制数码依次送入移位
n 1
寄存器中。状态方程为DS Da Db;Q0 DS
Q1
n 1n 1n 1n 1n 1n 1n 1
Q0 Q1
nnnnnnn
Q2Q3
Q2 Q3
Q4
Q5 Q4 Q5
Q6Q7
Q6
2.1 74HC145
74HC145 是一个 BCD—十进制译码器/驱动器(OC),用于驱动发光二极管、继电
器或 MOS 电路; 能吸收 80mA 电流,LS145 典型功耗为 35mW;耐压 15V,引脚图(图 2-3)和逻辑功能表如下:
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
(图2-3)74HC145引脚图
(表2-2)逻辑功能表
2.3 AT890C52
AT89C52片内含8kbytes的可反复擦写的只读程序存储器(PEROM和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容, 片内置通用8位中央处理器(CPU)和Flash存储单元, 功能强大AT89C52单片机适合于许多较为复杂控制应用场合。 主要性能参数:
·与MCS-51产品指令和引脚完全兼容 ·8k字节可重擦写Flash闪速存储器 ·1000次擦写周期
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
·全静态操作:0Hz-24MHz ·三级加密程序存储器 ·256×8字节内部RAM ·32个可编程I/O口线 ·3个16位定时/计数器 ·8个中断源
·可编程串行UART通道 ·低功耗空闲和掉电模式
(图2-4) AT89C52引脚图
2.4 74LS14
7414 为有施密特触发器的六反相器,共有54/7414、54/74LS14 两种线路结构型
式,其主要电特性的典型值如下表:
(表2-3)74LS14的电特性
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
(表2-4)74LS14功能表
(图2-5) 74LS14逻辑图
2.5 74LS160
160为可预置的十进制同步计数器,共有54/74160和54/74LS160 两种线路结构型 式。
160清除端是异步的。当清除端/MR为低电平时,不管时钟端CP 状态如何,即可完成清除功能。 160 的预置是同步的。当置入控制器/PE 为低电平时,在 CP 上升沿作用下,输出端 Q0-Q3 与数据输入端 P0-P3 一致。对于54/74160,当 CP 由低至高跳变或跳变前,如果计数控制端 CEP、CET为高电平,则/PE 应避免由低至高电平的跳变,而 54/74LS160 无此种限制。160 的计数是同步的,靠CP同时加在四个触发器上而实现的当 CEP、CET均为高电平时,在 CP 上升沿作用下 Q0-Q3 同时变化,从而消除了异步计数器中出现的计数尖峰。对于 54/74160,只有当CP为高电平时, CEP、 CET才允许由高至低电平的跳变, 而54/74LS160的 CEP、CET 跳变与 CP 无关。 160 有超前进位功能。
当计数溢出时,进位输出端(TC)输出一个高电平脉冲,其宽度为Q0 的高电平部分。
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
(图2-6)74LS160的管脚图
3系统基本原理 3.1 处理部分
频率计信号予处理电路如图3-1 所示 ,它由四级电路构成。第一级为零偏置放大器 ,当输入信号为零或者为负电压时 ,三极管截止 ,输出高电平;当输入信号为正电压时 ,三极管导通 ,输出电压随着输入电压的上升而下降。零偏置放大器把如正弦波样的正负交替波形变换成单向脉冲 ,这使得频率计既可以测量任意方波信号的频率 ,也可以测量正弦波信号的频率。放大器的放大能力实现了对小信号的测量 ,本电路可以测量幅度 ≥ 0. 5V 的正弦波或脉冲波待测信号。三极管应采用开关三极管以保证放大器具有良好的高频响应。第二级采用带施密特触发器的反相器 7414 ,它用于把放大器生成的单向脉冲变换成与 TTL/ CMOS电平相兼容的方波。第三级采用十进制同步计数器 74160 ,第二级输出的方波加到 74160 的 CL K,当从 74160的TC输出可实现10分频(多个 74160 的级连可以进一步扩展测频范围) 。第四级同样采用十进制同步计数器 74160 ,第三级输出的方波加到它的 CL K,从它的Q0 输出即可实现 2 分频 ,且其输出为对称方波 ,方波宽度等于待测信号的周期 ,从而为测量信号周期提供基础。
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
(图3-1)信号处理部分电路图
3.2数据显示部分
从 89C52 的RXD(P1. 0) 输出数据 ,送至串入并出移位寄存器74164的数据输入口A 和
B 由 74LS164 转换为并行数;从 TXD( P1. 1)输出时钟 ,送至74164 的时钟输入口CP。74164 将串行数据转换成并行数据,进行锁存。74164 输出的8位并行数据送至 8 段 L ED ,实现测量数据的显示。(原理图如附录1)
LED采用动态显示方式。显示时将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。译码器74LS145(用HD74LS48P代替)是位选部分,移位寄存器74LS164是段选部分。由于各位的段选线并联,段选码的输出对各位来说都是相同的。同一时刻,如果各位选线都处于选通状态的话,六位的LED将显示相同的字符。要各位LDE能够显示出与本位相应的显示字符,就须采用扫描显示方式。即在同一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字型码,这样同一时刻,六位LED中只有选通的那一位显示出字符,而其他五位则是熄灭的。而在下一刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段选线上输出相应位将要显示字符的字符码。
这样循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于人眼有视觉残留现象,只要每位显示间隔足够短,则可造成多位同时亮的效果。
3.2单片机部分
P1.0口与寄存器74LS164的A,B端口连接,串行输出待显示的数据。
P1.1口接移位寄存器74LS164的CLK(第8引脚),输出时钟信号。
P1.5,P1.6,P1.7口分别与译码器74LS45(用HD74LS48P代替)的A,B,C端口连接,输出位控制信号。
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
P3.5口(即T1)输入脉冲信号。
XTAL1与XTAL2管脚接两个30 pF电容和12 MHz晶振构成时钟电路。
RST管脚接1 kΩ,10 kΩ电阻,20 μF电容及复位开关构成开关复位电路。(总的原理图见附录1)
4 软件实现 4.1 实现一秒定时
采用6 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。
4.2 计数部分
将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。定时器/计数器0采用工作方式1,C/T设为0,即设TO为16位定时器。
定时器/计数器T1设定为计数方式时,其计数脉冲是通过T1端口输入的(其脉冲信号是被测信号经过整形得到的)。当T1端口上出现由“1”(高电平)到“0”(低电平)的负跳变脉冲时,计数器则加1计数。计算机是在每个机器周期的S5P2状态时采样T1端口,当前一个机器周期采样为1且后一个机器周期采样为0时,计数器加1计数。计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的1/24。在采用6MHz晶振的情况下,单片机最大计数速度为0.25 MHz即250KHZ。
另外,此处对外部事件计数脉冲的占空比(即脉冲的持续宽度)无特殊要求,但必须保证所给出的高电平在其改变之前至少被采样1次,即至少保持1个完整的机器周期。由此可见,从T1口输入脉冲信号,T1可实现对脉冲个数的计数。
5 测量结果与误差分析
5.1 测量结果
给电路加+5 V电压,输入信号,按动开关,即可得到频率值。
5.2 误差来源分析
(1)单片机计数速率的限制引起误差。我们知道被测信号频率越高,测量误差越大,且
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
为500 kHz,所以当被测信号越接近500 kHz时,测量结果与实际频率的误差就越大。而当被测信号大于500 kHz时,频率计将测不出信号频率。
(2)原理上存在±1误差。由于该设计是在计数门限时间一秒内的频率信号脉冲数,所以定时开始时的第一个脉冲和定时时间到时的最后一个脉冲信号是否被记录,存在随机性。这种误差对测量频率低的信号影响较大。
6 总结
经过这次课程设计,加深了对单片机这门学科的理解,将所学单片机的相关知识应用实
践。对电子这一专业有了更深的了解,使所学的知识进一步系统化。对数字频率计的工作原理有了一定的了解,设计期间用到了数码管和一些芯片,从而对所学数电知识进行了复习,从而对其理解进一步加深。期间翻阅了许多资料,借鉴了别人的许多优点。因为查阅资料的能力进一步加强。数字频率计的设计过程使得自己的分析问题和解决问题能力得到了提高, 动手能力得到了一定的锻炼。
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
参考文献
[1] 王新贤.通用集成电路速查手册 第二版[M].山东:科学技术出版社,2003,151-166. [2] 刘国荣.单片微型计算机原理[M].北京:机械工业出版社,2003,250-280.
[3] 孙育才.MCS-51系列单片微型计算机及其应用 第四版[M].南京:东南大学出版社,2007,194-204.
[4] 康华光,陈大钦,张林.电子技术基础 模拟部分 第五版[M].北京:高等教育出版社,2006,262-280.
[5] 康华光,周涛彬.电子技术基础 数字部分 第四版[M].北京:高等教育出版社,2003,160-199. [6] 单片微型机原理、应用与实验(第五版)张友德 赵志英 涂时亮。复旦大学出版社 [7] 英特网
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
附录1 数字频率计的原理图
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
附录2 PCB图
顶部
底部
(PCB图不含信号处理部分)
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
附录3 单片机源程序
ORG 0000H
AJMP MAIN ;跳转到主程序执行 ORG 000BH ;定时计数器 0 中断入口地址 LJMP TIME0 ;调用定时计数器 0 中断子程序 ORG 001BH ;定时计数器 1 中断入口地址 LJMP TIME1 ;调用定时计数器 1 中断子程序 DA3 EQU P1.5;显示位选择控制端 DA2 EQU P1.6; DA1 EQU P1.7; CLK EQU P1.1;
DAT EQU P1.0
DSPLA_ADD1 EQU 30H ;显示数据最高位 DSPLA_ADD2 EQU 31H DSPLA_ADD3 EQU 32H DSPLA_ADD4 EQU 33H DSPLA_ADD5 EQU 34H DSPLA_ADD6 EQU 35H
DSPLA_ADD7 EQU 36H
TX_TIME EQU 50H ;定时中断次数寄存器
MOS_BZ EQU 51H ;计数通道标志寄存器
BZ2 EQU 52H ;计数值大于 800K标志寄存器 LDBZ BIT 10H ;频率小于 1Hz 标志位
LD1HZ EQU 7BH ;定时10s寄存器,用于测量 0-1Hz JSQ3 EQU 53H ;计数器寄存器低字节(TL0、TL1) JSQ2 EQU 54H ;计数器寄存器高字节(TH0、TH1 JSQ1 EQU 55H ;计数器溢出次数寄存器 BCD1 EQU 60H ;压缩 BCD码寄存区 BCD2 EQU 61H BCD3 EQU 62H BCD4 EQU 63H CX EQU 64H HUANC1 EQU 65H HUANC2 EQU 66H HUANC3 EQU 67H
HUANC4 EQU 68H
MAIN: LCALL SETUP ;调用初始化程序 MAIN1: LCALL DSPLA ;调用显示子程序 LJMP MAIN1 ;循环调用显示子程序 DSPLA:NOP ;显示子程序
DSPLATEMP: MOV R7,#7 ;R7 为每轮扫描还需显示数据位数 MOV R0,#DSPLA_ADD1 ;取显示缓冲区首地址 MOV DPTR,#TAB ;显示码表格指针
本设计是以单片机AT89C52为核心的数字频率计,主要包括了处理电路、单片机、数字译码和显示单元这四个部分。测量时,被测的信号经过处理电路形成较规范的脉冲,然后再送入单片机。通过程序控制定时一秒,计数器经过一秒的计数后的结果即为被测波形的频率,再经过译码器74- LS145与移位寄存器74LS164,驱动LED数码管显示,显示的数值即为被测波形的频率。由于单片机定时存在一定的误差,所以测的结果精度不是高。且只有6个数码管,
DSP1: MOV A,@R0 ;取显示缓冲区数值
MOVC A,@A+DPTR ;查表取显示缓冲区数值对应的显示码 DENG: CLR CLK ;将每位显示值串行打入 74HC164。 CLR C RLC A MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C;
SETB CLK NOP
CLR CLK RLC A
MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C; SETB CLK NOP
CLR CLK RLC A MOV DAT,C; SETB CLK NOP
CLR CLK
上一篇:数据库系统概论_离线作业第1次
下一篇:出差安全-注意事项