单片机定时驱动led程序2--c语言实现
2006-04-23 15:31
681 查看
实验要求:
使用定时/记数中断控制led1亮0.1s,灭0.1s,led2亮1s,灭1s,led3亮10s,灭10s,led4亮100s,灭100s.
/////////////////////////////////////////////////////////////////////////////////////////////////////
//头文件yzxled.h
#include <reg51.h>
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;
#define ON 1
#define OFF 0
#define RELOADTH0 0x3c
#define RELOADTL0 0x0b0
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//主程序
#include "yzxled.h"
//初始化
void init(void)
{
LED1=OFF;
LED2=OFF;
LED3=OFF;
LED4=OFF;
}
//设置控制方式
void set(void)
{
TMOD=0x01;
EA=1;
ET0=1;
TH0=RELOADTH0;
TL0=RELOADTL0;
}
//////////
void timer0(void) interrupt 1 using 1
{
static int i=1;
LED1=!LED1;
i++;
TH0=RELOADTH0;
TL0=RELOADTL0;
if(!(i%10))
LED2=!LED2;
if(!(i%100))
LED3=!LED3;
if(!(i%1000))
{
LED4=!LED4;
i=0;
}
return;
}
void main(void)
{
init();
set();
TR0=ON;
while(1) ;
}
实验心得:
通过这次实验,我学会了使用c语言编写单片机程序,在程序中,我使用了很多宏定义,这有利于程序的再利用.
同时真正理解延迟和中断的概念!
使用定时/记数中断控制led1亮0.1s,灭0.1s,led2亮1s,灭1s,led3亮10s,灭10s,led4亮100s,灭100s.
/////////////////////////////////////////////////////////////////////////////////////////////////////
//头文件yzxled.h
#include <reg51.h>
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;
#define ON 1
#define OFF 0
#define RELOADTH0 0x3c
#define RELOADTL0 0x0b0
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//主程序
#include "yzxled.h"
//初始化
void init(void)
{
LED1=OFF;
LED2=OFF;
LED3=OFF;
LED4=OFF;
}
//设置控制方式
void set(void)
{
TMOD=0x01;
EA=1;
ET0=1;
TH0=RELOADTH0;
TL0=RELOADTL0;
}
//////////
void timer0(void) interrupt 1 using 1
{
static int i=1;
LED1=!LED1;
i++;
TH0=RELOADTH0;
TL0=RELOADTL0;
if(!(i%10))
LED2=!LED2;
if(!(i%100))
LED3=!LED3;
if(!(i%1000))
{
LED4=!LED4;
i=0;
}
return;
}
void main(void)
{
init();
set();
TR0=ON;
while(1) ;
}
实验心得:
通过这次实验,我学会了使用c语言编写单片机程序,在程序中,我使用了很多宏定义,这有利于程序的再利用.
同时真正理解延迟和中断的概念!
相关文章推荐
- 单片机定时记数中断程序1--c语言实现
- ST单片机C语言驱动电机程序
- 20150223 IMX257 LED驱动程序实现
- android物联网初步,利用手机蓝牙与单片机通信,实现led灯开关和定时
- 用STM8单片机的定时器实现一个检测几路LED中出现故障程序
- C语言实现的简单银行存取款程序 请输入如下数字命令
- 创建Windows服务程序实现定时操作
- C语言大型程序的项目管理与实现
- Go-实现程序零点定时启动
- 单片机:按键(使用中断)控制数码管的数字加减(c语言实现)
- c语言多文件 6410 led裸机程序
- linux网络编程:用C语言实现的聊天程序(异步通信)
- IMX6Q学习笔记———编写LED驱动和测试程序以及相关管脚配置
- 分享一个香橙派PC2的C语言点亮LED程序
- 一个简单的四则运算程序C语言实现--无法处理括号
- ping程序(c语言实现)
- 基于C语言实现的Ping程序
- 一个简单的四则运算程序C语言实现--实现处理括号
- 【单片机】[LED]:LED 不用频率闪烁的程序
- 用C语言实现Ping程序功能