用查询定时器0溢出标志位的方式实现LED灯闪

发布者:SereneWhisper最新更新时间:2012-11-24 来源: 21ic 关键字:查询定时器  溢出标志位  LED灯闪 手机看文章 扫描二维码
随时随地手机看文章
我来给大家一些单片机控制led灯的程序,都有详细的注释,有错误的话请大家指点。
用查询定时器0溢出标志位的方式实现LED灯闪烁。
用定时器0实现P2_0所接LED灯每60ms亮或灭一次,设系统晶振为12MHz。该例子中采用查询定时器0溢出标志位的方法,若是溢出标志位为1,则执行P2_0引脚取反的语句,使LED灯闪烁。源程序如下:
//程序出自51hei单片机
#include "reg51.h"  //头文件
sbit P2_0=P2^0;    //定义P2_0为P2口的0引脚
void main()  //主函数
{P2=0xff;   //熄灭所有LED灯
TMOD=0x01;  //定时器模式1,16位计数
TH0=0x15;   //设置计数初值5536,则计数值为60000,对于12M时钟,相当于60ms
TL0=0xa0;   //设置定时器低8位
TR0=1;    //启动定时器0
for(;;)   //无限循环
{if(TF0)  //查询定时器0溢出标志位,如果溢出标志位为1,则执行如下语句
{TF0=0;   //清零标志位
TH0=0x15; //重置定时器高8位
TL0=0xa0; //重置定时器低8位
P2_0=!P2_0;  //将P2_0引脚取反,LED灯闪烁
}}}

--
P3.4~7引脚相连的按键控制P2.0~3连接的LED灯。
#include
unsigned char temp;   //定义变量temp
void main(void)      //主函数
{
while(1)    //无限循环
{temp=P3>>4;  //将P3口右移4位
temp=temp | 0xf0;  //将P3口的低4位送temp
P2=temp;           //将P3口的低4位送P2口
} }

关键字:查询定时器  溢出标志位  LED灯闪 引用地址:用查询定时器0溢出标志位的方式实现LED灯闪

上一篇:51单片机脉冲宽度调制(PWM)控制LED灯亮度
下一篇:单片机测量频率的设计与实现

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved