我看楼上写的程序不怎么好,而且不容易懂,不是单片机c语言吧,于是自作主张的自己又写了一个,是51单片机的,12MHz晶振。我猜你现在用的是51吧?
#include
#define
uchar
unsigned
char
sbit
Led=P1^0;
uchar
counter;
void
timer1()
interrupt
3
using
1
{
TH1=-50000/256;
TL1=-50000%256;
counter=counter+1;
}
void
main()
{
counter=0;
TMOD=0x50;
TH1=-50000/256;
TL1=-50000%256;
//定时50ms,16位定时器
EA=1;
TR1=1;
while(1)
{
if(counter==20)
{
counter=0;
Led=~Led;
//led灯闪烁
}
}
}
楼主觉得可以的话,一定要给满意噢,若有什么不满意的地方,请继续追问。对啊,中断里面的程序一定要短,中断嘛,本来就是要告诉单片机该做什么的了。
#include <STC12C52H>
#define uchar unsigned char
#define uint unsigned int
sbit key=P1^2;
sbit p1_6=P1^6;
void delay(uchar delay_time)
{
uchar n;
uint m;
for (n=0;n<delay_time;n++)
{
for(m=0;m<10000;m++);
}
}
void keyscan()
{
if(key==0)
{
delay(5);
if(key==0)
while(!key)
{
p1_6 = 0;
delay(20);
p1_6 = 1;
delay(20);
}
}
}
void main()
{
WDT_CONTR = 0x3C;
while(1)
{
keyscan();
WDT_CONTR = 0x3C;
}
}
这个功能可以用中断来实现,当然,现在我写的这个也可以实现。由于你用的晶振频率不知道,所以你自己修改一下延时时间,再把头文件改一下,就可以了,我试验了,可以实现改功能。
程序如下:
#include <reg52h>
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3。
让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。
无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用。
#include<reg51h>
sbit s1=P1^0;
sbit s2=P1^1;
sbit led1=P0^0;
sbit led2=P0^1;
void delay(int a)
{
unsigned char i;
while(a--)for(i=0;i<120;i++);
}
main()
{
while(1)
{
while(s1==0)
{
led1=0;led2=1;delay(100);
led1=1;led2=0;delay(100);
}
while(s2==0)
{
led1=0;led2=0;delay(50);
led1=1;led2=1;delay(50);
}
}
}
以下是一个单片机间隔点亮一LED灯的C语言程序,以8051单片机为例:
c
Copy code
#include
//包含了AT89C51的寄存器定义
void delay(unsigned int xms) //延时函数,xms为要延时的毫秒数
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
P1=0x00; //将P1口全部置为0,防止其它引脚影响
while(1)
{
P1=0xff; //点亮P1口第0个引脚上的LED灯,0xff为二进制的11111111
delay(1000); //延时1秒
P1=0x00; //将P1口全部置为0,熄灭LED灯
delay(1000); //延时1秒
}
}
上述程序的作用是在单片机的P1口上间隔点亮一盏LED灯,每隔1秒钟灯的状态会发生一次变化,即由点亮状态变为熄灭状态,再由熄灭状态变为点亮状态。
以上就是关于请大家给我写一个用单片机c语言变的程序,要求:用定时器实现灯的闪烁全部的内容,包括:请大家给我写一个用单片机c语言变的程序,要求:用定时器实现灯的闪烁、用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序、单片机流水灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)