加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

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

09/26 16:48
987
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

数字频率计

仿真原理图

#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

相关推荐

电子产业图谱