|
閑極無(wú)聊,做了個(gè)LED免限流電阻直接驅(qū)動(dòng)實(shí)驗(yàn),效果不錯(cuò)
/*************************************************
工程名:LED免限流電阻直接驅(qū)動(dòng)實(shí)驗(yàn)
作 者:老芹
定時(shí)器每0.5mS中斷一次,八位顯示耗時(shí)12mS,每位1.5mS
CPU:STC15F204EA
驗(yàn)證通過(guò)
************************************************/
#include <STC15F2K60S2.H>
typedef unsigned char uint8;
typedef unsigned int uint16;
uint8 Timer_1,IO_control; //LED_control作為控制LED亮滅的控制變量
sbit LED = P2^5;
void Timer0_Init();
void IO_Model_Config(); //初始化IO口
void main()
{
Timer0_Init();
IO_Model_Config(); //IO工作模式配置(將LED的IO設(shè)置為推挽輸出模式)
while(1)
{
}
}
void Timer0() interrupt 1 //定時(shí)器中斷 ,16位自動(dòng)重裝模式,無(wú)需重賦初值
{
Timer_1++;
LED = IO_control;
if (Timer_1<=3)
IO_control = 1;
else IO_control = 0;
if (Timer_1==12)
Timer_1 = 0;
}
void Timer0_Init() //定時(shí)器初始化
{
AUXR &= 0x7F; //定時(shí)器時(shí)鐘12T模式,0.5mS
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TL0 = 0x33; //設(shè)置定時(shí)初值
TH0 = 0xFE; //設(shè)置定時(shí)初值
TR0 = 1; //定時(shí)器0開始計(jì)時(shí)
ET0 =1;
EA = 1;
}
void IO_Model_Config()
{
P2M1 = 0x00;
P2M0 = 0xff;
}
|
評(píng)分
-
查看全部評(píng)分
|