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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

MAX7219多片級聯驅動點陣單片機程序編寫經歷

查看數: 12752 | 評論數: 23 | 收藏 11
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-4-22 16:51

正文摘要:

      大家好,我給大家分享一個自己寫的MAX7219級聯驅動程序!       我在那個寶上買了一個四級聯點陣模塊,花了好多時間寫出了它的驅動程序(作為菜鳥我很難受)。 &nb ...

回復

ID:476415 發表于 2024-1-7 11:40
等于多個級聯,不是11111111,22222222,333333333,44444444一個一個的刷新,而是1234,1234,1234....這樣一列一列刷新的?
ID:718536 發表于 2023-9-10 17:03
人人學會單片機 發表于 2021-1-15 11:47
TM公司的芯片 要比MAX7219 好用多了。

TM的芯片自帶時鐘,不受外部時鐘中斷而爆亮。這點很好,能保證光點亮度均勻。7219估計跟兩片595寄存器組合起來差不多,數據的掃描輸出估計應該受時鐘信號波動而變動。
ID:718536 發表于 2023-9-10 14:26
zyw497947507 發表于 2021-11-7 16:12
如何實現滾動呢?有人會嗎

加上定時器移位地址或數據,就可以做左右滾動或者上下滾動了。
ID:641483 發表于 2023-7-20 11:56
好東西,非常感謝,先收藏了,今天回去學習研究下,用這個做個動態顯示的應該怎么寫
ID:819175 發表于 2023-7-20 09:59
謝謝 by64214 ,成功點亮四塊ABCD。
ID:964313 發表于 2022-2-27 20:52
樓主,有16X16顯示漢字的驅動嗎?
ID:907424 發表于 2021-11-7 16:12
如何實現滾動呢?有人會嗎
ID:311310 發表于 2021-3-14 12:00
dlj123 發表于 2021-2-1 23:31
大神把程序發出來啊

你好!我的另一篇帖子已上傳工程包
ID:718536 發表于 2021-2-23 09:18
老大,如果要滾動顯示怎么處理呢?
ID:718536 發表于 2021-2-23 09:15
軟件延時簡直就是單片機的大敵啊。好,簡潔,方便。那個送數函數while,改為for循環應該效果一樣。
ID:605142 發表于 2021-2-2 09:46

ID:688367 發表于 2021-2-1 23:31
大神把程序發出來啊
ID:300212 發表于 2021-1-28 21:07
網上的代碼很累贅,無論幾塊max7219,寫一波數據,然后CS=1;  CS=0;,比單個寫好
ID:390416 發表于 2021-1-15 11:47
TM公司的芯片 要比MAX7219 好用多了。
ID:844772 發表于 2021-1-15 10:29
本帖最后由 glinfei 于 2021-2-1 16:16 編輯
MANHAMCHAN 發表于 2020-4-27 10:55
按你的程序建了工程,點陣要么不亮要么閃爍幾下就不亮了

程序沒問題,我也試過了,不過我用的某多多的最小系統,跟你出現同樣問題的原因竟然是它的EN管腳竟然沒拉高。
無效樓層,該帖已經被刪除
ID:44037 發表于 2020-12-23 08:58
我上面的程序  就是樓主發的全部程序圖片  仿真顯示正常,實物未檢驗
ID:688367 發表于 2020-12-23 01:07
能發一下程序嗎?
ID:476465 發表于 2020-4-27 10:55
按你的程序建了工程,點陣要么不亮要么閃爍幾下就不亮了
ID:652804 發表于 2020-1-9 08:14
好東東 能分享下代碼的工程包嗎?
ID:44037 發表于 2019-11-29 23:06
謝謝分享  程序簡潔  明了   學習的好模板


main.c
  1. #include <reg52.h>
  2. #include "intrins.h"
  3. #include "Max7219.h"

  4. uchar code laji[][8]={
  5. {0x18,0x24,0x42,0x42,0x7E,0x42,0x42,0x42},//A
  6. {0x7C,0x42,0x42,0x7C,0x42,0x42,0x42,0x7C},//B
  7. {0x3C,0x42,0x40,0x40,0x40,0x40,0x42,0x7C},//C
  8. {0x7C,0x42,0x42,0x42,0x42,0x42,0x42,0x7C},//D
  9. };
  10. /*n毫秒的延時程序*/
  11. /*void Delay_xms(uint x)
  12. {
  13.   uint i,j;
  14.   for(i=0;i<x;i++)
  15.   for(j=0;j<112;j++);
  16. }*/
  17. void main()
  18. {
  19.   uchar i,j;
  20.   //Delay_xms(50);
  21.   MAX7219Init();  
  22.   while(1)
  23.   {
  24.                 for(j=0;j<8;j++)
  25.     {
  26.       for(i=0;i<number;i++)
  27.       {
  28.         Max7219WR(j+1,laji[i][j]);
  29.             }
  30.       CS=1; _nop_(); CS=0;
  31.                         //Delay_xms(100);
  32.     }  
  33.   }
  34. }


  35. Max7219.h
  36. #ifndef _Max7219_H_
  37. #define _Max7219_H_

  38. #define uchar unsigned char
  39. #define uint  unsigned int
  40. #define number  4 //點陣級聯個數
  41. #define lum     5 //亮度級別,0-F,共16級

  42. //定義Max7219端口
  43. sbit CLK = P2^2;  //時鐘 Max7219_pin
  44. sbit CS  = P2^1;  //鎖存
  45. sbit DIN = P2^0;  //數據

  46. //向MAX7219 寫入地址和數據
  47. void Max7219WR(uchar addr,uchar dat)
  48. {
  49.   uchar n=8;
  50.         CLK=0;
  51.         CS=0;   //CS=0有效,CS=1鎖存
  52.         /*發送數據 高位先發*/
  53.         while(n--)
  54.         {
  55.           DIN = addr & 0x80;
  56.                 CLK=1;
  57.                 addr <<= 1;
  58.                 CLK=0;
  59.         }
  60.         n=8;
  61.         /*發送數據 高位先發*/
  62.         while(n--)
  63.         {
  64.           DIN = dat & 0x80;
  65.                 CLK=1;
  66.                 dat <<= 1;
  67.                 CLK=0;
  68.         }
  69. }
  70. void MAX7219Init()
  71. {
  72.   uchar i,j;
  73.         for(i=0;i<5;i++)  //
  74.         {
  75.           for(j=number;j>0;j--)
  76.                 switch(i)
  77.                 {
  78.                   case 0:Max7219WR(0x09, 0x00); break; //譯碼方式:BCD碼 不譯碼
  79.                         case 1:Max7219WR(0x0A, lum);  break; //亮度 0-15 共16級
  80.                         case 2:Max7219WR(0x0B, 0x07); break; //掃描界限;8位顯示
  81.                         case 3:Max7219WR(0x0C, 0x01); break; //掉電模式:0,普通模式:1
  82.                         case 4:Max7219WR(0x0F, 0x00); break; //顯示測試:1;測試結束,正常顯示:0
  83.                 }
  84.                 CS=1; _nop_(); CS=0; //每寫入四次給一個鎖存脈沖
  85.         }
  86. }
  87. #endif
復制代碼

ID:311310 發表于 2019-4-22 21:17
51hei團團 發表于 2019-4-22 18:03
好東東 能分享下 代碼的工程包嗎

都在這了!就只有這么點就可以!
ID:328014 發表于 2019-4-22 18:03
好東東 能分享下 代碼的工程包嗎

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

Powered by 單片機教程網

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