完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
写了个多功能数码管函数。可以任意显示多少位,从哪位开始显示,以及小数点显示。
假设我显示 5163,可是调试时一切正常,全速运行时,板子上的8位数码 管显示前四位5163 正确,可是所有的位都有3的阴影显示,单步看得时候也没有阴影。 /******************************************************************************* * Function Name : void Display(int data,int position,int bit,int point) * Description : 数码管动态显示数据 * Input : int data 要显示的数据 int bit 显示的位数 position 数据开始显示的位置 char point小数点位置 * Output : None * Return : None *******************************************************************************/ void Display(int data,int position,int bit,int point) { char i, j; char Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; struct Posi //分解的数据 { char kb; char hun; char de; char te; }P1; P1.kb = data/1000; P1.hun = data/100%10; P1.de = data/10%10; P1.te = data%10; j = position; Display_Clear(); for(i=0;i P4OUT = 0xff; //关闭位选 Pos_EN; Pos_DS; switch(j) //j 数据开始显示的位置 { case 0: break; case 1: if(point == j) { P4OUT = Tab[P1.kb]| 0x80; //显示千位 } else { P4OUT = Tab[P1.kb]; } Seg_EN; //段 使能 Seg_DS; P4OUT =~(0x01< Pos_DS; //位 使能 Delay(2);break; case 2: if(point == j) { P4OUT = Tab[P1.hun]| 0x80; //显示白位 } else { P4OUT = Tab[P1.hun]; } Seg_EN; //段 使能 Seg_DS; P4OUT = ~(0x01< Pos_DS; //位 使能 Delay(2); break; case 3: if(point == j) { P4OUT = Tab[P1.de]| 0x80; } else { P4OUT = Tab[P1.de]; //显示十位 } Seg_EN; //段 使能 Seg_DS; //位 使能 P4OUT = ~(0x01< Pos_DS; Delay(2); break; case 4: if(point == j) { P4OUT = Tab[P1.te]| 0x80;//显示个位 } else { P4OUT = Tab[P1.te]; } Seg_EN; //段 使能 Seg_DS; //位 使能 P4OUT = ~(0x01< Pos_DS; Delay(2);break; default : break; } if(j j++; } else { j=0; } } } 很奇怪,有木有高手解释下。。。。 |
|
相关推荐
2个回答
|
|
回帖奖励 +1 分积分
最好加个清除显示的语句,不然他最后跳出这个显示函数的时候,锁存器的锁存端还是3,这可能是造成阴影的原因吧
|
|
|
|
在显示的最后一条加一条消隐语句,就可以解决。P4OUT = 0xff;
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
828 浏览 0 评论
824 浏览 0 评论
861 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
836 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1292 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11824 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 17:01 , Processed in 0.558152 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号