登录
首页
单片机论坛
回帖
发帖
正文
主题:51单片机动态数码管显示
点击:826 回复:7
楼主
编辑
引用
管理
ss1Y0G
仿真没有问题,现在到单片机就会一直闪
21-12-28 20:53
1楼
编辑
引用
管理
pqsh
可能你的电路板p2不是对应数码管的.
21-12-28 21:18
2楼
编辑
引用
管理
guanyumou
动态扫描OK?
21-12-28 21:50
3楼
编辑
引用
管理
微鑫科技
试一下这个看看。
duan=seg_dat[1];//显示1
dil=0;
delay(2);
dil=1;
duan=seg_dat[3];//显示3
di2=0;
delay(2);
di2=1;
duan=seg_dat[1];//显示1
di3=0;
delay(2);
di3=1;
duan=seg_dat[4];//显示4
di4=0;
delay(2);
di4=1;
21-12-29 10:01
4楼
编辑
引用
管理
微鑫科技
再试试下面这种:
void Write_LED(unsigned char b,unsigned char dat)//写位,写数字
{
duan=0x00;
switch(b)
{
case 1://显示第1位
di2=1;di3=1;di4=1;dil=0;
break;
case 2://显示第2位
di1=1;di3=1;di4=1;di2=0;
break;
case 3://显示第3位
di1=1;di2=1;di4=1;di3=0;
break;
case 4://显示第4位
di1=1;di2=1;di3=1;di4=0;
break;
default://错误位
di1=1;di2=1;di3=1;di4=1;
break;
}
duan=seg_dat[dat];//显示数字
}
Write_LED(1,1);
delay(2);
Write_LED(2,3);
delay(2);
Write_LED(3,1);
delay(2);
Write_LED(4,4);
delay(2);
最后修改:
2021/12/29 14:14:56
21-12-29 10:20
5楼
编辑
引用
管理
1056128144
普中板!
我的应还能用。
话说,最近这么多学单片机的?
被PLC疯涨的价格跟无限的货期搞怕了?
问题有2个:
1,硬件问题,我依稀记忆中,数码管段,位都不是直驱,通过138等驱动的。
2,软件,用你仿真电路,消影也要加时间,防止暂留视觉残影。显示,消影2个时间配合,可正常显示。
特别提醒下,
普中板例程,为教学而写以后不要照搬。
象显示程序,占时巨大。用锁存芯片或开个定时器按时刷新,占时更少,更合理。
最后修改:
2021/12/31 9:04:46
21-12-30 08:10
6楼
编辑
引用
管理
微鑫科技
应该用数码管专用驱动芯片,SPI接口,只需要三根驱动信号线就搞定,直接把数据丢进驱动芯片,让它自己扫描驱动,这种方式才是最终的王道,例如:TM1620,才一块多钱,一个芯片可以驱动6位数码管,爽的不要不要的。
21-12-30 09:38
7楼
编辑
引用
管理
guanyumou
引用
微鑫科技
在 2021/12/30 9:38:13 发言
【内容省略】
要节省IO口,那就用驱动芯片吧
22-01-03 21:10
工控新闻
艾默生公布2024财年第二季度业绩,并更新全年预期
走进德国SICK集团:智能传感器专家赋能数字化转型
台达荣登“在华外企ESG先锋20”榜单第四名
ARM主板EMB-2582:小尺寸/高性能/丰富接口,适合智能物联方案
国产之光!OPT(奥普特)智能读码器助力锂电巨头闪耀全球市场
西门子 Xcelerator as a Service 扩展一系列云解决方案,覆盖整个产品生命周期
西门子向KPS出售旗下电机和大型传动公司茵梦达
《免费试用+丰厚奖励!快来体验福禄克 Thermalert® 4.0 红外测温仪的魅力!》
更多新闻资讯