找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1554|回復(fù): 7
收起左側(cè)

大佬們可以抽時(shí)間幫忙看看嘛,謝謝各位大佬

[復(fù)制鏈接]
ID:1109973 發(fā)表于 2024-1-29 00:33 | 顯示全部樓層 |閱讀模式
有大佬可以幫忙看一下這個(gè)嘛,下面是程序,然后這個(gè)所運(yùn)行出來的效果如視頻所示,如果我想達(dá)到照片中的效果,這個(gè)程序應(yīng)該怎么改呀,感謝各位大佬https://v.youku.com/v_show/id_XNjM3MDY0OTA0MA==.html
  1. #include <REGX52.H>

  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define smg_port P0

  5. sbit smg_a=P2^2;
  6. sbit smg_b=P2^3;
  7. sbit smg_c=P2^4;

  8. uchar smg_code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x4f};

  9. void Delay1000ms(void)
  10. {
  11.         unsigned char data i, j, k;

  12.         _nop_();
  13.         i = 8;
  14.         j = 1;
  15.         k = 243;
  16.         do
  17.         {
  18.                 do
  19.                 {
  20.                         while (--k);
  21.                 } while (--j);
  22.         } while (--i);
  23. }



  24. void smg_play(void)
  25. {
  26.         uchar i=0;
  27.        
  28.         for(i=0;i<8;i++)
  29.         {
  30.                 switch(i)
  31.                 {
  32.                         case 0:smg_c=1;smg_b=1;smg_a=1;break;
  33.                         case 1:smg_c=1;smg_b=1;smg_a=0;break;
  34.                         case 2:smg_c=1;smg_b=0;smg_a=1;break;
  35.                         case 3:smg_c=1;smg_b=0;smg_a=0;break;
  36.                         case 4:smg_c=0;smg_b=1;smg_a=1;break;
  37.                         case 5:smg_c=0;smg_b=1;smg_a=0;break;
  38.                         case 6:smg_c=0;smg_b=0;smg_a=1;break;
  39.                         case 7:smg_c=0;smg_b=0;smg_a=0;break;
  40.                 }
  41.                 smg_port=smg_code[i];
  42.                 Delay1000ms();
  43.         }
  44. }
  45.                
  46. void main()
  47. {
  48.         while(1)
  49.         {
  50.                  smg_play();
  51.         }
  52. }
復(fù)制代碼


想要達(dá)到的效果

想要達(dá)到的效果
回復(fù)

使用道具 舉報(bào)

ID:1109973 發(fā)表于 2024-1-29 00:36 | 顯示全部樓層
就是想要這8個(gè)數(shù)字同時(shí)顯現(xiàn),但是我運(yùn)行出來一次只能顯現(xiàn)出一個(gè)數(shù)字,應(yīng)該在程序上加一些東西還是刪掉一些東西啊,麻煩各位大佬給我這個(gè)門檻還沒有摸到的小蝦米解答一下,謝謝謝謝謝謝謝謝。!
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2024-1-29 06:25 | 顯示全部樓層
樺木醇 發(fā)表于 2024-1-29 00:36
就是想要這8個(gè)數(shù)字同時(shí)顯現(xiàn),但是我運(yùn)行出來一次只能顯現(xiàn)出一個(gè)數(shù)字,應(yīng)該在程序上加一些東西還是刪掉一些 ...

你把延時(shí)函數(shù)改為1ms就能達(dá)到想要的效果。
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2024-1-29 06:56 來自觸屏版 | 顯示全部樓層
把Delay1000ms();去掉
回復(fù)

使用道具 舉報(bào)

ID:1004920 發(fā)表于 2024-1-29 08:15 | 顯示全部樓層
是你的延時(shí)時(shí)間太長(zhǎng)了,改成幾毫秒看看吧
回復(fù)

使用道具 舉報(bào)

ID:391543 發(fā)表于 2024-1-29 08:23 | 顯示全部樓層
Delay1000ms();延時(shí)時(shí)間太長(zhǎng)
回復(fù)

使用道具 舉報(bào)

ID:546198 發(fā)表于 2024-1-29 08:29 | 顯示全部樓層
樺木醇 發(fā)表于 2024-1-29 00:36
就是想要這8個(gè)數(shù)字同時(shí)顯現(xiàn),但是我運(yùn)行出來一次只能顯現(xiàn)出一個(gè)數(shù)字,應(yīng)該在程序上加一些東西還是刪掉一些 ...

每個(gè)數(shù)字顯示幾ms就行了,同時(shí)顯示其實(shí)就是利用眼睛視覺殘留達(dá)到同時(shí)亮的效果。
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-1-30 04:17 | 顯示全部樓層
樓主解決了問題吱一聲也讓熱心群眾不失望。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表