![基于单片机简易的频率计_第1页](http://file4.renrendoc.com/view/bd436ae0c8f0b29194a0121c13e69bb2/bd436ae0c8f0b29194a0121c13e69bb21.gif)
![基于单片机简易的频率计_第2页](http://file4.renrendoc.com/view/bd436ae0c8f0b29194a0121c13e69bb2/bd436ae0c8f0b29194a0121c13e69bb22.gif)
![基于单片机简易的频率计_第3页](http://file4.renrendoc.com/view/bd436ae0c8f0b29194a0121c13e69bb2/bd436ae0c8f0b29194a0121c13e69bb23.gif)
![基于单片机简易的频率计_第4页](http://file4.renrendoc.com/view/bd436ae0c8f0b29194a0121c13e69bb2/bd436ae0c8f0b29194a0121c13e69bb24.gif)
![基于单片机简易的频率计_第5页](http://file4.renrendoc.com/view/bd436ae0c8f0b29194a0121c13e69bb2/bd436ae0c8f0b29194a0121c13e69bb25.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学《数字电子技术》课程设计说明书PAGE摘要 11.芯片介绍 11.1LM324[1] 11.2AT89S52[2] 11.2.1AT89S52的主要性能 11.2.2AT89S52的功能特性描述 21.2.3AT89S52的引脚功能描述 31.2.4特殊功能寄存器 41.2.5存储器结构 71.2.6定时器0和定时器1 71.2.7定时器2 71.2.8中断 81.2.9晶振特性 91.2.10Flash编程―并行模式 102总体方案设计 112.1 设计要点 112.2系统方案 113模块设计与实现 123.1显示模块 123.2单片机总控制单元: 123.3放大整形电路[4] 134软件设计[3] 145测试结果 186总结与体会 19参考文献 20附录1:总体电路原理图 21附录2:元件清单 22武汉理工大学《数字电子技术》课程设计说明书I摘要本次设计的简易频率计,是以AT89S52单片机为控制核心,辅以放大整形电路,显示电路构成的。简易频率计能够根据题目要求能够用4位7段数码管显示待测频率,格式为0000Hz。测量频率0~9999Hz信号类型:正弦波、方波和三角波。测量信号幅值:0.1~9V。另外,采用在线编程校准大大提高了频率计的测量精度,在9999Hz的频率范围内,可以把误差控制在0.022%以下。而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。对所设计的频率计的各项指标进行了测量和记录,满足要求,且在局部某些地方有自己的创新之处,相比用中规模集成器件构成的频率计优点有成本低、原理简单、功能齐全,实现价值高,各项性能较好。关键字:数字频率计AT89S52可编程高精度武汉理工大学《数字电子技术》课程设计说明书PAGE231.芯片介绍本次课程设计主要用到的芯片有用于整形电路的集成运放LM324和主控芯片AT89S52,下面对这两块芯片作一下详细的介绍。1.1LM324[1]图1LM324的外形LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图1所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图2所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图图1LM324的外形图2运算放大器的符号图3LM324的引脚排图由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。1.2AT89S52[2]1.2.1AT89S52的主要性能与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符1.2.2AT89S52的功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其引脚结构图如图4所示。图4AT89S52的引脚结构1.2.3AT89S52的引脚功能描述VCC:电源GND:地P0:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0P1:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1所示。在flash编程和校验时,P1口接收低8表1P1口部分引脚的第二功能P2:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8P3:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2所示。在flash编程和校验时,P3表2P3口引脚的第二功能RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。1.2.4特殊功能寄存器特殊功能寄存器(SFR)的地址空间映象如表3所示。并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。表3AT89S52特殊寄存器映象及复位值定时器2寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表4和表5所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H~83H的DP0和位于84H~85。特殊寄存器AUXR1中DPS=0选择DP0;DPS=1选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。表4T2CON:定时器/计数器2控制寄存器表5AUXR:辅助寄存器1.2.5存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV0A0H,#data使用间接寻址方式访问高128字节RAM。例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV@R0,#data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。1.2.6定时器0和定时器1在AT89S52中,定时器0和定时器1的操作与AT89C51和AT89C52一样。为了获得更深入的关于UART的信息,可参考ATMEL网()。从这个主页,选择“Products”,然后选择“8051-ArchitechFlashMicrocontroller”,再选择“ProductOverview”即可。1.2.7定时器2定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。如表4所示,工作模式由T2CON中的相关位选择。定时器2有2个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2寄存器都会加1。由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。在计数工作方式下,寄存器在相关外部输入角T2发生1至0的下降沿时增加1。表6定时器2工作模式在这11种方式下,每个机器周期的S5P2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。在检测到跳变的这个周期的S3P1期间,新的计数值出现在寄存器中。因为识别1-0的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。1.2.8中断AT89S52有6个中断源:两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。这些中断如图5所示每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如表7所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。图5中断源表7中断允许控制寄存器(IE)1.2.9晶振特性如图10所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图7所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图6内部振荡电路连接图石英晶振图7外部振荡电路连接图C1,C2=30PF±10PF陶瓷谐振器C1,C2=40PF±10PF1.2.10Flash编程―并行模式AT89S52带有用作编程的片上Flash存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方*(原文:third-party,不知道对不对)Flash或EPROM编程器。AT89S52程序存储阵列采用字节式编程。编程方法:对AT89S52编程之前,需根据Flash编程模式表和图13、图14对地址、数据和控制信号设置。可采用下列步骤对AT89S52编程:1)在地址线上输入编程单元地址信号2)在数据线上输入正确的数据3)激活相应的控制信号4)把EA/Vpp升至12V5)每给Flash写入一个字节或程序加密位时,都要给ALE/PROG一次脉冲。字节写周期时自身定制的,典型值仅仅50us。改变地址、数据重复第1步到第5步,知道全部文件结束。2总体方案设计设计要点本次课程设计有以下要点:=1\*GB3①设计一个频率计。要求用4位7段数码管显示待测频率,格式为0000Hz。=2\*GB3②测量频率范围:10~9999Hz。③测量信号类型:正弦波、方波和三角波。④测量信号幅值:0.5~5V。⑤设计的脉冲信号发生器,以此产生闸门信号,闸门信号宽度为1S。⑥确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。2.2系统方案简易数字频率计可以用中规模集成芯片构建而成,但与用51单片机实现相比,其电路复杂程度要大得多,而且远远不及用单片机实现灵活,其精度也不及用单片机实现的高。所以我采用用AT89S52单片机去实现。我采用单片机89S52作为控制核心,用数码管显示所输入信号的频率,具体的系统框图如图8所示:图8简易频率计的系统总体框图其中,信号通过整形放大后,输入单片机中的计数器,运用单片机中的定时器设置每隔一秒钟将计数器中死亡数据输出,通过数码管显示。单片机作为控制中心,随时检测和计录输入信号的频率,并控制输出显示和输入是否超载。而显示电路用一个四位一体的数码管实现。为简化硬件电路,用动态显示的方式,依次点亮个数码管,这样不仅仅是简化了电路,而且每一时刻四位数码管只相当于一位数码管的功耗,大大减少了功耗。3模块设计与实现3.1显示模块本次课程设计采用一个四位一体数码管,替显输入信号的平率。因为频率是一个实时变化量,我用一个的数码管来显示,每隔一秒更换一次数据。电路原理图如图9所示。各数码管的显示采用动态扫描的方式,这样,两个数码管共八位的功耗只相当于一位数码管显示的功耗。与液晶显示相比,既可以实现所要求的功能节省了硬件成本,又大大减小了功耗。图9显示模块3.2单片机总控制单元:图10单片机系统原理图我们用AT89S52作为整个电路的控制中心和数据计算处理中心,其中P0口对应两个数码管的数据位,P1口为LED动态点亮位。P3.4脚用于信号输入。具体系统原理图如图10所示3.3放大整形电路[4]考虑到所输入的信号有正弦波和三角波,而单片机所能读入的信号只能是数字信号的方波,所以正弦波和三角波在输入单片机之前必须通过整形电路整成方波。我设计的整形电路是用集成运放搭建而成,运用集成运放的增益非常大,而又受限于运放的电源电压的特点,可以实现将一定幅值的电压信号整成标准的数字信号。有因为所设计的频率计测量的频率信号的幅值能够达到越小越好,信号在进入整形电路之前设计了一个放大电路将信号放大。放大电路也用集成运放构建而成,因集成运放的稳定性较好。所设计的放大整形电路如图11所示:图11放大整形电路4软件设计[3]本系统以AT89S52单片机为核心,用C语言编程[6],可实现题目要求的各种功能,其程序流程图如图12所示。图12程序流程图简易频率计的C语言程序:#pragmadbcode#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitLED_0=P1^0;sbitLED_1=P1^1;sbitLED_2=P1^2;sbitLED_3=P1^3;/*=====0-9=====A-G=====*/uchara[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0x86,0x8e,0x82};ucharb[4]={0x8e,0xc1,0xc7,0xc7};ucharone,two,three,four;uintt=8000,j;//时间tuintm=0,n=0,k=0;//次数uints3=0,s4;//dt前后次数time1()interrupt3{//delay(20);t=t+0.05*100;//每到0.05s,定时器1产生中断TH1=0x3e;TL1=0xff;if(t%100==0){m=TH0*256+TL0;TH0=0x00;TL0=0x00;/*s3=n;m=(s3-s4);s4=s3;*/}}voiddelay(uintx);voiddisplay(void);voidled_analyze(uintl);voidled_add();voidmain(){uinta;IT1=1;//外部中断0下跳沿EX1=1;TMOD=0x15;//T1定时方式1,T0计数1TH1=0x3e;TL1=0xff;//定时50msTR1=1;//T1ET1=1;TH0=0x00;TL0=0x00;//定时50msTR0=1;//T0ET1=1;EA=1;while(1){if(m<=9999){led_analyze(m);for(a=0;a<100;a++)display();}else{ P0=b[0];LED_0=0;delay(300);LED_0=1;P0=b[1];LED_1=0;delay(300);LED_1=1;P0=b[2];LED_2=0;delay(3);LED_2=1;P0=b[3];LED_3=0;delay(300);LED_3=1; }}}voiddelay(uintx){uinti;for(i=0;i<x;i++);}voiddisplay(void){P0=a[one];LED_0=0;delay(3);LED_0=1;P0=a[two];LED_1=0;delay(3);LED_1=1;P0=a[three];LED_2=0;delay(3);LED_2=1;P0=a[four];LED_3=0;delay(3);LED_3=1;}voidled_analyze(uintl){l=l%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能城市管理与服务作业指导书
- IT领域云服务平台架构规划与建设方案
- 软件测试技术及实施流程作业指导书
- 绿色农业发展作业指导书
- 工程居间合同
- 能源化工行业项目管理作业指导书
- 2025年海口货运从业资格证年考试题及答案
- 2025年酒泉普通货运从业资格证考试
- 2024-2025学年高中地理第四单元从人地关系看资源与环境单元活动4遥感技术及其应用练习含解析鲁教版必修1
- 景观设计师年终总结
- 小学班会-交通安全伴我行(共25张课件)
- 消防安全一懂三会四能
- 起重吊装工程安全监理细则模版(3篇)
- 《VAVE价值工程》课件
- 四川政采评审专家入库考试基础题复习试题及答案(一)
- 分享二手房中介公司的薪酬奖励制度
- 安徽省2022年中考道德与法治真题试卷(含答案)
- GB 4793-2024测量、控制和实验室用电气设备安全技术规范
- 广电双向网改造技术建议书
- 项目人员管理方案
- 重大火灾隐患判定方法
评论
0/150
提交评论