⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 M8+1302+18b20+8位数码管的sch和gcc源程序
💻 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 + -