單片機(jī)字符點(diǎn)陣課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  本設(shè)計(jì)使用單片機(jī)AT98S51構(gòu)成的最小系統(tǒng)作為主控制模塊,利用簡(jiǎn)單的外圍電路來(lái)驅(qū)動(dòng)16×16點(diǎn)陣LED顯示屏。本設(shè)計(jì)通過(guò)兩片74HC138 3線(xiàn)-8線(xiàn)譯碼器作為點(diǎn)陣行驅(qū)動(dòng),兩片74HC595 8位串入并出移位鎖存寄存器級(jí)聯(lián)后構(gòu)成點(diǎn)陣列驅(qū)動(dòng),最終能夠?qū)崿F(xiàn)分時(shí)循環(huán)顯示“河南理工大學(xué)電氣學(xué)院”十個(gè)漢字。</p>

2、;<p>  硬件方面,主要包括四個(gè)部分:由時(shí)鐘電路、復(fù)位電路構(gòu)成的單片機(jī)最小系統(tǒng);由兩片74HC138構(gòu)成的行驅(qū)動(dòng)電路;由兩片74HC595構(gòu)成的列驅(qū)動(dòng)電路; 16*16 LED點(diǎn)陣屏。</p><p>  軟件方面,在繪制出硬件電路圖的基礎(chǔ)上,用單片機(jī)C語(yǔ)言C51編寫(xiě)出源程序后,通過(guò)proteus軟件構(gòu)成仿真電路,進(jìn)行仿真調(diào)試,找出程序的錯(cuò)誤,直至能夠調(diào)試出設(shè)計(jì)要求的結(jié)果。</p>

3、<p>  最后,進(jìn)行硬件調(diào)試。通過(guò)燒錄器,將源程序生成的HEX文件燒寫(xiě)入單片機(jī),并插入已經(jīng)焊好的電路板進(jìn)行調(diào)試,找出虛焊及設(shè)計(jì)不合理的地方,進(jìn)行修改。</p><p>  通過(guò)以上步棸設(shè)計(jì)出的顯示屏,字體顯示清晰,肉眼觀察無(wú)明顯閃動(dòng),能夠基本滿(mǎn)足題目要求。</p><p><b>  目 錄</b></p><p><b&g

4、t;  1 概述3</b></p><p>  1.1 LED及LED顯示屏3</p><p>  1.2 功能要求4</p><p>  1.3 方案論證4</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)5</p><p>  2.1 顯示屏總體方案5</p><p

5、>  2.2 行驅(qū)動(dòng)電路5</p><p>  2.3 列驅(qū)動(dòng)電路7</p><p><b>  3 軟件設(shè)計(jì)10</b></p><p>  3.1 系統(tǒng)主體流程10</p><p>  3.2 顯示一個(gè)漢字10</p><p>  3.3 列驅(qū)動(dòng)輸出更新11<

6、/p><p>  3.4 行驅(qū)動(dòng)輸出更新12</p><p>  4 Proteus軟件仿真13</p><p>  4.1 Proteus軟件簡(jiǎn)介13</p><p>  4.2 Proteus仿真過(guò)程13</p><p>  4.3 Proteus仿真效果圖14</p><p>

7、;  5 課程設(shè)計(jì)體會(huì)15</p><p><b>  參考文獻(xiàn)16</b></p><p>  附1 源程序代碼17</p><p>  附2 系統(tǒng)原理圖20</p><p><b>  1 概述</b></p><p>  1.1 LED及LED顯示屏</

8、p><p>  LED發(fā)光二極管,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見(jiàn)光的半導(dǎo)體器件。它利用固體半導(dǎo)體晶片作為發(fā)光材料,在半導(dǎo)體中通過(guò)載流子發(fā)生復(fù)合,放出過(guò)剩的能量而引起光子發(fā)射,直接發(fā)出紅、黃、藍(lán)、綠、青、橙、紫、白色的光。LED的內(nèi)在特征,決定了它與傳統(tǒng)光源相比具有很多的優(yōu)點(diǎn),如體積小、耗電量低、使用壽命長(zhǎng)、高亮度低熱量、環(huán)保、堅(jiān)固耐用等。</p><p>  LED顯示屏,則是利用眾多LED發(fā)光二

9、極管按一定規(guī)則排列構(gòu)成的點(diǎn)陣顯示屏,是一種通過(guò)控制燈的亮滅,來(lái)顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻等各種信息的顯示屏幕。LED顯示屏按顏色劃分,可以分為以下幾種:全彩顯示屏,單基色顯示屏(單紅、單白、單黃)和雙基色顯示屏(紅綠色、藍(lán)綠色);按顯示性能,則可分為:視頻顯示屏(一般為全彩),文本顯示屏(一般為單基色),圖文顯示屏(一般為雙基色),行情顯示屏(一般為數(shù)碼管或單基色)。</p><p>  LED點(diǎn)陣顯

10、示屏與其他顯示屏相比,具有以下優(yōu)點(diǎn):</p><p>  亮度高:戶(hù)外LED顯示屏的亮度大于8000mcd/m2,是目前唯一能夠在戶(hù)外全天候使用的大型顯示終端。</p><p>  壽命長(zhǎng):LED壽命長(zhǎng)達(dá)100,000小時(shí)(十年)以上,保證了顯示屏的長(zhǎng)期有效利用。</p><p>  視角大:室內(nèi)視角可大于160度,戶(hù)外視角可大于120度。視角的大小取決于LED發(fā)光

11、二極管的形狀。</p><p>  使用靈活:屏幕面積可大可小,小至不到一平米,大則可達(dá)幾百、上千平米。與電腦借口簡(jiǎn)便,可方便修改顯示的圖像、文字內(nèi)容。</p><p>  正是基于以上這些優(yōu)點(diǎn),現(xiàn)在的LED顯示屏已經(jīng)廣泛運(yùn)用于日常的生產(chǎn)生活服務(wù)中,如:商場(chǎng)促銷(xiāo)宣傳,發(fā)布促銷(xiāo)廣告信息,起到公告板的作用;廠礦企業(yè)、機(jī)關(guān)、學(xué)校等主要建筑正門(mén)上方,顯示歡迎語(yǔ),節(jié)日助詞等,既烘托了氣氛,又省去了懸

12、掛橫幅的浪費(fèi)與麻煩;廣場(chǎng)矗立大型顯示屏,播放文明宣傳圖文及新聞、天氣、時(shí)事等,豐富人民的文化需求……</p><p><b>  1.2 功能要求</b></p><p>  設(shè)計(jì)一個(gè)16*16點(diǎn)陣LED顯示屏,分時(shí)顯示“河南理工大學(xué)電氣學(xué)院”十個(gè)漢字。要求屏幕各點(diǎn)亮度均勻、充足;顯示字體清晰、穩(wěn)定,無(wú)串?dāng)_及明顯的閃動(dòng);相鄰漢字切換時(shí),不能因余輝而顯示重疊,出現(xiàn)馬賽

13、克。</p><p><b>  1.3 方案論證</b></p><p>  16*16點(diǎn)陣LED顯示屏共有256個(gè)發(fā)光二極管,顯然51單片機(jī)沒(méi)有這么多端口。如果我們采用鎖存器來(lái)擴(kuò)展端口,按8位的鎖存器來(lái)計(jì)算,16×16的點(diǎn)陣需要256/8=32個(gè)鎖存器。這個(gè)數(shù)字很龐大,這里我們僅僅是16×16的點(diǎn)陣,顯然已不合算,而在實(shí)際中的顯示屏往往要大的

14、多,這樣在鎖存器上的花銷(xiāo)將是一個(gè)很龐大的數(shù)字。因此在現(xiàn)實(shí)應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計(jì),而采用另一種稱(chēng)為動(dòng)態(tài)掃描的顯示方法。</p><p>  動(dòng)態(tài)掃描,簡(jiǎn)單的說(shuō)就是逐行輪流掃描。具體到本設(shè)計(jì),就是LED點(diǎn)陣16行的每一行(LED陰極)分別連在一起,用兩片74HC138的16個(gè)端口分別驅(qū)動(dòng),用于選中要顯示的那一行(低電平選中);每一列的LED陽(yáng)極分別連在一起,用兩片74HC595的16個(gè)端口分別驅(qū)動(dòng),用于輸

15、出字型碼(高電平點(diǎn)亮該列的LED)。先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)于74HC595的16個(gè)端口并鎖存,然后選通第一行使其點(diǎn)亮一定的時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點(diǎn)亮相同的時(shí)間,然后熄滅…… 第十六行之后又重新燃亮第一行,這樣反復(fù)輪回刷新掃描。當(dāng)刷新的速度足夠快時(shí),由于人眼的視覺(jué)暫留現(xiàn)象,我們就能看到點(diǎn)陣屏上的圖形穩(wěn)定顯示了。</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)</

16、p><p>  2.1 顯示屏總體方案</p><p>  2.2 行驅(qū)動(dòng)電路</p><p>  行驅(qū)動(dòng)電路采用兩片74HC138 3線(xiàn)-8線(xiàn)譯碼器來(lái)實(shí)現(xiàn)。</p><p>  74HC138是一款高速CMOS器件,引腳兼容低功耗肖特基TTL(LSTTL)系列。</p><p>  圖2-1 74HC138管腳圖&

17、lt;/p><p>  表2-1 74HC138管腳說(shuō)明</p><p>  表2-2 74HC138真值表</p><p>  74HC138(1)與74HC138(2)譯碼地址輸入端C、B、A分別連在一起,共用單片機(jī)P2^2,P2^1,P2^0端口。74HC138(1)的使能端E3與74HC138(2)的使能端、連在一起后接至單片機(jī)P2^3端口,同理,74HC1

18、38(2)的使能端E3同74HC138(1)的、連接在一起后接至單片機(jī)P2^4端口。如圖2-2所示。</p><p>  圖2-2 兩片74HC138連接圖</p><p>  這樣,74HC138(1)被選中時(shí),因74HC138(2)的E3=0,=1,=1而輸出~均為高電平。</p><p>  2.3 列驅(qū)動(dòng)電路</p><p>  

19、列驅(qū)動(dòng)電路采用兩片74HC595級(jí)聯(lián)實(shí)現(xiàn)。通過(guò)74HC595(1)的QH與74HC595(2)的SI端相連實(shí)現(xiàn)。</p><p>  74HC595是一款漏極開(kāi)路輸出的CMOS移位寄存器,輸出端口為可控的三態(tài)輸出端。</p><p>  圖2-3 74HC595管腳圖</p><p>  表2-3 74HC595管腳說(shuō)明</p><p>

20、  表2-4 74HC595真值表</p><p>  由于74HC595是8位串入并出移位鎖存寄存器,因而采用串行傳輸?shù)姆椒ǎ挥靡桓鶖?shù)據(jù)總線(xiàn)就可以將16位的列代碼輸送到74HC595的輸出端,本設(shè)計(jì)采用P1^2作為串行數(shù)據(jù)輸出端口,與74HC595的數(shù)據(jù)端口SI相連。P1^0作為數(shù)據(jù)輸入時(shí)鐘線(xiàn),與74HC595的SCK端相連,在SCK的每一個(gè)上升沿,都會(huì)從SI端移入下一位數(shù)據(jù)到74HC595的最低位Q0。當(dāng)

21、74HC595的16個(gè)輸出端口數(shù)據(jù)全部更新一遍后,單片機(jī)的P1^1端口(與RCK端相連)產(chǎn)生一個(gè)上升沿,將數(shù)據(jù)鎖存到74HC595的16個(gè)端口上。最后,行選通后就可以刷新顯示一行了。如圖2-4所示。</p><p>  圖2-4 兩片74HC595級(jí)聯(lián)圖</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)主體

22、流程</p><p>  3.2 顯示一個(gè)漢字</p><p>  3.3 列驅(qū)動(dòng)輸出更新</p><p>  當(dāng)兩片74HC595的16個(gè)輸出端均更新完一遍后,給RCK一個(gè)上升沿,則該行的字型碼就鎖存到了74HC595的16個(gè)輸出端上。</p><p>  3.4 行驅(qū)動(dòng)輸出更新</p><p>  行驅(qū)動(dòng)輸出

23、更新采用查表方式。當(dāng)74HC138(1)的E3=1,==0時(shí),片1有效,片2輸出全為高電平(E3=0)。當(dāng)C B A端分別為0 0 0時(shí),選通輸出74HC138(1)的第一行=0。此時(shí),P2^4=0,P2^3=1,P2^2=P2^1=P2^0=0,則P2口輸出行選碼0x08 。同理,16*16點(diǎn)陣的上8行的行選通碼為:0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,下8行的行選通碼為:0x10,0x11,

24、0x12,0x13,0x14,0x15,0x16,0x17 ,均從P2口輸出。</p><p>  4 Proteus軟件仿真</p><p>  4.1 Proteus軟件簡(jiǎn)介</p><p>  Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目

25、前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/1

26、6/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  4.2 Proteus仿真過(guò)程</p><p>  將Keil編譯源程序后生成的.HEX文件裝入Proteus的AT89C51仿真模型中。設(shè)置好單片機(jī)的時(shí)鐘頻率為12MHz,點(diǎn)擊“運(yùn)行”,即可看到

27、仿真結(jié)果。</p><p>  4.3 Proteus仿真效果圖</p><p><b>  5 課程設(shè)計(jì)體會(huì)</b></p><p>  在這次課程設(shè)計(jì)的過(guò)程中,我和我的搭檔通過(guò)查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo),為將來(lái)

28、畢業(yè)設(shè)計(jì)奠定了基礎(chǔ)。在設(shè)計(jì)過(guò)程中,我熟練掌握了proteus仿真軟件的基本應(yīng)用,與此同時(shí)也感到proteus仿真軟件對(duì)我們電氣專(zhuān)業(yè)的學(xué)生來(lái)說(shuō)是一門(mén)相當(dāng)有用的課程。不僅如此,通過(guò)這次單片機(jī)課程設(shè)計(jì),復(fù)習(xí)并進(jìn)一步學(xué)習(xí)了MCS-51單片機(jī)以及C51編程語(yǔ)言。</p><p>  尤其是在焊接硬件的過(guò)程中,由于出線(xiàn)較多,很容易出現(xiàn)串線(xiàn)、接錯(cuò)焊點(diǎn)的現(xiàn)象。在調(diào)試程序的時(shí)候,當(dāng)?shù)谝淮伟殉绦蛳螺d到單片機(jī)并運(yùn)行時(shí),發(fā)現(xiàn)四塊8*8

29、LED點(diǎn)陣屏的上兩塊和下兩塊顯示的字形一樣,均是一個(gè)漢字的上半部分。經(jīng)過(guò)認(rèn)真檢查接線(xiàn),發(fā)現(xiàn)兩片74HC138 的片選線(xiàn)接成了一樣,造成上下兩塊LED點(diǎn)陣對(duì)應(yīng)行被同時(shí)選通,出現(xiàn)錯(cuò)誤結(jié)果?;Q兩條接線(xiàn)后,同時(shí)只能選中一片74HC138。再次通電后,顯示結(jié)果正確無(wú)誤。</p><p>  總之,從這次設(shè)計(jì)中,我們最重要的感受是:做任何事都有耐心和毅力,否則將一事無(wú)成。</p><p><b

30、>  參考文獻(xiàn)</b></p><p>  [1] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1990.</p><p>  [2] 何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,2000.</p><p>  [3] 鄔寬明.單片機(jī)外圍器件實(shí)用手冊(cè)[M].北京:北京航空航天大學(xué)出

31、版社,1998.</p><p>  [4] 張毅剛等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)電子出版社,1996.</p><p>  [5] 張新成,楊志邦.C語(yǔ)言程序設(shè)計(jì)[M].鄭州:河南科學(xué)技術(shù)出版社,2009.</p><p>  [6] 余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù)[M].徐州:中國(guó)礦大出版社,2004.</p>&l

32、t;p>  [7] 胡漢才.單片機(jī)原理及接口技術(shù)(第二版)[M].北京:清華大學(xué)出版社,2003.</p><p>  [8] 李勛,李新民.MCS-96系列8089單微型計(jì)算機(jī)[M].北京:北京航空航天大學(xué)出版社,1991.</p><p>  [9] 張凱,馬忠梅.MCS-51單片機(jī)綜合系統(tǒng)及其設(shè)計(jì)開(kāi)發(fā)[M].北京:科學(xué)出版社,1996.</p><p>

33、  [10] 陳偉人.MCS-51系列單片機(jī)實(shí)用子程序集錦[M].北京:清華大學(xué)出版社,1993.</p><p><b>  附1 源程序代碼</b></p><p>  /********************************************************************</p><p>  16*16字

34、符點(diǎn)陣顯示“河南理工大學(xué)電氣學(xué)院”共10個(gè)漢字</p><p>  ********************************************************************/</p><p>  #include<reg51.h></p><p>  #include <intrins.h></p>

35、<p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define N 10 //共顯示N個(gè)漢字</p><p>  sbit SCK = P1^0;//引腳定義</p><p>  sbit RCK = P1^1

36、; </p><p>  sbit SI = P1^2; </p><p>  uchar code lie[N][32] = {</p><p>  {0x40,0x04,0x3F,0xFE,0x10,0x08,0x00,0x08,0x80,0x48,0x67,0xE8,0x24,0x48,0x0C,0x48,</p><p>  0x

37、14,0x48,0x24,0x48,0xE7,0xC8,0x24,0x48,0x20,0x08,0x20,0x08,0x20,0x28,0x20,0x10},//河</p><p>  {0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x01,0x04,0x7F,0xFE,0x48,0x24,0x44,0x44,</p><p>  0x5F,0xF4,

38、0x41,0x04,0x41,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x14,0x40,0x08},//南</p><p>  {0x00,0x08,0x13,0xFC,0xFA,0x48,0x22,0x48,0x23,0xF8,0x22,0x48,0xFA,0x48,0x23,0xF8,</p><p>  0x20,0x40,0x20,0x5

39、0,0x23,0xF8,0x3C,0x40,0xE0,0x40,0x40,0x44,0x0F,0xFE,0x00,0x00},//理</p><p>  {0x00,0x00,0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,</p><p>  0x01,0x00,0x01,0x00,0x01,0

40、x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00},//工</p><p>  {0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,</p><p>  0x02,0x80,0x02,0x40,0x04,0x40,0x04

41、,0x20,0x08,0x10,0x10,0x0E,0x60,0x04,0x00,0x00},//大</p><p>  {0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,</p><p>  0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x

42、01,0x00,0x01,0x00,0x05,0x00,0x02,0x00},//學(xué)</p><p>  {0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,</p><p>  0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,

43、0x02,0x04,0x01,0xFC,0x00,0x00},//電</p><p>  {0x10,0x00,0x10,0x08,0x1F,0xFC,0x20,0x00,0x2F,0xF0,0x40,0x00,0xBF,0xE0,0x00,0x20,</p><p>  0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x22,0x00,0x1

44、2,0x00,0x0A,0x00,0x04},//氣</p><p>  {0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,</p><p>  0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0

45、x00,0x02,0x00},//學(xué)</p><p>  {0x00,0x80,0x78,0x40,0x4F,0xFE,0x54,0x02,0x58,0x14,0x63,0xF8,0x50,0x00,0x48,0x08,</p><p>  0x4F,0xFC,0x48,0xA0,0x68,0xA0,0x50,0xA0,0x41,0x22,0x41,0x22,0x42,0x1E,0x4C

46、,0x00}//院</p><p><b>  };</b></p><p>  /*-----------------------------------------------</p><p>  x ms 延時(shí)子程序</p><p>  *-------------------------------------

47、---------*/</p><p>  void delayxms(uint x)</p><p><b>  {</b></p><p><b>  uint i;</b></p><p><b>  while(x)</b></p><p>&

48、lt;b>  {</b></p><p>  for(i=0;i<125;i++);//12MHz時(shí)鐘頻率</p><p><b>  x--;</b></p><p><b>  }</b></p><p><b>  }</b></p>

49、<p>  /*-----------------------------------------------</p><p><b>  主程序</b></p><p>  *-----------------------------------------------*/</p><p>  void main(void)

50、</p><p><b>  {</b></p><p>  uchar data hang[16] = {0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,//上8行選通碼</p><p>  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 };//下8行選通碼</

51、p><p>  uchar row = 0;</p><p>  uchar n = 0;</p><p>  uchar count = 0;</p><p>  uchar subcode = 0;</p><p>  uchar i,j;</p><p>  uchar shuaxin=15;

52、//一個(gè)漢字刷新次數(shù)</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  for(count=0;count<N;count++)//共有N個(gè)漢字需要顯示</p><p><b>  {</b></p

53、><p>  P2 = 0x00;//每顯示一個(gè)漢字,全滅0.5s鐘</p><p>  delayxms(500);</p><p>  //先顯示1個(gè)漢字</p><p>  for(shuaxin=0;shuaxin<15;shuaxin++) //每個(gè)漢字刷新shuaxin次。</p><p><

54、;b>  {</b></p><p>  for(i=0;i<32;i++)//1個(gè)漢字共32個(gè)字型碼,每2個(gè)字型碼可以點(diǎn)亮一行</p><p><b>  {</b></p><p>  for(n=0;n<2;n++)//每次取兩個(gè)字型碼,輸出一次,一行</p><p><b

55、>  {</b></p><p>  subcode = lie[count][i++];//暫存</p><p>  for(j=0;j<8;j++)</p><p><b>  {</b></p><p>  SI = subcode & 0x80;//取字模代碼最高位</p

56、><p>  subcode <<= 1; //左移1位</p><p><b>  SCK = 0;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  

57、SCK = 1; //上升沿時(shí)移入一位</p><p><b>  }</b></p><p>  }//此時(shí)74HC595的16個(gè)輸出端全部更新了一遍</p><p>  row = (i-1)/2;//row = 0--15 共16行</p><p>  P2 = hang[row];//行選通</p

58、><p>  RCK = 0; //輸出鎖存準(zhǔn)備</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  RCK = 1;//上升沿時(shí)74HC595并行輸出,顯示1行</p><p>  delayxms

59、(1);//延時(shí)10ms增亮</p><p>  P2 = 0x00;//行全為高電平</p><p>  delayxms(1);//全滅,消除拖尾余輝</p><p><b>  i--; </b></p><p><b>  }</b></p><p><b

溫馨提示

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

評(píng)論

0/150

提交評(píng)論