電子廣告牌設(shè)計(jì)學(xué)位_第1頁(yè)
電子廣告牌設(shè)計(jì)學(xué)位_第2頁(yè)
電子廣告牌設(shè)計(jì)學(xué)位_第3頁(yè)
電子廣告牌設(shè)計(jì)學(xué)位_第4頁(yè)
電子廣告牌設(shè)計(jì)學(xué)位_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)位論文電子廣告牌設(shè)計(jì)太原工業(yè)學(xué)院Taiyua n In stitute of Tech no logy畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的 指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和 致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不 包含我為獲得 _及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。 對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說(shuō)明本人完全了解 _大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定

2、,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué) 校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽 服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不 以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: _ 日 期:_誠(chéng)信申明本人申明:本人所提交的畢業(yè)設(shè)計(jì)(論文)電子廣告牌設(shè)計(jì)的所有材料是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立研究、寫(xiě)作、完成的成果,設(shè)計(jì)(論文)中所引用他人的無(wú)論以何種方式發(fā) 布的文字、研究成果,均在設(shè)計(jì)(論文)中加以說(shuō)明;有關(guān)教師、同學(xué)和其他人員對(duì)我 的設(shè)計(jì)(論文)的寫(xiě)作、修訂提出過(guò)并為我在設(shè)計(jì)(論文)中加以采納的意見(jiàn)、建議, 均已在

3、我的致謝辭中加以說(shuō)明并深致謝意。本設(shè)計(jì)(論文)和資料若有不實(shí)之處,本人承擔(dān)一切相關(guān)責(zé)任。特此申明。本人簽名:2012年06月15日畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)設(shè)計(jì)(論文)題目: _電子廣告牌設(shè)計(jì)_系部:電子工程系專(zhuān)業(yè):電子信息工程 學(xué)號(hào): _學(xué)生: 指導(dǎo)教師(含職稱):_專(zhuān)業(yè)負(fù)責(zé)人: _1 設(shè)計(jì)(論文)的主要任務(wù)及目標(biāo)LED顯示屏的應(yīng)用涉及社會(huì)經(jīng)濟(jì)的許多領(lǐng)域,在服務(wù)領(lǐng)域的業(yè)務(wù)宣傳及信息顯示尤 為廣泛,要求設(shè)計(jì)完成點(diǎn)陣式點(diǎn)陣廣告牌,通過(guò) PC機(jī)接口連接廣告牌,能夠?qū)崿F(xiàn)中英 文字符的顯示和動(dòng)態(tài)特效顯示。2.設(shè)計(jì)(論文)的基本要求和內(nèi)容(1)掌握LED電子廣告牌的設(shè)計(jì)原理;(2)選擇設(shè)計(jì)方案,設(shè)計(jì)總體電路

4、結(jié)構(gòu);(3)完成PC機(jī)接口電路的設(shè)計(jì),(4)完成VB上位機(jī)以及單片機(jī)軟件部分的設(shè)計(jì)。3.主要參考文獻(xiàn)1劉永軍.單片機(jī)控制LED點(diǎn)陣顯示原理及Proteus仿真J.電腦知識(shí)與技術(shù),2010,27(6):765176532石長(zhǎng)華,周杰.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示設(shè)計(jì)與仿真J.景德鎮(zhèn)高專(zhuān)學(xué) 報(bào),2007,22 (4):2233 Takahashi, Tadokoro, Takeuti. LED array unit with silic on microreflector,1994, 674楊延寧,劉立軍,張志勇.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示電路設(shè)計(jì)J.液晶與 顯示,2009,

5、24(1),98102 張堔,耿標(biāo).16 x 16點(diǎn)陣LED的設(shè)計(jì)J.高科技產(chǎn)品研發(fā),2010,(8),646吳金戌,沈慶陽(yáng),郭庭吉.單片機(jī)實(shí)踐與應(yīng)用M.北京:清華大學(xué)出版社,2006 :157沈德金,陳粵初.MCS-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗齅.北京:北京航 空航天大學(xué)出版社,19908胡漢才.單片機(jī)原理及接口技術(shù)M.北京:清華大學(xué)出版社,19969 J.C.Whitaker.Thermal Desig n of Elektro nic Equipme nt,CRC Press LLC.L ondon20014 進(jìn)度安排序號(hào)設(shè)計(jì)(論文)各階段名稱起止日期1查找相關(guān)資料準(zhǔn)備開(kāi)題報(bào)告答

6、辯3月1日一3月15日2熟悉電子廣告牌的設(shè)計(jì)原理3月16日一3月30日3選擇設(shè)計(jì)方案,設(shè)計(jì)總體電路結(jié)構(gòu)4月1日一4月20日4完成硬件電路設(shè)計(jì)4月21日一4月30日5完成軟件編程5月01日一5月20日6撰寫(xiě)論文5月21日一5月31日7修改論文和答辯6月1日一6月20日電子廣告牌設(shè)計(jì)摘要隨著信息化社會(huì)的不斷加深,人們所追求的信息是越來(lái)越大,其中LED點(diǎn)陣廣告牌以其價(jià)格低廉、使用壽命長(zhǎng)、顯示信息量大、低功耗等一系列的優(yōu)勢(shì)廣泛的運(yùn)用在金融 證券、體育場(chǎng)所、交通運(yùn)輸、商業(yè)廣告、郵電電信及學(xué)校教育等領(lǐng)域。這使得LED的研發(fā)、設(shè)計(jì)和生產(chǎn)得到了迅速發(fā)展,并且成為產(chǎn)業(yè)。本設(shè)計(jì)從最基本的LED的顯示原理入手,以單

7、片機(jī)為控制核心,設(shè)計(jì)一款小型的LED 顯示屏,以此為最小模塊,可以實(shí)現(xiàn)多個(gè) LED模塊的級(jí)聯(lián)。使用電腦 VB編寫(xiě)的上位機(jī) 通過(guò)串口通信對(duì)點(diǎn)陣顯示屏的信息更新。關(guān)鍵詞:LED點(diǎn)陣,單片機(jī),VB上位機(jī),串口通信The Design Of Electric SignboardAbstractIn this in formatio n society, people surge in dema nd for in formatio n com muni cati on, dot matrix LED display has become an importa nt media. Finan cial

8、securities, sportsvenu es,tran sportati on,advertis ing,post andtelecom muni catio ns fields of telecom muni cati ons and school educati on have bee n widely used. Therefore, the dot matrix LED display R & D, desig n, producti on for the rapid development and becomethe industry. LEDdot matrix displa

9、y screen, green power has also been optimized. LED dot matrix display screen with a large amount of in formatio n, long life, low power con sumpti on, light weight, small size and cost of space is low. The desig n of the con trol by using the MCU core, design a dot matrix LEDdisplay. Meanwhile, the

10、use of computer PCVB, dot-matrix display through the serial port com muni cati on on the in formati on updated to reflect the speed con trol.Key words : LED dot matrix ,SCM ,Upper computer ,Serial com muni cati onVII目錄1緒論. 11.1 LED 點(diǎn)陣顯示屏概述 . 11.2研究?jī)?nèi)容. 22總體結(jié)構(gòu)和硬件電路設(shè)計(jì). 42.1總體框圖及工作原理 . 32.2硬件電路設(shè)計(jì). 52.2.

11、1單片機(jī)選型 . 52.2.2單片機(jī)最小系統(tǒng) . 82.2.3LED點(diǎn)陣屏驅(qū)動(dòng)設(shè)計(jì) . 102.2.4 串口通信電路設(shè)計(jì) . 133單片機(jī)軟件設(shè)計(jì). 173.1軟件設(shè)計(jì)環(huán)境 . 173.2點(diǎn)陣屏顯示程序 . 173.2.1驅(qū)動(dòng)芯片的控制程序 . 173.2.2點(diǎn)陣屏顯示的移動(dòng)算法 . 183.2.3點(diǎn)陣屏動(dòng)態(tài)掃描顯示 . 203.3串口通信程序設(shè)計(jì) . 214上位機(jī)軟件設(shè)計(jì). 254.1上位機(jī)開(kāi)發(fā)環(huán)境介紹 . 254.2漢字點(diǎn)陣的編碼原理及提取方法 . 254.2.1漢字點(diǎn)陣的編碼原理 . 254.2.2漢字點(diǎn)陣的提取方法 . 264.3上位機(jī)界面的設(shè)計(jì) . 274.4 VB程序編寫(xiě) . 28

12、4.4.1字模轉(zhuǎn)換程序. 284.4.2串口傳輸程序 . 285設(shè)計(jì)仿真. 315.1仿真軟件的簡(jiǎn)介 . 315.2仿真軟件的使用 . 325.3仿真結(jié)果 . 336總結(jié). 35VII參考文獻(xiàn). 36致謝. 37附錄. 38緒論1.1 LED點(diǎn)陣顯示屏概述LED電子顯示屏(Light Emitting Diode Panel)是由幾百-幾十萬(wàn)個(gè)半導(dǎo)體發(fā)光 二極管構(gòu)成的像素點(diǎn),按矩陣均勻排列組成。利用不同的半導(dǎo)體材料可以制造不同色彩 的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色LED的開(kāi)發(fā)已經(jīng)達(dá)到了實(shí)用階段。LED顯示屏是一種通過(guò)控制半導(dǎo)體發(fā)光二極管的亮度的方式,來(lái)顯示文字、

13、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。LED顯示屏因?yàn)槠湎袼貑卧侵鲃?dòng)發(fā)光的,具有亮度高,視角廣、工作電壓低、功 耗小、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定等優(yōu)點(diǎn)。因而被廣泛應(yīng)用于車(chē)站、碼頭、 機(jī)場(chǎng)、商場(chǎng)、 醫(yī)院、賓館、銀行、證券市場(chǎng)、建筑市場(chǎng)、拍賣(mài)行、工業(yè)企業(yè)管理和其它公共場(chǎng)所。LED顯示屏的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高氣候耐受性、更高的發(fā)光密度、 更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。LED顯示屏按顏色分為:?jiǎn)位@示屏:?jiǎn)我活伾t色或綠色)。雙基色顯示屏:紅和綠雙基色,256級(jí)灰度、可以顯示65536種顏色。全彩色顯示屏:紅、綠、藍(lán)三基色,256級(jí)灰度的全彩

14、色顯示屏可以顯示一千六百多萬(wàn)種顏色。LED顯示屏按顯示器件分為:LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時(shí)鐘屏、利率屏等,顯示數(shù) 字的電子顯示屏。LED 點(diǎn)陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯示模 塊,適于播放文字、圖像信息。LED顯示屏按使用場(chǎng)合分為:室內(nèi)顯示屏:發(fā)光點(diǎn)較小,一般3mm-O8mm顯示面積一般零點(diǎn)幾至十幾平方米。室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽(yáng)光下工作,具有 防風(fēng)、防雨、防水功能。LED顯示屏按發(fā)光點(diǎn)直徑分類(lèi)室內(nèi)屏:3mm3.75mm 5mm室外屏:10mm12mm16mm19mm21mm26mm室外屏發(fā)光的基本單元

15、為發(fā)光筒,發(fā)光筒的原理是將一組紅、綠、藍(lán)發(fā)光二極管圭寸 在一個(gè)塑料筒內(nèi)共同發(fā)光增強(qiáng)亮度。我國(guó)的LED顯示屏市場(chǎng)從上世紀(jì)90年代后期開(kāi)始一直保持著增長(zhǎng)的勢(shì)頭,1998年 -2000年間,年增長(zhǎng)率基本在 30%以上。2000年-2006年,每年的增長(zhǎng)幅度在15%左右, 2007年是近年增長(zhǎng)最快的一年,增幅在40%以上。2007年,全國(guó)LED顯示屏的市場(chǎng)規(guī)模 達(dá)到了 72億元。近幾年來(lái)都一直保持著一個(gè)迅猛的發(fā)展勢(shì)頭。隨著 LED器件材料性能的不斷提高,LED顯示屏的應(yīng)用領(lǐng)域和應(yīng)用深度都必將猛擴(kuò)大和加深,其中全彩色顯示 屏、半導(dǎo)體照明交通信號(hào)、汽車(chē)等特種領(lǐng)域有巨大的市場(chǎng),蘊(yùn)含巨大的商機(jī)。圖1.1 LE

16、D電子顯示屏應(yīng)用示例1.2研究?jī)?nèi)容主要研究單片機(jī)控制系統(tǒng)的設(shè)計(jì)、LED顯示屏驅(qū)動(dòng)電路、單片機(jī)控制程序、VB上位 機(jī)程序、串口通信部分程序、LED點(diǎn)陣屏的動(dòng)態(tài)掃描技術(shù)。LED顯示屏與PC的數(shù)據(jù)傳輸方式有串行和并行兩種,而使用串行傳輸可有效減少硬 件設(shè)計(jì)的復(fù)雜程度,同時(shí)傳輸率也能得到保證。數(shù)碼管動(dòng)態(tài)掃描技術(shù)早已得到廣泛應(yīng)用, 以外的數(shù)碼管顯示還是停留在靜態(tài)顯示,即每一位數(shù)字顯示都需要對(duì)應(yīng) 9個(gè)引腳控制, 這無(wú)疑對(duì)硬件設(shè)計(jì)造成壓力。如一個(gè) 8*8的點(diǎn)陣屏也是用靜態(tài)顯示技術(shù),那么最少需要 65根控制引腳。采用動(dòng)態(tài)顯示技術(shù)后,能將引腳數(shù)減少到 16根。遠(yuǎn)程控制即可以通過(guò) 數(shù)據(jù)傳輸,控制端使用通信技術(shù)或者

17、遙控技術(shù),對(duì)目標(biāo)器件進(jìn)行控制。實(shí)現(xiàn)的功能:當(dāng)在VB界面輸入想要顯示的漢字是,VB程序通過(guò)處理后講信息發(fā)送給 單片機(jī),最后單片機(jī)將漢字顯示在點(diǎn)陣屏幕上。并且當(dāng)顯示漢字多于兩個(gè)時(shí),進(jìn)行左移 的動(dòng)態(tài)顯示。2總體設(shè)計(jì)與分析2.1設(shè)計(jì)的總體框圖上位機(jī)VB軟件將要顯示的漢字進(jìn)行轉(zhuǎn)化、提取,通過(guò)串口通信傳遞給單片機(jī),單 片機(jī)通過(guò)驅(qū)動(dòng)電路將漢字顯示出來(lái)。漢字點(diǎn)陣數(shù)據(jù)采用現(xiàn)成的字庫(kù)芯片,需要通過(guò)漢字的機(jī)內(nèi)碼作地址來(lái)取出相應(yīng)漢字 的點(diǎn)陣字模數(shù)據(jù)。因此上位機(jī)軟件的任務(wù)就是:將待顯示的字符轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)準(zhǔn)機(jī)內(nèi) 碼,并把操作者對(duì)下位機(jī)顯示方式、速度等進(jìn)行設(shè)置的常數(shù),通過(guò)RS232總線按一定的通信協(xié)議一起發(fā)送到下位機(jī)。M

18、AX232的作用就是實(shí)現(xiàn)電平的轉(zhuǎn)換,使得單片機(jī)和上位機(jī)之間能夠正常通信。下位機(jī)為單片機(jī),單片機(jī)將接收到的機(jī)內(nèi)碼通過(guò)驅(qū)動(dòng)點(diǎn)亮點(diǎn)陣屏。由于采用的是8X 8的點(diǎn)陣屏,所以要采用驅(qū)動(dòng)的方式使得點(diǎn)陣屏能夠正常的工作,顯示漢字。兩個(gè)漢字的點(diǎn)陣 屏為16X 32的分辨率,行驅(qū)動(dòng)是將16行轉(zhuǎn)化成4行與單片機(jī)連接。列驅(qū)動(dòng)將 32列通 過(guò)所選的芯片級(jí)聯(lián)起來(lái),與單片機(jī)連接起來(lái)。2.2硬件電路的設(shè)計(jì)2.2.1單片機(jī)的選型51單片機(jī)的CPU實(shí)現(xiàn)了馮諾依曼所設(shè)想的計(jì)算機(jī)中的運(yùn)算器和控制器的功能,是單片機(jī)最核心的部件。CPU包含:算術(shù)邏輯單元(ALU)、定時(shí)控制器、專(zhuān)用寄存器組。單片機(jī)的存儲(chǔ)器特點(diǎn)之一就是將程序存儲(chǔ)器和數(shù)據(jù)

19、存儲(chǔ)器分開(kāi),并有各自的尋址方式和尋址單元,這種結(jié)構(gòu)叫做哈佛結(jié)構(gòu)。與通用微機(jī)的存儲(chǔ)結(jié)構(gòu)不同,一般微機(jī)只有一 個(gè)地址空間,可以隨意安排 ROM和 RAM訪問(wèn)數(shù)據(jù)段和代碼段時(shí)采用同樣的指令,這種 傳統(tǒng)的是存儲(chǔ)器結(jié)構(gòu)稱之為普林頓斯結(jié)構(gòu)。存儲(chǔ)器主要包括:程序存儲(chǔ)器ROM單片機(jī)之 所有強(qiáng)大的處理功能,就是需要軟件程序的支持,而程序員將設(shè)計(jì)好程序經(jīng)過(guò)編譯后寫(xiě) 入ROM當(dāng)單片機(jī)開(kāi)始運(yùn)行時(shí),CPU就對(duì)ROMS面的指令進(jìn)行調(diào)用,從而實(shí)現(xiàn)預(yù)期中的 功能。片內(nèi)RAM雖然51單片機(jī)內(nèi)設(shè)的RAM字節(jié)并不是很多,但卻起著十分重要的作用。 RAM又可以分為3個(gè)區(qū)域:工作寄存器區(qū)、位尋址區(qū)和便箋區(qū)(用戶區(qū))。51系列單片機(jī)擁有

20、4個(gè)并行IO端口,分別為P0 P1、P2和P3,每個(gè)端口都是雙 向功能,即能夠從端口輸入數(shù)據(jù)和輸出數(shù)據(jù)。51單片機(jī)還有定時(shí)器/計(jì)數(shù)器結(jié)構(gòu),中斷系統(tǒng)。這兩個(gè)功能在本系統(tǒng)中極為重要,定時(shí)器/計(jì)數(shù)器通過(guò)程序控制輔助數(shù)碼管的倒計(jì)時(shí)顯示;中斷系統(tǒng)的外部中斷接收紅外對(duì)管的信號(hào),響應(yīng)中斷處理程序。51單片機(jī)還具有一個(gè)全雙工的可編程串行口,可以實(shí)現(xiàn) 8位數(shù)據(jù)的發(fā)送和接受。它有兩個(gè)在物理結(jié) 構(gòu)上獨(dú)立的發(fā)送接受寄存器,同時(shí)具備發(fā)送接收功能,但是在本設(shè)計(jì)中不是主要說(shuō)明對(duì) 象,所以不作詳細(xì)介紹。設(shè)計(jì)中使用51系列單片機(jī)為核心控制器,51型單片機(jī)是指由美國(guó)In tel公司生產(chǎn)的 一系列單片機(jī)的總稱,這一系列單片機(jī)包括了

21、很多種類(lèi),如 8031、8051、8751、8951、 8032、8052和8952等,其中8051是最早,最典型的產(chǎn)品。目前所采用的 8051并不限 于In ter公司所生產(chǎn)的芯片,各大芯片生產(chǎn)廠商所推出的兼容芯片為主,如 Amtel公司 的89C51, STC公司的89S51等。2.2.1.1 STC89S52單片機(jī)結(jié)構(gòu)設(shè)計(jì)使用的是STC89S52R單片機(jī),原因是此款單片機(jī)具有眾多優(yōu)點(diǎn)。加密性強(qiáng),難解密P11:2F12:3P13:qPJ4PJ4樂(lè)pi5:PI6:7P1 7:gKTAL1P0.0/AD0PO.VACilPO.VACilP0.2/AD2KTAL2P0.3/AD3P0P0s s4

22、/AD44/AD4PO.S/ADSP0.JAD6P0.JAD6RSTP0.7/AD7P2.Q/AP2.Q/AP2.1/A9P2.2WIDP2.2WIDPSENP2P2 3W113W11ALEP2.4A11P2.4A11EAP2P2 5JA135JA13P2.6JA14P2.7JA1I5P2.7JA1I5P1.0JT2P3.DIRXDP1.irT2EXP3.1JTKDP1.2P3-M1NT0PI .3P3.3IINT1P3.3IINT1P1.4P3.4JTOP1.5P3.5rTlPI .6PS.EiWRPS.EiWRP1.7P3.7/RO3POOaePoi37PQ2.35P0J34PD5.33P

23、06A?PD721P2022P2123F?22滴三22A26F252EP272EP271010 : :1111 : :1414_li_li:1616 Wt1717 RCRC超強(qiáng)抗干擾超低功耗 掉電模式:0.1卩A空閑模式:2mA正常工作模式:4mA 7mA提供STC-ISP在線編輯系統(tǒng),無(wú)需編輯器,無(wú)需仿真器,可省去購(gòu)買(mǎi)編輯器、仿真 器的昂貴資金,適合大眾使用內(nèi)置看門(mén)狗STC89S52R的基本結(jié)構(gòu)與8051相同,但是比傳統(tǒng)的8051單片機(jī)擁有更多的內(nèi)部 Flash,最高可達(dá)64KB片內(nèi)SRAM容量同樣是非常吸引的數(shù)字,最高可擁有 1280Byte 的SRAM而且還內(nèi)置EEPRO存儲(chǔ)器、AD轉(zhuǎn)換

24、等功能。另外它還可以用串口直接仿真程 序,不需要另外加用仿真器或者下載線。2.2.1.2 STC89S52單片機(jī)管腳功能圖2.2 89S52芯片管腳VCC接電源正極,一般輸入電壓為5V。GND接電源地端。P0 口: P0 口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O 口,每個(gè)腳可吸收 8TTL門(mén)電流。當(dāng) P1 口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器, 它可以被定義為數(shù)據(jù)/地址的第八位。P1Q:1ia_丄2LP1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8位雙向I/O 口,P1 口緩沖器能接收 輸出4TTL門(mén)電流。P1 口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部

25、下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的 8位雙向I/O 口,P2 口緩沖器可接收,輸 出4個(gè)TTL門(mén)電流,當(dāng)P2 口被寫(xiě)“ 1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為 輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P3 口: P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出 4個(gè)TTL門(mén)電流

26、。當(dāng)P3 口寫(xiě)入“ 1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸 入,由于外部下拉為低電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 /INTO (外部中斷 0)P3.3 /INT1 (外部中斷 1)P3.4 T0 (計(jì)數(shù)器0外部輸入)P3.5 T1 (計(jì)數(shù)器1外部輸入)P3.6 /WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地 位

27、字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò) 一個(gè)ALE脈沖。如想禁止 ALE的輸出可在 SFR8EH地址上置0。此時(shí),ALE只有在 執(zhí)行MOVX MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器 在外部執(zhí)行狀態(tài) ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī) 器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/

28、VPP :當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(OOOOH-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為 RESET當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPF)。XTAL1 :反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。2.2.2單片機(jī)最小系統(tǒng)222.1單片機(jī)電源電路電源電路不單單是為單片機(jī)運(yùn)行提供工作電壓, 還需要對(duì)單片機(jī)的外圍電路提供工 作電源。這里使用USB接 口供電,這也是大多數(shù)單片機(jī)的供電方式。具有USB接口的設(shè)備一般工作電壓都為 5V。計(jì)算機(jī)上

29、的USB接口(圖3-2)可以輸 出穩(wěn)定的+5V電壓,最大額定電流為500mA足以滿足本設(shè)計(jì)的要求。在設(shè)計(jì)的時(shí)候, 需要注意電路不能出現(xiàn)短路,以免損壞電腦的 USB接 口。圖 2.3 USB 接口222.2單片機(jī)振蕩電路設(shè)計(jì)單片機(jī)的運(yùn)行需要一個(gè)時(shí)鐘頻率,類(lèi)似我們的計(jì)算機(jī)的 CPU主頻的高低,現(xiàn)在計(jì)算 機(jī)的CPU一般用GHz來(lái)左單位。而我們的 51單片機(jī)常用到的時(shí)鐘頻率有 12MHz 11.0592MHz這些時(shí)鐘頻率都是依靠外部晶振產(chǎn)生的。晶振連接到單片機(jī)的XTAL1 XTAL2引腳處。電路上的晶振旁有兩個(gè)無(wú)極性電容, 容量為33P。這兩個(gè)電容稱晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,

30、 一般在幾十皮發(fā),它會(huì)影響到晶振的諧振頻率和輸出幅度。晶振的負(fù)載電容=(Cd*Cg)/(Cd+Cg)+Cic+ C( 3.1)式中Cd,Cg為分別接在晶振的兩個(gè)腳上和對(duì)地的電容,Cic (集成電路內(nèi)部電容)+ C( PCB上電容)經(jīng)驗(yàn)值為3至5pf。設(shè)計(jì)需要考慮到串行通信的使用,為了減少誤碼率提高通信質(zhì)量,因此選用 11.059MHz 晶振。2.2.2.3單片機(jī)復(fù)位電路設(shè)計(jì)復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作 用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的狀態(tài),并從這個(gè)狀態(tài)開(kāi)始,因而,復(fù)位 是一個(gè)很重要的操作方式,但是單片機(jī)本身不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)

31、的外部 復(fù)位電路才能實(shí)現(xiàn)。本設(shè)計(jì)采用的是上電加按鍵手動(dòng)復(fù)位,如圖所示。當(dāng)復(fù)位按鍵按下后,復(fù)位端通過(guò)51歐姆的小店組與+5V電源接通,電容迅速放電,使得 RST引腳為高電平;當(dāng)復(fù)位鍵彈 起后,+5V電源通過(guò)2KQ電阻對(duì)22卩F電容重新充電,RST引|腳端出現(xiàn)復(fù)位正脈沖。其 持續(xù)時(shí)間取決于RC電路的時(shí)間常數(shù)。圖2.5單片機(jī)復(fù)位電路2.2.3LED點(diǎn)陣屏驅(qū)動(dòng)設(shè)計(jì)2.2.3.1 16 X 32LED點(diǎn)陣的設(shè)計(jì)顯示一個(gè)簡(jiǎn)體漢字,至少需要16X16點(diǎn)陣來(lái)描述。本設(shè)計(jì)采用4個(gè)8X 8點(diǎn)陣的LED模塊拼接成16X 16點(diǎn)陣的LED陣列。為了能更好的顯示功能,模塊多點(diǎn)是比較好的,但考慮到成本的問(wèn)問(wèn)題,所以本設(shè)計(jì)

32、用 8個(gè)8X 8的LED模塊拼接成32X 16的矩陣。即可以同時(shí)顯示兩個(gè)漢字YoYiYoYi刃Y3Y4Y5Y3Y4Y5丹v7Ya_Y9ftoNDv7Ya_Y9ftoNDE叵叵EE00B叵匝0C CVCAOVCAOA3A3_ _E2figE2fig _Y14_w_Y14_w _Y12Yri_Y12Yri圖2.6 16X16點(diǎn)陣設(shè)計(jì)圖2.2.3.2LED點(diǎn)陣屏行驅(qū)動(dòng)設(shè)計(jì)設(shè)計(jì)的要求屏幕需要有32X16的分辨率,若使用8*8的點(diǎn)陣模塊,則需要使用4 塊。每一塊點(diǎn)陣屏有16根引腳,4個(gè)點(diǎn)陣模塊共有64根引腳。采用動(dòng)態(tài)掃描顯示技術(shù), 也需要使用48個(gè)控制端。單片機(jī)僅有的32個(gè)10是不能滿足設(shè)計(jì)的要求,而且

33、單片機(jī) 的I0負(fù)載只有20mA這個(gè)負(fù)載能力只可以點(diǎn)亮一個(gè) LED發(fā)光二極管。因此,需要借助 一些驅(qū)動(dòng)芯片完成設(shè)計(jì)。16X 32LED的點(diǎn)陣屏需要2行16個(gè)引腳,為了節(jié)省引腳可以采用一個(gè) 4-16顯譯碼 器74HC154是一款高速CM0器件,74HC154引腳兼容低功耗肖特基 TTL (LSTTL系 列。74HC15舒碼器可接受4位高有效二進(jìn)制地址輸入,并提供16個(gè)互斥的低有效輸出。 74HC154的兩個(gè)輸入使能門(mén)電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信 號(hào)”,也可用于譯碼器擴(kuò)展。該使能門(mén)電路包含兩個(gè)“邏輯與”輸入,必須置為低以便 使能輸出端。任選一個(gè)使能輸入端作為數(shù)據(jù)輸入,74HC

34、154可充當(dāng)一個(gè)1-16的多路分配 器。當(dāng)其余的使能輸入端置低時(shí),地址輸出將會(huì)跟隨應(yīng)用的狀態(tài)。1 1 F F* ThMO: 23m.2222*1221HH3C1 11 1111119Y Y1 1I|I| l|l|1 1i ii i |1 11 11 1i i1 11 11 11 1i|i|圖2.7 74HC154引腳圖將74HC154的A0-A3接到單片機(jī)的P1.0-P1.3 口,Y0-Y15分別接點(diǎn)陣的每一行,這樣就能控制點(diǎn)陣屏的每一行了。圖2.8點(diǎn)陣屏行驅(qū)動(dòng)2.2.3.3 LED點(diǎn)陣屏列驅(qū)動(dòng)設(shè)計(jì)驅(qū)動(dòng)芯片作用是擴(kuò)展單片機(jī)的10 口,同時(shí)為點(diǎn)陣屏提供工作電流。設(shè)計(jì)選用74HC595串入并出芯片

35、。將點(diǎn)陣屏劃分為16行、32列。下面對(duì)這款74系列的芯片作介紹:A日 Q D74HC154PfEcFDual-InPackageDual-InPackage圖2.9 74HC595引腳圖上圖為74HC595是一款8位的串入并出、串/并出移位寄存器和8位三態(tài)輸出鎖 存器。寄存器和鎖存器分別有各自的時(shí)鐘輸入(SCLR和SCK),都是上升沿有效。當(dāng)SCLK 從低到高電平跳變時(shí),串行輸入數(shù)據(jù)(SDA)移入寄存器;當(dāng)SLCK從低到高電平跳變時(shí), 寄存器的數(shù)據(jù)置入鎖存器。清除端(CLR)的低電平只對(duì)寄存器復(fù)位(QH為低電平),而 對(duì)鎖存器無(wú)影響。當(dāng)輸出允許控制(EN)為高電平時(shí),并行輸出(Q0Q7)為高阻

36、態(tài),而 串行輸出(QH)不受影響。74HC595最多需要5根控制線,即SER RCK SCK SCLR和G 其中第13弓I腳(G) 連接到電源地,第10引腳(SCLR連接電源正極。把其余三根線和單片機(jī)的I/O相接, 第12引腳(RCK連接到單片機(jī)的P35,第11引腳(SCK連接到單片機(jī)的P36第12 引腳(RCK連接到單片機(jī)的P35,第14引腳(SER連接到單片機(jī)的P37,即可實(shí)現(xiàn)控 制。74HC595與點(diǎn)陣屏的列引腳連接前還需串聯(lián) 20歐姆的限流電阻,其中用是保護(hù)點(diǎn)陣 屏中的LED發(fā)光二極管,延長(zhǎng)點(diǎn)陣屏的顯示壽命。圖2.10 單片機(jī)列驅(qū)動(dòng)上圖為單片機(jī)列驅(qū)動(dòng)部分的原理圖。四個(gè)74LS595級(jí)聯(lián)

37、,四個(gè)部分的Q0-Q7總共32條引線分別為點(diǎn)陣屏的列,這樣就可以通過(guò)單片機(jī)控制點(diǎn)陣屏的每一列了。224串口通信電路設(shè)計(jì)設(shè)計(jì)要求計(jì)算機(jī)與單片機(jī)能實(shí)現(xiàn)互相通信,而串口通信是單片機(jī)設(shè)計(jì)開(kāi)發(fā)中最常用 的通信接口。單片機(jī)內(nèi)置 Uart串口通信控制器,因此可以通過(guò)串口方便地與計(jì)算機(jī)進(jìn) 行數(shù)據(jù)的交換。2.2.4.1串口通信電路芯片介紹MAX232芯片是一款由美信(MAXIM公司專(zhuān)門(mén)為電腦的 RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口 電路,使用+5v單電源供電。常用于單片機(jī)的串口通信的電平轉(zhuǎn)換。內(nèi)部結(jié)構(gòu)基本可分 三個(gè)部分:1)電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩 個(gè)電源,

38、提供給RS-232串口電平的需要。2)數(shù)據(jù)轉(zhuǎn)換通道。由7、8 9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中 13 腳(R1IN)、12 腳(R1OUT、11 腳(T1IN)、14 腳(T1OUT 為第一數(shù)據(jù)通道。8 腳(R2IN)、9 腳(R2OU)、10 腳(T2IN)、7 腳(T2OUT 為第二數(shù)據(jù)通道。TTL/CMOS 數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUTT2OUT送至V電腦DB9插頭;DB9 插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS據(jù)后從R1OUT R2OU輸 出。3)電源輸入。15 腳 GND 16 腳 VCC( +5

39、v)。本設(shè)計(jì)就是利用MAXIM公司的單電源芯片MAX23來(lái)完成單片機(jī)TTL到RS-232C電平的轉(zhuǎn)換。MAX23是單電源雙RS-232C發(fā)送/接收芯片。它符合所有的RS-232C技術(shù)規(guī)范, 只要單一 +5V電源供電;片載電荷泵,具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和 -10V電壓V+、V-;低功耗,典型供電電流5mA內(nèi)部集成2個(gè)RS-232CW動(dòng)器,內(nèi)部 集成2個(gè)RS-232C接收器。采用單一 +5V電源供電,外接只需4個(gè)電容,便可以構(gòu)成標(biāo) 準(zhǔn)的RS-232C通信接口,硬件接口簡(jiǎn)單,所以被廣泛運(yùn)用。MAX23的引腳排列及功能描述見(jiàn)表2.1 (摘錄自MAX232官方數(shù)據(jù)手冊(cè))表2.1 M

40、AX232引腳功能腳號(hào)引腳名稱引腳功能描述腳號(hào)引腳名稱引腳功能描述1C1 +泵電容1正極9R20UT第二組TTL/CMOS電平輸出2V+正電源濾波10T2IN第二組TTL/CMOS電平輸入3C1-泵電容1負(fù)極11T1IN第一組TTL/CMOS電平輸入4C2+泵電容2正極12R10UT第一組TTL/CMOS電平輸出5C2-泵電容2負(fù)極13R1IN第一組RS-232電平輸入6V-負(fù)電源濾波14T10UT第一組RS-232電平輸出7T20UT第二組RS-232電平輸出15GND地8R2IN第二組RS-232電平輸入16VCC電源+5VD1P/S0圖 2.11 MAX232 封裝2.2.4.2 串口硬

41、件電路設(shè)計(jì)MAX23的基本電路需要的4個(gè)電容為升壓作用,將單片機(jī)輸入的點(diǎn)評(píng)信號(hào)轉(zhuǎn)換為土 12V的傳輸電平,以達(dá)到 RS-232通信標(biāo)準(zhǔn)。將無(wú)極性104電容連接到MAX232勺第1、3 引腳,第4、5引腳,第6引腳經(jīng)過(guò)104后連接電源地,第2引腳經(jīng)過(guò)104后連接電源 正極。引腳9與單片機(jī)的Rx (第10引腳)相連接,引腳10與單片機(jī)的Tx (第11引腳) 相連接。經(jīng)過(guò)電平轉(zhuǎn)換后的信號(hào),MAX23上的第7引腳連接到串行通信接口的第 2針, 第8引腳連接到串行通信接口的第3針。還需要將串行通信接口的第 5引腳與MAX232 電源共地連接。AfjflXVMMAX232A ALS:rzL14104104

42、112P30 011P31LU9圖2.12串口電路設(shè)計(jì)3單片機(jī)軟件設(shè)計(jì)3.1軟件設(shè)計(jì)環(huán)境介紹本系統(tǒng)的處理器是兼容8051指令集的高速單片機(jī)STC12C5412AD為此,首選Keil1 CHMAX1JJMAX1JJfafaI-J1 DB9DB9VCXVCX 石NDND Cl-Cl- T1XHJTTT1XHJTT C2*C2* ROINROIN CZ-CZ- RIOUTRIOUT 4 4 TIINTIIN raLrn-2iNraLrn-2iN RiCMtzoLnrRiCMtzoLnr卩Vision作為其開(kāi)發(fā)工具。Keil卩Vision 是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C

43、語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。其功能強(qiáng)大,生成的代碼緊湊,是目前世界上使用最 廣的51系列兼容單片機(jī)開(kāi)發(fā)工具。本設(shè)計(jì)中,單片機(jī)軟件是采用 C51語(yǔ)言編寫(xiě),C51語(yǔ)言是ANSI C的擴(kuò)展集,其語(yǔ)法 結(jié)構(gòu)、關(guān)鍵字等與ANSI C絕大部分是相同的。與匯編相比,C51語(yǔ)言在功能上、結(jié)構(gòu)性、 可讀性、可移植性、可維護(hù)性上有明顯的優(yōu)勢(shì)3.2點(diǎn)陣屏顯示程序3.2.1驅(qū)動(dòng)芯片的控制程序8位數(shù)據(jù)從SER口送入74HC595,在每個(gè)SCK的上升沿,SER 口上的數(shù)據(jù)移入寄存 器。在SCK經(jīng)過(guò)第9個(gè)上升沿,數(shù)據(jù)開(kāi)始從QH移出。如果把第一個(gè)74HC595的QH和 第二個(gè)74HC595SER相接,數(shù)據(jù)即移入第二個(gè)74HC595中,

44、按照如此規(guī)律,數(shù)據(jù)會(huì)一個(gè) 連接一個(gè)傳下去。當(dāng)數(shù)據(jù)全部按照移位送完后,給RCK個(gè)上升沿,寄存器中的數(shù)據(jù)即 置入鎖存器。此時(shí)如果 G為低電平,8位數(shù)據(jù)從Q0-Q7輸出,把Q0-Q7與LED點(diǎn)陣 的列項(xiàng)連接,當(dāng)某行為低電平時(shí),該行的 LED等會(huì)按照輸出電平點(diǎn)亮。程序流程圖(圖 4.1 )如下:圖4.1 74HC595控制程序流程圖程序設(shè)計(jì)使用for循環(huán)8次,將1字節(jié)數(shù)據(jù)按照從低位到高位輸出。 開(kāi)始將同步移 位時(shí)鐘置為低電平,向數(shù)據(jù)位輸出1位數(shù)據(jù),接著同步移位時(shí)鐘置為高電平,對(duì)需要發(fā) 送的字節(jié)作右移位處理。經(jīng)過(guò) 8次移位過(guò)程,完成1字節(jié)的發(fā)送。322點(diǎn)陣屏顯示的移動(dòng)算法本設(shè)計(jì)的LED點(diǎn)陣屏幕,可以對(duì)信

45、息實(shí)現(xiàn)動(dòng)態(tài)顯示,字符從右側(cè)往左側(cè)移動(dòng)。移動(dòng)算法分析:顯示的定義為uchar display32,這里表示了要顯示一個(gè)完整的字符,需要32個(gè)字符型數(shù)據(jù)。為什么呢?因?yàn)轱@示一個(gè)完整的字符需要四塊點(diǎn)陣,每個(gè)點(diǎn)陣有8行,每行八個(gè)點(diǎn)。就是說(shuō),一行的數(shù)據(jù)就占一個(gè)char,四塊當(dāng)然就是32個(gè)char型。這里變量i代表是第幾個(gè)漢字,變量j帶便的是該漢字的第幾個(gè)char數(shù)據(jù)。下面是四塊點(diǎn)陣的示意圖:第一個(gè)char 第三個(gè)char。第二個(gè)char。第十七個(gè)char。第十八個(gè)char。第三十二個(gè)char移動(dòng)前:11110000111100001111000011110000。11110000111100001111

46、0000。11110000111100001移動(dòng)后:111100001111000011110000 x111100001。X。X。X。1111100001111000011110000 xX。X。X。X。111000011110000 x圖4.2點(diǎn)陣屏移動(dòng)分析示意圖奇數(shù)次移動(dòng)顯示程序:for(j=0;j smov);Sen dByte(displayi+1jsmov);Sen dByte(displayij+1 smov);Sen dByte(displayijsmov);偶數(shù)次移動(dòng)顯示程序:for(j=0;j31;j+=2)/ 行顯示,一共 16 行Sen dByte(displayi+2

47、jsmov);Sen dByte(displayi+1j+1smov);Sen dByte(displayi+1jsmov);Sen dByte(displayij+1smov);無(wú)論奇數(shù)次或者是偶數(shù)次移動(dòng),每次都向74HC595寫(xiě)入4字節(jié)數(shù)據(jù),之后再開(kāi)個(gè)該行的顯示。經(jīng)過(guò)16次行循環(huán)顯示,則完成屏幕的一次顯示。3.2.3點(diǎn)陣屏動(dòng)態(tài)掃描顯示點(diǎn)陣屏的顯示的方式的逐行掃描,從第一行開(kāi)始顯示,之后是第二行,最后是第十 六行。這樣的顯示方式,有些類(lèi)似電視機(jī)的顯像管逐行掃描技術(shù),它是指顯示屏顯示圖 像進(jìn)行掃描時(shí),從屏幕左上角的第一行開(kāi)始逐行進(jìn)行,整個(gè)圖像掃描一次完成。因此圖 像顯示畫(huà)面閃爍小,顯示效果好。

48、按照這個(gè)原理,在某一時(shí)刻只能有一行 LED二極管被點(diǎn)亮,為何我們看見(jiàn)的整張屏 幕在顯示信息呢?由于單片機(jī)通過(guò)對(duì) 74系列的驅(qū)動(dòng)芯片高速控制,點(diǎn)陣屏每行都處于 高速掃描。因此,我們看到的是不會(huì)閃爍的顯示畫(huà)面。由于人眼的暫留效應(yīng)以及LED二極管余暉效應(yīng),當(dāng)屏幕的刷新頻率高于 50Hz時(shí),此時(shí)人眼就會(huì)“誤認(rèn)”為屏幕是連續(xù) 顯示的。3.3串口通信程序設(shè)計(jì)單片機(jī)使用串口通信,讓上位機(jī)軟件傳送顯示字模數(shù)據(jù),并存儲(chǔ)在單片機(jī)片內(nèi)SRAM作為屏幕顯示算法的調(diào)用。首先對(duì)串行通信作簡(jiǎn)單的介紹,串行通信可以分為同步通信和異步通信兩類(lèi)。同步通信是按照軟件識(shí)別同步字符來(lái)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,異步通信是一種利用字符的再同

49、步技術(shù)的通信方式。同步通信同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。這里的信息幀與異步通信中的字符幀有所不同,通常含有若干個(gè)數(shù)據(jù)字符。它們均由同步字符、 數(shù)據(jù)字符和校驗(yàn)字符(CRC組成。其中同步字符位于幀開(kāi)頭,用于確認(rèn)數(shù)據(jù)字符的開(kāi) 始。數(shù)據(jù)字符在同步字符之后,個(gè)數(shù)沒(méi)有限制,由所需傳輸?shù)臄?shù)據(jù)塊長(zhǎng)度來(lái)決定;校驗(yàn) 字符有1到2個(gè),用于接收端對(duì)接收到的字符序列進(jìn)行正確性的校驗(yàn)。同步通信的缺點(diǎn) 是要求發(fā)送時(shí)鐘和接收時(shí)鐘保持嚴(yán)格的同步。異步通信異步通信中,在異步通行中有兩個(gè)比較重要的指標(biāo):字符幀格式和波特率。數(shù)據(jù)通 常以字符或者字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端逐幀發(fā)送,通過(guò)

50、傳輸線被接 收設(shè)備逐幀接收。發(fā)送端和接收端可以由各自的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè) 時(shí)鐘源彼此獨(dú)立,互不同步。接收端檢測(cè)到傳輸線上發(fā)送過(guò)來(lái)的低電平邏輯 0(即字符幀起始位)時(shí),確定發(fā)送 端已開(kāi)始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時(shí),就知道一幀字符已經(jīng)發(fā)送完 畢。以工作方式劃分,又可以分為方式 0、方式1、方式2及方式3,本設(shè)計(jì)主要使串行 通信口工作在方式1。方式1為8位數(shù)據(jù)異步通信方式,一幀數(shù)據(jù)包含10位,即8未數(shù) 據(jù)位、1個(gè)起始位和一個(gè)停止位。串口通信的工作方式通過(guò) SCON寄存器的第6、7位設(shè)位數(shù) 76543210SCON SM0 SM1 SM2 REN TB8 RB8 TIR

51、I表4.1 SCON格式串口通信還需要借助定時(shí)器產(chǎn)生傳輸波特率,程序讓定時(shí)器1工作在方式2,產(chǎn)生19200bps的波特率。定時(shí)的工作方式則在 TMO寄存器設(shè)置:位數(shù) 76543210TMODGATEC/TM1MOGATEC/TM1MO表4.2 TMOD格式工作方式M1M0功能說(shuō)明方式00013位定時(shí)器/計(jì)數(shù)器方式10116位定時(shí)器/計(jì)數(shù)器方式210自動(dòng)重裝8位疋時(shí)器/計(jì)數(shù)器方式311T0分為2個(gè)8位計(jì)數(shù)器,關(guān)閉T1表4.3 TMOD工作方式功能表實(shí)現(xiàn)串口通信的程序流程如下:圖4.3串口通信程序流程圖串口部分程序void main() un sig ned char i,j;un sig ned

52、 int m=0;TMOD=0 x20; 設(shè)置定時(shí)器T1方式2PC0N=0 x00; 使 SMOD 為 0TL1=0 x0Fd;TH1=0 x0Fd;波特率為 9600b/sEA=1;開(kāi)全局中斷ET1=0;關(guān)T1中斷ES=1;開(kāi)串行中斷TR1=1;開(kāi)T1定時(shí)器SCON=0 x50;串行方式1 ,允許接收f(shuō)lage=0;標(biāo)志位置0,發(fā)送片內(nèi)字gate1=1; 關(guān)閉顯示,防止花屏4上位機(jī)軟件設(shè)計(jì)4.1上位機(jī)開(kāi)發(fā)環(huán)境介紹VB是由美國(guó)微軟公司于1991年開(kāi)發(fā)的一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方 式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開(kāi)發(fā)Win dows環(huán)境下的各類(lèi)應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)

53、大可以與 Windows專(zhuān)業(yè)開(kāi)發(fā)工具SDK相媲美。設(shè)計(jì)使用VB編 寫(xiě)上位機(jī)軟件,主要實(shí)現(xiàn)功能有:1)將輸入漢字經(jīng)過(guò)本地字庫(kù)轉(zhuǎn)換為字模數(shù)據(jù)。2)通過(guò)串口通信發(fā)送到目標(biāo)板上,刷新顯示信息。4.2漢字點(diǎn)陣的編碼原理及提取方法4.2.1漢字點(diǎn)陣的編碼原理以UCDOS文宋體字庫(kù)為例,每一個(gè)字由16行16列的點(diǎn)陣組成,即國(guó)標(biāo)漢字庫(kù)中 的每一個(gè)字均由256個(gè)點(diǎn)陣來(lái)表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。編碼的時(shí)候,黑的地方為1白的地方為0 ,依次從低到高,八位一 組,從上到下的順序,進(jìn)行編碼。由圖5-

54、1可見(jiàn),“大”字的第一組和第二組編碼分別為 04H 和 00Ho圖5.1漢字點(diǎn)陣字模示意圖依照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個(gè)8位,可以得出漢字“大”的 掃描代碼為:04H ,00H ,04H ,02H , 04H , 02H , 04H , 04H , 04H , 08H , 04H , 30H , 05H,0C0H,0FEH,00H,05H,80H,04H,60H ,04H ,10H ,04H ,08H ,04H ,04H ,0CH ,06H , 04H ,04H ,00H ,00H由這個(gè)原理可以看出,無(wú)論顯示何種字體或圖像,都可以用這個(gè)方法 來(lái)分析出它的掃描代碼,只要輸出掃描

55、代碼就可以在屏幕上顯示出字體或圖像。4.2.2漢字點(diǎn)陣的提取方法知道漢字點(diǎn)陣的編碼原理后,就可以通過(guò)計(jì)算機(jī)程序?qū)h字進(jìn)行編碼處理了,下面以16 X 16點(diǎn)陣字庫(kù)為例進(jìn)行介紹。16 X 16點(diǎn)陣漢字字庫(kù)可以在中文操作軟件(UCDOS)中找到現(xiàn)成的文件。一般漢字 字庫(kù)均符合國(guó)家標(biāo)準(zhǔn)GB2312 - 80的規(guī)定。在漢字系統(tǒng)中使用機(jī)內(nèi)碼形式存儲(chǔ)漢字 ,國(guó) 標(biāo)碼最高位置1作為漢字的機(jī)內(nèi)碼。而國(guó)標(biāo)碼由兩個(gè)字節(jié)組成,其中高字節(jié)表示區(qū),低字 節(jié)表示位。國(guó)標(biāo)碼和區(qū)位碼都有94個(gè)區(qū),每個(gè)區(qū)又都有94個(gè)位。19區(qū)為圖形區(qū),10 15區(qū)未規(guī)定,1687區(qū)存放一、二級(jí)漢字庫(kù)(具體編碼可查看 WINDOWS目錄下的GBK

56、. TXT文件)。國(guó)標(biāo)碼和區(qū)位碼的關(guān)系是:國(guó)標(biāo)碼高字節(jié)=區(qū)碼+ 20H ;國(guó)標(biāo)碼低字節(jié)=位碼+ 20Ho 所以,機(jī)內(nèi)碼與國(guó)標(biāo)碼和區(qū)位碼的關(guān)系是:機(jī)內(nèi)碼高字節(jié)=國(guó)標(biāo)碼高字節(jié)+ 80H =區(qū)碼+ A0H ;機(jī)內(nèi)碼低字節(jié)=國(guó)標(biāo)碼低字節(jié)+ 80H =位碼+ A0Ho字模代碼按照區(qū)位碼的順序在字庫(kù)中以二進(jìn)制格式存儲(chǔ),每個(gè)漢字占用32個(gè)字節(jié)。因此只要找到漢字代碼的起始位置,就可正確提取漢字點(diǎn)陣信息。對(duì)于不同的字庫(kù),漢字 代碼起始位置的計(jì)算方法可能存在差異,例如HZK16若以ADDRES表示首地址,Q表示 區(qū)碼,W表示位碼,經(jīng)分析和實(shí)踐得出HZK16中漢字首址計(jì)算公式為:(5.1 )ADDRESS = 32

57、X (Q - 1) X 94 + (W - 1)在VB中,獲取漢字區(qū)位碼必須用到ASC()函數(shù)和HEX()函數(shù),函數(shù)ASC()返回一個(gè) IN TEGEF數(shù)據(jù),代表字符串中首字母的字符代碼。HEX()函數(shù)返回代表十六進(jìn)制數(shù)值的 字符串。當(dāng)漢字作為ASC()函數(shù)的參數(shù)時(shí),返回的是漢字機(jī)內(nèi)碼,經(jīng)HEX()函數(shù)轉(zhuǎn)換即可 得到漢字機(jī)內(nèi)碼的十六進(jìn)制數(shù),再通過(guò)上述的關(guān)系就可以得到漢字的首地址,有了漢字 的首地址再?gòu)淖謳?kù)中提取漢字代碼就容易了。4.3上位機(jī)界面的設(shè)計(jì)軟件需要的一個(gè)漢字顯示輸入文本窗體,和一個(gè)字模轉(zhuǎn)換數(shù)據(jù)顯示窗體。需要幾個(gè) 按鈕,分別控制字模轉(zhuǎn)換、發(fā)送。同時(shí),還提供一個(gè)信息提示窗口,用于觀察軟件

58、運(yùn)行 的狀況。另外可以對(duì)串口的選擇,要實(shí)現(xiàn)串口通信,還需要增加Microsoft ComrControl 圖5.2界面設(shè)計(jì)效果圖6.0的控件。界面設(shè)計(jì)效果圖如下:VB的MSCom通信控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了一系 列標(biāo)準(zhǔn)通信命令的接口,可以用它創(chuàng)建全雙工的、事件驅(qū)動(dòng)的、高效實(shí)用的通信程序。在本設(shè)計(jì)的實(shí)際運(yùn)用中,對(duì) MSCom控件的屬性設(shè)置如下:ComPort:12DTRE nable:trueEOFE nable:falseHan dshak ing:0-com NoneIn BufferSize:1024In putLe n:0In putMode:1NullDis

59、card:falseOutBufferSize:512ParityReplace:0RThreshold:1RTSE nable:falseSett ings:9600, n, 8,1SThreshold:14.4 VB程序編寫(xiě)4.4.1字模轉(zhuǎn)換程序?qū)⒁粋€(gè)漢字轉(zhuǎn)換成32Byte的字模數(shù)據(jù),一般經(jīng)過(guò)如下過(guò)程:1)用asc函數(shù)取得漢字的內(nèi)碼,并轉(zhuǎn)成16進(jìn)制AA2)取出內(nèi)碼高八位字節(jié),轉(zhuǎn)換為國(guó)標(biāo)碼 bb。3)打開(kāi)漢字庫(kù)數(shù)據(jù)文件,根據(jù)上面保存的國(guó)標(biāo)碼bb查找到對(duì)應(yīng)的位置。4)漢字的起始位置代碼,讀取 32個(gè)字節(jié)。由于單片機(jī)中的顯示緩存定義為每次顯示 15個(gè)漢字,其大小為15*32Byte。因此, 每次

60、轉(zhuǎn)換字模需要為15*32個(gè)。如果輸入超過(guò)15個(gè)漢字,則提示不能轉(zhuǎn)換;如果輸入 少于15個(gè)漢字,則使用00數(shù)值填充,以達(dá)到每次轉(zhuǎn)換后為15*32個(gè)字節(jié)。4.4.2串口傳輸程序VB程序中,通過(guò)MSCOMM件,可對(duì)PC機(jī)串行口進(jìn)行方便、靈活的操作。為使程 序模塊化,結(jié)構(gòu)化。在程序中把對(duì) COM口操作的指令封裝為一個(gè)公共子過(guò)程,極大地方 便了其它過(guò)程的調(diào)用。單字節(jié)發(fā)送子程序:Public Sub Sendbit(ByVal a As Integer); a 為要發(fā)送的單字節(jié)數(shù)據(jù)If a 255 Thena = 255End IfIf a !JtlliMiHiBil5S!JtlliMiHFa-J9K-S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論