标题:
51单片机定时器计数器实现的数字频率计Proteus仿真程序设计
[打印本页]
作者:
zhang980823
时间:
2020-1-10 13:48
标题:
51单片机定时器计数器实现的数字频率计Proteus仿真程序设计
基于STC89C52的数字频率计仿真设计,通过片上资源,定时器计数器实现对外部方波的频率计数,平台protues7.1,内含仿真文件源码和protues电路文件,原创分享
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
系统效果图.png
(274.27 KB, 下载次数: 50)
下载附件
系统效果图
2020-1-10 13:46 上传
单片机源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS = P2^0;
sbit RW = P2^1;
sbit EN = P2^2;
sbit led = P3^6;
uint jici=0,fre=0;
uchar display_num[6];
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay_20us()
{
uchar a ;
for(a=0;a<500;a++);
}
int delay(unsigned char xms)
{
unsigned char i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
return 0;
}
int write_com(unsigned char com)
{
RS = 0;
RW = 0;
P0 = com;
delay(5);
EN = 1;
delay(5);
EN = 0;
return 0;
}
int write_date(unsigned char date)
{
RS = 1;
RW = 0;
P0 = date;
delay(5);
EN = 1;
delay(5);
EN = 0;
return 0;
}
void LCD1602_Write_String(uchar x,uchar y,uchar *s)
{
if (y == 0)
{
write_com(0x80 + x);
}
else
{
write_com(0xC0 + x);
}
while (*s != '\0')
{
write_date(*s++);
delay(150);
}
}
int init()//1602初始化
{
EN = 0;
write_com(0X38);
write_com(0X0C);
write_com(0X06);
write_com(0X01);
return 0;
}
int main(void)
{
init();
TMOD=0x51;//定时器1计数模式 定时器0定时模式 工作方式1
TH0=(65536-46080)/256;//装定时50ms初值
TL0=(65536-46080)%256;
TR0=1; //定时器0模式开启
ET0=1;// 定时器0中断
EA=1;//全局中断开启
TH1=0;
TL1=0;
TR1=0;
LCD1602_Write_String(0,0,"frequence:");
while(1)
{
display_num[0] = fre / 100 + '0';//分位提取
display_num[1] = fre % 100 /10+ '0';
display_num[2] = fre % 10+ '0';
display_num[3] = 'H';
display_num[4] = 'z';
display_num[5] = '\0';
if(pinlv > 1000)
LCD1602_Write_String(0,1,"flow!");//大于1000则超出提示
else
LCD1602_Write_String(0,1,display_num);//显示频率
}
}
void timer0() interrupt 1//定时器0溢出中断
{
jici++;
TH0=(65536-46080)/256;;
TL0=(65536-46080)%256;;
if(jici == 20) //20次为1s
{
TR0=TR1=0;
fre=TL1+TH1*256; //提取计数数值 计算为频率
TL1=TH1=0;
led=~led;
jici=0;
TR0=TR1=1;
}
}
复制代码
所有资料51hei提供下载:
51单片机数字频率计仿真设计.rar
(425.16 KB, 下载次数: 103)
2020-1-10 13:47 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1