天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234

技術支持

如何使用PIC單片機制作LED矩陣顯示器

更新時間: 2019-11-18

LED矩陣顯示器可以顯示文本、圖形、動畫,具有很高的靈活性,你可以在顯示地鐵、公路或街邊廣告牌上看到它們。下面英銳恩單片機開發工程師們分享了使用PIC單片機制作的LED矩陣顯示器,該LED矩陣顯示器為8行40列排列的320個LED,使用的單片機為PIC16F1847單片機,它通過串行端口(或使用USB-UART接口的USB)從PC接收數據,并借助五個74HC595移位寄存器在LED矩陣上顯示。

QQ截圖20191118095306.png

一、基于PIC單片機的LED矩陣顯示器原理及電路圖

在本方案中,五個8×8方形LED顯示模塊以線性方式排列,以構建一個8行X 40列的顯示矩陣。我在該方案中使用的LED顯示模塊是Futurlec的NFM-12883AS。它們是共行陰極型,這意味著每行中所有LED的陰極都相互連接。因此,每行引腳應從該行中的八個LED吸收電流。所有5個模塊的相似行引腳進一步連接在一起,并饋送到ULN2803 IC的輸出接收器,該IC由8個達林頓陣列組成?,F在,ULN2803的每個輸出引腳都是該特定行中40個(= 8×5)LED的接收器。由于ULN2803可以每個引腳吸收高達500 mA的電流,因此每個LED的電流被限制為500/40 = 12.5 mA。

MatrixCircuit-550x311.png

LED的陽極端子可通過列引腳訪問,由于用的是行掃描技術,所以每個列引腳只需要為一個LED提供電流,也就是說一次在該列中只有一行處于活動狀態。這些列由40位串行并行并行輸出的輸出驅動,該輸出是通過級聯五個74HC595 IC來構建的。74HC595器件是一個8位串行輸入和并行/串行輸出移位寄存器,串行輸出功能允許級聯多個74HC595器件。從工程學的角度來看,74HC595可能不是列驅動器的理想選擇,因為它們并不打算為LED提供電流。但是過去的一些實驗表明,它們可以驅動LED合理地點亮,因此可以用作此類LED矩陣顯示器方案中的列驅動器。

MatrixMCUcircuit.png

在方案中使用的單片機是增強型中檔8位PIC系列的PIC16F1847。它使用內部時鐘源(啟用PLL)以32 MHz運行。PORTB通過ULN2803達林頓對陣列為各個行(陰極)提供接地路徑,而RA0,RA1和RA2引腳用于控制級聯移位寄存器的Data,SH_CP和ST_CP線。PIC16F1847的引腳8和7是UART通信的默認引腳。他們進入USB-UART模塊與PC進行串行通信。PC上運行的串行終端程序可用于將字符數據發送到單片機,單片機將接收到的信息保存到其內部EEPROM中。

二、本方案使用的單片機開發軟件

這個方案的固件是使用mikroC Pro for PIC編譯器開發的。該程序使用8×5字節(= 320位)的數組(Buffer [8][5])存儲顯示像素信息,每一位對應一個LED。用戶可以使用串行終端程序將消息從PC發送到顯示板。我在Windows上使用Termite 2.9程序。發送的信息將保存到PIC的內部EEPROM中。前兩個EEPROM位置保留用于數據輸入標志和消息中的字符數。以下步驟詳細描述了該方案的固件如何運行:

1.電源打開。PIC單片機初始化端口,并監聽其串行端口。它會顯示一條消息“你準備好輸入了嗎?Y/N到串行端口,并且該消息顯示在PC串行終端應用程序窗口中。用戶有3秒的時間發送字符“Y”。否則,單片機會繼續并顯示預存儲的消息。從右向左滾動顯示該消息。單片機和PC之間的串行通信速度為115200 bps。

2.如果用戶發送“ Y”,則單片機等待輸入數據。單片機讀取傳入的字節,直到接收到“?!?,這表示PC發送的最后一個字符字節。然后,單片機將1寫入EEPROM位置0x00,并保存在EEPROM位置0x01接收的字節數。接收到的字符從0x02開始順序保存到EEPROM順序位置。

3.接下來,單片機將字符數據從EEPROM加載到RAM中,并從右向左滾動顯示在LED矩陣上。每個字符都映射到其圖形字體,該圖形字體作為靜態數組保存在程序存儲器中。


三、源代碼附件


LED矩陣顯示器方案源代碼.zip


以上就是英銳恩單片機開發工程師分享的使用PIC單片機制作LED矩陣顯示器的方法。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機。

404
返回首頁 |  返回上一頁
联系我们: 金昌市| 田阳县| 鄂托克旗| 九江市| 清远市| 枣阳市| 静海县| 阿坝县| 湛江市| 沁源县| 潍坊市| 色达县| 镇雄县| 宜川县| 永吉县| 涟源市| 玉门市| 偏关县| 延安市| 三河市| 金堂县| 惠水县| 松溪县| 保亭| 乳山市| 若羌县| 正镶白旗| 太白县| 永平县| 武夷山市| 沙坪坝区| 新泰市| 万荣县| 元江| 泽州县| 万年县| 贺州市| 沭阳县| 驻马店市| 大兴区| 台山市|