📄 time3.c
字号:
#include <c8051f020.h>
#define uint8 unsigned char
#define uint16 unsigned int
#define time 2000 //时间=(time/1000)s
uint16 flag;
void SYSCLK_Init(void)
{
uint8 i;
OSCXCN = 0X67;//开始外部22.1184M晶振
for(i = 0;i < 128;i++); //等待外部起振
while(!(OSCXCN & 0X80)); //查询标志位
OSCICN = 0X88;//用外部晶振,并使能始终丢
}
void Init_Timer3(void)
{
TMR3CN=0X00;
TMR3RLL=0X09a;
TMR3RLH=0X0f1;
/*TMR3L=0X0ff;
TMR3H=0X0ff;*/
TMR3CN|=0X04;
EIE2|=0X01;
}
void Init_PORT(void)
{
XBR2=0X40;
//P0MDOUT=0XFF;
//P74OUT=0X04;
P74OUT=0Xff;
P5=0X00;
//P0=0xff;
}
void Timer3_ISR(void) interrupt 14
{
TMR3CN&=0X7F;
flag++;
if(flag==time)
{
P5=~P5;
flag=0;}
}
void main(void)
{
WDTCN = 0xde;
WDTCN = 0xad;//关闭看门狗
SYSCLK_Init();
Init_PORT();
Init_Timer3();
EA=1;
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -