久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8099|回復: 6
打印 上一主題 下一主題
收起左側

一種MAX7219驅動共陰數碼管的簡化版程序+Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


MAX7219理論上可無限級聯,每多加一塊MAX7219只需多加兩個IO口,所有MAX7219共用一個時鐘線。程序中需添加對應的初始化和寫入函數。附件包含程序和仿真工程文件。

單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. //typedef unsigned char uchar8;
  4. //typedef unsigned short uint16;
  5. //typedef unsigned long uint32;

  6. sbit clk = P1 ^ 5;
  7. sbit load = P1 ^ 6;
  8. sbit din = P1 ^ 7;

  9. sbit a7 = ACC ^ 7;
  10. sbit a6 = ACC ^ 6;
  11. sbit a5 = ACC ^ 5;
  12. sbit a4 = ACC ^ 4;
  13. sbit a3 = ACC ^ 3;
  14. sbit a2 = ACC ^ 2;
  15. sbit a1 = ACC ^ 1;
  16. sbit a0 = ACC ^ 0;

  17. void MAX7219_Write(unsigned char ad, unsigned char v_data)
  18. {
  19.         ACC = ad;
  20.         clk = 0;
  21.         din = 0;
  22.         load = 0;

  23.         din = a7;
  24.         clk = 1;

  25.         clk = 0;
  26.         din = a6;
  27.         clk = 1;

  28.         clk = 0;
  29.         din = a5;
  30.         clk = 1;

  31.         clk = 0;
  32.         din = a4;
  33.         clk = 1;

  34.         clk = 0;
  35.         din = a3;
  36.         clk = 1;

  37.         clk = 0;
  38.         din = a2;
  39.         clk = 1;

  40.         clk = 0;
  41.         din = a1;
  42.         clk = 1;

  43.         clk = 0;
  44.         din = a0;
  45.         clk = 1;

  46.         ACC = v_data;

  47.         clk = 0;
  48.         din = a7;
  49.         clk = 1;

  50.         clk = 0;
  51.         din = a6;
  52.         clk = 1;

  53.         clk = 0;
  54.         din = a5;
  55.         clk = 1;

  56.         clk = 0;
  57.         din = a4;
  58.         clk = 1;

  59.         clk = 0;
  60.         din = a3;
  61.         clk = 1;

  62.         clk = 0;
  63.         din = a2;
  64.         clk = 1;

  65.         clk = 0;
  66.         din = a1;
  67.         clk = 1;

  68.         clk = 0;
  69.         din = a0;
  70.         clk = 1;

  71.         clk = 0;
  72.         load = 1;        
  73. }

  74. void MAX7219_init( )
  75. {
  76.         unsigned int i;
  77.         
  78.         MAX7219_Write(15, 1);
  79.         for(i = 0; i < 3000; i ++);
  80.         MAX7219_Write(15, 0);
  81.         MAX7219_Write(12, 1);
  82.         MAX7219_Write(11, 7);
  83.         MAX7219_Write(9, 255);
  84.         MAX7219_Write(10, 8);
  85.         MAX7219_Write(1, 1);
  86.         MAX7219_Write(2, 2);
  87.         MAX7219_Write(3, 3);
  88.         MAX7219_Write(4, 4);
  89.         MAX7219_Write(5, 5);
  90.         MAX7219_Write(6, 6);
  91.         
  92.         for(i = 0; i < 3000; i ++);
  93. }

  94. /*10: -, 11: E, 12: H, 13: L, 14: P, 15:¿Õ¸ñ, X + 128:D¡êyμã;*/
  95. void main( )
  96. {        
  97.         MAX7219_init( );
  98.         
  99.         while(1)
  100.         {
  101.                 MAX7219_Write(1, 0);
  102.                 MAX7219_Write(2, 0 + 128);
  103.                 MAX7219_Write(3, 10);
  104.                 MAX7219_Write(4, 11);
  105.                 MAX7219_Write(5, 12);
  106.                 MAX7219_Write(6, 13);
  107.                 MAX7219_Write(7, 14);
  108.                 MAX7219_Write(8, 15 + 128);
  109.         }
  110. }
復制代碼


全部資料51hei下載地址:
MAX7219數碼管.zip (61.66 KB, 下載次數: 58)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:690448 發表于 2020-3-20 23:15 | 只看該作者
“每多加一塊MAX7219只需多加兩個IO口”,這個是真的么?
回復

使用道具 舉報

板凳
ID:72088 發表于 2020-3-21 06:49 | 只看該作者
my808 發表于 2020-3-20 23:15
“每多加一塊MAX7219只需多加兩個IO口”,這個是真的么?

不對,串口工作,就像595的工作方式,但是7219是自動控制顯示,不需要單片機持續掃描
回復

使用道具 舉報

地板
ID:224782 發表于 2020-3-24 17:17 | 只看該作者
本帖最后由 大風吹過啊 于 2020-3-24 20:46 編輯
my808 發表于 2020-3-20 23:15
“每多加一塊MAX7219只需多加兩個IO口”,這個是真的么?

7219有幾種用法,簡單說就是串行控制,反正就是利用IO口對CLK、LOAD、DIN三個腳寫入數。具體又有幾種接法,一種是利用24腳DOUT級聯,就是CLK、LOAD共用IO口,第一片DIN接IO,第二片的DIN接第一片的DOUT,第三片的DIN接第二片的DOUT...級聯。我說的每加一片多兩個IO是我常用的接法,即共用CLK腳,LOAD和DIN分開使用,所以每多一塊7219多一對LOAD和DIN。這是種假級聯,原因是上一種雖然只需要三個IO口就可控制幾片7219,但在我具體使用時常多于4片7219級聯,經常出現問題,因此采用了這種方式,基本沒再出現過問題。
回復

使用道具 舉報

5#
ID:224782 發表于 2020-3-24 17:38 | 只看該作者
本帖最后由 大風吹過啊 于 2020-3-24 20:45 編輯
新鄉家電維修 發表于 2020-3-21 06:49
不對,串口工作,就像595的工作方式,但是7219是自動控制顯示,不需要單片機持續掃描

應該該是對也不對,主要看你怎么接,怎么用。7219的使用還是比較靈活的。我帖子里說的是基于我常用的接法而言,比較片面。
回復

使用道具 舉報

6#
ID:690448 發表于 2020-4-3 13:22 | 只看該作者

點擊下面圖片有視頻,已正常工作好多天了。





回復

使用道具 舉報

7#
ID:224782 發表于 2020-4-14 16:40 | 只看該作者
my808 發表于 2020-4-3 13:22
點擊下面圖片有視頻,已正常工作好多天了。

我從沒說過這樣不行,更沒說這是錯的,只是我之前使用中確實有過問題,我換了一種用法而已,這種小玩意用法多了去了,能用就行,沒必要較真。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久一区 | 欧美视频一区二区三区 | 国产精品夜夜春夜夜爽久久电影 | 日韩a v在线免费观看 | 欧美在线成人影院 | 亚洲精品久久久久久久不卡四虎 | 国产伦精品一区二区三区视频金莲 | 精品久久香蕉国产线看观看亚洲 | 国产99久久精品一区二区永久免费 | 欧美性另类 | www.久 | 能看的av网站 | 天堂视频中文在线 | 一级视频在线免费观看 | 亚洲手机视频在线 | 亚洲久久在线 | 欧美激情在线精品一区二区三区 | 欧美精品一区二区在线观看 | 国产日韩欧美一区二区在线播放 | 欧美国产视频一区二区 | 在线不卡 | 国内精品久久久久久久影视简单 | av在线播放网| 日本a∨视频 | 免费在线一区二区三区 | 91在线观看视频 | 欧美日韩国产中文 | 国产在线a | 久久国产精品免费一区二区三区 | www久| 午夜激情国产 | 精品一区二区三区在线视频 | 久久久久九九九九 | 国产91 在线播放 | 国产精品久久久久久久久久久新郎 | av在线电影网站 | 免费看片国产 | 大学生a级毛片免费视频 | 国产视频一区二区 | 成人在线免费观看视频 | 成人精品一区二区 |