freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于at89c51單片機的led點陣廣告牌設(shè)計(編輯修改稿)

2025-02-12 22:07 本頁面
 

【文章內(nèi)容簡介】 便,我們?nèi)栽O(shè)計成由上往 下掃描,即從 p27 向 p20方向掃 描,從上圖可以看到,這一列全部為不亮,即為 00000000, 16進制則為 00h。 然后單片機轉(zhuǎn)向上半部第二列,仍為 p01點亮,為 00000100,即 16進制 列完成后繼續(xù)進行下半部分的掃描, p20 點亮,為二進制 00000010,即 16 進制,繼續(xù)進行下面的掃描,一共掃描 32 個 8 位,可以得出漢字“高”的掃描代碼為: 02h, 00h, 01h, 04h,0FFh,0FEh, 00h, 00h, 1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h, 00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h, 48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。 由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。不過現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,就不必自己去畫表格算代碼了。 用 8 8LED 點陣構(gòu)成 16 16LED 點陣 Proteus中只有 5 7和 8 8等 LED點陣,并沒有 16 16LED點陣,而在實際應(yīng)用中,要良好地顯示一個漢字,則 至少需要 16 16 點陣。下面我們就首先介紹使用 8 8點陣構(gòu)建 16 16點陣的方法,并構(gòu)建一塊 16 16LED 點陣,用于本例的顯示任務(wù)。 首先,從 的元件庫中找到“ MATRIX8X8RED”元器件,并將四塊該元器件放入 Proteus 文檔區(qū)編輯窗口中。此時需要注意 ,如果該元器件保持初始的位置(沒有轉(zhuǎn)動方向),我們要首先將其左轉(zhuǎn) 90176。,使其水平放置,那么此時它的左面 8個引腳是其行線,右邊 8個引腳是其列線(當然,如果你是將右轉(zhuǎn),則右邊 8個引腳是行線)。然后我們將四個元器件對應(yīng)的行線和列線分別進 行連接,使每一條行線引腳接一行 16 個 LED,列線也相同。并注意要將行線和列線引出一定長度的引腳,以便下面我們使用。連接好的 16 16點陣如圖 。 成如上圖的 16 16 點陣只是第一步,這樣分開的數(shù)塊并不能達到好的顯示效果 ,下面我們要將其進一步組合。組合實際上很簡單,首先選中如上圖中右側(cè)的兩塊 8 8點陣,然后拖動并使其與左側(cè)的兩塊相并攏,如圖 所示。 圖 可以看到原來的連線已經(jīng)自動隱藏了,至于線上的交點,我們不要去動。然后,我們再來最后一步,選中下側(cè)的兩塊點陣,并拖動使其與上側(cè)的 兩塊并攏 ,最后的效果如圖 所示。 看到 ,原來雜亂的連線現(xiàn)在已經(jīng)幾乎全部隱藏了,一塊 1616 的 LED 點陣做成了。需要注意,做成的 LED 點陣的行線為左側(cè)的 16個引腳,下側(cè)的 16 個引腳為其列線,而且其行線為高電平有效,列線為低電平有效。然后,我們將其保存,以便以后使用。 圖 點陣模塊組合 圖 主控單片機的接口說明 P0 口: P0 口是一組 8 位漏極開路型雙向 I/O 口,也即地址 /數(shù)據(jù)總線復(fù)制用口,作為輸入口時,每位能吸收電流的方式驅(qū)動 8 個 TTL 邏輯門電路,對端口寫入“ 1 可作為高阻抗輸入端用。在訪問外部 數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期激活內(nèi)部上拉電阻。在 Flash 編程時, PO 口接收指令節(jié),而在程序校檢時,輸出指令字節(jié),校檢時,要求外接上拉電阻。 P1 口: P1 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫“ 1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 I。 Flash編程和程序校檢期間, P1 接收低 8 位地址。 P2 口 :P2 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫“ 1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 I。在訪問外部數(shù)據(jù)存儲器或 16 位地址的外部數(shù)據(jù)存儲(例如執(zhí)行 MOVX@DPTR 指令)時,P2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI 指令)時, P2 口線上的內(nèi)容(也即特殊功能寄存器( SFR)區(qū)中 R2寄存器的內(nèi)容),在整個訪 問期間不改變。 Flash 編程和校檢時, P2 亦接收高位地址和其他控制信號。 P3 口: P3 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口。 P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。對 P3 口寫入“ 1”時,它們被內(nèi)部上拉電阻拉高并可作輸入端口,作輸入端時,被外部拉低的 P3口將用上拉電阻,輸出電流 I。 P3口還接收一些用于 Flash閃速存儲器編程和程序校檢的控制信號。 RST:復(fù)位輸入,當震蕩器工作時, RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。 ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器 時 ,ALE(地址鎖存允許)輸出脈沖用于所存地址的低 8位字節(jié)。即使不訪問外部存儲器, ALE乃以時鐘振動頻率的 1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是 :每當訪問外部數(shù)據(jù)存儲器時將跳過一個 ALE脈沖。 LED 顯示驅(qū)動電路 LED顯示驅(qū)動電路如圖 。 圖 顯示驅(qū)動電路圖 4 字模生成 字模簡介 文字的字模是一組數(shù)字,但它的意義卻與數(shù)字的意義有著根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀 [1]。 在電腦硬件中,根本沒有漢字 這個概念,也沒有英文的概念,其認識的概念只有 —— 內(nèi)碼 (將 ASCII表的高 128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低 128 位則留給英文字符使用,即英文的內(nèi)碼 )。如果你用啟動盤啟動系統(tǒng)后用 DIR命令可能得到一串串莫名其妙的字符,但那確確實實是漢字,如果你啟動 UCDOS或其他的漢字系統(tǒng)后,就會看到那是一個個熟悉的漢字。在硬件系統(tǒng)內(nèi),英文的字模信息一般固化在 ROM里,即使在沒有進入系統(tǒng)的 CMOS 里,也可以讓你看到英文字符。而在 DOS 下,中文的字模信息一般記錄在漢字庫文件里 (將制作好的字模 放到一個個標準的庫中,這就是點陣字庫文件 )。 LED 顯示屏領(lǐng)域字模實現(xiàn)技術(shù) 在通過軟件實現(xiàn)的技術(shù)中,目前有許多字模生成軟件,軟件打開后輸入漢字,點“檢取”,十六進制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。在通過硬件實現(xiàn)字模提取的技術(shù)中,有在單片機系統(tǒng)中增加硬漢字庫的方法,主控器發(fā)送的漢字是其機內(nèi)碼,用兩個字節(jié)來表示一個漢字。根據(jù)機內(nèi)碼,顯示單元控制模塊從漢字庫中查取顯示字模,實現(xiàn)漢字顯示。由于帶有硬漢字庫,進行動態(tài)文字顯示時,通用智能顯示單元僅接受漢字的機內(nèi)碼即 可,這樣數(shù)據(jù)通訊量大大減少。因此,“動態(tài)文字顯示速度快”。 軟件控制系統(tǒng)字模提取的分析與設(shè)計 而在 LED顯示屏控制系統(tǒng)具體應(yīng)用的 Windows操作系統(tǒng)下如何提取字模信息是設(shè)計的核心。軟件控制系統(tǒng)在實際編輯過程中,要求各種字體、字號的文字都能被編輯、保存。所以系統(tǒng)在設(shè)計時,把文本區(qū)理解為由眾多的象素點構(gòu)成,而把不同字體、字號的文字理解為一幅圖像。因為所開啟的文本區(qū)大小與 LED顯示屏的大小對應(yīng),所以采用 16 16 點陣為單位,把文本區(qū)內(nèi)的每個像素點都看成一個二維數(shù)組,由于系統(tǒng)中各種顏色都有對應(yīng)的值,賦 予每個不同顏色的像素點不同的對應(yīng)值,再把每個點賦予一個 int型的值,這樣保存下來的信息就是二進制數(shù)據(jù)。通過這樣的設(shè)計,我們不僅可以把任何字型,任何大小的文字保存下來,還可以顯示以 256個像素點陣為單位的任何圖形。在軟件控制系統(tǒng)中實現(xiàn)字模的提取,也就避免了在單片機中加載硬漢字庫模塊,從而簡化了硬件模塊的設(shè)計。 以下以單色屏為例,介紹系統(tǒng)采用字模保存的算法設(shè)計: 定義 COLORREF zimo_ color 為像素點的顏色,判斷某個點的顏色值。如果值為 Oxffffff,說明此點為白色,賦予此點值 0。由于單色屏只有 紅色和不顯色兩種,所以可以簡單賦值為除白色外其余點賦值為 1 CClientDC dc(this)。 CFile myfile。 unsigned int zimo[192] [384]={0}。 unsigned char zimo_data[192][48]={0}。 COLORREF zimo_color。 int row, col 。 this HideCaret()。 for (row=0。row192。row++){ for (col=0。col384。col++){ zimo_color= (col, row)。 if (zimo color = =Oxffffff) {zimo [row] [col]=0。}else {zimo [row] [col]=1。}}} 定義 unsigned int zimo[192][384]={0}。//文本區(qū)像素點 以 8位為一字節(jié) (因為在隨后的串行通訊中,傳輸?shù)臄?shù)據(jù)是 8位的二進制數(shù)據(jù) ) 定義 unsigned char zimo_data[192][48]={0} 字模存儲技術(shù) 目前使用最廣泛的技術(shù)是,通過上位機軟件將待顯示的字符串轉(zhuǎn)換為對應(yīng)的點陣字模數(shù)據(jù),通過燒寫的方式將這些字模數(shù)據(jù)按一定的順序編址后存儲在E2PROM 中。在條屏顯示的過程中按規(guī)定的方式取出 E2PROM 中的字模數(shù)據(jù)進行處理。對于一個 16 16 點陣的漢字字模數(shù)據(jù),需要連續(xù) 32 字節(jié)的 E2PROM 空間來存儲。照此計算,若有 256個需要顯示的字符,則至少需要 32B 256=8192 字節(jié)( 8KB)的 E2PROM存儲空間。通常的單 片機內(nèi)部沒有集成這么大容量的 E2PROM。因此這種方案,需要在單片機外部擴展大容量的 E2PROM,增加硬件成本。上位機程序設(shè)計由于涉及到漢字取模,取模算法的難度較大。在多字下載的時候傳輸時間也較長。諸多弊端使本設(shè)計放棄了傳統(tǒng)方案。而本設(shè)計創(chuàng)新使用了專用的點陣字庫芯片,成本僅為 8元,內(nèi)含各種點陣規(guī)格的 GB231 ASCII等標準字庫。專用字庫芯片采用微型 SO8 封裝,使用高速同步串行 SPI 接口進行讀寫操作,節(jié)省了控制器的 I/O。在本設(shè)計中,單片機內(nèi)部的小容量 E2PROM,用于存儲待顯示漢字的 GB2312 標準 機內(nèi)碼,每個全角字符的內(nèi)碼占 2 字節(jié),則在同樣需要顯示256個漢字的情況下,這種方案僅占用 512 字節(jié)的 E2PROM空間 字庫生成 因為本設(shè)計中為行掃描,列輸入,所以“魏”的自摸代碼為: DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H DB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00 “佳”字代碼為: DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H DB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H “鋒”字代碼為: DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H 5 軟件設(shè)計 程序設(shè)計總體思路和結(jié)構(gòu) 程序設(shè)計總體思路 用簡短的匯編程序設(shè)計,實現(xiàn) LED點陣顯示內(nèi)容,并使顯示的內(nèi)容在屏幕上從左到右的滾動顯示。系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、延時程序、顯示子程序和串行口中斷程序。 用 AT89C5 74LS37 74LS13 74HC154 芯片和 4 個 16 16LED 點陣顯示器構(gòu)成一個 完整的 16位點陣 LED顯示 系統(tǒng)。 程序流程圖 程序主要由開始、初始化、主程序、字庫組成。其中主程序和 子程序的流程 圖如圖 。 圖 單片機漢字顯示程序流程圖 各模塊程序設(shè)計 系統(tǒng)初始化 ORG 0000H AJMP START ORG 000BH LJMP TIME0 ORG 0030H START:MOV R1,00H MOV R2,00H MOV R3,00H MOV R4,00H MOV R5,00H LED 動態(tài)顯示 顯示要求漢字在顯示屏上按從左到右的順序一個個的出現(xiàn)。設(shè)計時可采用如下方法:首先將 LED 顯示屏對
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1