万年历在602上的显示 可实现红外遥控 闹铃等.doc
文本预览下载声明
#include reg52.h
#include stdio.h
#define uchar unsigned char
#define uint unsigned int
#define jian 0x45
#define gongneng 0x46
#define jia 0x47
sbit dula=P2^5; //定义锁存器锁存端U1
sbit wela=P2^7; //定义锁存器锁存端U2
sbit rs=P2^4; //液晶数据命令选择端
sbit lcden=P2^6; //液晶使能端
sbit IR=P3^2; //红外接口标志
sbit s1=P3^3; //定义按键--功能键
sbit s2=P3^4; //定义按键--增大键
sbit s3=P3^5; //定义按键--减小键
sbit s4=P3^6; // 定时切换键
sbit rd=P3^7;
sbit beep=P1^2;
bit flag1 =0 ;
uchar count,s1num,s4num=0; //功能键定义
unsigned char a[6]={1,2,3,4,5,6},i=0;shi,fen,miao,shi_cuo,fen_cuo,miao_cuo,shi_alm=0,fen_alm=0,miao_alm=0,b,cc=0,years=14,month=6,day=30,flag=0;
uchar code table[] =2014-06-30 SUN; //定义初始上电时液晶默认显示状态
uchar code table1[]= 23:59:53 ; //显示时间
uchar code table2[] =SUNMONTUEWENTHUFRISAT;
//uchar code table3[] =You set a worry time; //
uchar code table3[] =警告:时间格式错误!改时失败!;
/*------------------------------------------------
红外 用 全局变量声明
------------------------------------------------*/
unsigned char irtime;//红外用全局变量
bit irpro_ok,irok,JIA=0,JIAN=0,GONGNENG=0;
unsigned char IRcord[4];
unsigned char irdata[33];
/*------------------------------------------------
/蜂鸣器发声器 //延时函数
------------------------------------------------*/
void delay(uint z) //延时函数
{
uint x,y;
for(x=z;x0;x--)
{
for(y=110;y0;y--);
}
}
void di() //蜂鸣器发声器
{
beep=0;
delay(1);
beep=1;
delay(1);
}
/*------------------------------------------------
红外用 函数声明
------------------------------------------------*/
void Ir_work(void);
void Ircordpro(void);
/*------------------------------------------------
红外用 定时器0中断处理
------------------------------------------------*/
void tim0_isr (void) interrupt 3 using 1
{
irtime++; //用于计数2个下降沿之间的时间
}
/*------------------------------------------------
红外用 外部中断0中断处理
------------------------------------------------*/
void EX0_ISR
显示全部