完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
下面是代码
#include #define uchar unsigned char #define uint unsigned int uchar code weixuan[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; uchar code duanxuan[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90,0xbf,0xff}; uchar data timedata[3]={0x00,0x00,0x00}; uchar data datetime[8]={0xc0,0xc0,0xbf,0xc0,0xc0,0xbf,0xc0,0xc0}; //ʱ¼ä»º³åÇø£¬³õʼ»¯ÏÔʾ00-00-00 uchar tt1,tt2,tt,tt0,num=0; uchar flag,flag1,flag2,flash; ***it key1=P1^3; ***it key2=P1^5; ***it key3=P1^7; /****************ÑÓʱº¯Êý*************/ void delay(uint del) { uchar i,j; for(i=0;i } /*************µ÷ÓÃÏÔʾ*************/ void display() { datetime[0]=timedata[0]%10;datetime[1]=timedata[0]/10;//Ãë datetime[3]=timedata[1]%10;datetime[4]=timedata[1]/10;//·Ö datetime[6]=timedata[2]%10;datetime[7]=timedata[2]/10;//ʱ if(!flag) { P2=0x80;//ÃëÏÔʾ P0=duanxuan[datetime[0]]; delay(2); P2=0x40; P0=duanxuan[datetime[1]]; delay(2); } else { P2=0x80;//ÃëÏÔʾ P0=duanxuan[datetime[0]]|flash; delay(2); P2=0x40; P0=duanxuan[datetime[1]]|flash; delay(2); } P0=0x20; P0=duanxuan[10]; delay(2); if(!flag1) { P2=0x10;//·ÖÏÔʾ P0=duanxuan[datetime[3]]; delay(2); P2=0x08; P0=duanxuan[datetime[4]]; delay(2); } else { P2=0x10;//·ÖÏÔʾ P0=duanxuan[datetime[3]]|flash; delay(2); P2=0x08; P0=duanxuan[datetime[4]]|flash; delay(2); } P2=0x04;//СʱÏÔʾ P0=duanxuan[10]; delay(2); if(!flag2) { P2=0x02;//СʱÏÔʾ P0=duanxuan[datetime[6]]; delay(2); P2=0x01; P0=duanxuan[datetime[7]]; delay(2); } else { P2=0x02; P0=duanxuan[datetime[6]]|flash; delay(2); P2=0x01; P0=duanxuan[datetime[7]]|flash; delay(2); } } /*************°´¼üµ÷½Úʱ¼ä**************/ void keyscan() { if(key1==0) { delay(10); if(key1==0) { num++; while(!key1); while(1) { if(num==1) { flag=1; flag1=0; flag2=0; if(key2==0) { delay(10); if(key2==0) { delay(10); if(key2==0) { timedata[0]--; if(timedata[0]==-1) timedata[0]=60; while(!key2); } } if(key3==0) { delay(10); if(key3==0) { timedata[0]++; if(timedata[0]==60) timedata[0]=0; while(!key3); } } } if(key1==0) { delay(10); if(key1==0) num++; while(!key1); } if(num==2) { flag=0; flag1=1; flag2=0; if(key2==0) { delay(10); if(key2==0) { delay(10); if(key2==0) { timedata[1]--; if(timedata[1]==-1) timedata[1]=60; while(!key2); } } if(key3==0) { delay(10); if(key3==0) { timedata[1]++; if(timedata[1]==60) timedata[1]=0; while(!key3); } } } if(num==3) { flag=0; flag1=0; flag2=1; if(key2==0) { delay(10); if(key2==0) { timedata[2]--; if(timedata[2]==-1) timedata[2]=24; while(!key2); } } if(key3==0) { delay(10); if(key3==0) { timedata[2]++; if(timedata[2]==25) timedata[2]=0; while(!key3); } } } if(num==4) { num=0; flag=0; flag1=0; flag2=0; break; } } } } } /**********Ö÷º¯Êý**************/ void main() { TMOD=1; ET0=1; TR0=1; TH0=0x40; TL0=0x00; EA=1; while(1) { keyscan(); } } /*************¶¨Ê±Æ÷º¯Êý*********/ void timer1() interrupt 1 { TH0=0x40; TL0=0x00; P3=100; display(); if((flag||flag1||flag2)) { tt0++; if(tt0==10) { flash=-flash; tt0=0; } } else { tt++; if(tt=20) { tt=0; timedata[0]++; if(timedata[0]==60) { timedata[0]=0; timedata[1]++; if(timedata[1]==60) { timedata[1]=0; timedata[2]++; if(timedata[2]==24) { timedata[2]=0; } } } } } }
|
|
相关推荐
8个回答
|
|
路过。帮顶一下
|
|
|
|
|
|
|
|
什么问题,或现象啊
|
|
|
|
TMOD好像不能这样寻址 你改成TMOD=0x01
|
|
|
|
不是好像……应该是就不能像你那样寻址(我也是菜鸡
|
|
|
|
|
|
|
|
按键扫描???
|
|
|
|
小伙子去看看我发的帖子,有源代码
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
715 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
970 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1148 浏览 0 评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试
1150 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之传参
650 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11063 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-13 02:39 , Processed in 0.700606 second(s), Total 87, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191