完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
sfr P1M0 =0x92; sfr P1M1 =0x91; char buf[4] ={0x01,0x02,3,4}; char hour=0,min=0,sec=0; char code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; int time; void delay(void){ unsigned int j; j=1000; for(;j--;); } unsigned int count=0; void dir(void){ P0= TAB[buf[0]] ; P1=0x08; delay(); P0=0xff; //£¿£¿£¿ P1=0x02; P0= TAB[buf[1]] ; if(count>10)P0&=0x7f; P1=0x02; delay(); P0=0xff; P1=0x04; P0= TAB[buf[2]] ; //if(count>10)P0&=0x7f; delay(); P0=0xff; P1=0x01; P0= TAB[buf[3]] ; delay(); P0=0xff; P1=0x00; } void t1(void) interrupt 3 { TL1= (char)(15536&0x00ff); TH1= (char)(15536>>8); count++; if(count>19){ count=0; //buf[3]++; time++; if(time>3599) time=0; hour++ if(hour>23) } } void main(void){ char min,sec; hour P1M0 =0x0f; P1M1 =0x00; TMOD=0x10; TH1= (char)(15536>>8); TL1= (char)(15536&0x00ff); IE=0x88; TR1=1; while(1) { min=(char)(time/60) ; buf[0]=min/10; buf[1]=min%10; sec=(char)(time%60) ; buf[2]=sec/10; buf[3]=sec%10; dir(); } } 这个程序每步的解释,想在加点每到1小时蜂鸣器喊5秒,每10分20分30分等时间数码管闪烁10次 |
|
相关推荐
3个回答
|
|
这个程序很简单,只是我现在帮不了你
|
|
|
|
岗***要求:
1、大专及以上学历,电子信息工程,计算机及其相关专业; 2、三年以上行业相关工作经验; 3、 熟练C++/C语言,熟悉ARM / Linux嵌入式开发和交叉编议; 4、熟悉 windows界面开发; 5、有良好的编程习惯,英语熟练,很好有沟通能力,团队协作能力,以及抗压能力; 6、有智能交通、停车场系统、加油站系统等行业系统软件开发经验者优先,能够独立完成LED智能交通软件对接工作者尤佳; 7、身体健康,开朗乐观,有责任心和荣誉感。 相关待遇: 1、5.5天7.5小时工作制,假期跟国家同步。 2、***,住宿舒适4—6人间,宿舍有热水器,吃饭每天三餐只需10元。 3、全勤奖30元/月,有年终奖,每年均有调薪机会。 4、每月评比优秀员工,奖励200元/次。 5、员工社保,过节过生日礼品发放,员工活动丰富多彩。 6、每年端午节有一次全员省内旅游活动,放松您的身心。 7、完善的晋升机制,岗***有发展前景。 8、办公环境良好,工作气氛好,管理人性化。 9、国内外销售均有培训,有平台和展会,上手速度快。 10、高层尊重体恤员工劳动成果,让您得到足够重视 |
|
|
|
嗨,您是問這段Code怎麼改吧?
蜂鳴器叫可以做,但數碼管閃爍,本來就是逐位掃描方式,要一起閃不太可能,但可以ˊ有逐位數碼管ˊˊ掃描不夠快產生的閃爍現象 宣告改成 #include void t1(void) interrupt 3 { TL1= (char)(15536&0x00ff); TH1= (char)(15536>>8); sec++; if(sec>59) { sec=0; min++; } if(min>59) min=0; } void main(void){ P1M0 =0x0f; P1M1 =0x00; TMOD=0x10; TH1= (char)(15536>>8); TL1= (char)(15536&0x00ff); IE=0x88; TR1=1; while(1) { buf[0]=sec%10; buf[1]=sec/10; buf[2]=min%10; buf[3]=min/10; if(min==0 && sec==0) beeper==1; if(beeper==1) { if(sec<5) beep_on(); //打開Beeper所接的GPIO else { beep_off(); beeper=0; } } if(min==10 || min==20 || min==30) { if(sec<10) dir_slow(); //將數碼管函數重做一個 delay加長,達到閃爍 else dir(); //正常顯示 } else dir(); } } 以上希望有幫助到您 |
|
|
|
只有小组成员才能发言,加入小组>>
709 浏览 0 评论
1116 浏览 1 评论
2494 浏览 5 评论
2833 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2675 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
661浏览 9评论
672浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
789浏览 6评论
636浏览 5评论
679浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 14:42 , Processed in 0.705053 second(s), Total 85, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号