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

標(biāo)題: MAX7219多片級(jí)聯(lián)驅(qū)動(dòng)點(diǎn)陣單片機(jī)程序編寫經(jīng)歷 [打印本頁]

作者: YHF1996    時(shí)間: 2019-4-22 16:51
標(biāo)題: MAX7219多片級(jí)聯(lián)驅(qū)動(dòng)點(diǎn)陣單片機(jī)程序編寫經(jīng)歷
      大家好,我給大家分享一個(gè)自己寫的MAX7219級(jí)聯(lián)驅(qū)動(dòng)程序!
      我在那個(gè)寶上買了一個(gè)四級(jí)聯(lián)點(diǎn)陣模塊,花了好多時(shí)間寫出了它的驅(qū)動(dòng)程序(作為菜鳥我很難受)。
       我剛開始一下沒弄明白,在網(wǎng)上找了一個(gè)程序,(就是那幾張手機(jī)截圖),照著搞了一遍,能顯示,但問題很多,比如會(huì)閃爍,有一片會(huì)有重影,而且代碼我覺得啰嗦而且還要延時(shí),細(xì)看發(fā)現(xiàn)分四片寫入,而且還要寫入大量的NO-OP數(shù)據(jù)OX00。所以我只好自己寫了一個(gè)驅(qū)動(dòng)程序,看了會(huì)數(shù)據(jù)手冊(cè),發(fā)現(xiàn)這不就是類似74HC595的東西嘛!于是我自己寫了一個(gè)程序,非常簡(jiǎn)潔明了,非常穩(wěn)定,如彩圖所示,我測(cè)試過STC15在1T的情況下4~35MHZ頻率,都沒有任何問題,其實(shí)那兩個(gè)nop都不需要了,只是想求個(gè)穩(wěn),希望對(duì)有需要的人有用,大神的話就不了說了,我只不過是一個(gè)剛?cè)肟訂纹瑱C(jī)不久的菜鳥!都是大神們玩剩下的了,唉!

IMG_20190422_155558.png (393.64 KB, 下載次數(shù): 232)

IMG_20190422_155558.png

IMG_20190422_155903.png (336.17 KB, 下載次數(shù): 196)

IMG_20190422_155903.png

IMG_20190422_155958.png (377.12 KB, 下載次數(shù): 193)

IMG_20190422_155958.png

IMG_20190422_160108.png (184.06 KB, 下載次數(shù): 224)

IMG_20190422_160108.png

IMG_20190422_134338.jpg (813.05 KB, 下載次數(shù): 221)

IMG_20190422_134338.jpg

Screenshot_20190422-161024.jpg (142.81 KB, 下載次數(shù): 220)

Screenshot_20190422-161024.jpg

Screenshot_20190422-160929.jpg (179.99 KB, 下載次數(shù): 224)

Screenshot_20190422-160929.jpg

Screenshot_20190422-160949.jpg (234.82 KB, 下載次數(shù): 212)

Screenshot_20190422-160949.jpg

Screenshot_20190422-161013.jpg (278.87 KB, 下載次數(shù): 212)

Screenshot_20190422-161013.jpg

Screenshot_20190422-161005.jpg (251.82 KB, 下載次數(shù): 214)

Screenshot_20190422-161005.jpg

作者: 51hei團(tuán)團(tuán)    時(shí)間: 2019-4-22 18:03
好東東 能分享下 代碼的工程包嗎
作者: YHF1996    時(shí)間: 2019-4-22 21:17
51hei團(tuán)團(tuán) 發(fā)表于 2019-4-22 18:03
好東東 能分享下 代碼的工程包嗎

都在這了!就只有這么點(diǎn)就可以!
作者: by64214    時(shí)間: 2019-11-29 23:06
謝謝分享  程序簡(jiǎn)潔  明了   學(xué)習(xí)的好模板


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毫秒的延時(shí)程序*/
  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 //點(diǎn)陣級(jí)聯(lián)個(gè)數(shù)
  41. #define lum     5 //亮度級(jí)別,0-F,共16級(jí)

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

  46. //向MAX7219 寫入地址和數(shù)據(jù)
  47. void Max7219WR(uchar addr,uchar dat)
  48. {
  49.   uchar n=8;
  50.         CLK=0;
  51.         CS=0;   //CS=0有效,CS=1鎖存
  52.         /*發(fā)送數(shù)據(jù) 高位先發(fā)*/
  53.         while(n--)
  54.         {
  55.           DIN = addr & 0x80;
  56.                 CLK=1;
  57.                 addr <<= 1;
  58.                 CLK=0;
  59.         }
  60.         n=8;
  61.         /*發(fā)送數(shù)據(jù) 高位先發(fā)*/
  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級(jí)
  80.                         case 2:Max7219WR(0x0B, 0x07); break; //掃描界限;8位顯示
  81.                         case 3:Max7219WR(0x0C, 0x01); break; //掉電模式:0,普通模式:1
  82.                         case 4:Max7219WR(0x0F, 0x00); break; //顯示測(cè)試:1;測(cè)試結(jié)束,正常顯示:0
  83.                 }
  84.                 CS=1; _nop_(); CS=0; //每寫入四次給一個(gè)鎖存脈沖
  85.         }
  86. }
  87. #endif
復(fù)制代碼


作者: sh-fluke    時(shí)間: 2020-1-9 08:14
好東東 能分享下代碼的工程包嗎?
作者: MANHAMCHAN    時(shí)間: 2020-4-27 10:55
按你的程序建了工程,點(diǎn)陣要么不亮要么閃爍幾下就不亮了
作者: dlj123    時(shí)間: 2020-12-23 01:07
能發(fā)一下程序嗎?
作者: by64214    時(shí)間: 2020-12-23 08:58
我上面的程序  就是樓主發(fā)的全部程序圖片  仿真顯示正常,實(shí)物未檢驗(yàn)
作者: glinfei    時(shí)間: 2021-1-15 10:29
本帖最后由 glinfei 于 2021-2-1 16:16 編輯
MANHAMCHAN 發(fā)表于 2020-4-27 10:55
按你的程序建了工程,點(diǎn)陣要么不亮要么閃爍幾下就不亮了

程序沒問題,我也試過了,不過我用的某多多的最小系統(tǒng),跟你出現(xiàn)同樣問題的原因竟然是它的EN管腳竟然沒拉高。
作者: 人人學(xué)會(huì)單片機(jī)    時(shí)間: 2021-1-15 11:47
TM公司的芯片 要比MAX7219 好用多了。
作者: kaixuan520    時(shí)間: 2021-1-28 21:07
網(wǎng)上的代碼很累贅,無論幾塊max7219,寫一波數(shù)據(jù),然后CS=1;  CS=0;,比單個(gè)寫好
作者: dlj123    時(shí)間: 2021-2-1 23:31
大神把程序發(fā)出來啊
作者: hefq    時(shí)間: 2021-2-2 09:46


作者: suqianfu    時(shí)間: 2021-2-23 09:15
軟件延時(shí)簡(jiǎn)直就是單片機(jī)的大敵啊。好,簡(jiǎn)潔,方便。那個(gè)送數(shù)函數(shù)while,改為for循環(huán)應(yīng)該效果一樣。
作者: suqianfu    時(shí)間: 2021-2-23 09:18
老大,如果要滾動(dòng)顯示怎么處理呢?
作者: YHF1996    時(shí)間: 2021-3-14 12:00
dlj123 發(fā)表于 2021-2-1 23:31
大神把程序發(fā)出來啊

你好!我的另一篇帖子已上傳工程包
作者: zyw497947507    時(shí)間: 2021-11-7 16:12
如何實(shí)現(xiàn)滾動(dòng)呢?有人會(huì)嗎
作者: asd2580    時(shí)間: 2022-2-27 20:52
樓主,有16X16顯示漢字的驅(qū)動(dòng)嗎?
作者: woliuyuexun    時(shí)間: 2023-7-20 09:59
謝謝 by64214 ,成功點(diǎn)亮四塊ABCD。
作者: Q__Q    時(shí)間: 2023-7-20 11:56
好東西,非常感謝,先收藏了,今天回去學(xué)習(xí)研究下,用這個(gè)做個(gè)動(dòng)態(tài)顯示的應(yīng)該怎么寫
作者: suqianfu    時(shí)間: 2023-9-10 14:26
zyw497947507 發(fā)表于 2021-11-7 16:12
如何實(shí)現(xiàn)滾動(dòng)呢?有人會(huì)嗎

加上定時(shí)器移位地址或數(shù)據(jù),就可以做左右滾動(dòng)或者上下滾動(dòng)了。
作者: suqianfu    時(shí)間: 2023-9-10 17:03
人人學(xué)會(huì)單片機(jī) 發(fā)表于 2021-1-15 11:47
TM公司的芯片 要比MAX7219 好用多了。

TM的芯片自帶時(shí)鐘,不受外部時(shí)鐘中斷而爆亮。這點(diǎn)很好,能保證光點(diǎn)亮度均勻。7219估計(jì)跟兩片595寄存器組合起來差不多,數(shù)據(jù)的掃描輸出估計(jì)應(yīng)該受時(shí)鐘信號(hào)波動(dòng)而變動(dòng)。
作者: isyido    時(shí)間: 2024-1-7 11:40
等于多個(gè)級(jí)聯(lián),不是11111111,22222222,333333333,44444444一個(gè)一個(gè)的刷新,而是1234,1234,1234....這樣一列一列刷新的?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1