led/src/main.c

73 lines
1.9 KiB
C
Raw Normal View History

2024-07-15 01:39:23 +08:00
/**************************************************************************************
PRECHIN
www.prechin.net
DS18B20温度传感器实验
线
DS18B20温度传感器
***************************************************************************************/
#include "public.h"
#include "uart.h"
#include "stdio.h"
2024-07-15 02:40:56 +08:00
#include "led.h"
2024-07-15 01:39:23 +08:00
/*******************************************************************************
* : main
* :
* :
* :
*******************************************************************************/
void main(void)
{
uart_init(0XFA);//波特率为9600
2024-07-15 02:40:56 +08:00
u8 i = 0x01;
2024-07-15 01:39:23 +08:00
while(1)
2024-07-15 02:40:56 +08:00
{
// 实验一点亮LED
// led_all_on();
// delay_ms(1000);
// led_all_off();
// delay_ms(1000);
// 实验二:流水灯
2024-07-15 02:58:54 +08:00
// LED = ~i;
// i = rotate_left(i,1);
// delay_ms(1000);
// 实验三:蜂鸣器
BEEP=!BEEP;
delay_10us(100);
2024-07-15 02:40:56 +08:00
2024-07-15 02:58:54 +08:00
// printf("Hello,world!\r\n");
2024-07-15 01:39:23 +08:00
}
}
void uart(void) __interrupt (4) //串口通信中断函数
{
u8 rec_data;
if(RI)
{
RI = 0; //清除接收中断标志位
rec_data=SBUF; //存储接收到的数据
SBUF=rec_data; //将接收到的数据放入到发送寄存器
while(!TI); //等待发送数据完成
TI=0; //清除发送完成标志?
auto_reset(rec_data);
}
if(TI)
{
TI = 0;
busy = 0;
}
2024-07-15 03:07:57 +08:00
}
void time0(void) __interrupt (1) //定时器0中断函数
{
static u16 i;//定义静态变量i
TH0=0XFC; //给定时器赋初值定时1ms
TL0=0X18;
time0_delay_cnt++;//计数器自增
2024-07-15 01:39:23 +08:00
}