标题: 想在单片机十分钟倒计时程序中加个每秒闪烁,求教 [打印本页]

作者: 一片一城    时间: 2020-10-24 16:07
标题: 想在单片机十分钟倒计时程序中加个每秒闪烁,求教
本帖最后由 一片一城 于 2020-10-25 23:52 编辑

十分钟倒计时,每过1分钟变动1个数字,觉得呆板,可鼓捣了一天也没加进去个秒提示。谢谢有能力的单片机高手。

10月25日   中断函数如下:
void time0()interrupt 1  //0中断,中断序号1。
{ unsigned int zxc=65432;
  TH0=0xb8; //20ms。
  TL0=0x00;
  s++;
  if(s==3000) //3000×20ms=60000ms÷1000ms=60s(1分钟)
  { s=0;   //归零。等待下1个1分钟。
    k--; } //倒计时。减1分钟。

  if(k<=0) //如果到0,发声,关闭中断。
  {
    k=0;
    beep=0;
    while(--zxc);
    beep=1;
    TR0=0; }
}
初学,诸师兄提的建议我一时半会儿消化不了。



作者: xianfajushi    时间: 2020-10-25 07:43
如果你显示的是分钟,那么,每1/2秒送去显示即可。
作者: liuzx66    时间: 2020-10-25 11:18
精确和不精确两种办法:硬件使用定时器,时间到中断,改变LED状态。软件延时,延时完成改变LED状态。
作者: sunny118    时间: 2020-10-25 13:44
用定时中断法,0.5秒的时候对数码管的小数点控制位取反

1.jpg (49.76 KB, 下载次数: 52)

1.jpg

作者: sunny118    时间: 2020-10-25 13:46
仿真图和程序都在里面

数码管 (2).zip

33.36 KB, 下载次数: 14


作者: hhdsdy    时间: 2020-10-25 13:53
程序贴出来啊,在计秒的那里改动一下
作者: wwh2382    时间: 2020-10-25 14:43
如果是数字每秒闪烁有点太闹腾




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1