單片機論文設計(精品)_第1頁
單片機論文設計(精品)_第2頁
單片機論文設計(精品)_第3頁
單片機論文設計(精品)_第4頁
單片機論文設計(精品)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西安航空職業(yè)技術學院畢業(yè)設計(論文)論文題目: 點陣led多功能系統(tǒng)設計與制作所屬系部:電子工程系指導老師:洪云飛職稱:講師學生姓名:劉欣靈班級、學號:10201234專業(yè):應用電子技術西安航空職業(yè)技術學院制2012年12月2日重慶xx學院 畢業(yè)設計(論文)任務書題目:點陣led多功能系統(tǒng)設計與制作任務與要求:采用51單片機作為微控制器通過1個16x16的點陣led進行文字顯示學號和姓名在目測條件下led顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串擾.文字顯示具有每排字有滾動和逐排等顯示方式.時間:連日至_年_月 _共周所屬系部:機電工程系學生姓名:xxx學號:xxxxxxxx專業(yè):機電一體化指導

2、單位或教研室:指導教師:xxxx職稱:教師重慶xx學院制畢業(yè)設計(論文)進度計劃表日期工作內容執(zhí)行情況指導教師 簽 字教師對進 度計劃實 施情況總 評簽名年 月日本表作評定學生平時成績的依據(jù)之一點陣led多功能系統(tǒng)設計與制作【摘要】本論文闡述了基于單片機stc89c51的16x16點陣led電子顯示屏的設 計。分別闡述了顯示屏顯示的基本原理,硬件設計、控制方法及其程序的實 現(xiàn)。經過調試和分析,設計的結果能夠實現(xiàn)對漢字的靜態(tài)和動態(tài)顯示,動態(tài) 顯示的內容有多種方式,同時乂可通過上位機更新顯示的內容。本文給出了 一種基于at89c52單片機的16*16點陣的設計方案,包括系統(tǒng)具體的硬件設 讓方案,軟

3、件流程圖和部分匯編語言程序等方面。在負載范圍內,只需通過 簡單的級聯(lián)就可以對顯示屏進行擴展,是一種成木低廉的圖文顯示方案???廣泛應用于各種公共場合,如車站、碼頭、銀行、學校、火車、公共汽車顯 示等。關鍵字:stc89c51; 16x16點陣;led:顯示屏abstract: this paper based on single chip stc89c51 16 and lattice led electronic display design. are described respectively, and the screen shows the basic principle, hard

4、ware design, control methods and the realization of the program. through testing and analysis, the results of the design can realize the static and dynamic characters, according to the content of the dynamic display a varicty of ways, emd at the same time, but also through the upper machine update d

5、isplay content. this paper presents a method based on the microcontroller of at89c52 16 * 16 lattice design scheme, including the system of concrete hardware desig n, soft ware flow chart and part of assembly language progreim, etc. in the load :range, only through the simple cascade can be extended

6、 to screen, is a kind of cheap graphic display scheme. can be widely used in all kinds of public places, such as railway stations, docks, banks, schools, train, bus display, etc.key words: stc89c51;16*16 lattice; screen目錄1功能要求和論證的方案-1-u 方案論證1l1. 1動態(tài)掃描簡介-2-1. 1. 2串行傳輸?shù)姆绞?2-=3顯示模塊論證-1l_4數(shù)據(jù)傳輸論證-1-2顯示原理

7、及顯示方式-3-2. 1 靜態(tài)顯示方式- 3-2. 2 動態(tài)顯示方式- 3-乙3點陣顯示原理-4-3系統(tǒng)碩件部分設計-4-31單片機系統(tǒng)及外圍電路-4-32列驅動電路-4-33行驅動電路-6-34單片機最小系統(tǒng)電路-7-35電源電路-8-4系統(tǒng)軟件部分設計-8-£1系統(tǒng)主程序設計-8-4. 2 顯示驅動程序-9-5系統(tǒng)調試及性能、程序分析-9 -匸1調試及性能分析-9 -匸2程序介紹及流程- 10 -52. 1 定義端口-10 -5.2.2漢字子模-10 -匸3開中斷一13 -53. 1延時程序-13 -5.3.2 主程序-17 -53.3控制點亮程序-10 -6制作成果和調試結果-

8、19 -61制作成果-19 -6. 2調試結果-20 -參考文獻1功能要求和論證的方案要求采用51單片機作為微控制器.通過1個16x16的點陣led進行文字顯 示學號和姓名.在目測條件下led顯示屏各點亮度均勻、充足、穩(wěn)定、清晰無串 擾.文字顯示具有每排字有滾動和逐排等顯示方式.1.1方案論證從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的 各個點所在位置相對應的led器件發(fā)光,就可以得到我們想要的顯示結果,這種 同吋控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅動顯示方式。16x16的點陣共有256 個發(fā)光二極管,顯然單片機沒冇這么多端口,如果我們采用鎖存器來擴展端口, 按8位的鎖存器來

9、計算,16x16的點陣需要256/8=32個鎖存器。這個數(shù)字很龐 大,因為我們僅僅是16x16的點陣,在實際應用中的顯示屏往往要犬的多,這 樣在鎖存器上花的成本將是一個很龐大的數(shù)字。因此在實際應用中的顯示屏幾乎 都不采用這種設計,而采用另一種稱為動態(tài)掃描的顯示方法。1.1.1動態(tài)掃描簡介動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現(xiàn) 多行(比如16行)的同名列共用一套列驅動器。具體就16x16的點陣來說,我 們把所有同一行的發(fā)光管的陽極連在一起,把所冇同一列的發(fā)光管的陰極連在一 起(共陽的接法),先送出對應第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一 行使其燃亮一定的時間,然

10、后熄滅;再送岀第二行的數(shù)據(jù)并鎖存,然后選通第二 行使其燃亮相同的時間,然后熄滅;第十六行z后又重新燃亮第一行,這 樣反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留 現(xiàn)象,我們就能看到顯示屏上穩(wěn)定的圖形了。釆用掃描方式進行顯示時,每行有一個行驅動器,各行的同名列共用一個列 驅動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器屮,按8位一個字節(jié)的形式順序排 放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應的列驅動器上去,這就存在一個 顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅動器的數(shù)據(jù)傳輸可以采用并行方式或串 行方式。顯然,采用并行方式時,從控制電路到列驅動器的線路數(shù)量大,相應的 碩件數(shù)目多。當列

11、數(shù)很多時,并行傳輸?shù)姆桨甘遣豢扇〉摹?.1.2串行傳輸?shù)姆绞讲捎么袀鬏數(shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)-位-位傳 往列驅動器,在硬件方面無疑是十分經濟的。但是,串行傳輸過程較長,數(shù)據(jù)按 順序一位一位地輸出給列驅動器,只有當一行的各列數(shù)據(jù)都已傳輸?shù)轿恢螅@一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù) 據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩個部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時 間可能相當長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以至 影響到led的亮度。解決吊行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間孑盾問題,可以采用重疊處 理的方法。即在顯示本行各列

12、數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù)。為了達到重疊 處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。經過上述分析,可以歸納出列 驅動器電路應具備的主要功能。對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并出的移 位功能;對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行己準備好的 數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準備卜一行的列數(shù)據(jù), 而不會影響木行的顯示。圖1-1為顯示屏電路實現(xiàn)的結構框圖。列驅動器單片機電源行驅動器led顯示點陣圖1-11.3顯示模塊論證(1)點亮led數(shù)碼管的方式有靜態(tài)和動態(tài)2種方法。木文以8段led作為示 例來論證方案(2)這種模塊由64個發(fā)光led芯片以8x8的形式構成一

13、個正方形模塊,然后川 2列8針引腳將內部電路接口引出,供駆動電路使用。行對應的給led的陽極,先給第一行以高電平,如呆送給16列的代碼為efff, 則第一行的第4個led被點亮,再給第二行以高電平,如果送給16列的代碼為 ef07,則第二行的第4、9、10、11、12、13個被點亮,接著給第三行以高電平, 同時給列以驅動代碼,這樣不斷地進行行行的掃描,只要速度夠快,由于人的視 覺暫留作用,就不會感覺到明顯的閃爍感。1 4數(shù)據(jù)傳輸論證采用動態(tài)顯示方式進行顯示時,每一行有一個行驅動器,各行的同名列共用 一個駆動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按8位一個字節(jié)的形式順 序排放。顯示時要把一行屮

14、各列的數(shù)據(jù)都傳送到相應的列驅動器上去,這就存在 一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅動器的數(shù)據(jù)傳輸可以采用并列方式 或串行方式。顯然,采用并行方式時,從控制電路到列驅動器的線路數(shù)量大,相應的硬件 數(shù)日多。當列數(shù)很多時,并列傳輸?shù)姆桨甘遣豢扇〉?。采用串行傳輸?shù)姆椒ǎ刂齐娐房梢灾挥靡桓盘柧€,將列數(shù)據(jù)一位一位傳 往列驅動器,在硬件方面無疑是十分經濟的。但是,串行傳輸過程較長,數(shù)據(jù)按 順序一位一位地輸出給列驅動器,只有當一行的各列數(shù)據(jù)都以傳輸?shù)轿恢?,這 一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù) 據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時

15、間 可能相當長,在行掃描周期確定的情況下留給行顯示的時間就太少了,以致影響 到led的亮度。解決串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間孑盾問題,可以采用重疊處 理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一列數(shù)據(jù)。為了達到重疊處理 的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經過上述分析,就可以歸納出列驅 動器電路應具有的功能。對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并處的移位功能; 對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數(shù)據(jù)打入 并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影 響本行的顯示。2顯7f原理及顯喬方式下面重點介紹點陣led數(shù)碼燈的原理和方式2

16、.1靜態(tài)顯示方式靜態(tài)顯示方式,即8段led數(shù)碼管在顯示某一個數(shù)碼時,加在數(shù)碼管上的段 碼保持不變,直至換顯其他數(shù)碼為止。這樣數(shù)碼管的每一段均應由一條輸出線來 控制,每顯示以為數(shù)碼需要8根輸出線,當n位顯示則需nx8根輸出控制線。 占用較多1/0資源。2. 2動態(tài)顯示方式為解決靜態(tài)顯示占用較多t/0資源的問題,在多位顯示時通常采用動態(tài)顯示 方式,動態(tài)顯示是將所有數(shù)碼管的段碼線對應并聯(lián)在一起,由一個8位的輸出口 控制,每位數(shù)碼管的公共端分別出一位t/0線控制。顯示不同數(shù)碼吋,由位線控 制各位輪流顯示。位線控制某位選通吋,該位應顯示數(shù)碼的段碼同時加在段碼線 上,即每一時刻僅僅有一位數(shù)碼管是被點亮的,

17、當輪流顯示的速度較快(每秒 24次以上),由于人眼的視覺暫留現(xiàn)彖,看起來就像所有位同時顯示一樣,這時, 我們就能看到穩(wěn)定的圖像了2. 3點陣顯示原理點陣顯示器實際上就是led顯示器,構成顯示器的所有l(wèi)ed都依矩陣形式 排列。從內部結構看,點亮led的方法就是要讓該led所對應的y線、x線加上 高、低電平,使led處于正向偏置狀態(tài)。使用多行掃描的方式,可以實現(xiàn)很多動 態(tài)效果,點陣顯示器常采用掃描法,掃描方式包括:行掃描和列掃描。行掃描就 是控制點陣顯示器的行線依次輸岀有效驅動電平,當每行行線狀態(tài)有效時,分別 輸出對應的行掃描碼之列線驅動該行l(wèi)ed點亮。列掃描控制列線依次輸出有效驅 動電平,當?shù)趎

18、列有效吋,輸出列掃描至行線,驅動該列l(wèi)ed點亮。 行掃描和 列掃描都要求點陣顯示器依次驅動一行或一列(8個led)o具體就8x8的點陣來說,把所有同1行的發(fā)光管的陽極連在一起,把所有 同1列的發(fā)光管的陰極連在一起(共陽極的接法),先送出對應第一行發(fā)光管亮 滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行 的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;以此類推,第 8行z后,又重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24 次以上),由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。3系統(tǒng)硬件部分設計硬件電路人致上可以分成單片機系統(tǒng)及外圍屯路、

19、列驅動電路和行驅動電路 三部分。3.1單片機系統(tǒng)及外圍電路單片機采用89c51或其兼容系列的芯片,釆用24m或更高頻率的晶振,以獲 得較高的刷新頻率,使顯示更穩(wěn)定。單片機的串口與列驅動器相連,用來送顯示 數(shù)據(jù)。p1 口低4位與行驅動器相連,送岀行選信號;p1.5>1.7 口則用來發(fā)送控 制信號。p0和p2 口空著,在有必耍時可以擴展系統(tǒng)的rom和ram。3. 2列驅動電路列驅動電路由集成電路74hc595構成,它具有一個8位串入并出的移位寄存 器和一個8位輸出鎖存器的結構,而h移位寄存器和輸出鎖存器的控制是各自獨 立的,可以實現(xiàn)在顯示木行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),即達到重疊 處

20、理的目的。74i1c595的外形及內部結構如圖2所示。它的輸入側有8個串行移位寄存器, 每個移位寄存器的輸出都連接一個輸出鎖存器。引腳si是串行數(shù)據(jù)的輸入端。 引腳sck是移位寄存器的移位吋鐘脈沖,在其上升沿發(fā)生移位,并將si的下一 個數(shù)據(jù)打入最低位。移位后的各位信號出現(xiàn)在各移位寄存器的輸出端,也就是輸 出鎖存器的輸入端。rck是輸出鎖存器的打入信號,其上升沿將移位寄存器的輸 出打入到輸出鎖存器。引腳g是輸出三態(tài)門的開放信號,只有當其為低吋鎖存器 的輸出才開放,否則為高阻態(tài)。sclr信號是移位寄存器的清零輸入端,當其為 低時移位寄存器的輸出全部為零。由于sck和rck兩個信號是互相獨立的,所以

21、 能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為qaqii,最高位 qii可作為多片74i1c595級聯(lián)應用時,向上一級的級聯(lián)輸出。但因qii受輸出鎖存 器打入控制,所以還從輸出鎖存器前引出了 qh,,作為與移位寄存器完全同步 的級聯(lián)輸出。3. 3行驅動電臨單片機p1 口低4位輸出的行號經4/16線譯碼器74ls154譯碼后生成16條 行選通信號線,再經過蘇動器蘇動對應的行線。一條行線上要帶動16列的led 進行顯示,按每一 led器件20ma電流計算,16個led同時發(fā)光時,需要320ma 電流,選用三極管8550作為驅動管可滿足要求。+5va u1974hc138d4g5+5v&l

22、t;&a1b2c3g.4d1_l6g2ag2bg1abcg2ab2 1 ggqz0u2 74hc138y0qz0y0y1y2y3y4y5y6y714y213y312y411y510y69y77y8y114y1013y1112y1211y1310y149y157y1615y1 y2y3y4y5y6y7y9h2h3h4h6h7h8h9hph1;hkhvh11圖3-2行控制及驅動34單片機最小系統(tǒng)電路復位是單片機的初始化操作。其主要功能是把pc初始化為0000h,使單片 機從0000h單元開始執(zhí)行程序。除了進入系統(tǒng)的止常初始化之外,當由于程序運 行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困

23、境,也需按復位鍵重新啟動。 rst引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間應持續(xù)24 個振蕩周期(即二個機器周期)以上。若使用頗率為6mhz的晶振,則復位信號持 續(xù)時間應超過4us才能完成復位操作。rst/vrovocvss圖3-3復位信號的電路邏輯圖整個復位電路包括芯片內、外兩部分。外部電路產生的復位信號(rst)送至 施密特觸發(fā)器,再由片內復位電路在每個機器周期的s5p2時刻對施密特觸發(fā)器 的輸出進行采樣,然后才得到內部復位操作所需要的信號。復位操作有上電自動復位相按鍵手動復位兩種方式。上電自動復位是通過外 部復位電路的電容充電來實現(xiàn)的,其電路如圖4 (a)所示。這佯,只要

24、電源vcc 的上升時間不超過ims,就可以實現(xiàn)自動上電復位,即接通電源就成了系統(tǒng)的復 位初始化。按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過使復 位端經電阻與vcc電源接通而實現(xiàn)的,其電路如圖4 (b)所示;而按鍵脈沖復 位則是利用rc微分電路產生的正脈沖來實現(xiàn)的,其電路如圖4 (c)所示:(a)上電復位(b)按鍵電平復位 圖3-4復位電路(c)按鍵脈沖復位上述電路圖屮的電阻、電容參數(shù)適用于6mhz晶振,能保證復位信號高電平 持續(xù)時間大于2個機器周期。3.5電源電路r8 <7k3 led倶£電部分 < 必、纟頁保i正5vf共屯>圖3-5電源電路4系

25、統(tǒng)軟件部分設計這部分重點介紹主程序和顯示駆動程序的設計和要求。4. 1系統(tǒng)主程序設計系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設置串口、定時器、 中斷和端口;接著自左到右以“滾動”效果顯示班級姓名,停留約0.5s;,由于 單片機沒有停機指令,所以町以設置系統(tǒng)程序不斷的循環(huán)執(zhí)行上述顯示效果。led顯示屏硬件電路只要硬件質量可靠,引腳焊接正確,一般無需調試即可 正常工作。軟件部分需要調試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示 屏刷新率出定時器t0的溢出率和單片機的晶振頻率決定,。從理論上來說,24iiz以上的刷新頻率就能看到穩(wěn)定的連續(xù)的顯示,刷新率 越高,顯示越穩(wěn)定,同時刷新頻率越高,

26、顯示驅動程序占用的cpu時間越多。試 驗證明,在fi測條件下刷新頻率40iiz -下的畫面看起來閃爍較嚴重,刷新頻率 50iiz以上的已基木察覺不出畫面的閃爍,刷新頻率達到85iiz以上時再增加畫面 閃爍沒有明顯的改善顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產生各種控制信號,使屏 幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,我們町把顯示屏的軟件系統(tǒng) 分成兩人層:第一層是底層的顯示驅動程序,第二層是上層的系統(tǒng)應用程序。顯 示驅動程序負責向屏體送顯示數(shù)據(jù),并負責產生行掃描信號和其它控制信號,配 合完成led顯示屏的掃描顯示工作。顯示驅動程序由定時器t0中斷程序實現(xiàn)。系統(tǒng)應用程序完成系統(tǒng)壞境設

27、置(初始化)、顯示效果處理等工作,由主程序來 實現(xiàn)。從有利于實現(xiàn)較復雜的算法(顯示效果處理)和有利于程序結構化考慮,顯 示屏程序適宜采用c語言編寫。4. 2顯喬驅動程序顯示駆動程序在進入中斷后首先要對定時器to重新賦初值以保證顯示屏刷 新率的穩(wěn)定,1/16掃描的顯示屏的刷新率(幀頻)的計算公式如下:刷新率(幀頻)x 溢出率16x 1612 (65536- r0)其中心為晶振頻率,力為定時器to初值(工作在16位定時器模式)。然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區(qū)內讀取下一行的顯示 數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產生拖尾 現(xiàn)象,驅動程序先要關閉顯示屏,即

28、消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存, 然后再輸出新的行號,重新打開顯示。5系統(tǒng)調試及性能、程序分析最后程序是否能正常的工作,led燈是否能正常的顯示出來,都要看調試是 否得當,下面就主要介紹系統(tǒng)的調試及性能,程序的分析。5.1調試及性能分析ifd顯示屏硬件電路只要器件質量可靠,管腳焊接正確,-般無需調試即可 正常工作。軟件部分需要調試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示 屏刷新率市定時器to的溢出率和單片機的晶振頻率決定,下表給出了實驗調試 吋采用的頻率及其對應的定時器to初值。顯示屏刷新率(幀頻)與to初值關系表(24m晶振)刷新率(hz)255062.57585100120to初

29、值0xec780xf63c0xf8300xf97e0xfa42oxfbleoxfbee5. 2程序介紹及流程/*頭文件*/include <rcg52. h>#inelude intrins.h>#dcfinc uint unsigned intdefine uchar unsigned char wdefine nop () _nop_ ()5.2.1定義端口sbit enport 二 pl 3;sbit da_in_port = pl 2;sbit clkport = pl 1;sbit latchport 二 pl 0;define abcd_port pl /hc13

30、8 abcd 端口定義 /sbit dport 二 pl 7;/sbit cport 二 pl 6;/sbit b_port = pl 5;/sbit aport 二 pl 4;5. 2. 2漢字子模uchar code ziku tablc=oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*顯示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff,

31、 oxff, oxff ,oxff, oxff,oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*顯示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,oxff, oxff, oxlf, oxfc, oxef, oxfb, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x

32、f7, 0xf7,0xf7, 0xf7,0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, oxef, oxfb, oxlf, oxfc ,oxff, oxff, /*x,0*/oxff, oxff, oxlf, oxfc, oxef, oxfb, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,oxef, 0xf3,ox if, 0xf4, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, oxef, oxfb, oxlf, oxfc

33、 ,oxff, oxff, /*x,1*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, 0x7f, oxfe, oxbf, oxfe, oxbf, oxfe, oxbf, oxfe, oxdf, oxfe, oxdf, oxfe

34、 ,oxef, oxfe,oxef, oxfe, 0xf7, oxfe, oxfb, oxfe, 0x03, oxfo, oxff, oxfe, oxff, oxfe, 0x3f, 0xf8 ,oxff, oxff, /*x,3*/oxff, oxff, 0x7f, oxff, 0x3f, oxff, 0x5f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff,0x7f, oxff,0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, oxlf, oxfc ,oxff,

35、oxff, /*x,4*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd ,0x7f,

36、oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd ,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /

37、*x,2*/oxbd, oxff, oxbb, 0x83, oxdb, oxbb, oxef, oxdb, 0x01, oxda, oxef, oxeb, oxef, oxeb ,0x00, oxda,oxef, oxbb, oxcf, oxbb, 0xb7, oxbb, 0x77, 0xa3, 0x7b, oxdb, oxfc, oxfb, oxff, oxfb ,oxff, oxfb, /*x, 0*/0x7f, oxff, 0x77, 0xf7, 0x6f, oxfb, 0x03, 0x80, oxfb, oxdf, oxfd, oxef, oxof, 0xf8 ,oxef, oxfb,

38、oxef, oxfb, oxof, 0xf8, oxdf, oxfd, oxdf, oxdd, oxef, oxdd, oxef, oxdd, 0xf7, 0xc3 ,0xf9, oxff, /*x,1*/oxff, oxff, 0x03, 0x80, oxbb, oxbf, 0x3d, oxdf, oxdd, 0xf7, 0x03, oxeo, oxdf, oxff ,0x6f, oxff,0x6f, 0xf7, 0x07, oxeo, 0x7f, oxff, 0x7f, oxdf, 0x01, 0x80, 0x7f, oxff, 0x7f, oxff ,0x7f, oxff, /*x,2*

39、/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*顯示 8 行空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,

40、/*顯示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,;5.3開中斷t圖5-1中斷流程圖uchar data disp buff 32; /32 個顯示數(shù)據(jù)緩存數(shù)據(jù)格式為第1級第1行高八位,低八位,第1級第2行高八位oooooo uchar data disp_han;/目前顯示到第幾行,第1行數(shù)值為0,第2行數(shù)值為 1 0 o o o void to set ()j/*定義中斷方式*/tmod = 0x01;tro 二 1;ea = 1

41、;eto = 1;return;/定吋0,工作在方式1/啟動計數(shù)開總中斷開定吋器0中斷5. 3.1延時程序圖5-2延時程序流程void delay 1ms(uchar x) uchar j;wh i1e (x-) for(j=0;j<125;j+);5. 3. 2主程序tiichari;4r i-odlp_buttl 訂一oxff; . '1 ri十十to_seu);hianziom u icfiplex hhiinni十十圖5-3主程序流程void main()uchar i;uint data_temp3;uint temp, tempi;uchar hanzi;uchar

42、han;uchar shift;for(i=0;i<32;i+) disp_buffi=oxff;to set ();while(1) for (hanzi =0; hanzi< 15; heinzi +) /最多顯示多少個字for (shift 二 0;shift16;shift+) /一個字移位 16 位 for(han=0;han<16;han+) /一個字有 16 行數(shù)據(jù)data_temp0=ziku_table(hanzi*32) + (han*2)+1*0x100+ziku table(hanzi*32)+(han*2);data tcmpl=ziku table

43、t(hanzi+1)*32) + (han*2)+1*0x100+ziku_table(hanzi+1) *32) + (han*2);右往左移動temp = data tcmp0;tempi 二 data_templ;for(i=shift;i>0;i) temp = (temp>>l);辻(templ&oxoool)!=0) temp 二 temp + 0x8000;tempi = (templ>>l);disp_buffhem*2+1二temp/0x100;disp_buffhem*2+0=temp%0x100;delay_lms (60) ; /移位速度)5. 3. 3控制點亮程序+圖5-4點亮流程void sled_disp() interrupt 1 using 3 uchar i;uchar data_buff;uchar temp;uchar han;ti10 = (65536-1000)/256;tlo = (65536-1000)/256;latch_port = 0;/iic595鎖定輸出,避免數(shù)據(jù)傳輸過程中,屏數(shù)據(jù)變化從而顯示閃爍clk_port 二 0;han二disp_han;/temp = disp hem*2 + 1;data_buff 二 disp

溫馨提示

  • 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

提交評論