導航:首頁 > 操作系統 > 單片機圖形點陣

單片機圖形點陣

發布時間:2023-09-22 00:55:56

『壹』 單片機的課程設計——在8*8點陣顯示圖形

這個問題不是很難!
我的理解是樓主可能只用單片機和點陣模塊來實現,這需要單片現來做動態掃描。
首先需要你把點陣上要顯示圖形的代碼寫出來,即每種圖形每行顯示的數據,每個圖形有8行數據,即佔8個位元組的空間!
如果樓主用51單片機來實現的話,可以使用P0口輸出行數據,P1口作為點陣的行掃描控制。
其次要用按鍵控制,只需你把每種圖形以不同的表存起來,再做一個按鍵掃描程序,當檢測到有鍵按下時,把動態掃描的表頭地址更換即可!

『貳』 51單片機點陣顯示一個漢字

8x8的點陣太小,很難正常顯示一個漢字,通常,會使用4個8x8的點陣即16x16的點陣來顯示一個漢字。

單片機在通過點陣顯示漢字的時候,需要用到如下技術手段:

1、漢字取模

漢字取模,即把漢字對應16x16點陣的圖形用16進制數來描述,形成可以用於驅動顯示的數據。

例如下圖,的漢字「中」

該字的16x16點陣圖形中,每行有16個像素,可以編碼為2個位元組,每8個像素,對應一個位元組的高低位,則該字編碼的前2個位元組為0x01,0x80……,如此,可用32個位元組描述漢字的點陣圖形。

關於漢字取模有很多開源的軟體,你可以搜索下載並使用,將你的程序中所需要使用的漢字,全部處理成字模,再定義到程序中即可。(也可以使用漢字字型檔晶元,這里就不討論了)

2、掃描顯示

通常,驅動點陣設備時,為了節約單片機的管腳資源,會使用鎖存器一類的期間,即鎖存器輸出端與點陣連接,而輸入段由單片機控制,採用行、場掃描或分塊行、場掃描的方式驅動,具體你可以搜尋相關資料。

『叄』 單片機 8*8點陣C51程序

一.基於51的點陣屏顯示:(1)點亮第一個8*8點陣:
1.首先在Proteus下選擇我們需要的元件,AT89C51、74LS138、MATRIX-8*8-GREEN(在這里使用綠色的點陣)。在Proteus
6.9中8*8的點陣總共有四種顏色,分別為MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MATRIX-8*8-ORANGE
,MATRIX-8*8-RED。
在這里請牢記:紅色的為上列選下行選;其它顏色的為上行選下列選!而所有的點陣都是高電平選中列,低電平選中行!也就是說如果某一個點所處的行信號為低,列信號為高,則該點被點亮!此結論是我們編程的基礎。
2.在選擇完以上三個元件後,我們開始布線,具體如下圖:
這里P2是列選,P3連接38解碼器後作為行選。
選擇38解碼器的原因:38解碼器每次可輸出相應一個I/O口的低電平,正好與點陣屏的低電平選中行相對,並且節省了I/O口,大大方便了我們的編程和以後的擴展。
3.下面讓我們把它點亮,先看一個簡單的程序:
(將奇數行偶數列的點點亮,效果如下圖)
下面是源代碼:
/************8*8LED點陣屏顯示*****************/
#include<reg51.h>
void
delay(int
z)
//延時函數
{
int
x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
void
main()
{
while(1)
{
P3=0;
//行選,選擇第一行
P2=0x55;
//列選,即該行顯示的數據
delay(5);
//延時
/*****下同*****/
P3=2;
//第三行
P2=0x55;
delay(5);
P3=4;
//第五行
P2=0x55;
delay(5);
P3=6;
//第七行
P2=0x55;
delay(5);
}
}
上面的程序實現了將此8*8點陣的奇數行偶數列的點點亮的功能。重點讓我們看while循環內,首先是行選P3=0,此時38解碼器的輸入端為000,則輸出端為01111111,即B0端為低電平,此時選中了點陣屏的第一行,接著列選我們給P2口賦0x55,即01010101,此時又選中了偶數列,緊接著延時。然後分別對第三、五、七行進行相同的列選。這樣就點亮了此點陣屏奇數行偶數列交叉的點。
完成這個程序,我們會發現其實點陣屏的原理是如此簡單,和數碼管的動態顯示非常相似,只不過換了一種方式而已。
對不起啦,我傳了三次圖片都沒傳上,郁悶哪!希望你能理解哈!
不過我有傳一份WORD文檔在我的空間裡面

『肆』 單片機輸出的點陣圖形信號怎麼連接電腦顯示器

你是說連接的 顯示屏吧。單片機輸出的信號給顯示屏才能成為顯示器。

『伍』 哪位高手能給我解釋解釋單片機點陣掃描原理不謝謝

談LED點陣的掃描原理,只要一看LED點陣的原理圖就一目瞭然了,如下圖:

圖中,A--H可以看做行,1--7看做列;假如我們給點陣送人一個列數據0x80(1000 0000),並且同時送人一個行數據0x7f(0111 1111),此時我們就點亮了這個點陣左上角的那顆LED發光管,如果我們不停的行數據:0111 1111;1011 1111;1101 1111;1110 1111;1111 0111;1111 1011;1111 1101;1111 1110,這8個數據周而復始的送人點陣就是行掃描的過程,這個過程一般採用74HC138等解碼器來完成,而在對應的行數據送人的同時也送人1--7的列數據,例如:

行=0111 1111,列=1000 0000

行=1011 1111,列=0100 0000

行=1101 1111,列=1010 0000

行=1110 1111,列=1001 0000

行=1111 0111,列=1000 1000

行=1111 1011,列=1000 0100

行=1111 1101,列=1000 0010

行=1111 1110,列=1000 0001

此時程序循環執行的結果會在點陣屏上顯示左上至右下的對角斜線。

仔細想想應該不難理解。

在代碼編寫上,實現上述功能有很多方法,最長用的就是for循環,如果你網路資料會發現,大凡點陣顯示代碼中都會在顯示函數中引用for循環,而且根據點陣數的不同會有:

for(i=0;i<8;i++)或for(i=0;i<16;i++)或for(i=0;i<32;i++)這就是對於8行、16行、32行點陣的掃描演算法

就說到這里吧,更多的知識請網路搜索吧。

閱讀全文

與單片機圖形點陣相關的資料

熱點內容
手機建立文件夾用什麼軟體 瀏覽:728
oss壓縮上傳 瀏覽:978
藍色學校網站源碼 瀏覽:827
androidgridview表格 瀏覽:604
壓縮怎麼eq閃 瀏覽:740
流密碼演算法openssl 瀏覽:262
怎麼數黃豆個數python 瀏覽:799
混沌序列加密的結論 瀏覽:224
最新脫單app哪個好 瀏覽:638
如何用自己電腦做伺服器做網頁 瀏覽:140
伺服器安全配置要考什麼證書 瀏覽:633
ipadpro可以編程 瀏覽:541
外國的程序員和中國的程序員 瀏覽:151
抖音小店app如何聯系客服 瀏覽:975
linux打開多個終端 瀏覽:500
linux中的命令 瀏覽:580
優化小米6相機演算法 瀏覽:259
ak47pdf 瀏覽:150
人與文化pdf 瀏覽:642
原子幣app在哪裡注冊的 瀏覽:530