|
#include <STC15F2K60S2.H>
/******************** IO配置函數(shù) **************************/
void GPIO_config(void)
{
P5M0 = 0; //設(shè)置準(zhǔn)雙向口
P5M1 = 0;
}
void Timer0Init(void) //10毫秒@11.0592MHz
{
AUXR &= 0x7F; //定時(shí)器時(shí)鐘12T模式
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TMOD |= 0x01; //設(shè)置定時(shí)器模式
TL0 = 0x00; //設(shè)置定時(shí)初值
TH0 = 0xDC; //設(shè)置定時(shí)初值
TF0 = 0; //清除TF0標(biāo)志
TR0 = 1; //定時(shí)器0開始計(jì)時(shí)
ET0 = 1; //使能 T0 中斷
EA = 1; //開啟全局中斷
}
/******************** 主函數(shù) **************************/
void main(void)
{
GPIO_config(); //端口設(shè)置
Timer0Init(); //10毫秒@11.0592MHz
while(1)
{
}
}
//定時(shí)器0中斷函數(shù),每10ms進(jìn)一次中斷
void tm0_isr(void) interrupt 1
{
static int count=0;
TL0 = 0x00; //設(shè)置定時(shí)初值
TH0 = 0xDC; //設(shè)置定時(shí)初值
TF0 = 0; //清除TF0標(biāo)志
if(++count>=50)//每50周期燈翻轉(zhuǎn)一次,一個(gè)周期10ms
{
count = 0;
P55 = ~ P55; //LED 取反:0-->1、1-->0
}
}
|
|