第一范文网 - 专业文章范例文档资料分享平台

中国矿业大学徐海学院单片机

来源:用户分享 时间:2025/5/17 13:28:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

P2=0xef;

delay(300);//短暂延时

P0=mDis_Gewei; //显示个位 P2=0xdf; delay(300); if(key_value==0x09) //如果读到K1为0 { key_value=0; min++; if(min==60) min=0; }

P0=hDis_Shiwei;//显示十位 P2=0xfb;

delay(300);//短暂延时

P0=hDis_Gewei; //显示个位 P2=0xf7; delay(300); if(key_value==0x43) //如果读到K1为0 { key_value=0; hour++; if(hour==24) hour=0; } if(key_value==0x40) //如果读到K1为0 { key_value=0; hour--; if(hour==0) hour=23; }

sDis_Shiwei=~tab[second/10];//十位显示值处理 sDis_Gewei=~tab[second]; //个位显示处理 mDis_Shiwei=~tab[min/10];//十位显示值处理 mDis_Gewei=~tab[min]; //个位显示处理 hDis_Shiwei=~tab[hour/10];//十位显示值处理 hDis_Gewei=~tab[hour]; //个位显示处理

if(key_value==0x45) //如果读到K1为0 { key_value=0; minx=min; hourx=hour;

}

flag=0; } if(key_value==0x15) //如果读到K1为0 { key_value=0; min--; if(min==0) min=59; }

if((min==(minx+1)) && (hour==hourx)) {flag=0;}

if((min==minx) && (hour==hourx) && flag==0) {

while(1) {

TR2=1; //启动定时器 ET2=1; //打开定时器2中断 i=0;

while(i<100) //音乐数组长度 ,唱完从头再来 {

k=sszymmh[i]+7*sszymmh[i+1]-1; timer0h=FREQH[k]; timer0l=FREQL[k]; RCAP2H=timer0h; RCAP2L=timer0l;

time=sszymmh[i+2]; i=i+3; song();

if(key_value==0x47) //如果读到K1为0 { key_value=0; flag=1; TR2=0; //启动定时器

ET2=0; //打开定时器2中断 break; } } break; } }

}

timer1() interrupt 3 {

unsigned char count; TH1=0xd8;//重新赋值 TL1=0xf0; count++;

if (count==100) {

count=0;

second++;//秒加1 if(second==60) { second=0; min=min+1; } if(min==60) { min=0; hour=hour+1; } if(hour==24) { hour=0; second=0; min=0; } } }

void t2int() interrupt 5 {

TR2=0; TF2=0;

speaker=!speaker;

TR2=1; }

Decode.c

/******************************************************************/ /* 红 外 遥 控 解 码 */ /* CPU & XTAL :89c52 @ 12Mhz */ /* 支持的红外编码方案: NEC6121 */ /* 编码格式:引导信号(或连发信号)+地址码+地址码+控制码+控制码反码 */ /******************************************************************/

#include \//#include \#include #include

#define uchar unsigned char #define uint unsigned int

/******************************************************************/ /* 变 量 保 存 区 */ /******************************************************************/ static unsigned char Timer0_cnt; //定时器计数值 static unsigned char Timer0_cnt_bk; static bit timeout; //超时标志 static bit Guide; //引导码有效 static bit Continuous; //连发码 static unsigned char IR_time[33]; //保存每两个下降沿之间的时间间隔

/******************************************************************/ /* 结 构 体 区 */ /* 保存一次解码后接受到的四字节数据 */ /******************************************************************/ static struct IR_data //红外接收数据寄存 {

unsigned char addr1; //地址1(客户码1) unsigned char addr2; //地址2(客户码2) unsigned char data1; //数据1(数据码) unsigned char data2; //数据2(数据码反码) }IR_data;

uchar key_value; //键值 bit key_flg; //按钮按下标志 bit cycle_flg; //循环标志

搜索更多关于: 中国矿业大学徐海学院单片机 的文档
中国矿业大学徐海学院单片机.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c92js91vhgc3ibqw7sip9_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top