




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機控制動態掃描文字顯示系統的設計摘要:隨著社會文化的不斷發展,led顯示系統扮演著越來越重要的宣傳角色,不論是汽車站,火車站,股市交易市場,還是學校都離不開它,然而傳統的霓虹燈廣告牌不論是在顯示效果、耗電量還是可修改性上都無法滿足當前社會的需求,傳統的霓虹燈廣告亟待改進本文介紹了基于at89s52單片機控制的8x32 led點陣動態掃描文字顯示的設計過程。首先本文對led點陣模塊顯示器原理做了介紹,同時分析了動態掃描文字顯示系統的工作原理,然后對at89s52單片機做了簡要介紹。經過分析,設計出能實現動態掃描文字顯示系統的硬件原理圖和軟件流程圖。最后利用proteus仿真軟件對該系統進
2、行仿真,達到了預期效果。關鍵詞:單片機;點陣;led顯示屏;proteusa design of dynamic scanning text display system abstract:with the continuous development of social culture, led display systems play an increasingly important role in advocacy, whether bus, train stations, stock market, or the school can not do without it, but t
3、he traditional neon signs, whether in display, or can modify the nature of the power can not meet the current needs of the community to be desired conventional neon.this paper introduces the design procedure of a dynamic scanning text display system of 8x32 led dot matrix based on at89s52 mcu contro
4、l. firstly this paper introduces the led dot matrix modules, and analysis the working principle of the dynamic scanning text display system. and then this paper briefly introduces at89s52 mcu. after analysis, this paper give out the dynamic scanning text display systems hardware and software. finall
5、y, using the proteus simulation software to simulate for the system, and achieved the desired effect.keyword: mcu , dot matrix , led , proteus目 錄1 引言11.1 國內外研究狀況11.2 本課題的主要內容、要求及說明書安排22 系統結構及硬件電路設計42.1 系統的結構框圖及工作原理42.2 電源管理模塊42.3 單片機模塊52.3.1 單片機技術簡介52.3.2 at89s52單片機最小系統62.4 led點陣顯示模塊72.4.1 led點陣顯示屏研
6、究背景82.4.2 led點陣顯示屏概述92.5 led點陣驅動模塊102.5.1 led顯示屏控制技術102.5.2 行掃描驅動112.5.3 列掃描驅動122.5.4 掃描顯示工作過程143 軟件設計163.1 keil技術簡介163.2 主程序流程173.3 端口初始化程序設計203.4 顯示ram初始化子程序設計203.5 顯示子程序設計213.6 顯示移動程序設計234 軟件仿真244.1 proteus技術簡介244.2 proteus 7.5 sp3 簡介244.3 仿真流程254.3.1 添加元件到元件列表中254.3.2 放置元件274.3.3 連線274.3.4 添加仿真文
7、件284.3.5 仿真29結論31附錄a32參 考 文 獻37致 謝391 引言1.1 國內外研究狀況現代信息顯示技術的發展,形成了crt、lcd、pdp、led、el、dlp等系列的信息顯示產品。縱觀各類顯示產品的發展,14英寸以下是lcd占主導地位,14英寸-32英寸是以crt為主導,40英寸-70英寸甚至100英寸將是pdp的市場,100英寸以上,無論是室內還是室外,led顯示屏以絕對的優勢成為主流產品1。我國經濟發展迅猛,對信息傳播有越來越高的要求.可以相信,led電子顯示屏以其色彩鮮亮奪目、大的顯示信息量、壽命長、耗電量小、重量輕、空間尺寸小、穩定性高、易于操作、安裝和維護等特點,將
8、在社會經濟發展中扮演越來越重要的角色2。led顯示屏可以顯示變化的數字、文字、圖形圖像;其不僅可以用于室內環境還可以用于室外環境,具有投影儀、電視墻、液晶顯示屏無法比擬的優點3。從應用角度上看,led的主要市場在于照明、顯示和背光源。與照明與背光源相比,led顯示方面的應用市場已經基本成熟,國內外研究狀況與水平大致相似,目前由于led顯示屏造價昂貴,主要應用于比較高檔的場所,主要集中在城市的繁華場所,作為多媒體廣告的一部分。但雙色led顯示屏主要應用于交通、高速公路,銀行、證券交易等金融場所4。對于安裝在戶外的led廣告牌,首頁需要注意的就是結構的設計。安裝結構應該考慮到:抗風、抗震、承載等主
9、要因素;其次是屏體的形狀、結構、外裝飾設計應該和所依附的建筑或環境相協調;再者,就是考慮當地的環境因素,比如空氣濕度、空氣鹽堿含量等5。led顯示屏采用了低電壓掃描驅動,具有視角大、可視距離遠、防水、規格品種多等優點,可以滿足不同應用場景的需求,其應用涉及社會經濟的許多領域,主要有以下幾個方面:1、道路交通信息顯示。led顯示是道路交通誘導系統主要發布載體,顯示手段傳統上以led和crt為主,近年來發展迅速,系統與客運自動化系統聯網,表現出優良的智能化水平;道路交通誘導系統正在迅速興起,處于發展和完善過程中,由于道路交通的環境特點,led顯示成為主要的信息顯示手段6。2、廣告媒體新產品。除單一
10、大型戶內、戶外顯示屏作為廣告媒體外,國內城市出現了集群led顯示屏廣告系統;商業大廈led顯示屏廣告發布系統也已在全國中大城市主要地方得到采用并正在推廣7。 3、證券交易、金融信息顯示。這一領域的led顯示屏占到前幾年國內led顯示屏需求量的50%以上,目前仍為led顯示屏的主要需求行業,全國上萬家證券、金融營業機構廣泛使用了led顯示屏。 4、郵政、電信、商場購物中心等服務領域的業務宣傳及信息顯示。遍布全國的服務領域均有國產led顯示屏在信息顯示方面發揮作用。5、機場航班、汽車站動態信息顯示與港口車站旅客引導信息顯示8。6、展覽和租賃。在許多展覽會,led顯示大屏幕作為展覽組織者提供的重要服
11、務內容之一向參展商提供有償服務,國外還有一些較大的led大屏幕的專業性租賃公司,也有規模較大的制造商提供租賃服務9。7、學校和醫院。在高等院校應用led顯示屏作為現代化教育工具,用做學校信息宣傳工具;在醫院主要用來宣傳藥品價格和健康知識。led廣告牌廣泛涉及了計算機及電子技術中的電源技術、單片機技術、數據通訊技術、顯示技術、存儲技術、系統軟件技術、接口及驅動等技術。易與集成電路匹配、驅動簡單、壽命長、耐沖擊、性能穩定。它的控制系統均是基于嵌入式微處理器開發,所以單片機在其中也占有一席之地10。1.2 本課題的主要內容、要求及說明書安排1.2.1 主要內容、要求研究基于單片機控制動態掃描文字顯示
12、系統的工作原理,選用合適的單片機控制led點陣模塊顯示器,運用動態掃描的原理和特點,設計相應的硬件電路,并配合相應的軟件編程,使用proteus仿真軟件和偉福仿真軟件,實現動態掃描文字顯示。工作內容:(1) 掌握led文字顯示系統的工作原理;(2) 掌握一種單片機應用,如at89s52;(3) 掌握keil程序設計軟件;(4) 掌握proteus仿真軟件。工作要求:(1) 設計相應的硬件電路;(2) 編寫相應的軟件程序;(3) 使用proteus仿真軟件,實現動態掃描文字顯示;1.2.2 說明書安排本文詳細介紹了一種8x32的點陣led文字顯示屏系統的設計。共分為五章,內容安排如下:第一章:介
13、紹了研究背景及利用到的主要技術。第二章:概括介紹了系統結構和工作原理,同時具體介紹了系統的硬件設計,詳細介紹了整個系統的各個模塊的電路設計、器件選型及理由。第三章:具體介紹了單片機程序的設計。第四章:具體介紹了如何利用proteus進行系統仿真。第五章:總結了本次畢業設計取得的成果和心得2 系統結構及硬件電路設計2.1 系統的結構框圖及工作原理at89s52最小系統驅動模塊電源模塊顯示模塊圖2.1 系統結構框圖本系統采用單片機at89s52為led顯示屏的控制核心,系統主要由四個模塊:電源模塊、at89s52最小系統、led驅動模塊、led點陣顯示模塊構成:1、電源模塊作為整個系統的各個模塊提
14、供穩定的電源。2、at89s52最小系統作為控制系統,控制著整個系統的功能實現。3、led驅動模塊為led點陣顯示模塊提供驅動和以及與單片機的控制接口。4、led點陣顯示模塊用來顯示文字效果。2.2 電源管理模塊本系統中芯片的工作電壓有5v。可以利用外部9v電池然后利用7805進行電壓調整獲得5v穩定電壓值。7805為3 端正穩壓電路,提供固定的輸出電壓,應用范圍廣。內含過流、過熱和過載保護電路。帶散熱片時,輸出電流可達1a。雖然是固定穩壓電路,但使用外接元件,可獲得不同的電壓和電流。其主要特點如下:l 輸出電流可達1a l 輸出電壓有:5v l 過熱保護 l 短路保護 l 輸出晶體管soa
15、保護l 其to-220封裝結構如圖2.2所示 圖2.2 7805封裝結構圖圖2.3 5v電源模塊圖在圖2.3中,d1為電源指示燈,用以指示電源正常工作。圖中c1電源濾波電容,穩定電源電壓,亦為抗沖擊電容,防止上電時產生的沖擊電壓過大而影響后續電路。c2為去耦電容,防止干擾信號返回電源影響其正常。2.3 單片機模塊2.3.1 單片機技術簡介單片機簡稱單片微型計算機,是典型的嵌入式微控制器(microcontroller unit),常用英文字母的縮寫mcu表示單片機,它最早是被用在工業控制領域。單片機是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器cpu、隨機存儲器r
16、am、只讀存儲器rom、多種i/o口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、a/d轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統,使得計算機系統更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。intel的z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發展便分道揚鑣11。單片機是靠程序運行的,并且可以修改。通過不同的程序實現不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復雜的功能要是用美國50年代開發的74系列,或者60年代的cd4
17、000系列這些純硬件來搞定的話,電路一定是一塊大pcb板,但是如果要是用美國70年代成功投放市場的系列單片機,結果就會有天壤之別,因為單片機的只要通過編寫程序就可以可以實現高智能,高效率,以及高可靠性12。單片機的應用:目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了
18、。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師13。 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域。2.3.2 at89s52單片機最小系統本設計的的單片機采用atmel公司的at89s52。at89s52 是一種低功耗、高性能 cmos8 位微控制器,具有8k 在系統可編程 flash 存儲器。使用 atmel 公司高密度非易失性存儲器技術制造,與工業 80c51 產品指令和引腳完全兼容。片上 flash 允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的 8 位 cpu 和在系統可編程 fl
19、ash,使得 at89s52 為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案14。 at89s52 具有以下標準功能: 8k 字節 flash,256 字節 ram,32 位 i/o 口線,看門狗定時器,2 個數據指針,三個 16 位定時器/計數器,一個 6 向量 2 級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,at89s52 可降至 0hz 靜態邏輯操作,支持 2 種軟件可選擇節電模式。空閑模式下,cpu停止工作,允許 ram、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,ram 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止15。at89s5
20、2最小系統包括晶體振蕩電路、復位開關和電源部分。電源部分有電源模塊提供穩定的電壓。圖2.4為at89s52的最小系統原理圖。圖2.4 at89s52單片機最小系統如圖2.4 所示c4、c5、x1組成晶體振蕩電路連接到單片機的xtal1、xtal2引腳上。c3、r11和按鍵開關組成復位電路連接到單片機的rst引腳上。2.4 led點陣顯示模塊經測試proteus的multiplexed led display model為如圖2.5所示的結構。圖2.5是一種8x8的led點陣單色行共陰模塊的內部結構圖。一般情況下led點陣其單點工作電壓uf為1.8 v,正向電流露為810 ma。當某一列線為高電
21、平而某一行線為低時,其行列交叉的點就被點亮;而當其某一列線為低時,其行列交叉的點為暗;當某一行線為高電平時,無論列線如何,對應這一行的點全部為暗。圖2.5 列共陰8x8點陣顯示模塊內部結構圖用四個8x8點陣顯示可構成8x32點陣顯示模塊,其連接方法如圖2.6所示。四個模塊的行選線連接在一起形成8行,每行32列的顯示模塊圖2.6 8x32點陣顯示模塊2.4.1 led點陣顯示屏研究背景led點陣顯示屏是利用發光二極管點陣模塊或像素單元組成的平面式顯示屏幕,是一種簡單的漢字顯示器。它具有發光效率高、價廉、易于控制、使用壽命長、組態靈活、色彩豐富以及對室內外環境適應能力強等優點,可廣泛應用于如車站、
22、碼頭、銀行、學校、火車、公共汽車顯示等各種公共場合的信息發布和廣告宣傳。led顯示屏經歷了從單色,雙色圖文顯示屏到現在的全彩色視頻顯示屏的發展過程,自20世紀八十年代開始,led顯示屏的應用領域已經遍布交通、電信、教育、證券、廣告宣傳等各方面16。2.4.2 led點陣顯示屏概述led顯示屏(led display):又叫電子顯示屏或者飄字屏幕。是由led點陣組成,通過紅色或綠色燈珠的亮滅來顯示文字、圖片、動畫、視頻,內容可以隨時更換,各部分組件都是模塊化結構的顯示器件。通常由顯示模塊、控制系統及電源系統組成。顯示模塊由led燈組成的點陣構成,負責發光顯示;控制系統通過控制相應區域的亮滅,可以
23、讓屏幕顯示文字、圖片、視頻等內容,恒舞動卡主要是播放動畫的;電源系統負責將輸入電壓電流轉為顯示屏需要的電壓電流17。led顯示屏可以顯示變化的數字、文字、圖形圖像;不僅可以用于室內環境還可以用于室外環境,具有投影儀、電視墻、液晶顯示屏無法比擬的優點。led之所以受到廣泛重視而得到迅速發展,是與它本身所具有的優點分不開的。這些優點概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩定。led的發展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發光密度、更高的發光均勻性,可靠性、全色化方向發展18。 led顯示屏性能超群: 1、 發光亮度強 在可視距離內陽光直射屏幕表面時
24、,顯示內容清晰可見. 2、 超級灰度控制具有1024-4096級灰度控制,顯示顏色16.7m以上,色彩清晰逼真,立體感強. 3、 靜態掃描技術 采用靜態鎖存掃描方式,大功率驅動,充分保證發光亮度. 4、 自動亮度調節 具有自動亮度調節功能,可在不同亮度環境下獲得最佳播放效果. 5、 全天候工作 完全適應戶外各種惡劣性環境,防腐,防水,防潮,防雷,抗震整體性能強、性價比高、顯示性能好,像素筒可采用p10mm、p16mm等多種規格. 6、先進的數字化視頻處理,技術分布式掃描,模塊化設計/恒流靜態驅動,亮度自動調節, 超高亮純色象素。7、 影像畫面清晰、無抖動和重影,杜絕失真。8、 視頻、動畫、圖表
25、、文字、圖片等各種信息顯示、聯網顯示、遠程控制.led的色彩與工藝2.5 led點陣驅動模塊2.5.1 led顯示屏控制技術顯示屏的控制系統包括輸入接口電路、信號控制、轉換和數字化處理電路及輸出接口電路等,涉及的具體技術很多,其關鍵技術包括串行傳輸與并行傳輸技術、動態掃描與靜態鎖存技術、自動檢測及遠程控制技術等19。1、串行傳輸與并行傳輸技術led顯示屏的數據傳輸方式主要有串行和并行兩種。日前普遍采用串行控制技術,顯示屏每個單元內部的不同驅動電路和各級聯單元之間,每個時鐘僅傳送一位數據。采用這種方式的驅動ic種類較多,不同顯示單元之間的聯線較少,可減少顯示單元的數據傳輸驅動元件,從而提高整個系
26、統的可靠性和性價比,具體工程實現也較為容易20。2、動態掃描與靜態鎖存技術led顯示屏控制系統實現顯示信息的刷新技術有動態掃描和靜態鎖存兩種方式。一般室內顯示屏多采用動態掃描技術,即一行發光二極管共用一行驅動寄存器,根據共用一行驅動寄存器的發光二極管像素數目,分為1/4,1/16掃描等。室外顯示屏基本上采用靜態鎖存技術,即每一個發光一極管都對應有一個驅動寄存器,無需時分工作,從而保證了每一個發光一極管的亮度占空比為100%。動態掃描法可以大大減少控制器的i/o口,因此應用較廣21。由上所述,本設計中led顯示屏驅動電路的設計應與所用控制系統相配合。驅動可采用靜態鎖存型驅動及動態掃描型二大方案。
27、方案一:采用靜態鎖存方式,將每一個led發光管的一端接至單片機的一個i/o口,另一端通過電阻接電源。這種方法可以直接驅動led,原理簡單,驅動能力強,led的亮度也可以通過限流電阻調節,非常方便,但此種方法太浪費單片機的i/o口,只適合于較小的系統。方案二:采用動態掃描方式,通過三極管驅動并聯在一起的led發光管的一端(共陰或共2端),led發光管的另一腳接通用i/o口,控制其亮滅。該方法能驅動較多的led,控制方式較靈活,而且節省單片機的資源。比較以上兩種方案,本系統設計中采用方案二動態掃描型驅動電路。動態掃描型驅動方式是指顯示屏上的8行發光二極管共用一組列驅動寄存器,然后通過行驅動管的分時
28、工作來使每行led的點亮時間占總時間的116。只要每行的刷新速率大于50 hz,利用人眼的視覺暫留效應。人們就可以看到一幅完整的文字或畫面。at89s52單片機有四個io口(p0、p1、p2、p3)。每個io口有8位,如果都采用并行輸出,顯然不能滿足要求。因此,本設計中的行掃描驅動采用并口輸出,而場掃描驅動采用串口輸出。即利用了所謂的串行傳輸與并行傳輸技術.2.5.2 行掃描驅動由于8x32點陣顯示器有8行,為充分利用單片機的接口。本系統使用at89s52的p1口作為行選擇輸出。同一個時刻只有一個端口位有效,這樣有8個不同的端口位就會形成8種不同的輸出狀態,然后使每種狀態只控制一路輸出,即會有
29、8路輸出22。如果一行32點全部點亮。則通過p1口的電流將達320 ma,而實際上,p1端口提供不了足夠的吸收電流來同時驅動32個led同時點亮,因此,p1端口的每一路輸出端與8x32點陣顯示器對應的每一行之間用一個三極管來將電流信號放大。本系統選用的是最大耐壓為100v,最大連續電流為5a的達林頓三極管tip122。由上述介紹,行掃描驅動電路原理圖如圖2.7所示。這樣,p1端口某一輸出引腳為高電平時,對應的三極管導通,從而使led點陣顯示器的對應行也為低電平。圖2.7中r1為限流電阻,r10是為了保證在p1端口輸出低電平,三極管截止時能夠保證集電極有效地高電平23。圖2.7 行掃描驅動2.5
30、.3 列掃描驅動本系統列掃描驅動電路的設計可用串入并出的通用集成電路74hc595來作為數據鎖存24。74hc595是一個八位串行輸入三態并行輸出的移位寄存器,其管腳見圖2.8所示,其中si是串行數據的輸入端,rck是存儲寄存器的輸入時鐘,sck是移位寄存器的輸入時鐘, q7h是串入數據的輸出,g是對輸入數據的輸出使能控制,qaqh為串入數據的并行輸出,其個引腳詳細描述如表2.1所示。圖2.8 74hc595引腳結構圖表2.1 74hc595引腳功能說明從si口輸入的數據可在移位寄存器的sck腳上升沿的作用下輸入到74hc595中并在rck腳的上升沿作用下將輸入的數據鎖存在74hc595中,這
31、樣,當g為低電平時,數據便可并行輸出。本系統使用p2端口模擬串口來分別輸出串行數據、移位時鐘sck、存儲信號rck和并行輸出的使能信號g。表2.2 74hc595最大限定范圍由表2.2所示的最大限定范圍中得知74hc595的輸出斷電流最大為35ma,足夠滿足單個led的驅動顯示,同時輸出端電壓也滿足功能要求。由此可以把74hc595的輸出直接連接到點陣led顯示模塊的列線上25。在proteus中74hc595串行數據引腳為ds、移位時鐘sh_cp, 存儲信號st_cp, 并行輸出的使能信號/oe,復位信號/mr。如圖2.9所示為列顯示驅動的原理圖,數據從p2.1輸出,經過u1的ds引腳進入然
32、后經過8個sh_cp脈沖從u1的q7輸出到u4的ds,數據以同樣的方式進入到后面的3個74hc595中。最后驅動一個st_cp脈沖把輸入的數據鎖存在74hc595中,從q0q7輸出到點陣led顯示模塊的列線上。圖2.9 列掃描驅動原理圖2.5.4 掃描顯示工作過程將4片74hc595進行級連,共用一個移位時鐘sh_cp及數據鎖存信號st_cp。這樣,當第一行需要顯示的數據經過4x8=32個sh_cp時鐘后便可將其全部移入74hc595中。此時還將產生一個數據鎖存信號rck將數據鎖存在74hc595中。并在使能信號/oe的作用下使串入數據并行輸出。從而使與各輸出位對應的列選線驅動處于高電平或截止
33、狀態;同時由行掃描控制電路產生信號使第一行掃描管導通,相當于第一行led的負端都接地,顯然,第一行led管的亮滅就取決于74hc595中的鎖存信號;此外,在第一行led管點亮的同時,再在74hc595中移入第二行需要顯示的數據,隨后將其鎖存,同時由行掃描控制電路將第一行掃描管關閉而接通第二行,使第二行led管點亮,以此類推,當第八行掃描過后再回到第一行,這樣,只要掃描速度足夠高,就可形成一幅完整的文字或圖像26。3 軟件設計3.1 keil技術簡介keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發系統,與匯編相比,c語言在功能上、結構性、可讀性、可維護性
34、上有明顯的優勢,因而易學易用。用過匯編語言后再使用c來開發,體會更加深刻27。單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為cpu可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于mcs-51單片機的匯編軟件有早期的a51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,keil軟件是目前最流行開發mcs-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、
35、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uvision)將這些部分組合在一起。運行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用c語言編程,那么keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用c語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。1. 系統概述 keil c51軟件提供豐富的
36、庫函數和功能強大的集成開發調試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹keil c51開發系統各部分功能和使用28。 2. keil c51單片機軟件開發系統的整體結構 c51工具包的整體結構,uvision與ishell分別是c51 for windows和for dos的集成開發環境(ide),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c
37、51及c51編譯器編譯生成目標文件(.obj)。目標文件可由lib51創建生成庫文件,也可以與庫文件一起經l51連接定位生成絕對目標文件(.abs)。abs文件由oh51轉換成標準的hex文件,以供調試器dscope51或tscope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如eprom中29。本系統的單片機程序利用keil uvision v4.02進行程序設計,如圖3.1。圖3.1 keil下程序設計以下介紹整個系統的程序流程,具體程序參見附錄a。3.2 主程序流程開始變量定義端口初始化count=n?noyesram數據移位顯示ram初始化顯
38、示子程序count=0count+圖3.2 主程序流程圖如3.2所示圖所示為單片機的主程序流程圖,用以實現四個8x8點陣構成的8x32點陣顯示模塊的動態掃描控制。每個文字占一個8x8點陣,由此可以同時顯示四個文字。但是利用文字的移動,可以實現顯示超過四個文字的動態掃描文字顯示系統30。在本系統中,在at89s52單片機中為顯示文字開辟了6x8byte的顯示ram。如表3.1所示為顯示位置與顯示ram的關系。在顯示ram初始化的過程中,顯示ram中共保存了需要顯示的6個文字掃描代碼,其中:l ram00 ram07為第一塊8x8led點陣顯示的列掃描代碼;l ram10 ram17為第二塊8x8
39、led點陣顯示的列掃描代碼;l ram20 ram27為第三塊8x8led點陣顯示的列掃描代碼;l ram30 ram37為第四塊8x8led點陣顯示的列掃描代碼;l ram40 ram47為第五塊8x8led點陣顯示的列掃描代碼;l ram50 ram57為第六塊8x8led點陣顯示的列掃描代碼;雖然有6塊8x8led點陣顯示代碼,但是只有ram0、ram1、ram2 、ram3能夠被顯示,其余的通過ram數據的移位來達到顯示效果。例如:在本系統中通過ram數據的整體左移來顯示所有的數據。在圖3.1的主程序流程圖中顯示子程序用以實現ram0、ram1、ram2、ram3數據的顯示,ram數據
40、移位過程用以實現數據的整體移位。表3.1 顯示ram示意ram00ram10ram20ram30ram40ram50ram01ram11ram21ram31ram41ram51ram02ram12ram22ram32ram42ram52ram03ram13ram23ram33ram43ram53ram04ram14ram24ram34ram44ram54ram05ram15ram25ram35ram45ram55ram06ram16ram26ram36ram46ram56ram07ram17ram27ram37ram47ram57顯示區 非顯示區3.3 端口初始化程序設計開始行選端口初始化74
41、hc595初始化結束圖3.3 端口初始化流程圖圖3.3所示為at89s52的端口初始化流程圖,其中行選端口(p1)初始化使所有的行選無效。74hc595初始化使74hc595的數據端口位高電平,時鐘端口位低電平無效,輸出使能為無效,復位無效。3.4 顯示ram初始化子程序設計開始結束變量定義行j=0j8?ram0=中ram1=北ram2=nram3=uram4=cram5=0yn圖3.4 顯示ram初始化圖3.4為顯示ram的初始化過程,首先進行變量定義,然后進入循環初始化的過程。j代表行,總共8行數據,每行有6x8byte的數據。在默認的時候系統要實現在led點陣顯示屏上顯示“中北nuc ”
42、,所以在這里把“中北nuc ”代碼存入顯示ram中。3.5 顯示子程序設計圖3.5為led點陣的顯示子程序,首先進行變量定義,然后進入循環掃描行列代碼過程。j代表行,總共8行數據,從第0行開始到第7行。i代表列,總共顯示4個顯示列塊,每個列塊1個字節的數據(即8個點)。由于列代碼為串行輸出給74hc595,所以在列代碼掃描循環中,需要使用小循環進行列代碼的移位輸出。列代碼數據輸出結束后使74hc595輸出三態,然后鎖存列代碼數據,接著輸出行代碼數據,最后打開74hc595,這樣就能在顯示上一個數據的同時變化行列代碼數據,提高了掃描程序的效率。結束行j=0行掃描結束?輸出行掃描碼yn列i=3列掃
43、描結束?n移位輸出列掃描碼y列掃描碼鎖存列掃描碼輸出使能列掃描碼輸出禁止變量定義開始圖3.5 顯示ram初始化子程序3.6 顯示移動程序設計主程序循環count=n?noyesram數據移位count=0count+圖3.6 顯示移動程序本系統的利用4個led點陣塊顯示6個點陣塊的數據,故采用移動的方式來顯示。首先在主程序循環后,進入移動判斷,即判斷count是否等于n(n為移動的延時控制字)。當count=n時進入ram數據移位子程序。如圖3.7所示,j代表行,總共8行數據,每行有6x8byte的數據。i代表顯示塊。在顯示ram移動子程序中實現整個ram數據的數據整體左移一位。開始結束j=8
44、noyesi=0數據位左移j=0i=5yesno圖3.7 顯示ram移動子程序4 軟件仿真4.1 proteus技術簡介proteus軟件是英國labcenter electronics公司出版的eda工具軟件。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。proteus從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到pcb設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、pcb設計軟件和虛擬
45、模型仿真軟件三合一的設計平臺,其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年增加cortex和dsp系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。proteus軟件提供了豐富的資源:(1)proteus可提供的仿真元器件資源:仿真數字和模擬、交流和直流等數千種元器件,有30多個元件庫。 (2)proteus可提供的仿真儀表資源:示波器、邏輯分析儀、虛擬終端、spi調試器、i2c調試器、信號發生器、模式發生器、交直流電壓表、交直流電流表。理
46、論上同一種儀器可以在一個電路中隨意的調用。 (3)除了現實存在的儀器外,proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響。 (4)proteus可提供的調試手段 proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。4.2 proteus 7.5 sp3 簡介本系統利用是英國labcenter electronics公司出版的eda工具軟件proteus 7.5 sp3進行系
47、統的仿真,來調試系統的功能完整性。本章介紹利用proteus進行系統仿真的主要流程及操作,其余部分可參考proteus的幫助文檔。 安裝完proteus后,打開proteus軟就就會出現如圖4.1所示的操作界面。圖4.1 proteus操作界面圖4.1中的原理圖編輯窗口(the editing window),是用來繪制原理圖的。藍色方框內為可編輯區,元件要放到它里面。注意,這個窗口是沒有滾動條的,你可用預覽窗口來改變原理圖的可視范圍。 其余各部分可參考有關書籍。4.3 仿真流程4.3.1 添加元件到元件列表中本例要用到的元件有:at89c52、7805、74hc595l、tip122、cry
48、stal、matrix-8x8-greend等。單擊如圖4.2所示的“p”按鈕,出現挑選元件對話框,在對話框的 keywords 中輸入 at89c52,即可得到圖4.3所示結果。圖4.2 proteus的“p”按鈕圖4.3 proteus的器件選取然后單擊 ok,關閉對話框,這時元件列表中列出 at89c52,以同樣方式即可添加所需要的器件。最終結果如圖4.4所示。圖4.4 proteus中已選取的器件4.3.2 放置元件1、添加元器件:在元件列表中左鍵選取 at89c52,在原理圖編輯窗口中單擊左鍵,這樣 at89c52就被放到原理圖編輯窗口中了。以同樣方式即可放置其他元件。2、添加“地”
49、:左鍵選擇模型選擇工具欄中的圖標,出現如圖4.5所示的終端,左鍵選擇 ground,并在原理圖編輯窗口中左擊,這樣“地”就被放置到原理圖編輯窗口中了。再以同樣方式可添加電源vcc的仿真端口。圖4.5 proteus的終端選取4.3.3 連線在proteus中元器件的 vss、vdd、vee 不需連接,默認 vss=0v、vdd=5v、vee= -5v、gnd=0v。其余電氣節點,可在在需要連接的兩個端點單擊鼠標左鍵,就可連接兩個電氣節點。如圖4.6即為連接完后的電路圖。圖4.6 連接后的proteus電路圖4.3.4 添加仿真文件左鍵單擊連好線的at89c52,出現如圖4.7所示的edit c
50、omponent界面,在 program file 中單擊出現文件瀏覽對話框,找到keil程序編譯完成的dianzhen.hex文件,單擊確定,完成添加文件;在 clock frequency 中把頻率改為 12mhz,單擊 ok 退出,就完成仿真文件的添加工作,在proteus進行仿真時,at89c52即可以12m晶振運行dianzhen.hex里的程序。圖4.7仿真文件添加界面4.3.5 仿真單擊開始仿真。電氣節點上的紅色代表高電平,蘭色代表低電平,灰色代表不確定電平(floating)。運行時,在 debug 菜單中可以查看at89c52的相關資源。圖4.8為仿真運行時的整體效果圖。圖4
51、.8 仿真效果圖結論本設計研究了基于單片機控制動態掃描文字顯示系統的工作原理,對led點陣模塊顯示器,動態掃描的原理和特點,硬件電路,軟件編程,做出了詳細的說明,設計并仿真出基本符合課題要求的動態掃描文字顯示系統,完成了以下的工作要求:工作內容:(1) 設計完成相應的硬件電路;(2) 編寫了相應的軟件程序;(3) 使用proteus仿真軟件,完成了動態文字顯示的仿真;本文首先介紹了本設計的設計要求,及所采用的器件和手段,并根據課題的實際要求提出了整體的設計方案和原理圖。接著分別從硬件和軟件兩個方面對系統的設計做出了詳細的說明,最后對仿真操作的流程作了詳細介紹。當然本設計還存在許多需要改進的地方
52、,例如在led點陣的驅動模塊中還未能對led點陣的限流保護等硬件方面進行深入考慮,同時可能由于程序設計上的錯誤和proteus仿真軟件本身的缺陷導致在led點陣顯示過程中的某些跳變錯誤未能調整好,希望在以后的學習工作中能夠改進。在本次畢業設計中,掌握了at89s52的結構原理和led動態文字顯示系統的工作原理,熟悉了keil程序設計軟件和proteus仿真軟件的使用。在整個系統的設計和調試仿真的過程中,我學到了許多課本上學不到的寶貴知識,增長了實踐經驗,體會到了科研工作不僅是知識的應用,更是知識不斷積累的過程。它不僅需要有豐富的知識,冷靜的頭腦和分析能力,而且需要踏實、認真、嚴謹的科學態度,同
53、時更要持之以恒的不懈精神和不斷學習的進取精神。這一段時間的實踐,必將給我今后的工作和人生帶來積極的經驗和影響。附錄a#include #include #define uchar unsigned char#define uint unsigned int #define nop _nop_()sbit sh_cp = p20;sbit st_cp = p22;sbit ds = p21;sbit oe = p23;sbit mr = p27;const uchar zhong8=0x08,0x08,0x7f,0x49,0x7f,0x08,0x08,0x00;/0x10,0x10,0xfe,0x92,0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業生自我鑒定500字范文(29篇)
- 國慶活動總結范文(18篇)
- 商務禮儀課件酒水禮儀
- 年度工作自我鑒定(15篇)
- 夏令營活動教師發言稿(5篇)
- 個人土地承包經營合同(19篇)
- 綜合管理部年度工作計劃(17篇)
- 電信部門英文自我評價(7篇)
- 中隊長競選演講稿匯編(16篇)
- 低年級數學組教研總結范文(14篇)
- 易制毒危險化學品管理制度
- 重癥血液凈化血管通路的建立與應用中國專家共識解讀2025
- GB/T 26713-2025鞋類 化學試驗方法富馬酸二甲酯(DMFu)的測定
- 輸電線路鐵塔基礎強度加固方案
- 足浴店管理制度
- 北師大版七年級數學下冊《第三章概率初步》單元測試卷-附答案
- 《圖像識別技術及其應用》課件
- GA/T 701-2024安全防范指紋識別應用出入口控制指紋識別模塊通用規范
- 2025年小學生三年級語文家長會標準課件
- 護理行業師德師風的心得體會
- 2025年山東濰坊市再擔保集團股份限公司社會招聘11人高頻重點模擬試卷提升(共500題附帶答案詳解)
評論
0/150
提交評論