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

📄 main.c

📁 read me.txt中有说明。 是我几年来学习单片机的所有的程序的精华
💻 C
字号:
/*************************************************************************
程序功能:  实现可校正式的电子万年历
           液晶型号为FM12864J(20个接口) ,使能信号E为低电平有效
整理时间:  2006-10
**************************************************************************/

#include <reg52.h>
#include <intrins.h>
#include <ku-hzzi.h>                                //包含图片和汉字的数据 
#include <zifu.h>                                   //包含键盘字符
#include <picture.h>                                //为图片库
#include <lcd12864.h>                               //包含对端口定义和函数的预定义
#include <12864.h>                                  //包含128X64驱动程序,即读写函数等底层函数

#include <ds18b20.h>
#include <ds18b20.c>

#include <ds1302.h>
#include <ds1302.c>

#include <musics.h>
#include <musics.c>

#include <time_daoji.h>
#include <time_daoji.c>

#include <time_naoling.h>
#include <time_naoling.c>

#include <ps2jiaozheng_naoling.c>                  //校正闹铃的开与关

#include <hongwai_receiver.c>                      //红外校正


void lcd_delay(int x)                              //延时程序
{
	int i,j;
	for(i=0;i<516;i++)
		for(j=0;j<x;j++);
}



void main(void) 
{       
	unsigned char lie;                             //定义列
	unsigned char hang;                            //定义行

    ps2_interrupt_ini();                           //ps2 中断管理,中断初始化
    hongwai_ini();                                 //红外校正初始化
	lcd_init();                                    //初始化液晶驱动硬件
	DS1302_limit();                                //DS1302初始化
    time_daoji_ini();                              //倒计时初始化
    music_Time0_Init();                            //音乐产生初始化
    time_naolingini();                             //闹钟初始化
	lcd_delay(30);
	lcd_clr();                                     //清屏 
    biankuang_display();                           //显示边框

	while(1)     
      {     
        lie=0;                                     //列的值可以是0--127任意一个
        hang=0;                             

		DS18B20();                                 //进行温度读取和显示
        if(temfg==0)
		  {
		    // lcd_putchar5x16(84,2,hengxian);     //显示负号,红外控制时不显示符号,符号这里受影响较大
		  }
		lcd_num5x16(90,2,temsdata1);
		lcd_num5x16(96,2,temsdata2);
		lcd_num5x16(108,2,temxiaoshu1);	
           
        ds1302pro();                               // 万年历调试成功
        lcd_num5x16(8,2,xiaoshi01);                //显示时间,不带边框
        lcd_num5x16(14,2,xiaoshi02);
		lcd_num5x16(26,2,min01);
		lcd_num5x16(32,2,min02);
		lcd_num5x16(44,2,sec01); 
		lcd_num5x16(50,2,sec02);
		lcd_num_biankuang5x16(8,0,nian01);
		lcd_num_biankuang5x16(14,0,nian02);
		lcd_num_biankuang5x16(26,0,yue01);
		lcd_num_biankuang5x16(32,0,yue02);
		lcd_num_biankuang5x16(44,0,ri01);
		lcd_num_biankuang5x16(50,0,ri02);  
		lcd_xingqi_dis12x16(38,4,zhouxingqi);      // 星期显示未调试

        time_daojipro();                           //倒计时部分 ,使能信号错乱,未解决
		lcd_num5x16(90,4,time_daoji_min01);
		lcd_num5x16(96,4,time_daoji_min02);
		lcd_num5x16(108,4,time_daoji_sec01);
		lcd_num5x16(114,4,time_daoji_sec02);

        time_naolingpro();                        //闹铃功能,闹铃工作的使能信号有问题
		lcd_num_biankuang5x16(90,0,time_naoling_hour01);
		lcd_num_biankuang5x16(96,0,time_naoling_hour02);
		lcd_num_biankuang5x16(108,0,time_naoling_min01);
		lcd_num_biankuang5x16(114,0,time_naoling_min02);

        hongwai_control();                        //有红外输入则产生校正作用

		music_Play();                             //打开音乐使能后,可以演奏音乐

	   } 
} 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -