标题:
基于51单片机的频率计 仿真+源程序+hex文件
[打印本页]
作者:
hlncclb
时间:
2021-3-9 09:44
标题:
基于51单片机的频率计 仿真+源程序+hex文件
基于51单片机的频率计
51hei.png
(20.6 KB, 下载次数: 86)
下载附件
2021-3-9 16:17 上传
单片机源程序如下:
#include <reg51.h>
//四位一体数码管位选
sbit Awei = P1^0;
sbit Bwei = P1^1;
sbit Cwei = P1^2;
sbit Dwei = P1^3;
void jisuan();
void delay(int x);
int change(int x);
//字形编码定义
#define SHU_0 0X3F;
#define SHU_1 0X06;
#define SHU_2 0X5B;
#define SHU_3 0X4F;
#define SHU_4 0X66;
#define SHU_5 0X6D;
#define SHU_6 0X7D;
#define SHU_7 0X07;
#define SHU_8 0X7F;
#define SHU_9 0X6F;
int ge=0, shi=0, bai=0, qian=0;
int count = 0, i = 0;
int freq = 0;
int main()
{
ge = 0; shi = 0; bai = 0; qian = 0;
//设置计数器0工作方式1,定时器1工作方式1
TMOD = 0X15;
//定时器初值设置
TH0 = 0;
TL0 = 0;
TH1 = (65535 - 50000)/256;
TL1 = (65535 - 50000)%256;
//外部中断0使能
IT0 = 1;
EX0 = 1;
//中断使能
EA = 1;
ET0 = 1;
ET1 = 1;
//定时器使能
TR0 = 1;
TR1 = 1;
while(1)
{
//动态显示
jisuan();
Awei = 1; Bwei = 1; Cwei = 1; Dwei = 0;
P2 = change(ge);
delay(10);
P2 = 0X00;
Awei = 1; Bwei = 1; Cwei = 0; Dwei = 1;
P2 = change(shi);
delay(10);
P2 = 0X00;
Awei = 1; Bwei = 0; Cwei = 1; Dwei = 1;
P2 = change(bai);
delay(10);
P2 = 0X00;
Awei = 0; Bwei = 1; Cwei = 1; Dwei = 1;
P2 = change(qian);
delay(10);
P2 = 0X00;
}
}
void service_timer0() interrupt 1 using 1
{
TH0 = 0;
TL0 = 0;
}
void service_timer1() interrupt 3 using 3
{
TH1 = (65535 - 50000)/256;
TL1 = (65535 - 50000)%256;
i++;
if (i == 20)
{
freq =TL0 + TH0*256;
i = 0;
TH0 = 0;
TL0 = 0;
}
}
void jisuan()
{
qian = freq /1000;
bai = (freq%1000)/100;
shi = (freq%100)/10;
ge = freq%10;
}
void delay(int x)
{
int i, j;
for(i = 0; i < x; i++)
for(j = 0; j < 100; j++);
}
int change(int x)
{
int shu;
switch(x)
{
case 0: shu = SHU_0; break;
case 1: shu = SHU_1; break;
case 2: shu = SHU_2; break;
case 3: shu = SHU_3; break;
case 4: shu = SHU_4; break;
case 5: shu = SHU_5; break;
case 6: shu = SHU_6; break;
case 7: shu = SHU_7; break;
case 8: shu = SHU_8; break;
case 9: shu = SHU_9; break;
}
return shu;
}
复制代码
所有资料51hei提供下载:
频率计.zip
(98.64 KB, 下载次数: 79)
2021-3-9 09:44 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1