当前位置:编程学习 > 汇编语言 >>

求单片机高手~希望给个30秒倒计时的程序~急啊!汇编语言

我的QQ438757250~希望高手加我帮我解答难题~多谢
追问:89c51~两位数码管~
答案:什么单片机啊?要不要显示,用什么显示出来
其他:C可以吗 数码管采用共阴极接法,断码用P0口实现,位码用p1.1和p1.2控制(动态方式)
#include<reg52.h>
#define  P0  seg ;//定义断码数据口
code char  seg[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d}//数码管断码
sbit  wei1=P1^1;//定义两个数码管的位码
sbit  wei2=P1^2;
void delay(unsigned int cnt)
 {
    while(cnt--);
}
void main()
{
  char cnt=30;//秒计数器初值为30s
 char count=0;//次数计数器100*100=1s
  TMOD=0X01;//定时器0方式1
  TH0=(65536-10000)%256;//定时器赋初值100ms
  TH0=(65536-10000)/256
  EA=1;//开定时器0中断
  ET0=1;
  TF0=0;//定时器0标志寄存位清零
  TR0=1;//打开定时器0
  wei1=1;
  wei2=1;
 while(1)
     {
         P0=seg[cnt/10];//取出十位并显示
         wei1=0;
        delay(171);
        P0=seg[cnt%10];//取出各位并显示
         wei2=0;
        delay(171);   
    }
}
void isr_timer0 interrupt 1
{  
   if(count++>100)//判断是否到1s
     {
        cnt--;//到1s倒计时减一
         count=100;//重新载入计数值
      }
   if(cnt==0)//判断30s是否倒计时完毕
      cnt=30;//完毕重新开始倒计时
}

上一个:谁能帮忙解释一下这段程序,逐句的;最好能再帮忙翻译成汇编语言写得
下一个:单片机c51与ARM汇编语言之间的不同在哪?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,