• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于51单片机的四位数字频率计数码管显示设计

2024/09/26
1296
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

有需要资料的可了解一下.docx

共1个文件

数字频率计

仿真原理图

#include <reg52.h>

#define uchar unsigned char

#define uint  unsigned  int

uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};         //所需的段的位码

//uchar wei[4]={0XEf,0XDf,0XBf,0X7f};                                 //位的控制端     (开发板)

uchar wei[4]={0X80,0X40,0X20,0X10};                                 //位的控制端      (仿真)

uint z,x,c,v, date;    //定义数据类型

uint dispcount=0;

uint lck=0;

uint disp=0;

/******************************************************************

P2=wei[3];

P0=duan[v];

delay(50);

}

/*************************************************************************

定时器初值1ms

**************************************************************************/

void initTimer(void)

{

TMOD=0x0;

TH0=0xe3;

TL0=0xc;

}

/*************************************************************************

定时器函数

**************************************************************************/

void timer0(void) interrupt 1

{

TH0=0xe3;

TL0=0xc;

lck++;

if(lck==1000)

{

disp=dispcount;

lck=0;

dispcount=0;

}

}

/*************************************************************************

中断函数

**************************************************************************/

void int0(void) interrupt 0

{

dispcount++; //每一次中断,计数加一

}

/*************************************************************************

主函数

**************************************************************************/

void main(void)

{

IT0=1;     //INT0下降沿中断

EX0=1;     //允许INT1中断

initTimer(); //装入初值

TR0=1;

ET0=1;

EA=1;

while(1)

{

date=disp;

xianshi();

 

  • 有需要资料的可了解一下.docx
    下载

相关推荐