数字频率计单片机Word下载.docx
- 文档编号:22224250
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:117KB
数字频率计单片机Word下载.docx
《数字频率计单片机Word下载.docx》由会员分享,可在线阅读,更多相关《数字频率计单片机Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。
如要测量高频的信号还需要加上分频电路,价格相对高了点。
基于上述比较,所以选择了方案一。
3单元模块电路设计
3.1信号放大电路
放大整形电路由晶体管3DG100与74LS00等组成,其中3DG100组成放大器将输入频率为Fx的周期信号如正弦波,三角波等进行放大。
与非门74LS00构成施密特触发器,它对放大器的输出信号进行整形,使之成为矩形脉冲。
其电路图如图3.1所示:
图3.1信号放大整形电路
利用ISIS仿真软件,上面的信号代表的是输入信号,下面信号代表的是输出信号。
当输入信号为正弦波时,可以得到如图3.2所示的方波输出信号。
图3.2信号整形后的波形
3.2单片机复位电路
复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,就可使MCS—51单片机复位。
复位的主要功能是把PC初始化为0000H,使MCS—51单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。
单片机的复位电路通常采用上电复位和按钮复位的两种方式。
本设计采用图3.3上电复位电路.上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
图3.3单片机复位电路
除PC之外,复位操作还对其它寄存器有影响,其复位状态如表3.1所示:
表3.1复位时片内各寄存器的状态
寄存器
复位状态
PC
0000H
TMOD
00H
Acc
TCON
PSW
TH0
B
TL0
SP
07H
TH1
DPTR
TL1
P0-P3
FFH
SCON
IP
XXX00000B
SBUF
XXXXXXXXB
IE
0XX00000B
PCON
0XXX0000B
由表可知,复位时,SP=07H;
4个I/O端口P0-P3的引脚均为高电平,这在某些控制应用中,要考虑到引脚的高电平对外部控制电路的影响。
3.3时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英振荡器和微调电容,就构成一个稳定的自激振荡器。
单片机内部时钟方式的振荡器电路如图3.4所示:
图3.4内部时钟电路
晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
但反过来运行速度快对储存器的速度也就越高。
本设计采用40PF的电容和24MHz的晶振。
本设计使用24MHz晶振的原因主要由本设计计数器对外部计数输入信号的要求。
当MCS-51内部的定时器/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1,因此定时器/计数器的输入脉冲的周期与机器周期一样,输入脉冲的频率为时钟振荡的1/12。
当采用12MHz频率的晶体时,计数速率为1MHz,输入脉冲的周期间隔为1us。
当定时器/计数器用作计数器时计数脉冲来自相应的外部输入引脚T0和T1。
当输入信号产生由1至0的负跳变时,计数器的值增1.每个机器周期的S5P2期间,对外部输入引脚进行采样。
如在第一个机器周期仲采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个机器周期S3P1的期间,计数器加1。
由于确认一次负跳变要花两个机器周期,即24个振荡周期,因此外部输入的脉冲频率最高为250KHz,如果选用24MHz频率的晶体,则最高可输入1MHz的外部脉冲。
所以本设计最少要使用24MHz或更高的晶振。
对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一点评至少要保持一个机器周期。
3.4量程指示电路
量程指示电路能按照所测频率的大小来自动显示所测频率的量程,如图3.5所示:
图3.5量程指示电路
当单片机开始正常工作时,指示灯L1便亮。
当所测的频率在1Hz至10KHz时灯L4亮,当所测的频率在10K至100KHz时灯L3亮,当所测的频率在100K至1MHz时灯L2亮。
3.5数字显示电路
本设计使用动态扫描数字显示电路来显示频率的大小,如图3.6所示:
图3.6数字显示电路
在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口控制,形成段选线的多路复用。
而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。
图3.7所示位一个4位7段LED动态显示器电路原理图。
其中段选线占用一个8位I/O口,而位选线占用一个4位I/O口。
由于各位的段选线并联,段码的输出对各位来说都是相同的。
因此,同一时刻,如果各位位选都处于选通状态的话,4位LED将显示相同的字符。
若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。
这样同一时刻,4位LED中只有选通的那一位显示字符,而其他三位则是熄灭的。
同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。
如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而同一时刻,只有以为显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多为同时亮的假象,达到同时显示的目的。
LED不同位显示的时间间隔不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。
但也不能太长,因为毕竟要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多。
另外,显示位增多,也将占用大量的CPU时间,因此动态显示实质是以牺牲CPU时间来换取元件的减小。
4单片机软件设计
4.1数字频率计程序流程图
4.2单片机工作程序
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineCYCLE49980
voidDELAY(void);
voidKEYSCAN(void);
voidDISPLAY(void);
voidCHULI(void);
unsignedchargewei,shiwei,baiwei,qianwei,shiwei1,baiwei1,qianwei1;
unsignedcharcodea[10]={0xc0,0xf9,0xa4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90};
sbitKaiGuan=P2^7;
//开关位
sbitLEDpin=P1^3;
//工作指示灯控制位
ucharT0H=0,T0L=0;
bitflag=0;
uintN=0;
unsignedlongfreq1=0;
unsignedlongfreq=0;
voidmain(void)
{while
(1)
{
KEYSCAN();
if(TF0==1)
{TF0=0;
N++;
}
if(flag==1)//判断所测频率的范围
{freq1=(65536*N+T0H*256+T0L);
flag=0;
if(freq1<
=2500)
{freq=freq1*4;
P1=0xf6;
elseif(2501<
=freq1&
freq1<
=25000)
{freq=freq1*2/5;
P1=0xf5;
elseif(freq1>
=25001)
{freq=freq1/25;
P1=0xf3;
}
gewei=freq%10;
shiwei=(freq/10)%10;
baiwei=(freq/100)%10;
qianwei=freq/1000;
CHULI();
DISPLAY();
}
voidtimer1(void)interrupt3using1//一秒中断
{staticuintcounter;
if(++counter>
=10)
{TR0=0;
TR1=0;
T0L=TL0;
T0H=TH0;
TH0=TL0=0;
flag=1;
counter=0;
TH1=(65536-CYCLE)/256;
TL1=(65536-CYCLE)%256;
voidDELAY(void)//延时程序
{staticunsignedcharx,y;
for(x=0;
x<
20;
x++)
for(y=0;
y<
40;
y++);
voidKEYSCAN(void)//键盘扫描
{if(KaiGuan==0)
{DELAY();
if(KaiGuan==0)
{LEDpin=0;
TMOD=0x15;
IE=0x88;
TH1=(65536-CYCLE)/256;
TL1=(65536-CYCLE)%256;
TH0=TL0=0;
freq=0x00;
TR0=1;
TR1=1;
voidCHULI(void)
{if(P1==0xf6)
{qianwei1=a[qianwei]&
0x7f;
baiwei1=a[baiwei];
shiwei1=a[shiwei];
if(P1==0xf5)
{qianwei1=a[qianwei];
baiwei1=a[baiwei]&
0x7f;
if(P1==0xf3)
shiwei1=a[shiwei]&
voidDISPLAY(void)//显示所测的频率大小
{
P2=0xFE;
P0=qianwei1;
DELAY();
P2=0xFD;
P0=baiwei1;
P2=0xFB;
P0=shiwei1;
P2=0xF7;
P0=a[gewei];
5特殊器件的介绍
5.1单片机AT89S51
单片机AT89S51的管脚图如图5.1所示:
图5.1AT89S51原理图
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
5.2引脚功能说明
Vcc:
电源电压
GND:
地
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。
DISRT0位缺省为RESET输出高电平打开状态。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对F1ash存储器程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。
XTALl:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
P0口:
P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,Pl接收低8位地址。
其引脚功能表如表5.1所示:
表5.1P1口引脚功能表
端口引脚
第二功能
P1.5
MOSI(用于ISP编程)
P1.6
MISO(用于ISP编程)
P1.7
SCK(用于ISP编程)
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/0口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
其引脚功能表如图5.2所示:
表5.2P3口引脚功能表
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外中断0)
P3.3
INT1(外中断1)
P3.4
T0(定时/计数器0外部输入)
P3.5
T1(定时/计数器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
5.2特殊功能寄存器
电源空闲标志:
电源空闲标志(POF)在特殊功能寄存器SFR中PCON的第4位(PCON.4),电源打开时POF置“1"
,它可由软件设置睡眠状态并不为复位所影响。
存储器结构:
MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。
程序存储器:
如果EA引脚接地(GND),全部程序均执行外部存储器。
在AT89S51,假如EA接至Vcc(电源+),程序首先执行地址从0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。
数据存储器:
AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。
看门狗定时器(WDT):
WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看门狗复位SFR(WDTRST)构成。
外部复位时,WDT默认为关闭状态,要打开WDT,用户必须按顺序将01EH和0E1H写到WDTRST寄存(SFR地址为0A6H),当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。
使用看门狗(WDT):
打开WDT需按次序写01EH和0E1H到WDTRST寄存器(SFR的地址为0A6H),当WDT打开后,需在一定的时候01EH和0E1H到WDTRST寄存器以避免WDT计数溢出。
14位WDT计数器计数达到16383(3FFFH),WDT将溢出并使器件复位。
WDT打开时,它会随晶体振荡器在每个机器周期计数,这意味着用户必须在小于每个16383机器周期内复位WDT,也即写01EH和0E1H到WDTRST寄存器,WDTRST为只写寄存器。
WDT计数器既不可读也不可写,当WDT溢出时,通常将使RST引脚输出高电平的复位脉冲。
复位脉冲持续时间为98×
Tosc,而Tosc=1/Fos(晶体振荡频率)。
为使WDT工作最优化,必须在合适的程序代码时间段周期地复位WDT防止WDT溢出。
掉电和空闲状态时的WDT:
掉电时期,晶体振荡停止,WDT也停止。
掉电模式下,用户不能再复位WDT。
有两种方法可退出掉电模式:
硬件复位或通过激活外部中断。
当硬件复位退出掉电模式时,处理WDT可象通常的上电复位一样。
当由中断退出掉电模式则有所不同,中断低电平状态持续到晶体振荡稳定,当中断电平变为高即响应中断服务。
为防止中断误复位,当器件复位,中断引脚持续为低时,WDT并未开始计数,直到中断引脚被拉高为止。
这为在掉电模式下的中断执行中断服务程序而设置。
为保证WDT在退出掉电模式时极端情况下不溢出,最好在进入掉电模式前复位WDT。
在进入空闲模式前,WDT打开时,WDT是否继续计数由SFR中的AUXR的WDIDLE位决定,在IDLE期间(位WDIDLE=0)默认状态是继续计数。
为防止AT89S51从空闲模式中复位,用户应周期性地设置定时器,重新进入空闲模式。
位WDIDLE被置位,在空闲模式中WDT将停止计数,直到从空闲(IDLE)模式中退出重新开始计数。
定时器0和定时器1:
AT89S51的定时器0和定时器1操作与AT89C51一样。
中断:
AT89S51共有5个中断向量:
2个外中断(INT0和INT1),2个定时中断(Timer0和Timer1)和一个串行中断。
这些中断源各自的禁止和使能位参见特殊功能寄存器的IE。
IE也包含总中断控制位EA,EA清0,将关闭所有中断。
值得注意的是表4中的IE.6和IE.5没有定义,用户不要访问这些位,它是保留为以后的AT89产品作扩展用途。
定时器0和定时器1的中断标志TF0和TF1,它是定时器溢出时的S5P2时序周期被置位,该标志保留至下个时序周期。
空闲节电模式:
在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。
此时,片内RAM和所有特殊功能寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 单片机