📄 int.c
字号:
//头文件申明
#include "reg24le1.h"
#include "inc.h"
//函数的定义部分
#define ONESTEP 33333
/*软件延时函数*/
void delay(unsigned int dj)
{
unsigned char di;
for(;dj>0;dj--)
for(di=120;di>0;di--)
{
;
}
}
/*led灯的输出配置*/
void ioconfig()
{
P1DIR&=0XFB; //配置GPIO为输出
P12=0;
P0DIR|=0X20;
P05=1;
}
void uart()
{
CLKCTRL = 0x28; // MCU时钟设置16M
CLKLFCTRL = 0x01; // 设置32.768K时钟
P0DIR &= 0xF7; // P03 (TxD) 输出
P0DIR |= 0x10; // P04 (RxD) 输入
P0|=0x18;
S0CON = 0x50;
PCON |= 0x80; //倍增
WDCON |= 0x80; // 选择内部波特率发生器
S0RELL = 0xFB;
S0RELL = 0xF3;
}
void int0cof() //int0中断寄存器配置
{
INTEXP=0x08;
TCON|=0X01;
IEN0|=0X01;
}
void timer0cof()//t0定时器中断配置
{
TMOD=0X01;
TH0=(65536-ONESTEP)/256;
TL0=(65536-ONESTEP)%256;
ET0=1;
TR0=1;
}
void ex0service() interrupt INTERRUPT_IFP
{
if(TR0)
TR0=0;
else
TR0=1;
puts("one pin interrupt toggled!");
putch('\n');
}
void time0service() interrupt 1
{
static char num=0;
TH0=(65536-ONESTEP)/256;
TL0=(65536-ONESTEP)%256;
num++;
if(num==40)
{
num=0;
LED=!LED;
}
}
/*发送一个字符*/
void putch(char ch)
{
S0BUF=ch;
while(!TI0);
TI0=0;
}
/*发送一个字符串*/
void puts(char *str)
{
while(*str!='\0')
{
putch(*str++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -