财经
×
好心游戏首页 > 问答列表 >

51单片机C语言对流水灯编程,用定时中断做

请问:51单片机C语言对流水灯编程,用定时中断做
请注意:本网坚决拥护中国共产党领导,坚决打击任何违规违法内容,若您发现任何有害信息,请E-Mail:513175919@qq.com举报,我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦,实现中国腾飞而努力!

      2019-08-14 07:22:08

采纳答案   // 写了个测试程序,希望对你有帮助
#include
#define uchar unsigned char
uchar m=0,i=0;
void main()
{
TMOD|=0x01; //定时器0工作方式为1
TH0=(65536-50000)/256; //装初值
TL0=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //开启定时器

while(1); //等待中断

}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++ ;
if(m==5) //12M晶振 定时5*50MS=250MS
{
m=0;
P1=~(0X01< if(++i==8)
i=0;
}
}    1970-01-01 08:00:00

 

#include<reg52.h>
#define uchar unsigned char 
uchar m=0,i=0;   
void main()
{
 TMOD|=0x01;    //定时器0工作方式为1
 TH0=(65536-50000)/256;  //装初值  
 TL0=(65536-50000)%256;
 EA=1;   //开总中断
 ET0=1;   //开定时器中断
 TR0=1;   //开启定时器
 while(1); //等待中断
}
void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 m++ ;
 if(m==5) //12M晶振   定时5*50MS=250MS
 {
  m=0;
  P1=~(0X01<<i); //P1接8个LED
  if(++i==8)
  i=0;
 }
}

[补充]

延时函数是一种粗略计算延时时间的函数
是通过让单片机执行空指令,达到等待延时的目的。
经常被应用在对延时时间要求不太严格的场合。
而定时器中断,则是通过对晶振时钟进行计数
由于晶振的频率一般是很稳定的,所以晶振的脉冲频率基本稳定
从而通过对脉冲进行计数即可得到准确的延时目的。
中断延时函数和定时器中断延时没有明确的对应关系。
主要是根据你的应用场合来确定使用哪种函数。    1970-01-01 08:00:00

  #include<reg52.h>
#define uchar unsigned char
uchar m=0,i=0;
void main()
{
TMOD|=0x01; //定时器0工作方式为1
TH0=(65536-50000)/256; //装初值
TL0=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //开启定时器
while(1); //等待中断
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++ ;
if(m==5) //12M晶振 定时5*50MS=250MS
{
m=0;
P1=~(0X01<<i); //P1接8个LED
if(++i==8)
i=0;
}
}    1970-01-01 08:00:00

  把具体要求说清楚后,我才好把按照要求写的程序贴出来    1970-01-01 08:00:00

ask1ask2ask3ask4ask5ask6ask7ask8ask9ask10ask11ask14ask13ask14ask15

热门图文更多>