求单片机高手~希望给个30秒倒计时的程序~急啊!汇编语言
我的QQ438757250~希望高手加我帮我解答难题~多谢
追问:89c51~两位数码管~
我的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汇编语言之间的不同在哪?