收藏 分销(赏)

光闹钟枕巾.doc

上传人:xrp****65 文档编号:7427488 上传时间:2025-01-04 格式:DOC 页数:6 大小:40.50KB 下载积分:10 金币
下载 相关 举报
光闹钟枕巾.doc_第1页
第1页 / 共6页
光闹钟枕巾.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
/* 1、按键可以调整当时时间 2、按键可以调节定时时间 3、定时时间到继电器吸合 *8位数码管显示 时间格式格式 05-59-00 标示05点59分00秒 S1 用于小时 加1操作 S2 用于小时减1操作 S3 用于分钟 加1操作 S4 用于分钟减1操作 */ /*----------------------------------------------- 名称:光时钟枕巾 日期:2011.3.6 编写:董鲁北 内容:RT ------------------------------------------------*/ #include<reg52.h> //包含头文件 sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit SPK=P3^4; //定义蜂鸣器 code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阴数码管 0-9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=59,hour=5,second; //定义并且初始化值 12:30:00 /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } void delay1() { unsigned int i,j; for(i=0;i<1000;i++) for(j=0;j<1000;j++); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0xbf; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0xbf; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } void time(void) { unsigned int i; P1=0x7e; delay1(); P1=0x3c; delay1(); P1=0x18; delay1(); P1=0x00; delay1(); P1=0xff; delay(10000); for(i=0;i<160;i++) { P1=0x00; delay(10000); P1=0xff; delay(10000); } while(1) { for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短 { delay(100); //参数决定发声的频率,估算值,可以自行更改参数并 SPK=!SPK; } SPK=1; //喇叭停止工作,间歇的时间,可更改 delay(20000); } } /******************************************************************/ /* 主函数 */ /******************************************************************/ main()//主函数 { TMOD |=0x01;//定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; //初值 TL0=0xf0; ET0=1; TR0=1; TMOD |=0x10; //定时器1用于动态扫描 TH1=0xF8; //初值 TL1=0xf0; ET1=1; TR1=1; EA =1; Displaypro(); //调用显示处理 while(1)//主循环 { if(!KEY1) //按键1去抖以及动作 { delay(10000); if(!KEY1) { hour++;if(hour==24)hour=0; //正常时间 小时 加1 Displaypro(); } } if(!KEY2) //按键2去抖以及动作 { delay(10000); if(!KEY2) { hour--;if(hour==255)hour=23; //正常时间 小时减1 Displaypro(); } } if(!KEY3) //按键去抖以及动作 { delay(10000); if(!KEY3) { minute++;if(minute==60)minute=0;//分加1 Displaypro(); } } if(!KEY4) //按键去抖以及动作 { delay(10000); if(!KEY4) { minute--;if(minute==255)minute=59; //分减1 Displaypro(); } } if(hour==6&&minute==0) time(); } } /******************************************************************/ /* 定时器1中断 */ /******************************************************************/ void time1_isr(void) interrupt 3 using 0//定时器1用来动态扫描 { static unsigned char num; TH1=0xF8;//重入初值 TL1=0xf0; switch (num){ case 0:P2=0xfe;P0=StrTab[num];break; //分别调用缓冲区的值进行扫描 case 1:P2=0xfd;P0=StrTab[num];break; case 2:P2=0xfb;P0=StrTab[num];break; case 3:P2=0xf7;P0=StrTab[num];break; case 4:P2=0xef;P0=StrTab[num];break; case 5:P2=0xdf;P0=StrTab[num];break; case 6:P2=0xbf;P0=StrTab[num];break; case 7:P2=0x7f;P0=StrTab[num];break; default:break; } num++; //扫描8次,使用8个数码管 if(num==8) num=0; } /******************************************************************/ /* 定时器0中断 */ /******************************************************************/ void tim(void) interrupt 1 using 1 { static unsigned char count;//定义内部静态变量 TH0=0xd8; //重新赋值 TL0=0xf0; count++; switch (count) { case 0: case 20: case 40: case 60: case 80:Displaypro(); //隔一定时间调用显示处理 break; default:break; } if (count==100) { count=0; second++; //秒加1 if(second==60) { second=0; minute++; //分加1 if(minute==60) { minute=0; hour++; //时加1 if(hour==24) hour=0; } } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服