欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5889|回復: 8
收起左側

單片機如何讓6位數碼管同時顯示012345?

[復制鏈接]
ID:855589 發表于 2020-12-6 20:30 | 顯示全部樓層 |閱讀模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit dula=P2^6;
  6. sbit wela=P2^7;
  7. uchar num;
  8. uchar aa;
  9. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d};
  10. void delayms(uint x)
  11. {
  12.                 uint i,j;
  13.                 for(i=x;i>0;i--)
  14.                         for(j=110;j>0;j--);
  15. }
  16. void main()
  17.         {
  18.                 wela=1;
  19.                 P0=0xc0;
  20.                 wela=0;
  21.                 while(1)
  22.                         {
  23.                                 for(num=0;num<7;num++)
  24.                                         {
  25.                                                 dula=1;
  26.                                                 P0=table[num];
  27.                                                 dula=0;
  28.                                                 delayms(500);
  29.                                         }
  30.                         }
  31.         }
復制代碼
代碼是這樣的,之前是六個數碼管可以同時顯示0,然后慢慢加到F,怎么樣才能讓6位數碼管同時顯示012345?改了幾個地方后不知道怎么下手了。不會讓我一個個接口去用數組賦值吧...............原理圖如下。

原理圖

原理圖



回復

使用道具 舉報

ID:638524 發表于 2020-12-6 22:17 | 顯示全部樓層
原理主要是,一次顯示一位,掃描顯示法
回復

使用道具 舉報

ID:638524 發表于 2020-12-6 22:22 | 顯示全部樓層
u3的位選,選擇哪一位顯示哪個數字,然后一位一位的選擇過去顯示,循環起來就看著是不同的數字了。
u3的位選只需要3個io口就可以選擇控制8個位,6個更是不在話下。控制u3的io口改一下吧,改在其他地方。位選跟段選公用會出錯的

回復

使用道具 舉報

ID:764418 發表于 2020-12-6 22:30 來自觸屏版 | 顯示全部樓層
2020-12-6 22:22 u3的位選,選擇哪一位顯示哪個數字,然后一位一位的選擇過去顯示,循環起來就看著是不同的數字了
回復

使用道具 舉報

ID:213173 發表于 2020-12-7 06:40 | 顯示全部樓層
就是要讓你去用數組賦值,你試試。
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit dula=P2^6;
  6. sbit wela=P2^7;
  7. uchar num;
  8. uchar aa;
  9. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};
  10. uchar code wei[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

  11. void delayms(uint x)
  12. {
  13.         uint i,j;
  14.         for(i=x;i>0;i--)
  15.                 for(j=110;j>0;j--);
  16. }
  17. void main()
  18. {

  19.         while(1)
  20.         {
  21.                 for(num=0;num<6;num++)
  22.                 {
  23.                         dula=1;
  24.                         P0=0x00;//消隱
  25.                         dula=0;

  26.                         wela=1;
  27.                         P0=wei[num];//送位碼
  28.                         wela=0;

  29.                         dula=1;
  30.                         P0=table[num];//送段碼
  31.                         dula=0;

  32.                         delayms(1);
  33.                 }
  34.         }
  35. }
復制代碼
回復

使用道具 舉報

ID:855589 發表于 2020-12-7 10:11 | 顯示全部樓層
wulin 發表于 2020-12-7 06:40
就是要讓你去用數組賦值,你試試。

真的可以啊,我去琢磨琢磨程序
回復

使用道具 舉報

ID:855589 發表于 2020-12-7 10:12 | 顯示全部樓層
liaojiaao 發表于 2020-12-6 22:22
u3的位選,選擇哪一位顯示哪個數字,然后一位一位的選擇過去顯示,循環起來就看著是不同的數字了。
u3的位 ...

噢,謝謝
回復

使用道具 舉報

ID:855589 發表于 2020-12-7 10:21 | 顯示全部樓層
wulin 發表于 2020-12-7 06:40
就是要讓你去用數組賦值,你試試。

位選段0意思就是說選中的位對吧?
回復

使用道具 舉報

ID:855589 發表于 2020-12-7 11:05 | 顯示全部樓層
通過5樓大佬的方法,搞定了,現在琢磨琢磨定時器
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表