完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
2个回答
|
|
论坛搜,
|
|
|
|
#include
***it wela=P2^7; ***it dula=P2^6; ***it key1=P3^4; ***it key2=P3^5; ***it key3=P3^6; ***it key4=P3^7; ***it beep=P2^3; unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; unsigned char code table1[]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; unsigned int tt; unsigned int sec,fen,hr; void init(); void scankey(); void beeping(); void display(hr,fen,sec); void delay(z); void main() { init(); while(1) { //clock(); scankey(); display(hr,fen,sec); } } /***************** 初始化程序,char型最大值为255可以调整时间 进行整点报时的时钟 *****************/ void init() { //num=0; hr=fen=sec=0; TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; } /************ 定时器中断 *************/ void timer0() interrupt 1 { TH0=(65536-10000)/256; TL0=(65536-10000)%256; tt++; if(tt ==100) { tt=0; sec++; if(sec ==60) { sec=0; fen++; if(fen ==60) { fen=0; hr++; if(hr ==24) { hr =0; } } } } beeping(); //display(hr,fen,sec); } /*******************/ /*num++; miao_ge=num%60%10; miao_shi=num%60/10; fen_ge=num/60%10; fen_shi=num/60/10; if(num == 3600) { num=0; hr++; if(hr ==24) hr=0; } hr_ge=hr%10; hr_shi=hr/10;*/ /**************/ void display(hr,fen,sec) { wela=1; P0=0xfe; wela=0; P0=0x00; dula=1; P0=table[hr/10]; dula=0; P0=0xff; delay(1); wela=1; P0=0xfd; wela=0; P0=0x00; dula=1; P0=table[hr%10]; dula=0; P0=0xff; delay(1); wela=1; P0=0xfb; wela=0; P0=0x00; dula=1; P0=table[fen/10]; dula=0; P0=0xff; delay(1); wela=1; P0=0xf7; wela=0; P0=0x00; dula=1; P0=table[fen%10]; dula=0; P0=0xff; delay(1); wela=1; P0=0xef; wela=0; P0=0x00; dula=1; P0=table[sec/10]; dula=0; P0=0xff; delay(1); wela=1; P0=0xdf; wela=0; P0=0x00; dula=1; P0=table[sec%10]; dula=0; P0=0xff; delay(1); } /*********** 延时程序 **************/ void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /************/ void scankey() { int i,j,flag_key; i=j=flag_key=0; if(key1!=1) { delay(10); if(key1!=1) { TR0=1; } } if(key2!=1) { delay(10); if(key2!=1) { TR0=0; hr++; if(hr ==24) hr=0; while(key2!=1) display(hr,fen,sec); } } if(key3!=1) { delay(10); if(key3!=1) { TR0=0; fen++; if(fen ==60) fen=0; while(key3!=1) display(hr,fen,sec); } } if(key4!=1) { delay(10); if(key4!=1) { TR0=0; sec++; if(sec ==60) sec=0; while(key4!=1) display(hr,fen,sec); } } } void beeping() { beep=1; if(fen==0 && sec ==0) { beep=0; } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
72 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
509 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
546 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
545 浏览 0 评论
1008 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:40 , Processed in 0.575363 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号