您现在所在的是:

单片机论坛

回帖:7个,阅读:913 [上一页] [1] [下一页]
112
ss1Y0G
文章数:98
年度积分:112
历史总积分:112
注册时间:2021/6/15
发站内信
发表于:2021/12/28 20:53:39
#0楼
仿真没有问题,现在到单片机就会一直闪

附件 微信图片_20210615212421.jpg

附件 微信图片_20210615212432.jpg

附件 微信图片_20210626204920.jpg



20分悬赏
19257
pqsh 版主
文章数:7424
年度积分:1087
历史总积分:19257
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2021/12/28 21:18:57
#1楼
可能你的电路板p2不是对应数码管的.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2021/12/28 21:50:41
#2楼
动态扫描OK?
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
788
微鑫科技
文章数:1232
年度积分:788
历史总积分:788
注册时间:2019/11/26
发站内信
发表于:2021/12/29 10:01:04
#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;
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
788
微鑫科技
文章数:1232
年度积分:788
历史总积分:788
注册时间:2019/11/26
发站内信
发表于:2021/12/29 10:20:53
#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编辑过]
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
6510
1056128144
文章数:1129
年度积分:424
历史总积分:6510
注册时间:2018/2/23
发站内信
发表于:2021/12/30 8:10:40
#5楼
普中板!表情表情表情
我的应还能用。
话说,最近这么多学单片机的?
被PLC疯涨的价格跟无限的货期搞怕了?

问题有2个:
1,硬件问题,我依稀记忆中,数码管段,位都不是直驱,通过138等驱动的。
2,软件,用你仿真电路,消影也要加时间,防止暂留视觉残影。显示,消影2个时间配合,可正常显示。

特别提醒下,
普中板例程,为教学而写以后不要照搬。
象显示程序,占时巨大。用锁存芯片或开个定时器按时刷新,占时更少,更合理。
[此贴子已经被作者于2021/12/31 9:04:46编辑过]
788
微鑫科技
文章数:1232
年度积分:788
历史总积分:788
注册时间:2019/11/26
发站内信
发表于:2021/12/30 9:38:13
#6楼
回复 #5楼 1056128144
应该用数码管专用驱动芯片,SPI接口,只需要三根驱动信号线就搞定,直接把数据丢进驱动芯片,让它自己扫描驱动,这种方式才是最终的王道,例如:TM1620,才一块多钱,一个芯片可以驱动6位数码管,爽的不要不要的。
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2022/1/3 21:10:42
#7楼
以下是引用微鑫科技2021/12/30 9:38:13的发言:
应该用数码管专用驱动芯片,SPI接口,只需要三根驱动信号线就搞定,直接把数据丢进驱动芯片,让它自己扫描驱动,这种方式才是最终的王道,例如:TM1620,才一块多钱,一个芯片可以驱动6位数码管,爽的不要不要的。
要节省IO口,那就用驱动芯片吧
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004