ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:96.20KB ,
资源ID:3737176      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3737176.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字频率计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字频率计.docx

1、数字频率计单片机课程设计题 目:数字频率计班 级: 自控082班 姓 名: 王君俊 学 号: 200808740 指导教师: 张雁鹏 设计时间: 2010.1.13 目 录1. 中文摘要-(2)2引言-(2)3. 设计原理及方案-(2)4. 硬件设计-(5)5软件设计-(5)6总结-(8)7参考文献-(8)8. 附录-(9)数字频率计一、中文摘要本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。测量范围从1Hz10kHz的正弦波、方波、三角波、锯齿波。以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。具体为先将输入信号通过放大整形电路整形为矩

2、形波,然后送入单片机,在1s内对矩形波的周期变化次数进行统计。所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数,故所统计到的次数即为被测信号的频率。最后直接用十进制数字显示被测信号频率。若信号其频率不稳定,则需重复上述步骤,以循环检测频率变化,取其平均值作为该信号的频率。二、引言在电子测量领域中,频率测量的精确度是最高的,可达1010E-13数量级。因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。 由于大规模和超大规模数字集成电路技术、数据通信技术与单

3、片机技术的结合,数字频率计发展进入了智能化和微型化的新阶段。其功能进一步扩大,除了测量频率、频率比、周期、时间、相位、相位差等基本功能外,还具有自捡、自校、自诊断、数理统计、计算方均根值、数据存储和数据通信等功能。此外,还能测量电压、电流、阻抗、功率和波形等。数字频率计是一种用电子学方法测出一定时间间隔内输入的脉冲数目,并以十进制数字形式显示测量结果的电子仪器,是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,具有精确度高、测频范围宽、便于实现

4、测量过程自动化等一系列突出优点。所以,数字式频率测量计(简称数字式频率计)已成为目前测量频率的主要仪器。 三、设计方案及原理 1.设计方案 本数字频率计将采用定时、计数的方法测量频率,以测量周期的方法对 正弦波、方波、三角波的频率进行自动的测量。采用一个1602A LCD显示器动态显示6位数。测量范围从1Hz10kHz的正弦波、方波、三角波、锯齿波。2.基本原理 频率计主要由四个部分构成:时基(T)电路、输入电路、计数显示电路 以及控制电路。在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形、微分操作之后形成特定周期的窄脉冲,送到主门的一个输入端。主门的另外一个输入端为时基电路产生电

5、路产生的闸门脉冲。在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置。(1)放大整形 在晶体管参数和元件值相同的情况下,共射放大器的电压,电流放大倍数均较大,因而功率放大倍数最大,其输入,输出电阻适中,高频特性也较好,应用较为广泛。故采用共射级放大电路将输入信号放大。再将通过放大的信号送至555定时器构成的施密特触发器,将各种波形转化为矩形波,以方便计数。施密特触发器的正向阈值电压Vt+=Vr1=2/3Vcc,负向阈值电压Vt-=Vr2=1/3=Vcc,则回差电压

6、VtVr1-Vr2=1/3Vcc。图1.555定时器构成的施密特触发器 图2.555定时器引脚图如上图1,在Vi从0开始升高的过程中,当V11/3Vcc时,满 V11Vr1,V12Vr2,所以电路输出V0为高电平;当1/3VccV12/3Vcc时,满足V11Vr1,V122/3Vcc后,满足V11Vr1,V12Vr2,V0才跳变到低电平。如上图2,555芯片引脚功能介绍如下:地 GND 触发 输出 复位 控制电压 门限(阈值)放电 电源电压Vcc(2)数字信号处理图3.80C51引脚图如上图3所示,80C51芯片中40个引脚大致可分为4类:电源(2)、时钟(2)、控制(4)和I/O引脚(32)

7、 (1)主电源引脚Vss和Vcc Vss接地 Vcc正常操作时为+5伏电源(2)外接晶振引脚XTAL1和XTAL2(1819引脚) XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。(3)控制或与其它电源复用引脚RST,ALE/PROG ,PSEN 和 EA/Vpp(9302931引脚) RST 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位。在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,

8、以保持内部RAM中的数据。 ALE/PROG 正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过 一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲( 功能) 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间, 在每个机器周期内两次有效。 同样可以驱动八LSTTL输入。 EA/Vpp ,Vpp为内部程序存储器和外部程

9、序存储器选择端。当 EA为高电平时,访问内部程序存储器,当 EA 为低电平时,则访问外部程序存储器。(4)80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。在单片机80C51中,当定时器/计数器用作“定时器”时,在每个机器周期寄存器加1,因此,也可以把它看作是在累计机器周期。由于一个机器周期包括12个振荡周期,所以,它的计数速率是振荡频率的1/12。而用作“计数器”时,寄存器在其对应的外输入端T0或T1有一个

10、“10”的跳变时加1。此操作中,在每个机器周期的S5P2期间采样外部输入信号,当一个周期的采样值为高电平,而下一个周期采样值变为低电平时,计数器加1。新的计数值在紧接着检测到一个跳变后的下一个周期的S3P1期间在寄存器中出现。由于识别一个从“10”的跳变要用两个机器周期(24个振荡周期),所以最快的计数速率是振荡频率的1/24。外部输入信号的速率是不受限制的,但必须保证给出的电平在变化前至少被采样一次,即它应该至少保持一个完整的机器周期。当开关与振荡器相接则为定时,与TX端相接则为计数。后一个开关受控制信号的控制,它实际上决定了脉冲源是否加到计数器的输入端,即决定了加1计数器的开启与运行。在实

11、际线路中起另一个开关作用的是特殊功能寄存器TMOD与TCON的相应位。TMOD和TCON是专门用于定时器/计数器的控制寄存器,用户可用指令对其各位进行写入或更改操作,从而选择不同的工作状态(计数或定时)或启动时间,并可设置相应的控制条件,换言之,定时器/计数器是可编程的。(3)频率输出LCD显示 LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,通过一定的显示驱动程序可直接将频率显示在液晶屏上。3. 硬件原理如图所示 被测信号从输入端输入经三极管放大电路放大,再经由555电路组成的施密特触发器整形,将三角波、正弦波、锯齿波等信号变换成方波信号,便

12、于计数。三极管采用高频小功率管。数字频率计的总电路图如附图所示,输入被测信号经放大整形电路整形送入定时/计数器输入端口P3.5,单片机在1s时间内统计输入脉冲个数,将计数值的每一位分离出来并显示在LCD液晶显示屏上。当输入信号改变时需要复位CPU,否则测出的频率是错误的。四、硬件设计 数字频率计的核心是电子计数器。电子计数器可以对脉冲数目进行累加运算,能把任意一段时间内的脉冲总数计算出并由数码管显示出来。如某个时间间隔t内对周期性信号的累加计数值为N,则信号频率f为fN/t 。 因此,首先应将被测信号变成周期性的脉冲,脉冲形成电路就是起这个作用,其脉冲的重复频率等于被测信号频率。脉冲形成后将它

13、加到闸门电路的一个输入端A,闸门电路就是用来控制开和关的一种电路,当具有标准时间的闸门脉冲到达时,闸门便开启,允许由A进入的脉冲通过;闸门脉冲结束后,闸门便关闭,信号就不能通过。闸门开启时通过的脉冲送到电子计数器进行计数,由装在面板上的数码管显示出来。例如,时基信号的作用时间为1秒,闸门电路将打开1秒,若在这段时间内通过闸门电路的脉冲数目为1000个,则被测信号的频率就是1000Hz。具体硬件电路见附图(附录中)。五、软件设计定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,用来设置T0或T1的操作方式。 其格式为: 其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1

14、,各位的说明: GATE门控制。 GATE=1时,由外部中断引脚INT0、INT1和控制寄存器的TR0,TR1来启动定时器。 当INT0引脚为高电平时TR0置位,启动定时器T0; 当INT1引脚为高电平时TR1置位,启动定时器T1。 GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。 C/T功能选择位 C/T=0时为定时功能,C/T=1时为计数功能。 置位时选择计数功能,清零时选择定时功能。 ,M0、M1方式选择功能 由于有2位,因此有4种工作方式 M1M0工作方式 计数器模式 TMOD(设置定时器模式) 0 0 方式0 13位计数器 TMOD=0x00 0 1 方式1 16位计

15、数器 TMOD=0x01 1 0 方式2 自动重装8位计数器 TMOD=0x02 1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x01.T0定时程序 本次设计选用定时器T0完成定时功能,当选用方式1时,最多也只能定时131ms,显然不能满足定时1s的要求,可以用下面这种方法解决:采用T0定时10ms,连续循环定时100次即可完成1s定时,用一个计数单元20H存放循环的次数,每一次循环20H单元自减1,当20H单元为零时则1s定时到时。其程序流程图如图4所示。图4.定时流程图2. T1计数程序 设计中T1采用计数功能,需要注意的一个问题是,输入的待测时钟信号

16、的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展,扩展的思路是除了计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,这样,当一秒到时时采集的计数数据,23H单元存放的是数据的最高位,TH1存放的是数据的次高位,TL1存放的是数据的最低位。当然,这里所说的“最高位”“次高位”以及“最低位”都是针对十六进制而言的。T1计数程序的流程图如图5所示。 图5.计数流程图六、总结作为一名自动控制专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时

17、间里,我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过

18、去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。这次课程设计也让

19、我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。从这次课程设计中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会帮助我在以后的学习、工作和生活中做出更好的表现。最后,再次对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!七、参考文献1邹久明编著,80C51单片机实用技术,北京:北京航空航天大学出版社,20082李华,王思明,张金敏编著,单片机原理及应用,兰州:兰州大学出版社, 20013林伸茂编著,8051单片机彻底研究,北京:中国

20、电力出版社,20074吴蓉主编,数字电子技术,兰州:兰州大学出版社,20055封志宏主编,模拟电子技术,兰州:兰州大学出版社,2003八、附录附录1ORG 0000HAJMP STARTORG 000BH ;T0中断入口AJMP T0INTORG 001BH ;T1中断入口AJMP T1INTORG 0030HSTART: MOV IE,#8AH ;开放T0、T1中断 MOV TMOD,#51H ;T0定时,T1计数MOV TH0,#0DCHMOV TL0,#00H ;定时10msMOV 20H,#100 ;100*10ms=1sMOV TH1,#00HMOV TL1,#00HMOV 21H,

21、#0MOV 22H,#0MOV 23H,#0 ;存放采集到的频率SETB TR1SETB TR0WAIT: AJMP WAIT ;等待中断T1INT: INC 23H ;计数器溢出则23H单元自增1RETI T0INT: DJNZ 20H,NEXT1 ;定时10ms产生中断CLR TR1CLR TR0MOV 22H,TH1 ;1s时间到则采集数据MOV 21H,TL1AJMP ACOUNTSJMP $NEXT1: MOV TH0,#0DCH ;继续定时MOV TL0,#00HRETIACOUNT: MOV A,23HMOV B,#0FFH MUL ABMOV 24H,A MOV 25H,B M

22、OV A,23H MOV B,#0FFH MUL AB MOV B,26H ADD A,25H MOV 25H,A CLR A ADDC A,26HMOV 26H,A;文件名:LCD1301.ASM;程序功能:显示程序RS bit P3.4RW bit P3.6E bit P3.7LCD EQU P1;显示主程序MAIN: MOV 26H,#12HMOV A,26HDA AMOV 26H,AMOV 25H,#33H MOV A,25HDA AMOV 25H,AMOV 24H,#47H MOV A,24HDA AMOV 24H,ATOSTRING:MOV R6,#3MOV R1,#30HMOV

23、R0,#26HNEXT:MOV A,R0ANL A,#0F0HSWAP AADD A,#30H MOV R1,AINC R1MOV A,R0ANL A,#0FHADD A,#30HMOV R1,AINC R1DEC R0DJNZ R6,NEXTMOV LCD,#00000001B ;清屏并光标复位ACALL WR_COMM ;调用写入命令子程序 ACALL INIT_LCD ;调用初始化子程序MOV LCD,#00H ;写入显示起始地址ACALL WR_COMM ;调用写入命令子程序MOV R7,#6MOV R1,#30HTO:MOV A,R1MOV LCD,A ACALL WR_DATA ;

24、调用写入数据子程序INC R1DJNZ R7,TOJMP $ ;维持当前输出状态;LCD初始化设定INIT_LCD: MOV LCD,#00110000B ;设置8位、2行、5x7点阵 ACALL WR_COMM ;调用写入命令子程序 MOV LCD,#00001111B ;显示器开,光标允许闪烁,ACALL WR_COMM ;调用写入命令子程序MOV LCD,#00010100B ;文字不动,光标自动右移 ACALL WR_COMM ;调用写入命令子程序 RETWR_COMM: ;写入命令子程序CLR RS ;RS=0,选择指令寄存器CLR RW ;RW=0,选择写模式CLR E ;E=0,

25、禁止读/写LCMACALL CHECK_BF ;调用判LCM忙碌子程序SETB E ;E=1,允许读/写LCMRET CHECK_BF: ;判断是否忙碌子程序MOV LCD,#0FFH ;此时不接受外来指令CLR RS ;RS=0,选择指令寄存器SETB RW ;RW=1,选择读模式CLR E ;E=0,禁止读/写LCMNOP ;延时1微秒SETB E ;E=1,允许读/写LCMJB LCD.7,CHECK_BF ;忙碌循环等待RETWR_DATA: ;写入数据子程序SETB RS ;RS=1,选择数据寄存器CLR RW ;RW=0,选择写模式CLR E ;E=0,禁止读/写LCMACALL CHECK_BF ;调用判断忙碌子程序SETB E ;E=1,允许读/写LCMRETEND附录二数字频率计原理框图数字频率计具体实现框图和时序图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1