微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 掌握单片机的精髓-定时器

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

时间:11-21 来源:互联网 点击:

问题描述:

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

硬件环境:

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);
}

哈哈 成功了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top