【正文】
碼一樣,但是相比 74LS138 少用一片芯片。 P0口: P0口為一個 8位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。 P3 口也可作為 AT89C51 的一些特殊功能口,如下所示: ? RXD(串行輸入口) ? TXD(串行輸 出口) ? /INT0(外部中斷 0) ? /INT1(外部中斷 1) ? T0(記時器 0 外部輸入) ? T1(記時器 1 外部輸入) ? /WR(外部數(shù)據(jù)存儲器寫選通) ? /RD(外部數(shù)據(jù)存儲器讀選通) AT89C51 振蕩器特性為: XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,停止芯片其它功能直至硬件復(fù)位,直到下一個硬件復(fù)位為止。具有高亮度、功耗低、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。掃描中控制電路將行 線的 1 到 8 輪流接通高電位,使連接到各該行的全部 LED 器件接通正電源,但具體那一個 LED 導(dǎo)通,還要看它的負(fù)電源是否接通,這就是列控制的任務(wù)了。如第一列為高電平置 1,第二列為低電平置 0,第三列為高電平置 1, P行為低電平置 0, O 行為高電平置 1,則顯示效果 是 P 行上的第一個 LED 燈亮,第二個 LED燈滅,第三個 LED 燈亮。圖 39為編碼器 74LS154外形及內(nèi)部邏輯結(jié)構(gòu)。 AT24C08提供 8192位的串行電可擦寫可編程只讀存儲器 (EEPROM),組織形式為 1024字8 位字長。 在單片機系統(tǒng)中,硬件是系統(tǒng)的基礎(chǔ),軟件 則是在硬件的基礎(chǔ)上對其合理的調(diào)配和使用,從而完成應(yīng)用系統(tǒng)所要完成的任務(wù)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)。而且現(xiàn)在很多編譯器都能很好的支持 C 語言的編譯和調(diào)試。由于單片機沒有停機指令,所以可以設(shè)置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。 方式 1 最大計數(shù)值為 216=65536 ,若 fosc=12MHz,則定時時間范圍為 1~ 65536μs。串口同時也是儀器儀表設(shè)備通用的通信協(xié)議;很多 GPIB 兼容的設(shè)備也帶有 RS—232口。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 18 接收數(shù)據(jù)。這意味著串口通信在數(shù)據(jù)線上的采樣率為 4800Hz。擴展的 ASCII 碼是 0~ 255( 8 位)。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。當(dāng)然沒有校驗位也是可以的。用于驅(qū)動和連線的改進,實際應(yīng)用中 RS232 的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。 MAX232 是標(biāo)準(zhǔn)的串口通信接口,對于一般的雙向通訊,只需要使用串行輸入口RXD(第 12 腳 )、串行輸出 TXD(第 11 腳 )和地線(第 10 腳)。 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 20 單 片 機 接 收 到 數(shù) 據(jù)是 否 是 ‘ \ N ’存 儲 數(shù) 據(jù)判 斷 命 令 字 , 調(diào) 用 相 關(guān)函 數(shù) , 處 理 數(shù) 據(jù)結(jié) 束 , 等 待 下 一 次 數(shù) 據(jù)是否 上 位 機 發(fā) 送 讀 取 數(shù) 據(jù) 命 令上 位 機 接 收 數(shù) 據(jù)是 否 是 ’ \ N ’存 儲 數(shù) 據(jù)判 斷 命 令 字 , 調(diào) 用 相 關(guān)函 數(shù) , 處 理 數(shù) 據(jù)結(jié) 束 , 返 回是否 圖 42 單片機接收命令流程圖 圖 43 上位機接收信息流程圖 二、單片機對上位機的通信協(xié)議 單片機對上位機的通信主 要是要發(fā)送實時時間,日期,星期,溫度等,以完成在上位機相應(yīng)的顯示。 單片機收到上位機發(fā)過來的數(shù)據(jù),首先存儲數(shù)據(jù),直到收到 ?\n?,將處理收到的數(shù)據(jù),然后解析命令字,根據(jù)命令字調(diào)用相關(guān)處理函數(shù)。由于電腦串口RS232 電平是 10V +10V,而一般的單片機應(yīng)用系統(tǒng)的信號電壓是 TTL 電平 0 +5V,MAX232 就是用來進行電平 轉(zhuǎn)換的,該器件包含 2個驅(qū)動器、 2個接收器和一個電壓發(fā)生電路提供 TIA/EIA232F 電平。 RS232( ANSI/EIA232 標(biāo)準(zhǔn))是 IBMPC 及其兼容機上的串行連接標(biāo)準(zhǔn)。 奇偶校驗位 在串口通信中一種簡單的檢錯方式。如果是奇校驗,校驗位為 1,這樣就有 3 個邏輯高位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。如何設(shè)置取決于你想傳送的信息。例如 300波特表示每秒鐘發(fā)送 300 個 bit。典型地,串口用于 ASCII 碼字符的傳輸。 串口通信設(shè)計 串口的定義 串口是計算機上一種非常通用設(shè)備通信的協(xié)議。顯示驅(qū)動程序在進入中斷后首先要對定時器T0 重新賦初值,以保證顯示屏刷新 率的穩(wěn)定, 1/16 掃描顯示屏的刷新率(幀頻)計算公式如下: 刷新率(幀頻) =161 T0 溢出率 =161 )65536(12 0tfosc ? 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 17 其中 fosc 為晶振頻率, t0 為定時器 T0 初值(工作在 16 位定時器模式)。 程序主系統(tǒng)及驅(qū)動系統(tǒng) 主系統(tǒng) 系統(tǒng)的主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時器、中斷和端口;然后 LED 顯示屏進入開機狀態(tài),轉(zhuǎn)入正常的顯示。還有也是比較致命的一點,可移植性比較差,所以使用匯編語言編程將需要大量的時間用于軟件的編寫和調(diào)試。顯示驅(qū)動程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號和其它控制信號,配合完成 LED顯示屏的掃描顯示工作。 VisualBasic6. 0(以下簡 VB)是許多工程技術(shù)人員熟悉和常用的應(yīng)用程序開發(fā)軟件, VB 以其簡單易學(xué)、 32 位面向?qū)ο蟮某绦蛟O(shè)計等特點,倍受廣大計算機開發(fā)者的青睞,已廣泛地應(yīng)用于各個領(lǐng)域;如何用 VB 編寫數(shù)據(jù)通訊程序,并進行數(shù)據(jù)處理,意義重大。 1 2 3 4ABCD4321DCBAT i t leN u m be r R e v i s i onS i z eA4D a t e : 8 J un 20 12 S he e t o f F i l e : C : \ D o c um e nt s a n d S e tt i ngs \ A d m i ni s t r a t or \ 桌面 \ 060 8004 r a w n B y :E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U1805 1C247p f11. 0592M H zC R Y S T A LC147p fS W 1S W P BV C CC347p fR 3210kR 331kA23B22C21D20G118G219011223344556677889910101111131214131514161517U274L S 154R0 200R1 200R2 200R3 200R4 200R5 200R6 200R7 200R8 200R9 200R 10 200R 11 200R 12 200R 13 200R 14 200R 15 200R 16 200R 17 200R 18 200R 19 200R 20 200R 21 200R 22 200R 23 200R 24 200R 25 200R 26 200R 27 200R 28 200R 29 200R 30 200R 31 200Q0S 85 50Q1S 85 50Q2S 85 50Q3S 85 50Q4S 85 50Q5S 85 50Q6S 85 50Q7S 85 50Q8S 85 50Q9S 85 50Q 1 0S 85 50Q 1 1S 85 50Q 1 2S 85 50Q 1 3S 85 50Q 1 4S 85 50Q 1 5S 85 50V C CV C C V C C V C C V C C V C C V C C V C C V C CV C CV C CV C CV C CV C CV C CV C CV C C162738495J1D B 9C 1+1V+2C 13V6C 2+4VCC16C 25GND15T 1I N11T 1O U T14T 2I N10T 2O U T7R 1O U T12R 1I N13R 2O U T9R 2I N8U3M A X 232V C CC5105C4105V C C C6105C710565781234A0A1A2V S S S D AS C LT E S TV D DV C CG N D 圖 312 74LS154行驅(qū)動模塊 掉電保存模塊是通過單片機 AT24C08對 LED 點陣顯示屏內(nèi)容進行保存。實現(xiàn)解調(diào)功能的辦法是:用 4 個輸入線寫出輸出線的地址,使得在一個選通輸入為低時數(shù)據(jù)通過另一個選通輸入。它的外觀形狀如圖 34 所示,內(nèi)部結(jié)構(gòu)如圖 35 所示。行驅(qū)動器一行的行線連接到電源的一端,列驅(qū)動器一列的列線連接到電源的另一端。 31引腳接電源端,如圖 33所示。在閑置模式下, CPU 停止工作。當(dāng) P3口寫入 “1”后,它們被內(nèi)部上拉為高電平,并用作輸入。在 FLASH 編程和校驗時, P1 口作為第八位地址接收。圖 為 AT89C51 外部封裝。 行驅(qū)動電路主要是要實現(xiàn)譯碼功能,下面有 2 種方案供其選擇: 方案一:采用 2 塊 74LS138 級聯(lián)來實現(xiàn) 4/16 線譯碼功能 , 74LS138 芯片本身具有 3/8線譯碼功能,但是增加了芯片 的使用數(shù)目,增加了連線及所占面積。所以不采用本方案。 復(fù)位電路 方案一:采用按鈕復(fù)位,通過按電路中的開關(guān)按鈕使系統(tǒng)內(nèi)部復(fù)位,按一次開關(guān)按鈕系統(tǒng)復(fù)位一次,但是在點陣屏顯示過程中不需要對系統(tǒng)進行復(fù)位,本方案與實際應(yīng)用不相符合,所以不采取本方案。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。顯然,采用并行方式時,從控制電路到列驅(qū)動器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。因此采用另一種稱為動態(tài)掃描的顯示方法。使 LED 全彩色顯示產(chǎn)品成本下降,應(yīng)用加快。 然而,我國目前 LED 產(chǎn)品開發(fā)應(yīng)用領(lǐng)域依然存在許多不足。( 4)體育場館信息顯示。 單片機控制系統(tǒng)程序采用單片機匯編語言進行編輯,通過編程控制各顯示點對應(yīng) LED 陽極和陰極端的電平,就可以有效的控制各顯示點的亮滅。 整機以 AT89C51 單片機為核心,介紹了以它為控制系統(tǒng)的 LED 點陣電子顯示屏的動態(tài)設(shè)計和開發(fā)過程。 關(guān)鍵詞: AT89S51 單片機, LED 點陣顯示,動態(tài)顯示,串行通信,匯編語言大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) ABSTRACT Ⅱ ABSTRACT This design is a 16 16 lattice LED electron display monitor design basic on personal put