基于51单片机设计的60秒倒计时论文

急求:基于51单片机设计的60秒(59秒也行)倒计时论文,越详细越好,我要做实物的。谢谢大家啦,帮帮忙!有的发到我邮箱707762727@qq.com再次谢过了!... 急求:基于51单片机设计的60秒(59秒也行)倒计时论文,越详细越好,我要做实物的。谢谢大家啦,帮帮忙!有的发到我邮箱707762727@qq.com 再次谢过了! 展开
 我来答
wjr12358
推荐于2016-04-10 · TA获得超过165个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:103万
展开全部
  #include<reg52.h>
  #define uchar unsigned char
  #define uint unsigned int
  uchar num,t;
  sbit dula=P2^6; //段选跟位选
  sbit wela=P2^7;
  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管
  void display(uchar b,uchar a);
  void delay1ms();
  void main()
  {
  TMOD=0x01; //初始化
  TH0=(65536-50000)/256; //计时50ms中断
  TL0=(65535-50000)%256;
  EA=1; //打开中断
  ET0=1;
  TR0=1;
  num=60; //初始显示的值
  display(6,0); //显示60
  while(1)
  {
  if(t==20) //每1s减1
  {
  t=0;
  num--;
  b=num/10;
  a=num%10;
  if(num==0)
  num=60;
  }
  display(b,a); //显示
  }
  }
  void timer0()interrupt 1
  {
  TH0=(65536-50000)/256;
  TL0=(65535-50000)%256;
  t++;
  }
  void delay1ms() //1ms延时
  {
  uint x,y;
  for(x=0;x<10;x++)
  for(y=0;y<50;y++);
  }
  void display(uchar b,uchar a) //动态显示部分
  {
  dula=1;
  P0=table[b];
  dula=0;
  wela=1;
  P0=0xfe;
  wela=0;
  P0=0xff;
  delay1ms();

  dula=1;
  P0=table[a];
  dula=0;
  wela=1;
  P0=0xfd;
  wela=0;
  P0=0xff;
  delay1ms();
  }

  程序比较简单,主要的地方都有注释

  祝你好运!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海矽旭微电子
2024-12-16 广告
数字IC设计入门需掌握数字电路基础,包括逻辑门电路、时序逻辑等。同时,熟悉Verilog或VHDL等硬件描述语言是关键,以便进行RTL设计。此外,了解EDA工具如Cadence、Synopsys等用于仿真和时序分析也至关重要。学习过程中,需... 点击进入详情页
本回答由上海矽旭微电子提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式