新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 掌握单片机的精髓-定时器

掌握单片机的精髓-定时器

作者:时间:2016-11-21来源:网络收藏

问题描述:

本文引用地址:http://www.eepw.com.cn/article/201611/319251.htm

单片机的精华资源不多,今天练习掌握它的定时器硬件资源

硬件环境:

89C58RD+单片机(共三个定时器T0、T1、T2)


目标是这样的:定时器定时1秒后闪灭led,使用的是定时器内部中断

代码如下:

#include

sbit led = P1^0;

unsigned int int_count = 0;

void internal_int() interrupt 1 // time0 overflow
{
int_count ++;
//TH0=(8192-5000)/32;//分别得到高8位和低8位
//TL0=(8192-50000)2;
if(int_count == 20)
{
led = ~ led;
int_count = 0;
}
}

void init(void)
{
led = 0;
TMOD=0x00;
TH0=(65536-50000)/256;//分别得到高8位和低8位
TL0=(65536-50000)%6;
IE = 0x82;
TR0=1; // 计数器T0运行,timer run

}


void main()
{
init();
while(1);
}

哈哈 成功了



关键词: 单片机定时

评论


技术专区

关闭