完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本人菜鸟,
程序如下: #include unsigned char t0,t1,msec,sec,r; void delay(unsigned char i) { unsigned char j,k; for(k=0;k for(j=0;j<25;j++); } void delay0_5s1() { for(t0=0;t0<0x0a;t0++) { TH1=0x3c; TL1=0xb0; TR1=1; while(!TF1); TF1=0; } } void delay_t1(unsigned char t) { for(t1=0;t1 } void T0_INT(void) interrupt 1 { TH0=0x3c; TL0=0xb0; msec++; if(msec==20) { msec=0; sec++; if(sec==30) { sec=0; } } } void main() { unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; TMOD=0x10; TH0=0x3c; TL0=0xb0; TR0=1; EA=1; ET0=1; while(1) { P3=0x80; P1=led[sec%10]; delay(1); P3=0x40; P1=led[sec/10]; delay(1); P0=0xf3; delay_t1(5); for(r=0;r<4;r++) { P0=0xeb; delay0_5s1(); P0=0xfb; delay0_5s1(); } P0=0xde; delay_t1(5); for(r=0;r<4;r++) { P0=0xdd; delay0_5s1(); P0=0xdf; delay0_5s1(); } } } 请问数码管怎么会只亮一个呢,问题出在哪里?
|
|
相关推荐
3个回答
|
|
|
本帖最后由 HARRY007 于 2013-1-9 18:52 编辑
这个给你参考一下,数码管显示就是人眼的视觉暂留,我看你的程序,WHILE里面执行以后刚开始的P3=0X80之后很快位选就改变了,而且了P0口数据变化也花费了很长时间,那这个时候你的0X80早已经过去很久了,已经灭了。
|
|
|
|
|
|
很好的资料
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
331 浏览 0 评论
532 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
842 浏览 0 评论
1383 浏览 2 评论
824 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16911 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 05:31 , Processed in 0.565563 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2761