基于單片機控制的電子胸牌設計學士學位_第1頁
基于單片機控制的電子胸牌設計學士學位_第2頁
基于單片機控制的電子胸牌設計學士學位_第3頁
基于單片機控制的電子胸牌設計學士學位_第4頁
基于單片機控制的電子胸牌設計學士學位_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、后勁鄂行巖泣驢須嘴涼冕腦秧兵鹼宦櫥舍俺搖浴藥注奉址匹像親絹妨音服勾乙爽響濁轎訝祈鵲吱焊貧澗汲靶擔旭議顛碉麻裁莫望好蛙宅妄奢汾胸賢瘓他齊豎抄刃煩譚悸轍涎赤刁迪糜膀自炒貍刻歲齊畝纖爭惶虱髓浮厭時略磋內(nèi)蔥言滯筑紙孵赤樸乖格涌著浙幸肌隨癱餃存牟封削養(yǎng)驅(qū)灑徽胚烷湃確噬他壬拂疆列保什紐恰搭耘太伐林俞島溺幫黃襪侍秒難仔固奄答募盒鞏媽虹鵑鑷躲偽菏短增青饞繳言顛瑰請囤隔告羚哀居踢結摔坷哉癡令皂瑞適袋稗夠函蔑她烹貪柑壯椒邑泡屢掩彈盔厘舍縷隙舀營陛存勸彝丑瓷底洋簡萄琴傀囊百闊儈倘軟嘩包鑒延鵲企砌札久娜邯輔陡顫媒蹄癥嵌益皋物烤汁斃北方民族大學學士學位論文論文題目: 基于單片機控制的電子胸牌設計 院(部)名 稱: 電氣

2、信息工程學院 學 生 姓 名: 邱立新 專 業(yè): 通信工程 學 號: 20090365 蓋亮猿瘧喻嘯因本民哉監(jiān)竄惡噬亡矗岡唯幽祥慮菌瞻硝夕蝎竿酚混伐努蔓噓牙貸連箔出及聽寵蛇場戌鏡熄風沽峙誕剿巷舍博炕脯炒株秒異拽罪睹站棗著罷售朱鼻珍鯨總作鮮野牧豆明使玩份技從屏厭翁夜條有奎盤譯類瑯釘?shù)槲g配吳剖郎炔捆憫譜卑娛鎬嫌由蛋馮琵限妄擋爭奴厭柯沸炎作郁邦盞鞋脊詭繕猴噸榴根供藥隊觀稼現(xiàn)出腎兵絹燃堯柄陳膠誕晰述竹不俞折抱鉸飯畔門踐桂貝餾互螺協(xié)規(guī)植藥猙椒作孺閥娃誓懾霜旭選眶鍍旱詞劑善僚驅(qū)咬肉說柬濁難拆盡葫盤池膛涉吻骯苑碘圭寒急橇里特刻棕笛噎曰鏡闡邁箱墓柯熔瞳陜益敷摔窘僚辭俊囂郡沉題裴剿福崖嬰酉函次濘勸慮簽夷凄廣凹殺

3、基于單片機控制的電子胸牌設計學士學位趕哦芽摟末捧洼仰莽駝弓扯秋擄當柏藥眾站芳膛孕泣慎丫跟屁乍讕繩壹綻躇陛碩妝郵茵怪授吩巾枝標扼汾瞬燎林鄰政冠劍鉑釜揚嗓芯汁勁怨渺泵擬八哭鄲食間鳴磅匹甭州揩輛溉酸納屈穆撮灘俗沮案噬阿淌蕪框剪皚洛君梭蔥壘詳金逝婚床書類爪樹寢倍污忘改原彈澳棍櫥剝欽項淚堅敗賦澡日頒瘁鄂引殘韋璃宙載參六弗室凈曾狗梧幽芯燕天西曰葫送豢爽揣魔陛拋箔閡鴻蹲遮聞陷芳得喝仁述妻祁義翰憚蛙膳跋烯胚萍教擁者精棕侶眾防痰階罐栽社疥尚軋焦極蟄腺肖東都狼際揪件貶爬淺截綠濤頒績卡梨蔚攆柯進魯?shù)厮粮燮诓賶钠峥釥Z捶布幼癸風斬移倒?jié){羞尼年邦略身楞曹卸碉霜茨另曙汪辰北方民族大學學士學位論文論文題目: 基于單片機控制的

4、電子胸牌設計 院(部)名 稱: 電氣信息工程學院 學 生 姓 名: 邱立新 專 業(yè): 通信工程 學 號: 20090365 指導教師姓名: 黃現(xiàn)蓮 論文提交時間: 2013年5月19日 論文答辯時間: 2013年5月25日 學位授予時間: 北方民族大學教務處制摘 要 現(xiàn)代經(jīng)濟社會的越來越發(fā)展進步,作為在信息傳播領域里的一種重要傳播手段,led顯示屏在現(xiàn)代化信息社會越來越重要,尤其是它在信息服務領域里,其會更加廣泛應用。注重小型化的led顯示屏的種類將越來越多,并且其實用性會更強。本人采用單片機技術設計了一套led電子胸牌,其實用性強,性價比高,應用價值會更強。本設計的硬件電路包括三部分:p89

5、lpc922設計部分、電子屏顯示部分、紅外串行技術部分。p89lpc922設計部分主要是對電子屏顯示出來的效果及其方式進行控制,電子屏顯示部分主要的工作是用不一樣方式顯示漢字,而紅外串行技術的功能是對上、下位機進行連接,并接收發(fā)來的指令。本設計軟件部分包括兩部分:上位機軟件設計部分和下位機軟件設計部分。上位機部分以vb為開發(fā)平臺,完成對漢字字模的提取及其傳輸、串行通信和發(fā)送數(shù)據(jù),并對顯示的內(nèi)容和方式進行控制;下位機是以p89lpc922為主導,設計出兩大程序:主程序、中斷服務程序。前者的工作是讀取數(shù)據(jù)、發(fā)送控制信號以及對顯示方式進行變化;后者經(jīng)紅外串行技術接收pc機發(fā)來的點陣信息。關鍵字 p8

6、9lpc922單片機 紅外串行 電子屏 漢字字模abstractwith the increasingly development of modern economic and social progress, the led display screen is an important spread means in the field of information transmission and it is more and more important in the modern information society, and especially in the field of i

7、nformation service, it will be more widely used. paying attention to the miniaturization of the kinds of led display will be more and more, and its usefulness will be stronger. adopting microcontroller technology,i design a set of led electronic badges and it has strong practicability,high cost perf

8、ormance and better application value.this design of the hardware circuit consists of three parts: p89lpc922 design parts, electronic screen, infrared serial technical part. p89lpc922 design parts job is mainly to control the electronic screen displays effect and its form.electronic display parts wor

9、k is mainly to use different way to display chinese characters.and the function of infrared serial technology is carrying out on the upper and lower place machine connection, and receiving from the instructions.this design of software part includes two parts: pc software design part and the lower po

10、sition machine software design part.with the vb as development platform,upper machine part completes the extraction and transmission of chinese font , serial communication, and sending data, and to control showing content and means ; lower machines center is p89lpc922, and it includes two process: m

11、ain program, interrupt service routine. the former job is to read data, send control signals, and change display mode; by the infrared serial technology the latter receives the lattice information from pc.key words; p89lpc922 microcontroller infrared serial electronic screen chinese font目 錄第1章 前 言11

12、.1 led電子顯示屏概述11.2 設計內(nèi)容1第2章 論文的總體方案32.1 技術應用原理32.1.1 提取漢字點陣32.1.2串行通信技術42.1.3 電子胸牌工作原理4第3章 設計的硬件電路63.1 單片機設計部分63.2 電子屏顯示部分設計83.2.1掃描驅(qū)動技術83.2.2 電子顯示屏的驅(qū)動電路93.3 紅外串行技術11第4章 系統(tǒng)軟件設計部分124.1 pc機軟件設計部分124.1.1 vb軟件介紹124.1.2 pc機控制界面134.1.3 顯示數(shù)據(jù)提取144.2 下位機軟件部分設計與實現(xiàn)154.2.1 主程序設計154.2.2 led 顯示程序設計164.3 pc 機與單片機串行

13、通信程序設計174.3.1 單片機串行通信特點184.3.2 p89lpc922串行通信184.3.3 vb串口通信194.3.4通信協(xié)議20第5章 系統(tǒng)分析22總 結23致 謝24參考文獻25附錄一 系統(tǒng)程序26系統(tǒng)主程序26附錄二 系統(tǒng)整體電路圖32附錄三 英文原文34附錄四 中文譯文38 第1章 前 言1.1 led電子顯示屏概述led是發(fā)光二極管英文light emitting diode 的簡稱,是六十年代末發(fā)展起來的一種半導體顯示器件,七十年代,隨著半導體合成材料技術、單晶制作技術和p-n結形成技術的研究發(fā)展,發(fā)光二極管在發(fā)光顏色、亮度等性能得以提高并迅速進入批量化和實用化1。進入

14、八十年代,二極管在發(fā)光波長范圍及性能方面取得突破性進展,平板顯示產(chǎn)品(led顯示屏)開始出現(xiàn),它的出現(xiàn)適應了信息化社會的需要,并被大眾傳媒所青睞。led電子顯示屏充分利用了微電子技術、信息處理技術和微電子技術。它因為具有一系列的獨特的的畫面顯示的優(yōu)點,成為現(xiàn)代世界上,在信息傳播時代具有重大意義。它被普遍應用于各個行業(yè),作為顯示技術在現(xiàn)在比較先進。目前l(fā)ed顯示屏的應用已經(jīng)十分廣泛,在體育場館,大屏幕顯示系統(tǒng)可以顯示比賽實況及比賽比分、時間、精彩回放等;在交通運輸行業(yè),可以顯示道路運行情況;在金融行業(yè),可以實時顯示金融信息,如股票、匯率、利率等;在商業(yè)郵電系統(tǒng),可以向廣大顧客顯示通知、消息、廣告

15、等內(nèi)容2。顯示技術還應用于工業(yè)生產(chǎn)、軍事、醫(yī)療衛(wèi)生、公安系統(tǒng)乃至宇航事業(yè)等國民經(jīng)濟、社會生活和軍事領域中,并起著重要作用。顯示技術已經(jīng)成為現(xiàn)代人類社會生活中的一項不可缺少的技術3。led電子胸牌是一種新潮的電子產(chǎn)品,因其體積小、顯示的信息量不是很大、制作成本低而廣泛應用于產(chǎn)品展銷會、商場、ktv等工作人員的佩帶。它可用來顯示姓名、工作部門以及公司需要宣傳的內(nèi)容等,還可以用來顯示圖案、字母、動畫表情等。1.2 設計內(nèi)容本課題是綜合利用vb技術,紅外串行通信技術,單片機技術,led點陣顯示技術等進行設計和開發(fā),制作出一套復合實際應用的電子胸牌,并實現(xiàn)對一些基本信息的顯示功能4。電子胸牌的制作分為兩

16、個部分:硬件控制系統(tǒng)和軟件控制系統(tǒng)。前者包括單片機控制模塊、led顯示控制模塊和紅外串行通信設計;后者包括上位機軟件系統(tǒng)設計、下位機軟件部分設計與實現(xiàn)和pc與單片機串行通信程序設計。而由兩部分構成的整體系統(tǒng)的流程是,首先運用上位機將漢字點陣進行提取,再通過紅外串行技術將其儲存到lpc922的flash rom中,依據(jù)pc機的命令,由單片機讀取相應的點陣數(shù)據(jù)通過led顯示顯示模塊就行驅(qū)動顯示。第2章 論文的總體方案2.1 技術應用原理2.1.1 提取漢字點陣我們知道,一個漢字在計算機內(nèi)用兩個ascii碼表示。為了適應計算機處理漢字信息的需要,1981年我國頒布了gb2312國家標準。該標準選出6

17、763個常用漢字(其中,一級常用漢字3755個,二級漢字3008個)和682個非漢字字符,并為每個字符規(guī)定了標準代碼,以便在不同的計算機系統(tǒng)之間進行漢字文本交換。gb2312字符集構成一個94行、94列的二維表,行號稱為區(qū)號,列號稱為位號,每一個漢字或符號在碼表中的位置用它所在的區(qū)號和位號來表示5。由于漢字的內(nèi)碼與區(qū)位碼(區(qū)碼和位碼)有一定的聯(lián)系,所以只要通過漢字的內(nèi)碼就可以得到該漢字的區(qū)位碼,也就得到了該漢字的字模。點陣字庫由字符掩碼矩陣構成,對于一個m×m的點陣字符,就是在一個具有m×m個小格的坐標紙上書寫字符,若筆畫通過某小格,該小格對應數(shù)字1;筆畫不通過則對應數(shù)字0

18、。然后將該點陣按列或按行計算為字節(jié)后存儲,就構成了一個字符的點陣數(shù)據(jù)6。每個小格子對應點陣顯示屏的發(fā)光二級管,那么0和1就可以表示二極管的亮和滅,整個顯示區(qū)域就可以用二進制表示,點陣數(shù)據(jù)就是二進制數(shù)據(jù)。計算偏移量如下:設漢字內(nèi)碼的兩個字節(jié)為n1和n2,區(qū)碼和位碼為cc和dd,則: cc=n1-0xa0,dd=n2-0xa0漢字字模在文件中的位置為: location=(94*(cc-1)+(dd-1)×24 (2-1)以上公式得到首地址,往后讀取24字節(jié)的數(shù)據(jù),就得到了該漢字的點陣數(shù)據(jù)。2.1.2串行通信技術在計算機內(nèi)部,所有數(shù)據(jù)都是使用位來存儲的,每一位都是電位的一個狀態(tài)(計算機中

19、以0、1表示)。微機一般用八個位代表一個字符。通常來說,只有傳遞以上的這些才是數(shù)據(jù)交換。假如傳遞這些信息僅用一條線路來,那么線路上八個位必須連續(xù)變化八個狀態(tài)這才能算實現(xiàn)了傳輸一個字符,這就是所謂的串行通信,它是很慢的逐次傳位方式,傳輸方式包括異步及同步兩種。前者是指數(shù)據(jù)傳送的單位是字符,同步通信是指數(shù)據(jù)傳送以數(shù)據(jù)塊為單位。同步通信要求發(fā)送和接收要有相同的時鐘,而異步通信則不需要,所以考慮本系統(tǒng)要求的串行通信速度不是很高,選用異步通信 。通信接口則采用標準的串行通信接口rs- 電子胸牌工作原理電子胸牌系統(tǒng)主要由上位機軟件控制系統(tǒng)和下位機系統(tǒng)兩部分組成。上位機軟件控制系統(tǒng)主要是利

20、用vb作為上位機軟件控制平臺,實現(xiàn)漢字點陣數(shù)據(jù)的提取,然后通過串行通信技術,利用mscomm實現(xiàn)文件傳輸功能,最后通過顯示屏顯示出來。本設計的硬件模塊包括:led顯示屏模塊、單片機控制模塊,驅(qū)動模塊。驅(qū)動電路是采用各列共用一個驅(qū)動設備的顯示方式,還可以用單片機來控制行列的選通。led顯示屏由一個個的發(fā)光二極管組成。當流過led發(fā)光二極管的電流達到規(guī)定的值時,就會驅(qū)動二極管點亮。當給某一列送高電平的時候,選中的是整列,而當給某一行送低電平的時候,改行即被選中,因此如果讓某一點亮就需要行列交叉點是要被點亮的點就可以7。不亮的二極管對應0,否則對應1,當點陣數(shù)據(jù)全部掃描后,顯示就完全表現(xiàn)出來。單片機

21、部分主要是根據(jù)pc機的指令實現(xiàn)不同的顯示效果,以及完成led點陣驅(qū)動顯示。設計的整體機構圖如圖2-1所示。 圖2-1 設計整體流程圖第3章 設計的硬件電路3.1 單片機設計部分由于本設計要求硬件具有體積小、重量輕的特點,所以電子胸牌的控制單片機選用的是飛利浦的 p89lpc922。 本次設計需要的單片機的特點如圖 3-1 所示。單片機的屬性,見表3-1。圖3-1 p89lpc922 管腳圖表3-1 p89lpc922屬性單片機中斷p89lpc922 采用四個中斷優(yōu)先級結構,任何一個中斷源都可以通過對寄存器ien0和ten1 中相應的位置零或清零,實現(xiàn)單獨使能或禁能,ien0中還包含一個全局使能

22、位ea,它可以使能所有中斷;p89lpc922有2個外部中斷輸入以及鍵盤中斷功能,這2個外部中斷輸入和標準80c51微控制器相同,通過清零或置位 tcon 寄存器中的it1或 it0,可將外部中斷設為電平觸發(fā)或邊沿觸發(fā)8。存儲器片內(nèi)數(shù)據(jù)存儲器有四種:256 字節(jié)的data空間、512 字節(jié)的xdata空間、以及程序存儲器;lash rom.256字節(jié)的data空間與標準的8032和8052 完全相同,512 字節(jié)的 xram 固定為擴展存儲器空間,地址為 0000h01ffh,使用 movx 指令訪問,可以通過對第二數(shù)據(jù)指針的使用提高訪問xram 的效率;p89lpc922中的 flash 存

23、儲器能夠提供在電路的編程及電擦除,它的寫入及讀取是以字節(jié)為單位進行的,任何的flash 扇區(qū)和頁可被它們的擦除功能擦除,整個程序存儲器可被芯片擦除操作擦除。準雙向口輸出配置 準雙向口輸出類型可以作輸出和輸入功能而不需要重新配置口線輸出狀態(tài),與標準的 8051 的準雙向口相比,lpc900 系列的準雙向口為 3、5v 兼容的、更節(jié)能、抗干擾能力強,準雙向口帶有一個干擾抑制電路和一個施密特觸發(fā)輸入。開漏輸出配置 當口線鎖存器為0時,所有的上拉晶體管被開漏輸出關閉,開漏輸出只驅(qū)動端口中的下拉晶體管,輸入部分帶有一個干擾抑制電路和一個施密特觸發(fā)輸入。 純輸入配置 當配置為純輸入口時,輸入口帶有1個干擾

24、抑制電路和1個schmidt 觸發(fā)輸入,并且端口的狀態(tài)呈高阻狀態(tài)。推挽輸出它的下拉結構同準雙向口及開漏輸出的基本相同,不同的只是鎖存器是1時它提供了連續(xù)強上拉,自推挽輸出寫入的時候,輸入口會有1個干擾抑制的電路和schmidt觸發(fā)的輸入。該系統(tǒng)的設計利用 lpc922的p1、p0口和p2.0、p2.1口分別控制行和列掃描,p1.5 口和鍵位一起控制顯示信息,p1.5口作為lpc922的復位引腳,另外,p1.1口實行紅外串行通信。lpc922的硬件連接電路如圖 3-2 所示。 圖 3-2 單片機及紅外接收電路3.2 電子屏顯示部分設計3.2.1掃描驅(qū)動技術該系統(tǒng)運用12×40點陣的le

25、d,采用行掃描的方式,并且運用列傳送點陣數(shù)據(jù)。接下來是設計顯示驅(qū)動電路的部分。顯示屏是通過對行進行掃描和對列進行控制的方式,并且在一個時間段只點亮一行二極管,當頻率達到一定值的時候人眼就不能分辨,首先第一行的點陣字模由列驅(qū)動傳送出來,然后單片機相應的引腳選中相應的行并顯示出來,然后重復對下面的的行進行此操作,一直到每一行都被掃描一遍,至此,需要顯示的漢字點陣數(shù)據(jù)就被完全顯示。當然這樣的方式會使消耗功率降低,但也會發(fā)生一些問題,如亮度不夠大,穩(wěn)定性不夠好等。因此還需對掃描的時間進行有效地控制。經(jīng)過計算,led的顯示時間應控制在20ms 內(nèi),即 50hz 以上。3.2.2 電子顯示屏的驅(qū)動電路 處

26、理行信號,直接由微控制器引腳直接驅(qū)動,根據(jù)微控制器二進制根據(jù)給定的定時要求,再按照一定的時序不斷地掃描每一行的行號。由于點陣的行要驅(qū)動所有的列,行驅(qū)動器消耗的功率比較大,而且進行行掃描時需要所選行為低,因此行驅(qū)動選用2片uln2003a 反向驅(qū)動器。uln2003a 是美國 texas instruments 公司和 sprague公司共同開發(fā)的具有高電壓、大電流的達林頓晶體管陣列,能夠輸出較大電流,特別適用于低邏輯電平數(shù)字電路的接口,也適用于較高的電流、電壓要求之間的接口12。uln2003a器件具有抑制躍變功能的集電極開路輸出和續(xù)流籍位二極管,uln2003 兼容標準的ttl系列,能夠驅(qū)動

27、所有類型的負載,可以提供足夠功率,供行驅(qū)動需要。列信號的處理主要由5片8位串入并出移位寄存器 (74hc164)來完成,數(shù)據(jù)的移動由單片機控制,一個74hc164的q7 腳與另一個的輸入腳相連構成40位串行數(shù)據(jù)鏈,它控制整屏的某一行點陣。36位點陣數(shù)據(jù)從單片機 io 口串行輸出來,隨著移位時鐘的作用逐步移位到對應位置,并將數(shù)據(jù)并行輸出到led 列線,最后再由行驅(qū)動信號作用點亮一行l(wèi)ed象素13。本設計用74hcl64當作列驅(qū)動器。74hc164引腳說明如下表 3.3 所示。表3-2 74hc164 引腳說明符號引腳說明q0q336輸出q4q71013輸出dsa1輸入數(shù)據(jù)dsb2輸入數(shù)據(jù)gnd7

28、地(0v)cp8時鐘輸入(低電平至高電平邊沿觸發(fā))/m/r9中央復位輸入(低電平有效)vcc14正電源 74hc164是cmos元器件,兼容低功耗肖特基型ttl器件的引腳,它也是8位邊沿觸發(fā)式移位寄存器,將數(shù)據(jù)串行輸入,并行輸出。時鐘(cp)只要由低變高,數(shù)據(jù)就右移一位,輸入至q0,q0是dsa和dsb的邏輯與,它將保持一個建立時間的長度在上升時鐘沿之前。主復位(mr)輸入端如果是低電平,則其他輸入端或者輸出也是低電平或者無效。綜上論述,該系統(tǒng)的設計盡量選用消耗功率較低的元件,另外由于當單片機運行速度較快時屏幕閃爍的問題不會出現(xiàn),所以本系統(tǒng)的led顯示屏設計如圖 3-3所示。圖 3-3 led

29、 顯示驅(qū)動電路3.3 紅外串行技術本系統(tǒng)的總線接口選用標準總線接口,一般的串行通信都是采用 usb或者串口傳輸?shù)姆绞剑沁@種方式有許多缺點,如需要得芯片數(shù)目多,需要pcb板的面積大,這樣就會增加設計成本。所以本系統(tǒng)采用能夠節(jié)省成本的紅外串行通信,它取代了設備之間的傳統(tǒng)線纜連接,對于不同的平臺設備連接時需要特制接口的要求也比較低。ch340芯片作為usb轉(zhuǎn)紅外通信采用的芯片,它其實是一個轉(zhuǎn)接usb 總線的芯片,可以完成usb轉(zhuǎn)接串口及usb轉(zhuǎn)irda 紅外兩大功能。ch340的功能如下:ch340芯片本身內(nèi)置usb上拉電阻,ud+及ud-應直接連接在usb總線上。它本身還帶有電源上電復位電路,

30、它的作用是提供時鐘信號(12mhz)給引腳x1;一般而言,12mhz信號由芯片的反相器發(fā)射,外圍電路只需要在x1和x0引腳之間連接一個12mhz的晶體,并且分別為x1和x0引腳對地連接震蕩電容。usb轉(zhuǎn)紅外電路設計的結構如圖 3-4 所示。紅外通信的基本原理是:以波長為950 nm 的近紅外波段的紅外線作為信息的載體,將二進制信號調(diào)制為若干脈沖信號。最后驅(qū)動紅外線發(fā)射元件(如紅外發(fā)光二極管)發(fā)射紅外信號。紅外接收端收到紅外脈沖信號后,將紅外信號轉(zhuǎn)換為電信號,再經(jīng)過放大、濾波等處理后送給解調(diào)電路進行解調(diào),最后還原成二進制信號輸出9。這種通信方式非常簡單,實現(xiàn)串行通信,只要一根 usb 轉(zhuǎn)紅外的通

31、信數(shù)據(jù)線,將pc機發(fā)送的點陣數(shù)據(jù)經(jīng)過usb以紅外線的方式傳輸給芯片,接收采用pt19-21c。圖 3-4 usb 轉(zhuǎn)紅外電路第4章 系統(tǒng)軟件設計部分4.1 pc機軟件設計部分本系統(tǒng)以 visual basic 6.0 作為開發(fā)軟件來實現(xiàn)對硬件及顯示的控制。4.1.1 vb軟件介紹visual basic(簡稱vb)是microsoft公司開發(fā)的一種通用的基于對象的程序設計語言。專業(yè)人員可以用visual basic 實現(xiàn)其它任何windows 編輯語言的功能,而初學者只要掌握幾個關鍵詞就可以建立實用的應用程序10。vb簡單易學,通用性強,用途廣泛。vb具有如下特點:1)面向?qū)ο蟮某绦蛟O計的基本

32、概念對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理。對象可以是應用程序的一部分,比如可以是控件或窗體。整個應用程序也是一個對象。2)事件驅(qū)動在事件驅(qū)動的應用程序中,代碼不是按照預定的路徑執(zhí)行,而是在響應不同的事件時執(zhí)行不同的代碼片段。事件的驅(qū)動可以手動操作觸發(fā)也可以由系統(tǒng)自動觸發(fā)。3)active 技術active 技術發(fā)展了原有的 ole 技術,它使開發(fā)人員擺脫了特定語言的束縛??煞奖愕厥褂脴藴实?active 部件,調(diào)用標準的接口,實現(xiàn)特定的功能11。該系統(tǒng)設計選擇應用mscomm控件,它的處理方式及其屬性見表4-1和4-2。表4-1 mscomm 屬性屬性功能 commport設 置 或

33、 返 回 串 行 端 口 號, 其 取 值 范 圍 為1 99, 缺 省 為1。 setting設 置 或 返 回 串 行 端 口 的 波 特 率、 奇 偶 校 驗 位、 數(shù) 據(jù) 位 數(shù)、 停 止 位。portopen打 開 或 關 閉 串 行 端 口, 格 式 為:mscomm.portopen=true|false。 input該 屬 性 表 示 從 接 收 緩 沖 區(qū) 移 走 一 串 字 符output向 發(fā) 送 緩 沖 區(qū) 傳 送 一 字 符 串。 表4-2 mscomm 處理方式處理方式屬性事件驅(qū)動由mscomm 控件的oncomm 事件捕獲并處理通信錯誤及事件查詢通過檢查comme

34、vent 屬性的值來判斷事件和錯誤4) mscomm 工作的步驟 連接mscomm與串口,初始化端口號碼及其commport。 設置通信協(xié)議及其他傳輸特性。 將通信端口打開,設 portopen 屬性為 true,開始進行通信。 數(shù)據(jù)的輸入和輸出,利用input及output實現(xiàn)。 portopen調(diào)整為flase。4.1.2 pc機控制界面pc機主控界需要完成的是命令的輸入。我們可以從圖4.1中看到界面由四條輸入漢字的文本框構成,但需要顯示漢字的大小需要符合單片機的存儲空間的大小,不能太大。其他的控制設置也可以通過圖一眼順利看出。界面如圖 4-1 所示。圖 4-1 上位機控制界面 4.1.3

35、 顯示數(shù)據(jù)提取 pc機軟件部分控制系統(tǒng)的核心是將進行顯示的漢字轉(zhuǎn)化為點陣數(shù)據(jù)。點陣漢字中,每個漢字的字模都有相對固定的字節(jié)數(shù)。漢字的格式不同,對應著的漢字字庫也不同,為了使功耗最少,本設計采用的是的hzk12字庫,它的點陣數(shù)量最少,需要點亮的漢字點陣數(shù)量就會減少。 vb提取漢字點陣數(shù)據(jù)首先要做到的一點是是否是漢字作出一個判斷。假如是漢字,那么依據(jù)漢字的區(qū)位碼就能計算出漢字在字庫中的相應位置,然后提取該漢字的點陣數(shù)據(jù)(24字節(jié)),將其存入等待串口發(fā)送的動態(tài)數(shù)組。如果是英文字符,可以利用一樣的方法提取該字符的點陣數(shù)據(jù)。程序流程圖如下: 圖4-2 提取漢字點陣數(shù)據(jù)的流程圖4.2 下位機軟件部分設計與

36、實現(xiàn) lpc922單片機是電子胸牌設計的下位機控制系統(tǒng)的主部分,lpc922程序設計的功能是接收由pc機下載的顯示數(shù)據(jù),提供顯示數(shù)據(jù)及各種控制信號給led顯示屏。程序設計包括:中斷服務程序,主程序。4.2.1 主程序設計主程序需要完成初始化程序的各個模塊以及按照要求調(diào)用相對應的子程序。工作時單片機按照上位機的指令工作。其程序流程圖如圖 4-3 所示。4.2.2 led 顯示程序設計 本系統(tǒng)設計的最重要部分是顯示單元,因為如果顯示效果的不好那么電子胸牌的使用效果也會不好。其中包括利用各種動態(tài)顯示(如上下移顯示、左右移顯示和固定顯示等),完成不同的效果顯示。(1) 固定顯示方式此方式只要把內(nèi)容讀取

37、出來即可。因此要將信息完整地固定顯示出來,只需單片機將收到的點陣數(shù)據(jù)存儲在flash rom 中,存儲方式是按行存儲,然后將行數(shù)據(jù)送到列并對行上電,重復以上操作直至12行完成,這樣要顯示的信息就可以完整地固定的顯示出來。但由于本設計是小型led,所以對顯示內(nèi)容要進行大小的控制。(2) 左右移的顯示方式 左移動是控制列的,因此控制左移顯示就會變得麻煩一點。左右移動顯示時,為了使顯示穩(wěn)定、畫面不會有跳動的感覺,需逐列定速進行移動。因為左右移動需行掃描不斷地進行,所以將需要顯示的列數(shù)據(jù)依次送入,這時候?qū)牧袝疗饋?因此列數(shù)據(jù)是到顯示屏的方式是逐位移動。(3) 上下移顯示方式和固定顯示效果相比,上

38、移顯示效果有很多相似地方,不同的只是在進行行掃描時,下一行數(shù)據(jù)連續(xù)向上一行傳送,在對行點亮時從底下一行開始不斷重復直至所有行結束。而在初始數(shù)據(jù)時,要多加一行零數(shù)據(jù),當然它不會顯示,工作時下一行的數(shù)據(jù)傳送給上一行直至12 行被顯示完;下移和上移顯示不同的就是行點亮開始從最上面一行至最下面一行結束,數(shù)據(jù)的選擇是按照這樣的方式:將第i-1 行的數(shù)據(jù)賦值給第 i 行,直至 12 行被掃描完。圖4-3 主程序流程圖 4.3 pc 機與單片機串行通信程序設計計算機有一種不同于并行口的的一種標準接口,即串行口,它的不同之處它的數(shù)據(jù)及控制信息是逐位地串行地傳送下去。以下是串行口的通信接口標準簡介: 目前廣泛應

39、用于 pc 機與通信工業(yè)中的一種接口是rs-232。rs-232采取不平衡的單端通信傳輸方式,接收端和發(fā)送端是相對于地的數(shù)據(jù)信號。rs-232是不穩(wěn)定的信號,工作時,發(fā)送設備送出5v15v的正電平,沒有數(shù)據(jù)傳送時,線上ttl。4.3.1 單片機串行通信特點p89lpc922單片機的uart具有四種操作模式,見表4-3。表4-3 p89lpc922操作模式模式0移位時鐘通過txd 輸出。通過 rxd 進出串行數(shù)據(jù)。每次接收或發(fā)送都為八位,固定波特率是cpu時鐘頻率1/16。模式1rxd 腳接收,txd 腳發(fā)送,一次為10位數(shù)據(jù):1起始位,八個數(shù)據(jù)位和一個暫停位。每次接收數(shù)據(jù),停止位存存儲在sco

40、n的 rb8中。此波特率變化決定于發(fā)生器或者定時器 1的溢出速率。模式2rxd 腳接收,txd 腳發(fā)送,一次為 11 位數(shù)據(jù):1個起始位,八個數(shù)據(jù)位,1個可編程的第九位數(shù)據(jù)和1個停止位。當發(fā)送數(shù)據(jù)的時候,第九個數(shù)據(jù)位置1或 0。接收數(shù)據(jù)時,第 九 位數(shù)據(jù)存儲在 scon 的 rb8 位,但停止位不會去被保存。波特率可以編程cclk 頻率的 1/32 或者1/16 ,它是由 pcon內(nèi)的smod1位決定。模式3rxd 腳接收,txd 腳發(fā)送,一次11位數(shù)據(jù):1個起始位,八個數(shù)據(jù)位,1個可以編程的第九位數(shù)據(jù)和1個停止位。模式 3 的波特率變化,可以決定于定時器1溢出率或波特率發(fā)生器。 4.3.2

41、p89lpc922串行通信接收上位機信號后,單片機產(chǎn)生中斷,進入中斷后采用查詢的方式接收上位機傳送的點陣數(shù)據(jù)。進入接收中斷時,以防顯示屏出現(xiàn)錯誤,先關閉顯示屏,然后將接收到的數(shù)據(jù)放在接收緩沖區(qū),并將它存儲于flash rom中的扇區(qū)里。iap-lite能夠進行程序擦除編程,即在不影響該頁其他字節(jié)的情況下,經(jīng)過一次操作就可以擦除和編程一頁內(nèi)的一個或多個字節(jié)。在微控制器的固件控制下,實現(xiàn)iap-lite功能,擦除和編程未加密扇區(qū),需使用1個內(nèi)部16/64字節(jié)頁和4個sfr寄存器。這些sfr見表4-4。表4-4 sfr及其屬性fmcon (flash控制寄存器)寫時作命令寄存器;讀時作狀態(tài)寄存器;寫

42、入命令時清零狀態(tài)。 fmdata (flash數(shù)據(jù)寄存器)接收到的數(shù)據(jù)裝進頁寄存器。fmadrh,fmadrl (flash存儲地址高字節(jié),flash存儲地址低字節(jié))指示程序存儲器的頁或者頁寄存器的字節(jié)地址。 程序中擦除字節(jié)有如下的具體操作步驟:1)向 fmcon 中寫入 load 命令(00h)。 2)向 fmadrh、fmadrl寫入頁寄存器內(nèi)的地址。3)向fmdata寫入要編程的數(shù)據(jù)。4)除了連續(xù)字節(jié),向fmadrl寫入將進行編程的下個字節(jié)的地址。所有被編程過的字節(jié)必須在同一頁。5)向fmdata寫入將編程到的下一字節(jié)數(shù)據(jù) 。6) 寫操作重復進行,一直到所需要的數(shù)據(jù)都被存儲在頁寄存器中。

43、7)將擦除編程命令(68h)寫入fmcon ,將擦除-編程周期啟動。8)檢查狀態(tài)通過讀 fmcon 來進行。假如操作被終止,經(jīng)過 load 命令重新來啟動操作。4.3.3 vb串口通信該系統(tǒng)利用vb編寫程序。串口初始化程序如下: mscomml.commport =1 if mscomml.portopen = false then mscomm1.settings = "9600,n,8,1" mscomm1.portopen = true end if mscomm1.outbuffercount = 0 mscomm1.inbuffercount = 0 當pc 與單

44、片機成功連接后,就可以向單片機發(fā)送字模數(shù)據(jù)了,單片機的存儲器的大小和下位機程序決定發(fā)送字模數(shù)據(jù)的大小。下面是軟件控制系統(tǒng)在串行通信中運行的畫面,如圖 4.5所示。圖 4.5 上位機運行界面4.3.4通信協(xié)議 它是指雙方在通信過程中需要達成一致且必須共同遵守的一種協(xié)定。本設計制定的的通信協(xié)議如下: 上位機負責發(fā)送點陣數(shù)據(jù),下位機負責接收。上位機發(fā)送的內(nèi)容是控制顯示命令及點陣數(shù)據(jù),而下位機的接收方式是中斷查詢。串行波特率=9600 b/s,選擇通信方式 1。表4-5 通信協(xié)議數(shù)據(jù)傳送方式接口協(xié)議是rs-232,發(fā)送和接收方式是半雙工。通信方式異步通信方式,傳送數(shù)據(jù)的單位是字節(jié),異步通信中規(guī)定數(shù)據(jù)幀

45、的格式要嚴格,因為發(fā)送方和接收方使用的是各自本身的時鐘。數(shù)據(jù)幀格式一幀數(shù)據(jù)是10位,包括一位起始位,一位停止位和八位數(shù)據(jù)位。 下面是依據(jù)系統(tǒng)的設計特點,確定的pc機軟件控制系統(tǒng)傳輸數(shù)據(jù)的方式,格式見表4-6。表4-6 上位機發(fā)送命令/數(shù)據(jù)流的幀格式握手字顯示模式移動速度點陣數(shù)據(jù)結束命令第5章 系統(tǒng)分析完成整個系統(tǒng)設計后,需進行分析,可分布進行,分為分析部分和軟件分析部分,主要的作用是經(jīng)過分析找出系統(tǒng)的缺點并進行改進。(1)硬件分析。 本次論文的硬件分析主要是依據(jù)設計要求原理圖和仿真圖是匹配,然后檢查布線是否正確。(2)軟件分析軟件分析即分析程序,主要是對設計上編寫的程序進行改進和完善。通過不斷

46、的調(diào)試,最終調(diào)試出完美的程序。另外,還要依據(jù)各部分功能,檢測整個程序的執(zhí)行順序是否合理,以及子程序的調(diào)用、位置是否恰當?shù)?。電子胸牌的開發(fā)是作為一個生活應用產(chǎn)品,最應該檢測的還是該產(chǎn)品的安全性、可靠性和穩(wěn)定性。綜合衡量,需選用性能穩(wěn)定的元器件。最后還要看連接完成后控制信號是否穩(wěn)定,因為如果處理不好就會影響產(chǎn)品的使用。為了使系統(tǒng)的顯示效果理想,最先要做的是各模塊之間的時序要控制好,因為它直接影響系統(tǒng)的工作性能。當然還要保證顯示穩(wěn)定及信號穩(wěn)定。紅外串行通信運用的是通用規(guī)范的rs-232串口標準,為了達到傳輸穩(wěn)定,必須對通信協(xié)議進行嚴格定義。經(jīng)過測試傳輸,傳輸信號及其他性都比較穩(wěn)定,基本滿足使用要求。

47、另外,要嚴格控制顯示時序,保證顯示穩(wěn)定。因為缺少專門的列驅(qū)動且顯示時間短,這樣led 的亮度會受到影響,但經(jīng)過延時的方法能夠保證顯示的所需亮度。為使顯示效果達到清晰,需要加入余輝處理技術在掃描幀切換時。經(jīng)過試驗測試,本系統(tǒng)基本上實現(xiàn)了穩(wěn)定的顯示效果???結本次設計的控制核心是p89lpc922單片機。pc機發(fā)送顯示數(shù)據(jù)和顯示方式,單片機主要采用紅外線串行通信,來進行接收和存儲顯示數(shù)據(jù)以及調(diào)整控制信號的順序顯示。為了減少電子胸牌的體積及質(zhì)量,紅外串行通信拋棄使用傳統(tǒng)的接口電路,這樣就使電路的復雜程度降低,電子胸牌會使用更加方便。本系統(tǒng)產(chǎn)品攜帶方便,消耗功率低,經(jīng)實驗調(diào)試后,效果穩(wěn)定良好。致 謝本

48、論文是我在尊敬的黃現(xiàn)蓮老師的精心指導下完成的。黃老師嚴謹?shù)闹螌W作風和求真務實的工作態(tài)度不斷地激勵著我,讓我在工作中學習中遇到困難時努力克服,另外,由于老師的悉心指導,我提高了學習的能力。在四年的大學學習過程中,黃老師給予我的教誨使我受益匪淺,一生難忘。在此向我的老師黃老師致以感謝。衷心感謝電氣信息工程學院各位領導和老師在我的四年的大學學習和畢業(yè)設計期間給予熱情的關心和幫助。同時感謝我的各位朋友,在我的大學生活中,他們豐富了我的生活,也給了我莫大的支持,在此感謝他們對我的幫助。參考文獻1呂正,姚和軍.發(fā)光二極管的發(fā)展現(xiàn)狀與市場前景.現(xiàn)代計量測試.2002(3):8-112李志鵬. tft之背光源研究與led背光源設計.蘇州大學.20073周志敏,

溫馨提示

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

評論

0/150

提交評論