完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下面这段代码是:用两个数码管由0显示到99,然后停止定时器0,
我多开了一个数码管table[ge]=0x0理论上不显示的。 但是table[ge]数码管会短暂的微亮,没有消影,为什么呢。 #include #define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; void delay(uint z) { uint t1,y; for(t1=z;t1>0;t1--) for(y=110;y>0;y--); } uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f,0x0}; uint shu; uchar t,num,bai,shi,ge; void main() { num=0; TH0=(65536-50000)%256; TL0=(65536-50000)/256; EA=1; ET0=1; TR0=1; TMOD=0x01; shu=0; bai=0; shi=20; ge=20; while(1) { dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(3); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(3); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(3); } } void time1 () interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; if(t==5) { shu++; t=0; if(shu<10) bai=shu; else if(shu>=10&shu<100) { bai=shu/10; shi=shu%10; } else if(shu==100) { TR0=0; } } t++; } |
|
相关推荐
9个回答
|
|
沙发………………………………
|
|
|
|
段码和位码在写程序时的顺序要注意。
|
|
|
|
|
|
|
|
位选之后清零 试试
|
|
|
|
|
|
|
|
|
|
|
|
把你的第三位的位码要关闭
|
|
|
|
显示完后,关闭位选,再开位选
|
|
|
|
先开位选,再开段选!
wela=1; P0=0xfe; wela=0; dula=1; P0=table[bai]; dula=0; P0=0xff; delay(3); 或者前面增加一消影代码; P0=0; dula=1; dula=0; 这里不需要延时! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
955 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
829 浏览 0 评论
978 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
1038 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
823 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10520 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-6 13:14 , Processed in 0.653787 second(s), Total 56, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191