找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机程序测2k以上频率数码管老是循环闪烁?求分析

查看数: 2092 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-30 18:03

正文摘要:

哪位大佬知道怎么解决吗,测2k以上频率数码管老是循环闪烁 单片机代码如下 #include <reg52.h >#include <intrins.h >#define uint unsigned int#define uchar unsigned charsbit  k1=P ...

回复

ID:910050 发表于 2021-5-3 13:12
沧兴电子 发表于 2021-5-2 20:48
估计多次进入中断造成数码管扫描跟不上。这种情况可以考虑SPI或I2C总线方式驱动数码管,这个不需要经常扫描 ...

多多包容,我是纯小白开始自学,应该怎么改代码才能解决闪烁
ID:889094 发表于 2021-5-2 22:32
70.  for(i=0;i<8;i++)
71.  {
72.        if(i==7&&j==1)
73.        {
74.                P1=0x80;
75.                delay(1);
76.    }
77.           P0=dispbit;
78.           P1=dispcode[count[ i]];
79.           delay(1);
80.  }

这个里面突然蹦出来的j是怎么个意思?delay里也在用,你在这里用它会是个什么值?
ID:708541 发表于 2021-5-2 22:16
仿真是练不出技术的,多做一下实物吧。
ID:889094 发表于 2021-5-2 22:13
82.void main()
83.{
84.
85.  if(!k2)
86.  {
87.    delay(5);
88.        if(!k2)
89.        j=0;
90.        else
91.                j=1;
92.  }
93.  switch(j)
94.  {
95.        case(0):a=2; LED=1; break;
96.        case(1):a=20; LED=0; break;
97.  }
这个地方程序开始,一闪而过,估计只能按键开机才会检测到
ID:889094 发表于 2021-5-2 22:12

101.  do
102.  {
103.    display();
104.  }while(k2);
这个地方,如果K2是0了,程序结束,显示什么就过 了
ID:275826 发表于 2021-5-2 21:59

程序结构不能那样写呀
ID:748096 发表于 2021-5-2 20:48
估计多次进入中断造成数码管扫描跟不上。这种情况可以考虑SPI或I2C总线方式驱动数码管,这个不需要经常扫描数码管
ID:910050 发表于 2021-5-2 12:37
tyrl800 发表于 2021-5-2 08:54
我问下楼主,程序时你自己写的还是参考的?

参考的
ID:275826 发表于 2021-5-2 08:54
我问下楼主,程序时你自己写的还是参考的?
ID:910050 发表于 2021-5-1 22:22
哪位大佬知道该改哪吗
ID:390416 发表于 2021-5-1 00:48

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表