“(SKU:RB-05L009)8*8點(diǎn)陣模塊”的版本間的差異
(以“<br/> 右 ==概述 == :還在為驅(qū)動點(diǎn)陣連接復(fù)雜的接線煩惱嗎?還在為 Arduino 控制器屈指可數(shù)的 I/O 資 源...”為內(nèi)容創(chuàng)建頁面) |
(→?例子程序2) |
||
(未顯示3個(gè)用戶的13個(gè)中間版本) | |||
第1行: | 第1行: | ||
<br/> | <br/> | ||
[[文件:ewg1.jpg|500px|有框|右]] | [[文件:ewg1.jpg|500px|有框|右]] | ||
? | == | + | ==產(chǎn)品概述 == |
? | + | 還在為驅(qū)動點(diǎn)陣連接復(fù)雜的接線煩惱嗎?還在為 Arduino 控制器屈指可數(shù)的 I/O 資源犯愁嗎?2013 最新推出的 8X8 LED Matrix Module v1.0 點(diǎn)陣模塊是哈爾濱奧松機(jī)器人科技有限公司研發(fā)的一款易安裝、易連接、可拓展的 8X8 點(diǎn)陣模塊。此模塊采用高速的 74HC595 串并轉(zhuǎn)換芯片。SPI 接口,僅需要 3 根信號線即可驅(qū)動多塊 8x8 點(diǎn)陣屏,最大限度的節(jié)省您寶貴的 Arduino 控制器 I/O 資源。行列信號全部傳輸完畢后再更新顯示,顯示亮麗,可靠性高。適合于 Arduino 控制器、STC 單片機(jī)、AVR 單片機(jī)等。 | |
? | + | ||
? | + | ==規(guī)格參數(shù)== | |
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | == | + | |
# 產(chǎn)品名稱:8*8點(diǎn)陣模塊 | # 產(chǎn)品名稱:8*8點(diǎn)陣模塊 | ||
? | # 產(chǎn)品貨號:RB-05L009 | + | # 產(chǎn)品貨號:RB - 05L009 |
? | # | + | # 工作電壓:DC 5V |
+ | # 接口類型:SPI | ||
# 產(chǎn)品類型:顯示輸出 | # 產(chǎn)品類型:顯示輸出 | ||
# 制作工藝:FR4雙面噴錫 | # 制作工藝:FR4雙面噴錫 | ||
? | # 固定孔尺寸:3. | + | # 固定孔尺寸:3.2 mm |
? | # 對角固定孔間距:22. | + | # 對角固定孔間距:22.67 mm |
? | # 固定孔距板邊緣:7. | + | # 固定孔距板邊緣:7.93 mm |
# 人性化設(shè)計(jì):可級聯(lián)應(yīng)用顯示 | # 人性化設(shè)計(jì):可級聯(lián)應(yīng)用顯示 | ||
? | # | + | # 工作溫度:10℃-30℃ |
? | # | + | # 工作濕度:10%~90% 無凝結(jié) |
? | # | + | # 重量:12g |
? | # | + | # 產(chǎn)品尺寸:32mm x 32mm x 23mm |
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | <pre style='color:blue'> | + | ==使用方法== |
? | + | ===工作原理=== | |
? | + | 通過 74HC595 移位寄存器連接 8*8 點(diǎn)陣液晶模塊,模塊與單片機(jī)之間使用 SPI 進(jìn)行通信,只需要占用三個(gè)IO接口,兩片 74HC595 模塊使用級聯(lián)的方式連接,實(shí)現(xiàn)串行輸入并行輸出,來控制點(diǎn)陣液晶。 | |
? | + | ===編程原理=== | |
? | + | 本例子程序中需要使用一個(gè)擴(kuò)展程序語句,介紹如下:<br/> | |
? | + | * shiftOut()語句 | |
? | + | 描述:將一個(gè)數(shù)據(jù)的一個(gè)字節(jié)一位一位的移出。從最高有效位(最左邊)或最低有效位(最右邊)開始。依次向數(shù)據(jù)腳寫入每一位,之后時(shí)鐘腳被拉高或拉低,指示剛才的數(shù)據(jù)有效。<br/> | |
? | + | 語法:<br/> | |
? | + | shiftOut(dataPin, clockPin, bitOrder, value)<br/> | |
? | + | 參數(shù):<br/> | |
? | + | * dataPin:輸出每一位數(shù)據(jù)的引腳(int) | |
? | + | * clockPin:時(shí)鐘腳,當(dāng)dataPin有值時(shí)此引腳電平變化(int) | |
? | + | * bitOrder:輸出位的順序,最高位優(yōu)先或最低位優(yōu)先 | |
? | + | * value: 要移位輸出的數(shù)據(jù)(byte) | |
? | }; | + | 注意:<br/> |
? | void setup() { | + | dataPin和clockPin要用pinMode()配置為輸出。 shiftOut目前只能輸出1個(gè)字節(jié)(8位),所以如果輸出值大于255需要分兩步。<br/> |
? | pinMode( | + | <pre style='color:blue'> |
? | pinMode( | + | //最高有效位優(yōu)先串行輸出 |
? | pinMode( | + | int 數(shù)據(jù)= 500; |
? | } | + | //移位輸出高字節(jié) |
? | void loop() { | + | shiftOut(dataPin, clock, MSBFIRST, (data >> 8)); |
? | for( | + | //移位輸出低字節(jié) |
? | for( | + | shiftOut(data, clock, MSBFIRST, data); |
+ | //最低有效位優(yōu)先串行輸出 | ||
+ | data = 500; | ||
+ | //移位輸出低字節(jié) | ||
+ | shiftOut(dataPin, clock, LSBFIRST, data); | ||
+ | //移位輸出高字節(jié) | ||
+ | shiftOut(dataPin, clock, LSBFIRST, (data >> 8)); | ||
+ | </pre> | ||
+ | ===實(shí)驗(yàn)例程=== | ||
+ | ====使用硬件==== | ||
+ | * [http://m.gharee.com/goods-546.html Carduino UNO R3 控制器] * 1個(gè) | ||
+ | * [http://m.gharee.com/goods-147.html Carduino UNO 傳感器擴(kuò)展板 v5.0] * 1個(gè) | ||
+ | * [http://m.gharee.com/goods-107.html 8 * 8 LED Matrix Module v1.0] * 1個(gè) | ||
+ | * [http://m.gharee.com/goods-107.html 3P 通用連接線] * 1條 | ||
+ | * 2P 電源線 * 1組 | ||
+ | * [http://m.gharee.com/goods-90.html USB 數(shù)據(jù)通信線] * 1條 | ||
+ | ====接線方法==== | ||
+ | 通過 SPI 通信方式中的 DIN、CLK、LTH 對 LED 點(diǎn)陣進(jìn)行控制。DIN 為數(shù)據(jù),CLK為時(shí)鐘,LTH 為鎖存。 | ||
+ | 將 8 * 8 點(diǎn)陣模塊的 DIN、CLK、LTH 分別連接到 Arduino 傳感器擴(kuò)展板的數(shù)字 4、5、6 引腳,VCC、GND 分別連接到傳感器擴(kuò)展板的任意一個(gè) V、G 端口。最后連接Arduino 控制器至計(jì)算機(jī)。 如下圖所示: | ||
+ | 整體連接圖: | ||
+ | [[文件:02L00901.png|500px|有框|居中]] | ||
+ | 接線細(xì)節(jié)圖: | ||
+ | [[文件:02L00902.png|700px|有框|居中]] | ||
+ | |||
+ | ====例子程序1==== | ||
+ | <pre style='color:blue'> | ||
+ | //Pin connected to ST_CP of 74HC595 | ||
+ | int latchPin = 6;//定義LTH引腳為D6 | ||
+ | //Pin connected to SH_CP of 74HC595 | ||
+ | int clockPin = 5;//定義CLK引腳為D5 | ||
+ | //Pin connected to DS of 74HC595 | ||
+ | int dataPin = 4;//定義DIN引腳為D4 | ||
+ | int tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; | ||
+ | void setup() { | ||
+ | //set pins to output because they are addressed in the main loop | ||
+ | pinMode(latchPin, OUTPUT); | ||
+ | pinMode(clockPin, OUTPUT); | ||
+ | pinMode(dataPin, OUTPUT); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | for(int i = 0; i < 8; i++){ | ||
+ | for(int j = 0; j < 8; j++){ | ||
+ | digitalWrite(latchPin, LOW); | ||
+ | shiftOut(dataPin, clockPin, LSBFIRST, tab[i]);//掃描顯示每一列 | ||
+ | shiftOut(dataPin, clockPin, LSBFIRST, 0xff); //將行顯示設(shè)置為低電平 | ||
+ | digitalWrite(latchPin, HIGH); | ||
+ | delay(50); | ||
+ | } | ||
+ | } | ||
+ | for(int i = 0; i < 8; i++){ | ||
+ | for(int j = 0; j < 8; j++){ | ||
+ | digitalWrite(latchPin, LOW); | ||
+ | shiftOut(dataPin, clockPin, LSBFIRST, 0x00);//將列顯示設(shè)置為高電平 | ||
+ | shiftOut(dataPin, clockPin, LSBFIRST, tab[i]); //掃描顯示每一行 | ||
+ | digitalWrite(latchPin, HIGH); | ||
+ | delay(50); | ||
+ | } | ||
+ | } | ||
} | } | ||
? | + | </pre> | |
? | + | ====程序1效果==== | |
? | + | 點(diǎn)陣液晶分別以行掃描和列掃描顯示 | |
? | + | ||
+ | ====例子程序2==== | ||
+ | <pre style='color:blue'> | ||
+ | const int DINPin = 4; //數(shù)據(jù)引腳 連接到數(shù)字P4口 | ||
+ | const int CLKPin = 5; //時(shí)鐘引腳 連接到數(shù)字P5口 | ||
+ | const int LTHPin = 6; //鎖存引腳 連接到數(shù)字P6口 | ||
+ | byte LieScan[16] = { //列掃描,點(diǎn)陣只點(diǎn)亮一列 | ||
+ | 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F | ||
+ | }; | ||
+ | byte HanZi_1[] = { | ||
+ | 0x1c,0x7c,0x7e,0x3f,0x3f,0x7e,0x7c,0x1c //顯示心形圖案 | ||
+ | }; | ||
+ | void setup() { | ||
+ | pinMode(DINPin,OUTPUT); //設(shè)置數(shù)據(jù)引腳為輸出 | ||
+ | pinMode(CLKPin,OUTPUT); //設(shè)置鎖存引腳為輸出 | ||
+ | pinMode(LTHPin,OUTPUT); //設(shè)置時(shí)鐘引腳為輸出 | ||
+ | } | ||
+ | void loop() { | ||
+ | for(unsigned char times_1 = 0;times_1 <250;times_1++) { //持續(xù)刷新250次 | ||
+ | for(char x = 0;x <8;x++) { | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_1[x]); //再送行數(shù)據(jù) | ||
+ | digitalWrite(LTHPin, LOW); //刷新顯示 | ||
+ | digitalWrite(LTHPin, HIGH); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
? | + | ====程序2效果==== | |
? | + | 點(diǎn)陣液晶屏顯示為心形圖案 | |
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
? | + | ||
+ | ====例子程序3==== | ||
+ | <pre style='color:blue'> | ||
+ | const int DINPin = 4; //數(shù)據(jù)引腳 連接到數(shù)字P4口 | ||
+ | const int CLKPin = 5; //時(shí)鐘引腳 連接到數(shù)字P5口 | ||
+ | const int LTHPin = 6; //鎖存引腳 連接到數(shù)字P6口 | ||
+ | |||
+ | byte LieScan[16] = { //列掃描,點(diǎn)陣只點(diǎn)亮一行 | ||
+ | 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F | ||
+ | }; | ||
+ | byte HanZi_1[] = { | ||
+ | 0x04,0xFA,0x89,0xBA,0xC0,0x1C,0x40,0xFF //創(chuàng) | ||
+ | }; | ||
+ | byte HanZi_2[] = { | ||
+ | 0x4A,0xAE,0xFB,0x2E,0x4A,0xFC,0x0A,0xF9 //新 | ||
+ | }; | ||
+ | byte HanZi_3[] = { | ||
+ | 0x04,0x02,0x24,0x40,0x40,0x24,0x02,0x04 //^_^ | ||
+ | }; | ||
+ | void setup() { | ||
+ | pinMode(DINPin,OUTPUT); //設(shè)置數(shù)據(jù)引腳為輸出 | ||
+ | pinMode(CLKPin,OUTPUT); //設(shè)置鎖存引腳為輸出 | ||
+ | pinMode(LTHPin,OUTPUT); //設(shè)置時(shí)鐘引腳為輸出 | ||
+ | } | ||
+ | void loop() { | ||
+ | for(unsigned char times_1 = 0;times_1 <250;times_1++) { //持續(xù)刷新250次 | ||
+ | for(char x = 0;x <8;x++) { | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_1[x]); //再送行數(shù)據(jù) | ||
+ | digitalWrite(LTHPin, LOW); //刷新顯示 | ||
+ | digitalWrite(LTHPin, HIGH); | ||
+ | } | ||
+ | } | ||
+ | for(unsigned char times_2 = 0;times_2 <250;times_2++) { //持續(xù)刷新250次 | ||
+ | for(char x = 0;x <8;x++) { | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_2[x]); //再送行數(shù)據(jù) | ||
+ | digitalWrite(LTHPin, LOW); //刷新顯示 | ||
+ | digitalWrite(LTHPin, HIGH); | ||
+ | } | ||
+ | } | ||
+ | for(unsigned char times_3 = 0;times_3 <250;times_3++) { //持續(xù)刷新250次 | ||
+ | for(char x = 0;x <8;x++) { | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 | ||
+ | shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_3[x]); //再送行數(shù)據(jù) | ||
+ | digitalWrite(LTHPin, LOW); //刷新顯示 | ||
+ | digitalWrite(LTHPin, HIGH); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</pre> | </pre> | ||
? | [[文件: | + | ====程序3效果==== |
+ | 在 8 * 8 LED Martix Module模塊上輪流顯示“創(chuàng) 新 ^_^” | ||
+ | |||
+ | ==產(chǎn)品相關(guān)推薦== | ||
+ | [[文件:erweima.png|230px|無框|右]] | ||
+ | ===購買地址=== | ||
+ | [http://m.gharee.com/goods-107.html 8*8點(diǎn)陣模塊] | ||
+ | ===周邊產(chǎn)品推薦=== | ||
+ | [http://m.gharee.com/goods-128.html Arduino LCD12864 點(diǎn)陣液晶擴(kuò)展板 12864液晶屏] | ||
+ | <br/> | ||
+ | [http://m.gharee.com/goods-127.html Arduino 12864點(diǎn)陣液晶 51單片機(jī)] | ||
+ | ===相關(guān)問題解答=== | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=3052&highlight=%E7%82%B9%E9%98%B5 8*8點(diǎn)陣模塊桃心呼吸燈效果 求助]<br/> | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=2762&highlight=%E7%82%B9%E9%98%B5 8x8點(diǎn)陣程序燒進(jìn)去,顯示的圖案沒有規(guī)律] | ||
+ | ===相關(guān)學(xué)習(xí)資料=== | ||
+ | [http://pan.baidu.com/s/13jrx3 用戶手冊]<br/> | ||
+ | [http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇] |
2016年4月5日 (二) 16:47的最后版本
目錄 |
產(chǎn)品概述
還在為驅(qū)動點(diǎn)陣連接復(fù)雜的接線煩惱嗎?還在為 Arduino 控制器屈指可數(shù)的 I/O 資源犯愁嗎?2013 最新推出的 8X8 LED Matrix Module v1.0 點(diǎn)陣模塊是哈爾濱奧松機(jī)器人科技有限公司研發(fā)的一款易安裝、易連接、可拓展的 8X8 點(diǎn)陣模塊。此模塊采用高速的 74HC595 串并轉(zhuǎn)換芯片。SPI 接口,僅需要 3 根信號線即可驅(qū)動多塊 8x8 點(diǎn)陣屏,最大限度的節(jié)省您寶貴的 Arduino 控制器 I/O 資源。行列信號全部傳輸完畢后再更新顯示,顯示亮麗,可靠性高。適合于 Arduino 控制器、STC 單片機(jī)、AVR 單片機(jī)等。
規(guī)格參數(shù)
- 產(chǎn)品名稱:8*8點(diǎn)陣模塊
- 產(chǎn)品貨號:RB - 05L009
- 工作電壓:DC 5V
- 接口類型:SPI
- 產(chǎn)品類型:顯示輸出
- 制作工藝:FR4雙面噴錫
- 固定孔尺寸:3.2 mm
- 對角固定孔間距:22.67 mm
- 固定孔距板邊緣:7.93 mm
- 人性化設(shè)計(jì):可級聯(lián)應(yīng)用顯示
- 工作溫度:10℃-30℃
- 工作濕度:10%~90% 無凝結(jié)
- 重量:12g
- 產(chǎn)品尺寸:32mm x 32mm x 23mm
使用方法
工作原理
通過 74HC595 移位寄存器連接 8*8 點(diǎn)陣液晶模塊,模塊與單片機(jī)之間使用 SPI 進(jìn)行通信,只需要占用三個(gè)IO接口,兩片 74HC595 模塊使用級聯(lián)的方式連接,實(shí)現(xiàn)串行輸入并行輸出,來控制點(diǎn)陣液晶。
編程原理
本例子程序中需要使用一個(gè)擴(kuò)展程序語句,介紹如下:
- shiftOut()語句
描述:將一個(gè)數(shù)據(jù)的一個(gè)字節(jié)一位一位的移出。從最高有效位(最左邊)或最低有效位(最右邊)開始。依次向數(shù)據(jù)腳寫入每一位,之后時(shí)鐘腳被拉高或拉低,指示剛才的數(shù)據(jù)有效。
語法:
shiftOut(dataPin, clockPin, bitOrder, value)
參數(shù):
- dataPin:輸出每一位數(shù)據(jù)的引腳(int)
- clockPin:時(shí)鐘腳,當(dāng)dataPin有值時(shí)此引腳電平變化(int)
- bitOrder:輸出位的順序,最高位優(yōu)先或最低位優(yōu)先
- value: 要移位輸出的數(shù)據(jù)(byte)
注意:
dataPin和clockPin要用pinMode()配置為輸出。 shiftOut目前只能輸出1個(gè)字節(jié)(8位),所以如果輸出值大于255需要分兩步。
//最高有效位優(yōu)先串行輸出 int 數(shù)據(jù)= 500; //移位輸出高字節(jié) shiftOut(dataPin, clock, MSBFIRST, (data >> 8)); //移位輸出低字節(jié) shiftOut(data, clock, MSBFIRST, data); //最低有效位優(yōu)先串行輸出 data = 500; //移位輸出低字節(jié) shiftOut(dataPin, clock, LSBFIRST, data); //移位輸出高字節(jié) shiftOut(dataPin, clock, LSBFIRST, (data >> 8));
實(shí)驗(yàn)例程
使用硬件
- Carduino UNO R3 控制器 * 1個(gè)
- Carduino UNO 傳感器擴(kuò)展板 v5.0 * 1個(gè)
- 8 * 8 LED Matrix Module v1.0 * 1個(gè)
- 3P 通用連接線 * 1條
- 2P 電源線 * 1組
- USB 數(shù)據(jù)通信線 * 1條
接線方法
通過 SPI 通信方式中的 DIN、CLK、LTH 對 LED 點(diǎn)陣進(jìn)行控制。DIN 為數(shù)據(jù),CLK為時(shí)鐘,LTH 為鎖存。 將 8 * 8 點(diǎn)陣模塊的 DIN、CLK、LTH 分別連接到 Arduino 傳感器擴(kuò)展板的數(shù)字 4、5、6 引腳,VCC、GND 分別連接到傳感器擴(kuò)展板的任意一個(gè) V、G 端口。最后連接Arduino 控制器至計(jì)算機(jī)。 如下圖所示: 整體連接圖:
接線細(xì)節(jié)圖:
例子程序1
//Pin connected to ST_CP of 74HC595 int latchPin = 6;//定義LTH引腳為D6 //Pin connected to SH_CP of 74HC595 int clockPin = 5;//定義CLK引腳為D5 //Pin connected to DS of 74HC595 int dataPin = 4;//定義DIN引腳為D4 int tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void setup() { //set pins to output because they are addressed in the main loop pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { for(int i = 0; i < 8; i++){ for(int j = 0; j < 8; j++){ digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, tab[i]);//掃描顯示每一列 shiftOut(dataPin, clockPin, LSBFIRST, 0xff); //將行顯示設(shè)置為低電平 digitalWrite(latchPin, HIGH); delay(50); } } for(int i = 0; i < 8; i++){ for(int j = 0; j < 8; j++){ digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, 0x00);//將列顯示設(shè)置為高電平 shiftOut(dataPin, clockPin, LSBFIRST, tab[i]); //掃描顯示每一行 digitalWrite(latchPin, HIGH); delay(50); } } }
程序1效果
點(diǎn)陣液晶分別以行掃描和列掃描顯示
例子程序2
const int DINPin = 4; //數(shù)據(jù)引腳 連接到數(shù)字P4口 const int CLKPin = 5; //時(shí)鐘引腳 連接到數(shù)字P5口 const int LTHPin = 6; //鎖存引腳 連接到數(shù)字P6口 byte LieScan[16] = { //列掃描,點(diǎn)陣只點(diǎn)亮一列 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F }; byte HanZi_1[] = { 0x1c,0x7c,0x7e,0x3f,0x3f,0x7e,0x7c,0x1c //顯示心形圖案 }; void setup() { pinMode(DINPin,OUTPUT); //設(shè)置數(shù)據(jù)引腳為輸出 pinMode(CLKPin,OUTPUT); //設(shè)置鎖存引腳為輸出 pinMode(LTHPin,OUTPUT); //設(shè)置時(shí)鐘引腳為輸出 } void loop() { for(unsigned char times_1 = 0;times_1 <250;times_1++) { //持續(xù)刷新250次 for(char x = 0;x <8;x++) { shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_1[x]); //再送行數(shù)據(jù) digitalWrite(LTHPin, LOW); //刷新顯示 digitalWrite(LTHPin, HIGH); } } }
程序2效果
點(diǎn)陣液晶屏顯示為心形圖案
例子程序3
const int DINPin = 4; //數(shù)據(jù)引腳 連接到數(shù)字P4口 const int CLKPin = 5; //時(shí)鐘引腳 連接到數(shù)字P5口 const int LTHPin = 6; //鎖存引腳 連接到數(shù)字P6口 byte LieScan[16] = { //列掃描,點(diǎn)陣只點(diǎn)亮一行 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F }; byte HanZi_1[] = { 0x04,0xFA,0x89,0xBA,0xC0,0x1C,0x40,0xFF //創(chuàng) }; byte HanZi_2[] = { 0x4A,0xAE,0xFB,0x2E,0x4A,0xFC,0x0A,0xF9 //新 }; byte HanZi_3[] = { 0x04,0x02,0x24,0x40,0x40,0x24,0x02,0x04 //^_^ }; void setup() { pinMode(DINPin,OUTPUT); //設(shè)置數(shù)據(jù)引腳為輸出 pinMode(CLKPin,OUTPUT); //設(shè)置鎖存引腳為輸出 pinMode(LTHPin,OUTPUT); //設(shè)置時(shí)鐘引腳為輸出 } void loop() { for(unsigned char times_1 = 0;times_1 <250;times_1++) { //持續(xù)刷新250次 for(char x = 0;x <8;x++) { shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_1[x]); //再送行數(shù)據(jù) digitalWrite(LTHPin, LOW); //刷新顯示 digitalWrite(LTHPin, HIGH); } } for(unsigned char times_2 = 0;times_2 <250;times_2++) { //持續(xù)刷新250次 for(char x = 0;x <8;x++) { shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_2[x]); //再送行數(shù)據(jù) digitalWrite(LTHPin, LOW); //刷新顯示 digitalWrite(LTHPin, HIGH); } } for(unsigned char times_3 = 0;times_3 <250;times_3++) { //持續(xù)刷新250次 for(char x = 0;x <8;x++) { shiftOut(DINPin, CLKPin, MSBFIRST, LieScan[x]); //先選擇列 shiftOut(DINPin, CLKPin, MSBFIRST, HanZi_3[x]); //再送行數(shù)據(jù) digitalWrite(LTHPin, LOW); //刷新顯示 digitalWrite(LTHPin, HIGH); } } }
程序3效果
在 8 * 8 LED Martix Module模塊上輪流顯示“創(chuàng) 新 ^_^”
產(chǎn)品相關(guān)推薦
購買地址
周邊產(chǎn)品推薦
Arduino LCD12864 點(diǎn)陣液晶擴(kuò)展板 12864液晶屏
Arduino 12864點(diǎn)陣液晶 51單片機(jī)
相關(guān)問題解答
8*8點(diǎn)陣模塊桃心呼吸燈效果 求助
8x8點(diǎn)陣程序燒進(jìn)去,顯示的圖案沒有規(guī)律