基于at89s52单片机的简易频率计设计内容摘要:
P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 在访问外部程序存储器或用 16 位地址读取外部数据存储器时, P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8 位地址访问外部数据存储器时, P2 口输出 P2 锁存器的内容。 在 flash 编程和校验时, P2口也接收高 8位地址字节和一些控制信号。 P3 口: P3 口是一个具有内部上拉电阻的 8位双向 I/O 口, P2输出缓冲器能驱动 4 个 TTL逻辑电平。 对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 P3 口亦作为 AT89C51 8 特殊功能(第二功能)使用, P3 口功能 如 表 2所示。 在 flash 编程和校验时, P3 口也接收一些控制信号。 表 2 P3 口的第二种功能说明表 引脚号 第二功能 RXD(串行输入) TXD (串行 输出 ) INT0 (外部中断 0) (外部中断 1) T0(定时器 0外部输入 ) T1(定时器 1外部输入 ) WR (外部数据存储器写选通 ) RD (外部数据存储器写选通 ) RST:复位输入。 晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 单片机引脚分配 根据系统设计及各模块的分析得出,单片机的引脚分配如表 3 所示。 表 3 单片机 端口 分配表 模 块 端口 功能 显示模块 、 数码管频率值显示 LED 单位显示 9 分频模块 通道选择 清零 电源模块 直流稳压电源的基本原理 直流稳压电源一般 由 电源变压器 T、整流 、 滤波及稳压电路所组成 [8],基本框图如图 7所示。 图 7 直流稳压电源框图及波形 (1)电源变压器 T的作用是将 220V的交流电压变换成整流滤波电路所需要的交流电压 Ui。 变压器副边与原边的功率比为 P2/P1=n,式中 n是变压器的效率。 (2)整流电路:整流电路将交流电压 Ui变换成脉动的直流电压。 再经滤波电路滤除较大的波纹成分,输出波纹较小的直流电压 U1。 常用的整流滤 波电路有全波整流滤波、桥式整流滤波等。 图 8 整流电路 ( 3)滤波电路:各滤波电路 C满足 RLC=( 3~5) T/2,式中 T为输入交流信号周期, RL为整流滤波电路的等效负载电阻。 10 图 9 滤波电路 (4)稳压电路 :常用的稳压电路有两种形式:一是稳压管稳压电路,二是串联型稳压电路。 二者的工作原理有所不同。 稳压管稳压电路其工作原理是利用稳压管两端的电压稍有变化,会引起其电流有较大变化这一特点,通过调节与稳压管串联的限流电阻上的压降来达到稳定输出电压的目的。 它一般适用于负载电流变化较小的场合。 串联型稳 压电路是利用电压串联负反馈的原理来调节输出电压的。 集成稳压电源事实上是串联稳压电源的集成化。 电源电路 设计 根据上述介绍设计 ,电源电路包括变压器、整流电路、滤波电路、稳压电路等模块组成,使用 LED 进行电源工作状态指示。 LM78XX 系列三端稳压 IC来组成稳压电源所需的外围元件极少 [9],电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜 ,因此 使用 LM7805 稳压芯片进行 5V 的电源电路设计。 具体的 5V电源 电路 如下图10 所示。 T1TransD1Bridge2200uFC2100uFC4C3C5D2S1SWSPST220R1IN12OUT3GNDU2 LM7805~220V5V 图 10 5V 直流电源电路 11 放大 整形 模块 由于输入的信号可以是正弦波,三角波。 而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。 在整形之前由于不清楚被测信号的强弱的情况。 所以在通过整形之前通过放大衰减处理。 当输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。 当输入信号电压幅度较小时,前级输入衰减为零时若不能驱动后面的整形电路,则调节输入放大的增益,时被测信号得以放大 [10]。 根据上述分析, 放大电路 放大整形电路采用高频 晶体管 3DG100 与 74LS00 等组成。 其 中3DG100 为 NPN 型高频小功率三极管, 组成放大器将输入频率为 fx 的周期信号如正弦波、三角波 及方波 等 波形 进行放大。 与非门 74LS00 构成施密特触发器,它对放大器的输出 波形 信号进行整形,使之成为矩形脉冲 [11]。 具体放大整形电路如图 11 所示。 5VQ103DG1001KR2410R2247KR2010KR1939KR23111213U7D74LS00123U15A74LS00564U15B74LS0047uFC17100uFC1847KR21D6F1Vx 图 11 放大整形电路 分频设计模块 分频电路用于扩展单片机频率测量范围,并实现单片机频率和周期测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。 可用 74161 进行分频。 分频电路分析 本频率计的设计以 AT89S51 单片机 为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。 单片机 AT89S51 内部具有 2个 16 位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。 在定时器工作方式下,在被 12 测时间间隔内,每来一个机器周期,计数器自动加 1(使用 12 MHz 时钟时,每 1μs 加 1),这样以机器周期为基准可以用来测量时间间隔。 在计数器工作方式下,加至外部引脚的待测信号发生从 1 到 0 的跳变时计数器加 1,这样在计数闸门的控制下可以用来测量待测信号的频率。 外部输入在每个机器周期被采样一次,这样检测一 次从 1到 0的跳变至少需要 2个机器周期( 24 个振荡周期),所以最大计数速率为时钟频率的 1/ 24(使用 12 MHz 时钟时,最大计数速率为 500 kHz) ,因此采用 74LS161 进行外部十分频使测频范围达到 2MHz。 为了测量提高精度,当被测信号频率值较低时,直接使用单片机计数器计数测得频率值;当 被测信号频率值较高时采用外部 十 分频后 再计数测得频率值。 这两种情况使用 74LS151 进行通道选择,由单片机先简单测得被测信号是高频信号还是低频信号,然后根据信号频率值的高低进行通道的相应导通,继而测得相应频率值。 74LS161 芯片介绍 74LS161 是常用的四位二进制可预置的同步加法计数器 [12], 可以灵活的运用在各种数字电路,以及单片机系统种实现分频器等很多重要的功能。 74LS161 引脚如图 12 所示。 图 12 74LS161 引脚图 时钟 CP和四个数据输入端 P0~P3, 清零 /MR, 使能 CEP, CET, 置数 PE, 数据输出端 Q0~Q3,以及进位输出 TC (TC=Q0Q1Q2Q3CET)。 表 4 为 74161 的功能表。 表 4 74161 的功能表 清零 RD 预置 LD 使能 EP ET 时钟 CP 预置数据输入 A B C D 输出 Q0 Q1 Q2 Q3 L L L L L H L 上升沿 A B C D A B C D H H L 保 持 H H L 保 持 13 H H H H 上升沿 计 数 其中 RD 是异步清零端, LD 是预置数控制端, A、 B、 C、 D 是预置数据输入端, EP和 ET 是计数使能端, RCO(=)是进位输出端,它的设置为多片集成计数器的级联提供了方便。 计数过程中,首先加入一清零信号 RD= 0,使各触发器的状态为 0,即计数器清零。 RD 变为 1 后,加入一置数信号 LD= 0,即信号需要维持到下一个时钟脉冲的正跳变 到来后。 在这个置数信号和时钟脉冲上升的共同作用下,各触发器的输出状态与预置的输入数据相同,这就是预置操作。 接着 EP=ET=1,在此期间 74161一直处于计数状态。 一直到 EP=0, ET= 1,计数器计数状态结束。 从 74LS161 功能表功能表中可以知道,当清零端 CR=“0” ,计数器输出 Q Q Q Q0立即为全 “0” ,这个时候为异步复位功能。 当 CR=“1” 且 LD=“0” 时,在 CP 信号上升沿作用后, 74LS161 输出端 Q Q Q Q0 的状态分别与并行数据输入端 D3, D2, D1, D0 的状态一样,为同步置数 功能。 而只有当 CR=LD=EP=ET=“1” 、 CP 脉冲上升沿作用后,计数器加1。 74LS161 还有一个进位输出端 CO,其逻辑关系是 CO= Q0Q1Q2Q3CET。 合理应用计数器的清零功能和置数功能,一片 74LS161 可以组成 16 进制以下的任意进制分频器。 74LS151 芯片介绍 数据选择端( ABC)按二进制译码,以从 8 个数据( D0D7)中选取 1 个所需的数据。 只有在选通端 STROBE 为低电平时才可选择数据。 74LS151 有互补输出端( Y、 W), Y 输出原码,W输出反码 [13]。 74LS151引脚如图 13 所示。 图 13 74151 管脚图 74LS151 的功能如下表 所示。 其中 A、 B、 C 为 选择输入端 , D0D7 为 数据输入端 , 14 STROBE 为 选通输 入 端(低电平有效 ), W为 反码数据输出端 , Y为 数据输出端。 表 5 74151 功能表 分频电路 根据以上分析,采用 74LS161 和 74LS151 设计分频电路如图 14 所示。 A3B4C5D6ENP7ENT10CLK2LOAD9MR1GND8VCC16RCO15Q311Q212Q113Q014U1674161X04X13X22X31X415X514X613X712A11B10C9E7GND8VCC16Y5Y6U1474151I111I122O13I214I225O26GND7O38I319I3210O411I4112I4213VCC14U1374005VCLEAR5VP355V5VCLEARADDR0ADDR1ADDR2F1 图 15 分频电路原理图 显示 模块 显示模块由频率值显示电路和量程转换指示电路组成。 频率值显示电路 采用四位共阳极数码管动态显示频率计被测数值,使用三极管 8550 进行驱动,使数码管亮度变亮,便于观察 15 测量。 量程转换指示电路由红、黄、绿三个 LED 分别指示 Hz、 KHz 及 MHz 档,使读数简单可观。 数码管介绍 常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管 , 根据其结 构的不同,可分为共阳极数码管和共阴极数码管两种。 根据管脚资料,可以判断使用的是何 种接口类型 [14].两种数码管内部原理如图 16 所示。 图 16 两种数码管内部原理图 LED 数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。 在一定范围内,其正向电流与发光亮度成正比。 由于常规的数码管起辉电流只有 1~ 2 mA,最大极限电流也只有 10~ 30 mA,所以它的输入端在 5 V 电源或高于 TTL 高电平( V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。 频率值 显示电路 数码管电路设计不加三极管驱动时,数码管显示数值看不清,不便于频率值的测量与调试。 因此加入三极管 8550 进行驱动数码管。 使用 4 位数码管进行频率值显。基于at89s52单片机的简易频率计设计
相关推荐
为了粗略地得到被测量的电压范围我们采用多组比较器的方式,通过阶梯式比较的方法确定输入电压的范围。 其具体电路如下图( )所示。 图 电压范围粗测电路 继电器 8开关状态常态时为正,当输入电压 Ui为负时继电器 8在单片机的控制下工作,进行反向放大成正电压后通过比较器检测,输出数据送给单片机 P1口。 则根据其设计原理:输入电压的范围与 P1口对应的数据如下表所示。 电压范围
而保证通信数据的正确性。 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 2 字节。 单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 ℃/ LSB 形式表示。 当符号位 S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1 时
13 西华大学课程设计说明书 4 特殊器件介绍 CPLD 器件介绍 CPLD 是 Complex Programmable Logic Device 的缩写, CPLD 是在 PLA、 GAL 的基础上发展起来的阵列型的 PLD 器件 ,CPLD 芯片中包含多个电路块,称为宏功能块,或称为宏单元,每个宏单元由类似 PAL 的电路块构成,如图 41,图 41 所示的 CPLD 器件包括含了 6
5输出端要并联上一个电解电容,滤除交流电干扰 ,防止损坏单片机系统。 本设计采用 两种供电方式, 一种为 DC7~18V直流稳压电源变换成 5V的直流电;另一种为 四节干电池 共 6V经二极管加压后得到将近5V的直流电源 , 电源 配以开关和指示灯,以方便使用。 黄色发光二极管表示保温,红色的表示加热状态。 9 9 V C CD2I N 4 00 71122J22PGND2+ V C C 12
T89S52单片机的遥控器设计 11 时钟电路 单片机的时钟电路由振荡电路和分频电路组成, 其振荡电路由反相器以及幵联外接的石英晶体和电容组成,用亍产生振荡脉冲。 分频电路用亍把振荡脉冲分频,以的到所需要的时钟信号。 振荡电路如图 33 所示 : 图 33 振荡电路 寄存器 名称 复 位 状 态 寄存器 名称 复 位 状 态 PC 0000H TCON 00H A 00H T2CON 00H B
+℃,完全能够满足精度要求。 这里我们采用 ADC0809 作为 A/D 转换器。 电路设计好后,调整变送器的输出,使 0℃~500℃ 的温度变化对应于 0~ V 的输出,则 A/D 转换对应的数字量为 00H~ FAH,即 0~ 250,则转换结果乘以 2 正好是温度值。 用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。 ADC0809