单片机初学问题LED秒闪灯
求助各位大侠。有一个作业问题。制作一个每隔一秒闪烁的LED灯。需要单片机,我完全不了解单片机,但还是要硬着头皮上啊。求助高端人士,能否加Q805826100讲解一下。好人...
求助各位大侠。有一个作业问题。制作一个每隔一秒闪烁的LED灯。需要单片机,我完全不了解单片机,但还是要硬着头皮上啊。求助高端人士,能否加Q805826100讲解一下。好人有好报啊
展开
4个回答
展开全部
/*************************************************************
* 程序名 *制作一个每隔一秒闪烁的LED灯
* 编写人 * 吕工
* 日 期 * 2013-4-20
/*************************************************************/
/*************************************************************
* 头文件定义 *
/*************************************************************/
#include <AT89X52.h>
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED = P1 ^ 0;//定义P1.0为LED控制口,低电平使能
/*************************************************************
* 毫秒级延时函数 *
调用函数必须给延时函数一个0~65535的延时值对应0MS到65535MS
/*************************************************************/
void Delay (unsigned int a){//需要输入变量值0~65535
unsigned char i;
while( --a != 0){//i 从0加到125,CPU大概就耗时1毫秒
for(i = 0; i < 125; i++);//空指令循环125次
}
}
/*************************************************************
* 主函数 *
连接到P1.0上的LED每一秒闪烁一次
/*************************************************************/
void main (void)
{
while(1){//无限循环以下程序
LED = ~LED;//取LED向反状态
Delay(500);//延时0.5秒,亮0.5秒,灭0.5秒。
}
}
/****************************************************************/
不明白了联系
* 程序名 *制作一个每隔一秒闪烁的LED灯
* 编写人 * 吕工
* 日 期 * 2013-4-20
/*************************************************************/
/*************************************************************
* 头文件定义 *
/*************************************************************/
#include <AT89X52.h>
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED = P1 ^ 0;//定义P1.0为LED控制口,低电平使能
/*************************************************************
* 毫秒级延时函数 *
调用函数必须给延时函数一个0~65535的延时值对应0MS到65535MS
/*************************************************************/
void Delay (unsigned int a){//需要输入变量值0~65535
unsigned char i;
while( --a != 0){//i 从0加到125,CPU大概就耗时1毫秒
for(i = 0; i < 125; i++);//空指令循环125次
}
}
/*************************************************************
* 主函数 *
连接到P1.0上的LED每一秒闪烁一次
/*************************************************************/
void main (void)
{
while(1){//无限循环以下程序
LED = ~LED;//取LED向反状态
Delay(500);//延时0.5秒,亮0.5秒,灭0.5秒。
}
}
/****************************************************************/
不明白了联系
展开全部
这个就是。。强烈建议你去淘宝上买块板子,这种简单低级的小程序,两个小时就看会咯。并且现在的51板子店家给的资料很全。
#include<at89x51.h>
#define uchr8 unsigned char
sbit led = P1^0;
void main()
{
uchr8 counter;
TMOD = 0x01; //工作方式1
TH0 = 0xB8; //初始值
TL0 = 0x00;
TR0 = 1; //定时器0控制位
//完成每隔1s闪烁的任务
while(1)
{
if(TF0 == 1)
{
TF0 = 0;
TH0 = 0xB8;
TL0 = 0x00;
counter++;
}
if(counter== 50 )
{
counter = 0;
led =~ led;
}
}
}
#include<at89x51.h>
#define uchr8 unsigned char
sbit led = P1^0;
void main()
{
uchr8 counter;
TMOD = 0x01; //工作方式1
TH0 = 0xB8; //初始值
TL0 = 0x00;
TR0 = 1; //定时器0控制位
//完成每隔1s闪烁的任务
while(1)
{
if(TF0 == 1)
{
TF0 = 0;
TH0 = 0xB8;
TL0 = 0x00;
counter++;
}
if(counter== 50 )
{
counter = 0;
led =~ led;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有基础的还是用延时函数吧,或者你想用定时器也行
#include<reg51.h>
#define LED P0.0
main()
{
int i;
while(1)
{
for(i=0;i<255;i++);
LED=!LED;
}
}
#include<reg51.h>
#define LED P0.0
main()
{
int i;
while(1)
{
for(i=0;i<255;i++);
LED=!LED;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊! 这问题不值这么多分。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询