完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想用动态的数码管显示从200开始隔1s减1 但是使用的时候前面两个数码管数字是对的但是一直闪烁是为什么?
程序如下: #include #define uint unsigned int #define uchar unsigned char uchar temp,bai,shi,ge,aa; void display(uchar); void delay(uint); uchar code tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; ***it wela=P2^7; ***it dula=P2^6; void yanshi(); void main() { temp=200; yanshi(); while(1) { if(aa==20) { aa=0; display(temp); temp--; } } } void delay(uint z) { uint x,y; for(x=120;x>0;x--) for(y=z;y>0;y--); } void name()interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } void display(uchar temp) { bai=temp/100; shi=temp%100/10; ge=temp%10; wela=1; P0=0xfe; wela=0; dula=1; P0=tab1[bai]; dula=0; delay(10); P0=0xff; wela=1; P0=0xfd; wela=0; dula=1; P0=tab1[shi]; dula=0; delay(10); P0=0xff; wela=1; P0=0xfb; wela=0; dula=1; P0=tab1[ge]; dula=0; delay(10); P0=0xff; } void yanshi() { TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; IE=0x82; TR0=1; }
|
|
相关推荐
2个回答
|
|
你的数码管扫描时间间隔长了,扫描程序那样子设置在仿真里看不出效果的,实物中,即使看到效果,数码管也是一闪一闪的, 扫描程序还得再改,再调整!
最佳答案
|
|
|
|
你先显示一个固定的数字看看
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12023 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 00:31 , Processed in 0.432893 second(s), Total 45, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号