资源简介

可以实现设置时间、闹钟、显示温度、温度报警、秒表等功能

资源截图

代码片段和文件信息

/***************************************************************************
日期:20130124
功能:多功能万年历,拥有日历调整,秒表,闹钟,温度报警的功能
作者:JiaQiXi
****************************************************************************/

#include                             //包含单片机内部资源预定义
#include“lcd.h“
__CONFIG(0xFF32);                           //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡

#define buz  RE0                            //定义声音控制脚
/*Ds1302的相关硬件引脚定义*/
#define IO      RC4              //定义DS1302的数据IO口
#define CLK     RC3                 //定义DS1302的时钟口  
#define RST     RC2              //定义DS1302的复位口 
/*Ds18b20的相关硬件引脚定义*/
#define DQ RC1
#define DQ_high() DQ=1;TRISC1=0             //拉高电平:C1端口为输出,RC1=1
#define DQ_low() DQ=0;TRISC1=0              //拉低电平:C1端口为输出,RC1=0 
/*RB按键的相关硬件引脚定义*/
#define KEY0    RB0
#define KEY1    RB1
#define KEY2    RB2
#define KEY3    RB3

#define uint unsigned int
#define uchar unsigned char

void INIT_PORT(void);
void INIT_DS1302(void);
void INIT_Timer0(void);
void write_ds1302_cmd(uchar cmd);             //向DS1302写命令或写数据
void set_time(void);
uchar read_time(void);
void get_time(void);
void reset_ds18b20(void);
void write_byte(char cmd);
char read_byte(void);
void get_temp(void);
void Calendar_play(void);
void Set_calendar(void);
void Set_stwatch(void);
void Set_alclock(void);
void Set_tpalarm(void);
void key_scan_calendar(uchar table2[]);
void key_scan_clock(uchar table3[]);
void Screen_disp(void);
void Calendar_disp(uchar table1[]);
void Stwatch_disp(void);
void Tpalarm_disp(void);
void Clock_disp(void);
void clalarm(void);
void tpalarm(void);
void sounddelay(uchar delay_count);
void delayms(int n);
void delayus(char n);
void Menu_disp(void);
void Set_calendar_disp(void);
void Set_stwatch_disp(void);
void Set_alclock_disp(void);
void Set_tpalarm_disp(void);
void interrupt Timer0(void); 

int i=0tempertp=2300tpp[3];      //temper实时温度;tp温度报警上限值;tpp[0]=tp/100tpp[1]=tp%100tpp[2]温度报警功能启停控制位
char Timer0_10ms=0Timer0_second=0Timer0_minute=0Timer0_hour=0;
char abcdflag[3]={000};
volatile uchar rec ;
uchar table[7];
/* 起始时间:    秒     分   时    日    月    星期   年   */
uchar start[7]={0x00 0x27 0x14 0x02 0x12 0x07 0x12};
/* 闹钟时间:    秒     分   时   开关 */
uchar stop[4]={0x00 0x29 0x140x00};

void main()
{  
    INIT_PORT();
    INIT_DS1302();
    INIT_Timer0();
    init_lcd(); 
    write_lcd_command(0x011);       //清屏
    set_time();                      //写入初始时间
    tpp[2]=1;                        //关闭温度报警功能
    while(1)
    {
        if(flag[0]==0&KEY0==0)
        {
            delayms(5);
            if(KEY0==0)
            {
                while(!KEY0);
                flag[0]=1;
            }
        }
        else if(flag[0]==1&KEY0==0)
        {
             delayms(5);
             if(KEY0==0)
             { 
                 while(!KEY0);
                 flag[0]=2;
             } 
        }
        else i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      52160  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.c

     文件     117916  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.cof

     文件        221  2013-03-13 13:41  CALENDAR 1.3\CALENDAR.dep

     文件      25453  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.hex

     文件      11507  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.hxl

     文件     272487  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.lst

     文件      32449  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.map

     文件       1251  2013-03-13 14:06  CALENDAR 1.3\CALENDAR.mcp

     文件       7421  2013-03-13 14:06  CALENDAR 1.3\CALENDAR.mcs

     文件      29184  2013-03-13 14:06  CALENDAR 1.3\CALENDAR.mcw

     文件      87496  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.obj

     文件     439624  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.rlf

     文件      13898  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.sdb

     文件      29624  2013-03-13 14:05  CALENDAR 1.3\CALENDAR.sym

     文件       5740  2013-01-14 13:58  CALENDAR 1.3\lcd.c

     文件        221  2013-03-13 14:05  CALENDAR 1.3\lcd.dep

     文件        500  2013-01-20 14:09  CALENDAR 1.3\lcd.h

     文件      30643  2013-03-13 14:05  CALENDAR 1.3\lcd.lst

     文件       7085  2013-02-03 21:16  CALENDAR 1.3\lcd.obj

     文件      41322  2013-02-03 21:16  CALENDAR 1.3\lcd.rlf

     文件      11125  2013-02-03 21:16  CALENDAR 1.3\lcd.sdb

     目录          0  2013-08-01 13:30  CALENDAR 1.3

----------- ---------  ---------- -----  ----

              1217327                    22


评论

共有 条评论