📄 main.c
字号:
#define main_c
#include "main.h"
int main(void)
{
//IO初始化
clr_hc595_ser();
set_hc595_ser_ddr();
clr_hc595_srclk();
set_hc595_srclk_ddr();
clr_hc595_rclk();
set_hc595_rclk_ddr();
set_buzzer();
set_buzzer_ddr();
clr_ds1302_rst();
set_ds1302_rst_ddr();
clr_ds1302_io();
clr_ds1302_io_ddr();
clr_ds1302_sclk();
set_ds1302_sclk_ddr();
clr_ds18b20_dq();
set_ds18b20_dq_ddr();
set_key();
clr_key_ddr();
//定时器timer0初始化
TCNT0=t0_tcnt;//定时1ms
TCCR0=(1<<CS02)|(1<<CS00);//1024分频,7372800/1024=7200
TIMSK|=1<<TOIE0;//允许t0溢出中断
//定时器timer1初始化
TCNT1=t1_tcnt;//定时500ms
TCCR1A=0;
TCCR1B=(1<<CS12)|(1<<CS10);//1024分频
TIMSK|=1<<TOIE1;
convert_ds18b20();
ds1302_read_time();
timer0_hour=eeprom_read_byte((uchar *)(timer0_address+0));
timer0_minute=eeprom_read_byte((uchar *)(timer0_address+1));
timer1_hour=eeprom_read_byte((uchar *)(timer1_address+0));
timer1_minute=eeprom_read_byte((uchar *)(timer1_address+1));
timer2_hour=eeprom_read_byte((uchar *)(timer2_address+0));
timer2_minute=eeprom_read_byte((uchar *)(timer2_address+1));
timer3_hour=eeprom_read_byte((uchar *)(timer3_address+0));
timer3_minute=eeprom_read_byte((uchar *)(timer3_address+1));
timer4_hour=eeprom_read_byte((uchar *)(timer4_address+0));
timer4_minute=eeprom_read_byte((uchar *)(timer4_address+1));
timer5_hour=eeprom_read_byte((uchar *)(timer5_address+0)); timer5_minute=eeprom_read_byte((uchar *)(timer5_address+1));
asm("sei");
while(1)
{
flash_control=0;
key_scan();
if(second_flag)
{
second_flag=0;
read_temperature();
}
if(flag&(1<<hour_flag))
{
flag&=~(1<<hour_flag);
ds1302_read_time();
}
check_timer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -