完善资料让更多小伙伴认识你,还能领取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; } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
609 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
633 浏览 0 评论
768 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
952 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
768 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10504 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-5 11:22 , Processed in 0.547020 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191