基于pc機控制的led顯示屏的設計-畢業(yè)論文_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設計)</b></p><p>  基于PC機控制的點陣顯示屏設計</p><p>  學 生 姓 名: </p><p>  指導教師: </p><p>  合作指導教師:

2、 </p><p>  專業(yè)名稱: 電子信息工程 </p><p>  所在學院: 信息工程學院 </p><p><b>  2012年6月</b></p><p><b>  目 錄</b></p><p><

3、b>  摘 要Ⅰ</b></p><p>  ABSTRACTⅡ</p><p><b>  第一章 緒 論1</b></p><p>  1.1 課題背景1</p><p>  1.2 研究現(xiàn)狀及發(fā)展趨勢1</p><p>  第二章 系統(tǒng)方案論證與選擇3&

4、lt;/p><p><b>  2.1方案論證3</b></p><p>  2.2 各模塊方案選擇與論證5</p><p>  第三章 系統(tǒng)硬件電路設計與實現(xiàn)- 4 -</p><p>  3.1 硬件電路設計- 4 -</p><p>  3.2 各單元電路說明- 4 -</p&g

5、t;<p>  第四章 系統(tǒng)軟件設計- 12 -</p><p>  4.1系統(tǒng)軟件編譯器介紹- 12 -</p><p>  4.2 軟件的選擇- 12 -</p><p>  4.3程序主系統(tǒng)及驅動系統(tǒng)- 13 -</p><p>  4.4串口通信設計- 14 -</p><p>  4.

6、5上位機功能實現(xiàn)說明- 20 -</p><p>  第五章 系統(tǒng)調試及結果分析- 1 -</p><p>  5.1 系統(tǒng)調試- 1 -</p><p>  5.2 結果分析- 2 -</p><p>  第六章 總結- 1 -</p><p><b>  致 謝- 1 -</b>&

7、lt;/p><p>  參考文獻- 1 -</p><p>  附錄1 硬件電路圖- 1 -</p><p>  附錄2 單片機機程序- 1 -</p><p><b>  摘 要</b></p><p>  本設計是一基于PC機控制的16×16點陣LED漢字顯示屏的設計。&l

8、t;/p><p>  整機以AT89C51單片機為核心,介紹了以它為控制系統(tǒng)的LED點陣電子顯示屏的動態(tài)設計和開發(fā)過程。該系統(tǒng)通過RS232與上位機PC進行串行通信,采用計算機串口對其進行數(shù)據(jù)輸入,能實現(xiàn)屏幕顯示內容的實時采集;通過該芯片控制一個行驅動器 74HC154來驅動顯示屏顯示。該電子顯示屏可以顯示各種文字,全屏能顯示一個漢字,采用4塊8×8點陣LED顯示模塊來組成16×16點陣顯示模式。

9、顯示采用動態(tài)顯示,使得文字能夠實現(xiàn)靜止、移入移出等多種顯示方式。文中詳細介紹了LED點陣顯示的硬件設計思路、硬件電路各個部分的功能及原理、相應軟件的程序設計,以及使用說明等。</p><p>  單片機控制系統(tǒng)程序采用單片機匯編語言進行編輯,通過編程控制各顯示點對應LED陽極和陰極端的電平,就可以有效的控制各顯示點的亮滅。所顯示字符的點陣數(shù)據(jù)可以自行編寫(即直接點陣畫圖),也可從標準字庫中提取,但此次設計我們采用

10、從標準字庫中提取。</p><p>  經實踐證明,該系統(tǒng)顯示誤差小,性能穩(wěn)定,結構合理,擴展能力強。</p><p>  關鍵詞:AT89S51單片機, LED點陣顯示,動態(tài)顯示,串行通信,匯編語言</p><p><b>  ABSTRACT</b></p><p>  This design is a 16 

11、15;16 lattice LED electron display monitor design basic on personal computer.</p><p>  The whole equipment is with the 40-pin AT89C521MCU (Micro Controller Unit) produced by the American ATMEL company at the

12、 core, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. The system through the RS232 and PC to PC serial communications, using its computer serial

13、port for data input, to achieve real-time screen display the contents of the collection.Controls good driver 74HC154 and eight row driver 74HC595 through this c</p><p>  SCM process control system used for e

14、diting MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effectively control the defense showed bright spots. The lattice data shows characters

15、can prepare themselves (that is, direct lattice Painting), which can also be extracted from the standard font.but this time we adopt being extracted from the standard font. </p><p>  As the practice proves,

16、the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.</p><p>  Key words: AT89S51microcontroller,LED dot matrix display,Dynamic display, </p>

17、<p>  Serial port correspondence control system,Assembly language</p><p><b>  第一章 緒 論</b></p><p><b>  1.1課題背景</b></p><p>  在短短的十來年中,LED點陣顯示屏就以亮度高、工作電壓低

18、、低功耗、小型化、壽命長、耐沖擊和性能穩(wěn)定的優(yōu)點迅速成長為平板顯示的主流產品,在信息顯示領域得到了廣泛的應用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。LED顯示屏應用在社會生活中都有,例如:(1)證券交易、金融信息顯示。(2)機場航班動態(tài)信息顯示。(3)港口、車站旅客引導信息顯示。(4)體育場館信息顯示。(5)道路交通信息顯示。(6)調度指揮中心信息顯示。(7

19、)郵政、電信、商場購物中心等服務領域的業(yè)務宣傳及信息顯示。(8)廣告媒體新產品等。</p><p>  1.2研究現(xiàn)狀及發(fā)展趨勢</p><p>  1.2.1我國LED產業(yè)發(fā)展現(xiàn)狀</p><p>  作為近年來最具有革命性意義的技術發(fā)明形成的產業(yè),LED被稱為繼明火和白熾燈之后的第三次照明革命,有著廣闊的發(fā)展前景。很多國家和地區(qū)相繼出臺各種政策扶持LED產業(yè)的發(fā)

20、展,以期該產業(yè)能夠成為國家重要產業(yè)的重要組成部分?! ∧壳?,我國半導體LED作為節(jié)能、環(huán)保的主要技術,已被納入國家中長期科技發(fā)展規(guī)劃與“十一五”國家“863”高新技術產業(yè)化重大項目,并得到了大力支持。</p><p>  然而,我國目前LED產品開發(fā)應用領域依然存在許多不足。我國自主的LED芯片、外延片產量仍有限,產品以中、低檔為主,與國外差距很大。產業(yè)化規(guī)模偏小,只能滿足國內封裝企業(yè)需求量的20%-30%,大

21、部分高性能的LED和大功率LED產品均要依賴進口。此外,在LED的應用市場方面,也存在著由于產品種類、品種參差不齊問題而引起的制約,尤其是在通用照明領域,由于存在的技術不足,使其無法進行規(guī)?;占皯?。因此,推廣對LED封裝技術的發(fā)展力度,提升自身核心技術并實現(xiàn)規(guī)模量產是LED產業(yè)發(fā)展的最關鍵一步。</p><p>  1.2.2 LED顯示屏的發(fā)展趨勢</p><p>  現(xiàn)代信息社會中

22、,作為人一機信息視覺傳播媒體的顯示產品和技術得到迅速發(fā)展,進入二十一世紀的顯示技術將是平板顯示的時代,LED顯示屏作為平板顯示的主導產品之一無疑會有更大的發(fā)展,并有可能成為二十一世紀平板顯示的代表性主流產品。高亮度、全彩化藍色及純綠色LED產品自出現(xiàn)以來,成本逐年快速降低,已具備成熟的商業(yè)化條件?;A材料的產業(yè)化。使LED全彩色顯示產品成本下降,應用加快。LED產品性能的提高,使全彩色顯示屏的亮度、色彩、白平衡均達到比較理想的效果,完全

23、可以滿足戶外全天候的環(huán)境條件要求,同時,由于全彩色顯示屏價格性能比的優(yōu)勢,預計在未來幾年的發(fā)展中,全彩色LED顯示屏在戶外廣告媒體中會越來越多地代替?zhèn)鹘y(tǒng)的燈箱、霓紅燈、磁翻板等產品,體育場館的顯示方面全彩色LED屏更會成為主流產品。全彩色LED顯示屏的廣泛應用會是LED顯示屏產業(yè)發(fā)展的一個新的增長點[1]。</p><p>  未來LED顯示屏會向著標準化、規(guī)范化,產品結構多樣化的方向發(fā)展。</p>

24、<p>  1.2.3本課題的主要特點</p><p>  這個方案設計的16×16點陣LED圖文顯示屏,結構合理,成本較低,且較容易擴展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無串擾;可用靜止、移入移出等多種顯示方式顯示圖形或文字。 </p><p>  第二章 系統(tǒng)方案論證與選擇</p><p><b&g

25、t;  2.1方案論證</b></p><p>  從理論上說,不論顯示圖形還是文字,只要控制這些組成圖形或文字的各個點所在位置相對應的LED器件發(fā)光,就可以得到我們想要的顯示結果,這種同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅動顯示方式。16×16的點陣共有256個發(fā)光二極管,顯然單片機沒有這么多端口,如果采用鎖存器來擴展端口,按8位的鎖存器來計算,16×16的點陣需要256/8=3

26、2個鎖存器。這個數(shù)字很大,因為僅僅是16×16的點陣,在實際應用中的顯示屏往往要大的多,這樣在鎖存器上花的成本將是一個很大的數(shù)字。因此采用另一種稱為動態(tài)掃描的顯示方法。</p><p>  動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現(xiàn)多行(比如16行)的同名列共用一套列驅動器。具體就16×16的點陣來說,我們把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連

27、在一起(共陽的接法),先送出對應第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一行使其點亮一定的時間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點亮相同的時間,然后熄滅;…… 第十六行之后又重新點亮第一行,這樣反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,我們就能看到顯示屏上穩(wěn)定的圖形了。</p><p>  采用掃描方式進行顯示時,每行有一個行驅動器,各行的同名列共用一個列驅

28、動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應的列驅動器上去,這就存在一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅動器的數(shù)據(jù)傳輸可以采用并行方式或串行方式。顯然,采用并行方式時,從控制電路到列驅動器的線路數(shù)量大,相應的硬件數(shù)目多。當列數(shù)很多時,并行傳輸?shù)姆桨甘遣豢扇〉摹?lt;/p><p>  采用串行傳輸?shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位

29、傳往列驅動器,在硬件方面無疑是十分經濟的。但是,串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅動器,只有當一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?,這一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù)據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩個部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時間可能相當長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以至影響到LED的亮度。</p><p>  解決串行傳輸中列數(shù)據(jù)準

30、備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù)。為了達到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。經過上述分析,可以歸納出列驅動器電路應具備的主要功能。對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并出的移位功能;對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影響本行的顯示[2]。</p>

31、;<p>  課題擬以AT89C51單片機為控制核心設計一個簡單的數(shù)字時鐘系統(tǒng),用單片機、點陣顯示屏等設計一個16×16點陣LED電子顯示屏的設計。系統(tǒng)可以分為電源模塊、時鐘信號電路、復位電路、驅動模塊、單片機控制模塊、顯示模塊等,其系統(tǒng)結構框圖如下圖2-1。</p><p>  圖2-1系統(tǒng)結構框圖</p><p>  2.2各模塊方案選擇與論證</p>

32、;<p>  2.2.1 片機控制模塊</p><p>  采用89C51芯片作為硬件核心,采用Flash ROM,內部具有4KB ROM 存儲空間,可多次擦寫,而且與MCS-51系列單片機完全兼容。</p><p>  2.2.2 時鐘信號電路</p><p>  直接采用普通晶體時鐘源提供脈沖信號,此種方案能夠減少芯片的使用,節(jié)約成本。</p

33、><p><b>  2.2.3復位電路</b></p><p>  方案一:采用按鈕復位,通過按電路中的開關按鈕使系統(tǒng)內部復位,按一次開關按鈕系統(tǒng)復位一次,但是在點陣屏顯示過程中不需要對系統(tǒng)進行復位,本方案與實際應用不相符合,所以不采取本方案。</p><p>  方案二:采用上電復位,電路第一次通電時對系統(tǒng)進行一次復位,而后系統(tǒng)執(zhí)行。這個方案簡

34、單且符合實際設計,故采用本設計方案[3]。</p><p><b>  2.2.4串口模塊</b></p><p>  方案一 采用RS485來進行長距離(1219M)的傳輸,RS-485總線通信模式由于具有結構簡單、價格低廉、通信距離和數(shù)據(jù)傳輸速率(最大傳輸速率為10Mb/S)適當?shù)忍攸c而被廣泛應用.但RS485總線存在自適應、自保護功能脆弱等缺點,如不注意一些細節(jié)

35、的處理,常出現(xiàn)通信失敗甚至系統(tǒng)癱瘓等故障而且總線本身存在許多的局限性,效率低,實時性差,通信的可靠性低,應用不靈活。</p><p>  方案二 采用MAX232來進行串行的傳輸, 用串行通訊的好處是簡單,抗干擾性強.,因此不需要遠距離傳輸,因此MAX232已經足夠滿足要求。并且可直接和PC機通信,不用外加協(xié)議轉換電路。</p><p>  基于以上分析,我們選用方案二,選用芯片MAX23

36、2。 </p><p><b>  2.2.5顯示模塊</b></p><p>  方案一:采用4塊8×8點陣LED顯示屏相連接構成一塊16×16點陣LED顯示屏,但4塊點陣屏連接起來面積較大,且需多根導線將其焊接,外觀上較不美觀。所以不采用本方案。</p><p>  方案二:采用16×16點陣LED顯示屏,16

37、×16點陣屏的功能與4塊8×8點陣屏構成16×16點陣屏功能相同,但是更為美觀小巧美觀,且單塊16×16點陣屏和4塊8×8點陣屏價格相等。故本設計采用這種方案。</p><p><b>  2.2.6驅動模塊</b></p><p>  方案一:采用靜態(tài)鎖存方式,將每一個LED發(fā)光管的一端接至單片機的一個I/O口,另一

38、端通過電阻接電源。這種方法可以直接驅動LED,原理簡單,驅動能力強,LED的亮度也可以通過限流電阻調節(jié),非常方便,但此種方法太浪費單片機的I/O口,只適合于較小的系統(tǒng)。</p><p>  方案二:采用動態(tài)掃描方式,通過三極管驅動并聯(lián)在一起的LED發(fā)光管的一端(共陰或共陽),LED發(fā)光管的另一腳接通用I/O口,控制其亮滅。該方法能驅動較多的LED,控制方式較靈活,而且節(jié)省單片機的資源。故采用本設計方案[4]。&l

39、t;/p><p>  行驅動電路主要是要實現(xiàn)譯碼功能,下面有2種方案供其選擇:</p><p>  方案一:采用2塊74LS138級聯(lián)來實現(xiàn)4/16線譯碼功能,74LS138芯片本身具有3/8線譯碼功能,但是增加了芯片的使用數(shù)目,增加了連線及所占面積。所以不采用本方案。</p><p>  方案二:采用芯片74LS154,74LS154芯片本身具有4/16線譯碼功能,其

40、功能與2塊74LS138級聯(lián)實現(xiàn)4/16譯碼一樣,但是相比74LS138少用一片芯片。所以采用本方案。 </p><p>  2.2.7 掉電保存模塊</p><p>  掉電保存模塊是通過單片機AT24C08對LED點陣顯示屏內容進行保存。在PC機突然斷電時仍然能保存輸入到LED點陣顯示屏上的內容。</p><p>  第三章 系統(tǒng)硬件電路設計與實現(xiàn)</p

41、><p><b>  3.1硬件電路設計</b></p><p>  本電路是由AT89C51單片機為控制核心,低功耗;時鐘源電路有很多種,比如阻容低速時鐘源、普通晶體時鐘源、帶緩沖放大的晶體時鐘源等等,考慮到電路穩(wěn)定及材料選購等方面,決定采用普通晶體時鐘源,其中晶體用12MHz的石英晶振;復位電路結合實際應用功能的實現(xiàn),采用上電復位;顯示部分由16×16點陣L

42、ED顯示屏顯示;行驅動電路采用74LS154。</p><p>  3.2各單元電路說明</p><p>  3.2.1單片機AT89C51</p><p>  AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含有4K bytes的可反復擦寫的只讀程序存儲器和128的隨機存取數(shù)據(jù)存儲器,器件采用AEMEL公司的高密度,非易失性存儲技術生

43、產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和FLASH存儲單元,功能強大,可靈活應用于各種控制領域[5]。圖3.1為AT89C51外部封裝。</p><p>  圖3-1 單片機AT89C51</p><p>  AT89C51單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3, MCS-51單片機共有4個8位的I/O口(P0、P1、P2、P3),每一條I/

44、O線都能獨立地作輸出或輸入。</p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時,P0 口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  P1口:P1口是一個

45、內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p>  P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并

46、因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接

47、收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故[6]。 </p><p>  P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口

48、)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(記時器0外部輸入)</p><p>  P3.5 T1(記時器1外部輸入)</p><p>  P3.6 /WR(外

49、部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p>  AT89C51振蕩器特性為: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求

50、,但必須保證脈沖的高低電平要求的寬度[7]。 </p><p>  此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,停止芯片其它功能直至硬件復位,直到下一個硬件復位為止。</p><p>  3.2.2單片機復位原理&

51、lt;/p><p>  單片機剛上電時需要復位一次才能可靠工作,通過電容接VCC,是利用電容充電來提供2個周期的高電平時間讓單片機復位,如此單片機可以正常工作。這之后又不要求單片機復位,所以通過8.2K左右的電阻下拉接地保證RESET腳維持在低電平狀態(tài)(即不復位狀態(tài))[8]。如圖3-2所示。</p><p>  圖3-2 單片機復位電路</p><p><b>

52、;  3.2.2時鐘電路</b></p><p>  單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接時鐘電路,X1接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,X2接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出[9]。第9引腳為復位輸入端,接上電容,電阻及開關后夠上電復位電路,20引腳為接地端,40引腳為電源端。31引腳接電源端,如圖3-3所示。</p>

53、<p>  圖3-3 單片機時鐘電路</p><p>  3.2.3 16×16點陣LED顯示模塊的設計</p><p>  一、LED點陣屏介紹</p><p>  組合型LED點陣顯示器自八十年代開始出現(xiàn),以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命長、耐濕、耐冷熱、

54、耐腐蝕等特點。LED點陣有4×4、4×8、5×7、5×8、 8×8等多種。點陣顯示屏有單色和雙色兩類,可顯示紅,黃,綠,橙等,本次設計選用單色點陣顯示屏。</p><p>  二、點陣LED顯示屏的外觀和引腳</p><p>  8×8點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上。要實現(xiàn)顯示圖形或字

55、體,只需考慮其顯示方式,通過編程控制各顯示點對應LED陽極和陰極端的電平,就可以有效的控制各顯示點的亮滅。當采用按行掃描按列控制的驅動方式時,LED顯示屏8行的同名列共用一套列驅動器。行驅動器一行的行線連接到電源的一端,列驅動器一列的列線連接到電源的另一端。應用時還應在各條行線或列線上接上限流電阻。掃描中控制電路將行線的1到 8輪流接通高電位,使連接到各該行的全部LED器件接通正電源,但具體那一個LED導通,還要看它的負電源是否接通,這

56、就是列控制的任務了。當對應的某一列置0電平,則相應的二極管就亮;反之則不亮。例如:如果想使屏幕左上角LED點亮,左下角LED熄滅的話,在掃描到第一行時,第一列的電位就應該為低,而掃描到第八行時第一列的電位就應該為高。這樣行線上只管一行一行的輪流導通,列線上進行通斷控制,實現(xiàn)了行掃描列控制的驅動方式。</p><p>  以上就是16×16點陣LED電子顯示屏系統(tǒng)硬件部分的各功能模塊分述,經過合理的設計論

57、證后和就可以整體結合在一起,再根據(jù)設計配備好各元器件實物,通過組裝后等在單片機的程序存儲器里放入編制好的程序即可成為一個完整的應用系統(tǒng)。</p><p>  16×16點陣LED顯示屏由256個LED發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上。它的外觀形狀如圖3-4所示,內部結構如圖3-5所示。且每個發(fā)光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應

58、的二極管就亮[10]。如第一列為高電平置1,第二列為低電平置0,第三列為高電平置1,P行為低電平置0,O行為高電平置1,則顯示效果是P行上的第一個LED燈亮,第二個LED燈滅,第三個LED燈亮。第O行上的三個LED燈全滅,如圖3-6所示。</p><p>  圖3-4 16×16點陣LED顯示屏實物照片</p><p>  圖3-5 16×16點陣LED顯示屏內部結構&

59、lt;/p><p>  圖3-6 LED點陣亮滅示意圖</p><p>  16×16點陣LED顯示屏的內部結構和外觀引腳并不相對應,下面圖3-7所示為點陣顯示屏外觀管,圖3-8為個管教所對應的管教編號。</p><p>  圖3-7 16×16點陣LED顯示屏引腳分配表</p><p>  圖3-8 點陣顯示屏各個管腳對

60、應的管腳號</p><p><b>  3.2.4驅動模塊</b></p><p>  該設計驅動模塊為行驅動模塊</p><p> ?。?)74LS154介紹</p><p>  74LS154這種4線—16線譯碼器非常適合用于高性能存儲器的譯碼器。當兩個選通輸入。G1和G2為低時, 它可將4個二進制編碼的輸入譯成16

61、個互相獨立的輸出之一。實現(xiàn)解調功能的辦法是:用4 個輸入線寫出輸出線的地址,使得在一個選通輸入為低時數(shù)據(jù)通過另一個選通輸入。當任何一個選通輸入是高時,所有輸出都為高。圖3-9為編碼器74LS154外形及內部邏輯結構。圖3-10為其真值表[11]</p><p>  圖3-9 74LS154 編碼器外形及內部邏輯結構</p><p>  圖3-10 74LS154 編碼器真值表</p

62、><p> ?。?)8550三極管介紹</p><p>  三極管8550是一種常用的普通三極管,是一種低電壓,大電流,小信號的PNP型硅三極管,其電流放大倍數(shù)為50-300[12]。圖3-10為三極管分裝。</p><p>  1 發(fā)射極 2 基極 3 集電極</p><p>  圖3-11 三極管8550</p>&l

63、t;p> ?。?)點陣行驅動模塊</p><p>  單片機P1口低4位輸出信號對16行點陣進行驅動,信號經4/16線譯碼器74LS154譯碼后生成16條行選通信號線,再經過驅動器驅動對應的行線。</p><p>  一條行線上要帶動16列的LED進行顯示,按每一個LED器件3mA電流計算,16個LED同時發(fā)光時,需要48mA電流,選用三極管8550對電流進行放大從而滿足需求。圖3-

64、12為行驅動模塊。</p><p>  圖3-12 74LS154行驅動模塊</p><p>  3.2.5掉電保存模塊</p><p>  掉電保存模塊是通過單片機AT24C08對LED點陣顯示屏內容進行保存。在PC機突然斷電時仍然能保存輸入到LED點陣顯示屏上的內容。</p><p>  AT24C08提供8192位的串行電可擦寫可編程只

65、讀存儲器(EEPROM),組織形式為1024字×8位字長。適用于許多要求低功耗和低電壓操作的工業(yè)級或商業(yè)級應用??蛇x節(jié)省空間的8腳PDIP, 8腳JEDEC SOIC, 8腳Ultra Lead Frame Land Grid Array (ULA),5腳SOT23,8腳TSSOP,和8觸點dBGA2封裝,并通過2-wire串行接口存取。圖3-13為掉電保存電路。 </p><p>  圖3-13 掉電

66、保存電路</p><p>  第四章 系統(tǒng)軟件設計</p><p>  隨著科技的發(fā)展,現(xiàn)代化的生產對智能化的要求越來越高,如何迅速獲取現(xiàn)場數(shù)據(jù)以便及時對生產過程進行調控,是其關鍵所在。現(xiàn)在大量的智能儀器或數(shù)據(jù)采集模塊都采用了RS—232或485通訊接口,通過相應的通訊協(xié)議,將測試、采集的數(shù)據(jù)傳輸給上位機,以滿足各種形式的數(shù)據(jù)處理的要。VisualBasic6.0(以下簡VB)是許多工程技

67、術人員熟悉和常用的應用程序開發(fā)軟件,VB以其簡單易學、32位面向對象的程序設計等特點,倍受廣大計算機開發(fā)者的青睞,已廣泛地應用于各個領域;如何用VB編寫數(shù)據(jù)通訊程序,并進行數(shù)據(jù)處理,意義重大。 用VB開發(fā)串口通訊一般有兩種方法:一是采用VB自身的標準控件MSComm來實現(xiàn);另一種是利用windows的通訊API函數(shù)。</p><p>  在單片機系統(tǒng)中,硬件是系統(tǒng)的基礎,軟件則是在硬件的基礎上對其合理的調配和使用

68、,從而完成應用系統(tǒng)所要完成的任務。軟件的設計是設計控制系統(tǒng)的應用程序。其任務是在總體設計和硬件設計的基礎上,確定程序結構,分配內RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后連接起來成為一個完整的應用程序。</p><p>  在進行系統(tǒng)總體設計時,曾經規(guī)劃過軟件結構,但由于硬件系統(tǒng)尚未仔細確定,軟件結構框圖十分粗糙,當硬件設計接口擴展及各功能模塊與CPU連接關系確定后,就能夠具體明確對軟件設計

69、的要求。本設計的LED顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產生各種控制信號,使屏幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅動程序,第二層是上層的系統(tǒng)應用程序。顯示驅動程序負責向屏體送顯示數(shù)據(jù),并負責產生行掃描信號和其它控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅動程序由定時器T0中斷程序實現(xiàn)。系統(tǒng)應用程序完成系統(tǒng)環(huán)境設置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)

70、。</p><p>  從有利于實現(xiàn)語言的直觀,易于記憶和檢查,可讀性較好和使語言程序占用較少的單片機存儲空間,實時處理系統(tǒng)可以快速的執(zhí)行指令的角度考慮,本設計中顯示屏程序采用匯編語言編寫。</p><p>  4.1系統(tǒng)軟件編譯器介紹</p><p>  使用C 語言肯定要使用到C 編譯器,以便把寫好的C 程序編譯為機器碼,這樣單片機才能執(zhí)行編寫好的程序。 <

71、;/p><p>  KEIL uVISION3 是眾多單片機應用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51 架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持, PLM,匯編和C 語言的程序設計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。</p><p><b>  4.2軟件的選擇</b><

72、;/p><p>  4.2.1單片機編程語言選擇 </p><p>  方案一:采用匯編語言編程,由于匯編語言是比較低層的開發(fā)語言,它要求開發(fā)者非常熟悉單片機的硬件結構,存儲器結構等等。加上匯編語言可讀性差,一般人是很難看懂的。還有也是比較致命的一點,可移植性比較差,所以使用匯編語言編程將需要大量的時間用于軟件的編寫和調試。</p><p>  方案二:采用C語言編程,

73、它不要求開發(fā)者深入了解單片機和硬件接口的結構,編譯器自動完成變量的存儲單元的分配,可讀性比較好,可移植性強,這是C語言最大的優(yōu)勢。而且現(xiàn)在很多編譯器都能很好的支持C語言的編譯和調試。</p><p>  基于以上分析,我們決定采用方案二。</p><p>  4.2.2上位機控制傳輸軟件選擇</p><p>  方案一:采用網上下載的上位機控制傳輸軟件,由于他人制作

74、的上位機軟件具有局限性,功能也達不到自己的要求,用起來也不方便。不能很好的體現(xiàn)系統(tǒng)的功能。</p><p>  方案二:采用自己編寫的上位機軟件,不僅功能上可以滿足系統(tǒng)控制需要,并且通信協(xié)議可以自己給定,能更好的完成信息的交換。</p><p>  基于以上分析,我們決定采用方案二。</p><p>  4.3程序主系統(tǒng)及驅動系統(tǒng)</p><p&

75、gt;<b>  4.3.1主系統(tǒng)</b></p><p>  系統(tǒng)的主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設置串口、定時器、中斷和端口;然后LED顯示屏進入開機狀態(tài),轉入正常的顯示。首先是向上滾動顯示漢字,每個字停留時間約1.6s。由于單片機沒有停機指令,所以可以設置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。</p><p>  系統(tǒng)程序結構屬中斷方式,絕大多數(shù)功能

76、在中斷服務子程序中完成。根據(jù)總體結構,可將程序劃分為幾個功能化模塊:串行口中斷服務程序、多字滾動顯示子程序、單字顯示子程序、掃描程序。各個模塊可進行獨立設計、調試和查錯,最終再連接成一個整體。這樣可方便程序調用,程序整體層次清晰,結構一目了然,方便閱讀。</p><p><b>  4.3.2驅動系統(tǒng)</b></p><p>  根據(jù)流程圖可以編寫出相應的顯示程序。顯

77、示驅動程序在進入中斷后首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏的刷新率(幀頻)計算公式如下:</p><p>  刷新率(幀頻)=×T0溢出率</p><p><b>  =×</b></p><p>  其中f為晶振頻率,t為定時器T0初值(工作在16位定時器模式)。</p>

78、<p><b>  T0初值=2-</b></p><p>  其中N與工作方式有關,本設計定時/計數(shù)器工作于方式1,如圖4-1所示,方式1構成一個16位定時計數(shù)器,即N=16。</p><p>  方式1最大計數(shù)值為216=65536 ,若fosc=12MHz,則定時時間范圍為1~65536μs。</p><p>  機周時間與主

79、振頻率有關,機器周期是時鐘周期的12倍,因此,機周時間=12/ fosc。當fosc=12MHz時,1機周=1μs。</p><p>  圖4-1 定時/計數(shù)器T0工作方式1邏輯電路結構圖</p><p>  然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區(qū)內讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產生拖尾現(xiàn)象,驅動程序先要關閉顯示屏,即消隱,等顯示

80、數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。顯示程序給出了各控制信號和顯示數(shù)據(jù),其作用及相互配合關系均已在硬件部分作過介紹,相應的程序部分在清單的注釋區(qū)內分別進行了說明,在此不再一一詳述。</p><p><b>  4.4串口通信設計</b></p><p>  4.4.1串口的定義</p><p>  串口是計算機上一種非常

81、通用設備通信的協(xié)議。大多數(shù)計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的通信協(xié)議;很多GPIB兼容的設備也帶有RS—232口。同時,串口通信協(xié)議可以用于獲取遠程采集設備的數(shù)據(jù)。 </p><p>  4.4.2串口通信的原理</p><p>  串口通信(Serial Communications)的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte

82、)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠實現(xiàn)遠距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設備線總長不得超過20米,并且任意兩個設備間的長度不得超過2米;而對于串口而言,長度可達1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成:①地線,②發(fā)送,③接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口

83、通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數(shù)必須匹配。 </p><p>  a波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的bit的個數(shù)。例如300波特表示每秒鐘發(fā)送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協(xié)議需要4800波特率,那么時鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,2880

84、0和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。 </p><p>  b數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是8位的,標準的值是5、7和8位。如何設置取決于你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文

85、本(標準 ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術語“包”指任何通信的情況。 </p><p>  c停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y束,并且提供計算機校

86、正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 </p><p>  d奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇

87、校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。</p><p><b>  4.4.3作用</b></p><p>  RS-232(ANSI/EIA-232標準)是IBM-PC及其兼容機上的串行連接標準??捎糜谠S多

88、用途,比如連接鼠標、打印機或者Modem,同時也可以接工業(yè)儀器儀表。用于驅動和連線的改進,實際應用中RS-232的傳輸長度或者速度常常超過標準的值。RS-232只限于PC串口和設備間點對點的通信。RS-232串口通信最遠距離是50英尺。 </p><p>  4.4.4奇偶校驗位</p><p>  在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。

89、對于偶和奇校驗的情況,串口會設置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 </p><p>  

90、RS-232(ANSI/EIA-232標準)是IBM-PC及其兼容機上的串行連接標準。可用于許多用途,比如連接鼠標、打印機或者Modem,同時也可以接工業(yè)儀器儀表。用于驅動和連線的改進,實際應用中RS-232的傳輸長度或者速度常常超過標準的值。RS-232只限于PC串口和設備間點對點的通信。RS-232串口通信最遠距離是50英尺。 </p><p>  4.4.5上位機對單片機的通信協(xié)議</p>&

91、lt;p>  主要任務是負責接收上位機控制命令和數(shù)據(jù),同時也負責對單片機信息采集通過串口返回給上位機。</p><p>  本系統(tǒng)采用了MAX232電平轉換電路實現(xiàn)了上位機的通信難題,MAX232具有短距離傳輸穩(wěn)定行好的功能。</p><p>  MAX232是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。由于電腦串口RS232電平是-10V +10V,而一般的單片機應用

92、系統(tǒng)的信號電壓是TTL電平0 +5V,MAX232就是用來進行電平轉換的,該器件包含2個驅動器、2個接收器和一個電壓發(fā)生電路提供TIA/EIA-232-F電平。</p><p>  在多數(shù)情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如一條發(fā)送線、一條接收線及一條地線。 </p><p>  MAX232是標準的串口通信接口,對于一般的雙向通訊,只需要使用串行輸入口RXD

93、(第12腳)、串行輸出TXD(第11腳)和地線(第10腳)。</p><p>  串行通訊的方式有異步通訊和同步通訊方式,這里簡單介紹異步通信方式:</p><p>  異步通訊用一個起始位表示字符的開始,用停止位表示字符的結束。其每幀的格式如下: </p><p>  在一幀格式中,先是一個起始位0,然后是8個數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來是奇偶校驗位(

94、可以省略),最后是停止位1。用這種格式表示字符,則字符可以一個接一個地傳送。</p><p>  一、上位機對單片機的通信協(xié)議</p><p>  上位機與主機的通信采用標準的RS232通信,我們設置波特率為9600b/s,一位停止位,一位起始位,無校驗位等作為RS232協(xié)議。</p><p>  上位機通信數(shù)據(jù)幀格式,上位機在發(fā)送數(shù)據(jù)之間先發(fā)送命令字,如“設置時間

95、”就會在時間前加上命令“ST”,在6位時間數(shù)據(jù)后面加上‘\n’,表示一幀數(shù)據(jù)信息發(fā)送結束, 命令和數(shù)據(jù)之間有空格,這在命令解析中很重要。</p><p>  單片機收到上位機發(fā)過來的數(shù)據(jù),首先存儲數(shù)據(jù),直到收到‘\n’,將處理收到的數(shù)據(jù),然后解析命令字,根據(jù)命令字調用相關處理函數(shù)。</p><p>  其他命令的處理基本類似,只是各命令都有自己獨立的處理函數(shù)和不同的命令字。</p&g

96、t;<p>  圖4-2 單片機接收命令流程圖 圖4-3 上位機接收信息流程圖</p><p>  二、單片機對上位機的通信協(xié)議</p><p>  單片機對上位機的通信主要是要發(fā)送實時時間,日期,星期,溫度等,以完成在上位機相應的顯示。</p><p>  單片機對上位機通信協(xié)議,在發(fā)送數(shù)據(jù)之前會添加標示符,如時間數(shù)據(jù)的話用‘T’做標

97、示符,在數(shù)據(jù)后加上‘\n’,表示數(shù)據(jù)信息發(fā)送結束。</p><p>  上位機收到單片機發(fā)來的信息,首先存儲數(shù)據(jù),直到收到‘\n’, 將處理到的數(shù)據(jù),然后判斷標示符,根據(jù)標示符將數(shù)據(jù)顯示到相應的對話框中。</p><p>  圖3-2 RS232串行通信系統(tǒng)硬件</p><p>  4.4.5 Mscomm通訊控件簡介 </p><p> 

98、 Mscomm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機可以利用串行口與其它設備實現(xiàn)輕松連接,簡單高效地實現(xiàn)設備之間的通訊。此控件的事件響應有兩種處理方式: 1)事件驅動方式:由MSCoMM控件的0nCoIm事件捕獲并處理通訊錯誤及事件; 2)查詢方式:通過檢查CogMd:vent屬性的值來判斷事件和錯誤。 一、MSComm控件的主要屬性和方法: 1、CommPort:設置或返回串行端口號,其取值范圍為

99、1—99,缺省為1。 2、ettin8設置或返回串行端口的波特率、奇偶校驗位、數(shù)據(jù)位數(shù)、停止位。如:Mscomm1.Setting=“9600, n, 8, 1”。 3、ortopen:打開或關閉串行端口。 4、RThreshold:該屬性為一閥值,它確定當接收緩沖區(qū)內字節(jié)個數(shù)達到或超過該值后就產生Mscomm1—OnComm事件。 5、Input:從接收緩沖區(qū)移走一串字符。 6、0utput:向發(fā)送緩種區(qū)

100、傳送一字符串。 二、CommEvent屬性:如果在通訊過程中發(fā)生錯誤或事件,就會引發(fā)0nCoIm事件并由CoBn</p><p>  4.4.6數(shù)據(jù)的發(fā)送與接收 </p><p><b>  一、數(shù)據(jù)的發(fā)送</b></p><p>  VB發(fā)送數(shù)據(jù)有兩種:1、發(fā)送字符數(shù)據(jù);2、發(fā)送二進制數(shù)據(jù)。 1) 發(fā)送字符數(shù)據(jù) 在通訊

101、中以單字符方式逐個發(fā)送數(shù)據(jù)時,每一個數(shù)據(jù)范圍是:0—128。如發(fā)送58給單片機則可以這樣表示: Mscomm1.Output=Chr(50) ‘發(fā)送數(shù)據(jù)(16進制) 在通訊中以多字符方式發(fā)送數(shù)據(jù)時,發(fā)送的是Ascii碼值。如發(fā)送“LED顯示屏”則可以這樣表示: Dim data as String ‘定義發(fā)送數(shù)據(jù)變量;data=” LED顯示屏” ‘給變量賦值;Mscomm1.Output=data ‘發(fā)送數(shù)據(jù) 2) 發(fā)送二

102、進制數(shù)據(jù) 以發(fā)送字符方式時,發(fā)送的數(shù)據(jù)范圍只能是:0—128,而單片機經常處理的數(shù)據(jù)范圍是0—255,那么怎么樣發(fā)送大于128的數(shù)據(jù)呢?方法是采用二進制方式發(fā)送數(shù)據(jù)。首先定義一個二進制類型的數(shù)組,然后把要發(fā)送的數(shù)值賦給二進制數(shù)組,再通過Mscomm發(fā)送。如發(fā)送數(shù)值220的具體過程如下: Dim data(0) as byte ‘定義發(fā)送數(shù)據(jù)數(shù)組 Data(0)=220 ‘給數(shù)組賦值 Mscomm1.output=data(0)

103、‘發(fā)送數(shù)據(jù) 二</p><p>  Mscomm1.InputMode=1 ‘接收方式為二進制方式 For k=0 to n Receive(k) = MSComm1.Input ‘接收數(shù)據(jù) Next k End Select </p><p>  4.5上位機功能實現(xiàn)說明</p><p>  上位機對于整個系統(tǒng)算是個控制部分,它主要的任務是發(fā)送

104、命令或數(shù)據(jù)給單片機,同時也可以接收單片機返回的數(shù)據(jù),并能夠進行簡單的處理。</p><p>  上位機具有設置時間,設置日期,設置鬧鐘等功能,還有讀取LED點陣顯示系統(tǒng)時間日期等功能,還可以控制LED點陣顯示屏顯示的內容。</p><p>  在此我設計了一些按鈕,以方便操作。當然這些操作在底層還是有一些處理,并不是我們看到的那樣:如設置時間,我們在“設置時間”對話框里輸入要設置的時間值,

105、單擊“設置時間”按鈕,LED點陣系統(tǒng)及重新設置我們想要的時間。</p><p>  而底層的這個過程還是比較復雜的,下面是“設置時間”程序流程:</p><p>  單擊“設置時間”將會調用該函數(shù),進入該函數(shù),首先檢測串口是否打開,如果沒打開,則通知“串口沒有打開,請打開串口”,確定串口打開后,將讀入編輯框的內容,此時判斷內容是否包含時分秒相應的時間數(shù)據(jù),然后判斷時間格式的正確性,例如時不

106、能超過24等,出錯的話將提示"時間格式錯誤,請重新確認"。經過這3次判斷后,上位機將發(fā)送對話框的數(shù)據(jù)帶單片機,完成時間設置動作。</p><p><b>  系統(tǒng)調試及結果分析</b></p><p><b>  5.1系統(tǒng)調試</b></p><p><b>  5.1.1硬件測試</

107、b></p><p>  16×16點陣LED電子顯示屏的電路系統(tǒng)較小,但是線路頗為麻煩,特別是在焊接點陣屏時。對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出現(xiàn)一處的錯誤,則會對整個電路帶來麻煩且對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導線,則會對電路造成短路現(xiàn)象。</p><p>  本人在16×16點陣LE

108、D電子顯示屏的設計調試中遇到了很多的問題。下面為設計過程中遇到的主要問題:</p><p>  焊接16×16 LED點陣屏時管腳焊接錯誤。</p><p>  因焊接元器件不熟練,幾個焊盤脫落。</p><p>  在硬件電路焊好后總體檢測時,16×16 LED點陣屏第二行常亮,且亮度比其他行都亮。</p><p>  

109、回想這些問題,只要耐心仔細和認真思考都是可以避免的,以下是對這幾個問題的主要解決方法:</p><p>  時常焊錯點陣屏管腳是因為點陣屏的管腳號和功能號是不對應的,所以先仔細查看資料,然后用萬能表點個測量,確定各個管腳所對應的功能號,并做相應的記號以防焊接錯誤。</p><p>  因為電路板不是PCB板而是普通的面包板,焊盤質量不是很好,所以在粗心錯焊幾次后焊盤就容易脫落,故在選面包板

溫馨提示

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

評論

0/150

提交評論