版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)</p><p><b> 電氣工程學(xué)院</b></p><p> 一、課程設(shè)計(jì)任務(wù)書 </p><p><b> 1.課程設(shè)計(jì)項(xiàng)目</b></p><p> 諾基亞5110液晶顯示器應(yīng)用。 </p>&l
2、t;p><b> 2.設(shè)計(jì)內(nèi)容</b></p><p> 1)設(shè)計(jì)諾基亞5110液晶顯示器應(yīng)用的總體設(shè)計(jì)方案;</p><p> 2)以MCS-51系列單片機(jī)為核心器件和諾基亞5110液晶顯示器組成液晶顯示硬件系統(tǒng);</p><p> 系統(tǒng)程序編制與調(diào)試;</p><p> 電路系統(tǒng)的綜合調(diào)試;</
3、p><p><b> 撰寫課程設(shè)計(jì)論文;</b></p><p> 完成課程設(shè)計(jì)論文答辯。</p><p><b> 3.設(shè)計(jì)要求</b></p><p> 1)以STC89C51單片機(jī)為控制核心,對(duì)諾基亞5110液晶顯示器進(jìn)行控制。編程使得在LCD顯示器上顯示字符,如多行滾動(dòng)顯示:</p
4、><p> “吉林工程技術(shù)師范學(xué)院”</p><p><b> “電氣工程學(xué)院”。</b></p><p> 等字符,還可以顯示別的文字;</p><p> 單片機(jī)課程設(shè)計(jì)題目的硬件電路、程序由學(xué)生自行設(shè)計(jì)完成。</p><p> 液晶顯示器上要顯示出設(shè)計(jì)人的班級(jí),組長(zhǎng)的學(xué)號(hào)等信息。<
5、/p><p> 4.設(shè)計(jì)進(jìn)度(2011年6月13日至2011年6月24日) </p><p><b> 5.設(shè)計(jì)地點(diǎn)</b></p><p> 新實(shí)驗(yàn)樓323微機(jī)實(shí)驗(yàn)室</p><p><b> 二.參考資料</b></p><p> [1]李廣弟,朱月秀,王秀山編著.
6、單片機(jī)基礎(chǔ). 北京:北京航空航天大學(xué)出版社,2001</p><p> [2] 何立民編著.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,1999</p><p> [3] 蔡美琴等編著.MCS-51 單片機(jī)系統(tǒng)及應(yīng)用.北京:高等教育出版社.1992</p><p><b> 二、評(píng)語(yǔ)及成績(jī)</b>&
7、lt;/p><p><b> 成績(jī):</b></p><p><b> 指導(dǎo)教師:</b></p><p><b> 單片機(jī)原理及</b></p><p><b> 應(yīng)用課程設(shè)計(jì)</b></p><p> 班 級(jí): 自動(dòng)
8、化0845 </p><p> 姓 名: 劉旭陽(yáng) </p><p> 學(xué) 號(hào): 11 號(hào) </p><p> 指導(dǎo)教師: 方健 </p><p> 撰寫日期: 2011年6月23日 </p><p> Nokia LCD
9、多功能顯示</p><p><b> 摘 要</b></p><p> 液晶顯示器件[1](LCD)是一種高新技術(shù)的基礎(chǔ)元器件。它利用液晶的各種電光效應(yīng),把液晶對(duì)電場(chǎng)、磁場(chǎng)、光線和溫度等外界條件的變化在一定條件下轉(zhuǎn)換為可視信號(hào)而制成的顯示器。液晶顯示器具有低電壓、低功耗的特點(diǎn),與CMOS集成電路相匹配.電池作為電源,適合于便攜式顯示。STN-LCD是通過(guò)電場(chǎng)控
10、制液晶分子的排列從而改變液晶盒內(nèi)偏振光的雙折射效應(yīng)而實(shí)現(xiàn)顯示,STN-LCD是目前LCD生產(chǎn)的中檔產(chǎn)品,它具有顯示信息量大的特點(diǎn),主要應(yīng)用于各種儀器儀表、手機(jī)、PDA、筆記本電腦等。液晶顯示器還具有易彩色化,非發(fā)光式被動(dòng)顯示的特點(diǎn)。彩色液晶顯示是利用液晶的光閥特性和彩色濾光膜及三基色燈來(lái)實(shí)現(xiàn)的,現(xiàn)有技術(shù)容易制造彩色濾光膜和三基色燈。還有液晶顯示靠調(diào)制外界光來(lái)實(shí)現(xiàn)的,顯示體本身不發(fā)光,不刺激眼睛,不易疲勞等優(yōu)點(diǎn)。利用液晶光閥特性容易實(shí)現(xiàn)投
11、影大屏幕顯示。因而,液晶顯示應(yīng)用幾乎覆蓋所有顯示應(yīng)用領(lǐng)域。</p><p> 液晶顯示模塊是一種將液晶顯示器件、連接件(斑馬條、斑馬紙或金屬管腳等)、PCB線路板、液晶顯示控制器、行列驅(qū)動(dòng)控制器、負(fù)壓發(fā)生器、偏置電路、溫度補(bǔ)償電路、背光源、背光源驅(qū)動(dòng)控制電路、結(jié)構(gòu)件(框架或模具)等裝配在一起的組件。</p><p><b> 目 錄</b></p>
12、<p> 第一章 課程設(shè)計(jì)內(nèi)容與要求分析1</p><p> 1.1課程設(shè)計(jì)的目的與意義............................1</p><p> 1.2課程設(shè)計(jì)內(nèi)容與要求1</p><p> 第二章 液晶顯示器的基本介紹3</p><p> 2.1液晶顯示器設(shè)原理................
13、................3</p><p> 2.2液晶顯示模塊引腳說(shuō)明............................3</p><p> 2.3液晶顯示器的驅(qū)動(dòng)指令說(shuō)明4</p><p> 2.4液晶顯示器的顯示字符的原理5</p><p> 第三章 液晶顯示器的程序設(shè)計(jì)6</p><p&
14、gt; 3.1程序設(shè)計(jì)的思路6</p><p> 3.2程序設(shè)計(jì)........................................6</p><p> 3.2.1 初始化程序設(shè)計(jì)............................6</p><p> 3.2.2 清屏程序設(shè)計(jì)..............................6&
15、lt;/p><p> 3.2.3 LCD坐標(biāo)函數(shù)程序設(shè)計(jì).......................7</p><p> 3.2.4 顯示程序設(shè)計(jì)..............................7</p><p> 3.2.5 寫數(shù)據(jù)程序設(shè)計(jì)............................8</p><p><b
16、> 新得體會(huì)10</b></p><p><b> 參考文獻(xiàn)11</b></p><p><b> 附錄12</b></p><p> 第一章 課程設(shè)計(jì)內(nèi)容與要求分析</p><p> 課程設(shè)計(jì)的目的與意義</p><p> 《單片機(jī)原理及
17、應(yīng)用》是一門技術(shù)性、應(yīng)用性很強(qiáng)的學(xué)科,實(shí)驗(yàn)課教學(xué)是它的一個(gè)極為重要的環(huán)節(jié)。不論是硬件擴(kuò)展、接口應(yīng)用還是編程方法、程序調(diào)試,都離不開實(shí)驗(yàn)課教學(xué)。如果不在切實(shí)認(rèn)真地抓好學(xué)生的實(shí)踐技能的鍛煉上下功夫,單憑課堂理論課學(xué)習(xí),勢(shì)必出現(xiàn)理論與實(shí)踐脫節(jié),學(xué)習(xí)與應(yīng)用脫節(jié)的局面。任隨書本上把單片微機(jī)技術(shù)介紹得多么重要、多么實(shí)用、多么好用,同學(xué)們?nèi)匀粫?huì)感到那只是空中樓閣,離自己十分遙遠(yuǎn),或者會(huì)因此而對(duì)它失去興趣,或者會(huì)感到它高深莫測(cè)無(wú)從下手,這些情況都會(huì)令課
18、堂教學(xué)的效果大打折扣。</p><p> 《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)的目的就是讓同學(xué)們?cè)诶碚搶W(xué)習(xí)的基礎(chǔ)上,通過(guò)完成一個(gè)涉及MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計(jì)與編程應(yīng)用,使學(xué)生不但能夠?qū)⒄n堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來(lái),而且能夠?qū)﹄娮与娐?、電子元器件、印制電路板等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。
19、使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解。使學(xué)生掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、片內(nèi)外存貯器、I/O口、串行口通信等。使學(xué)生了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過(guò)程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)和實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。</p><p><b> 課程設(shè)計(jì)內(nèi)容與要求</b></p><p> 諾基亞5110液晶顯示器的應(yīng)用
20、設(shè)計(jì)。</p><p><b> 基本功能:</b></p><p> 以STC89C51單片機(jī)為控制核心,對(duì)諾基亞5110液晶顯示器進(jìn)行控制。編程使得在LCD顯示器上顯示字符,如多行滾動(dòng)顯示:</p><p> “吉林工程技術(shù)師范學(xué)院”</p><p> “電氣工程學(xué)院”。 </p><p&
21、gt; 等字符,還可以顯示別的文字。</p><p> 液晶顯示器上要顯示出設(shè)計(jì)人的班級(jí)、學(xué)號(hào)、姓名等信息。</p><p> 第二章 液晶顯示器的基本介紹</p><p> 2.1 液晶顯示器設(shè)原理</p><p><b> 圖2-1</b></p><p><b>
22、圖2-2</b></p><p> 2.2 液晶顯示模塊引腳說(shuō)明</p><p> 表1 諾基亞5110液晶顯示模塊的管腳</p><p> (注:有些模塊的引腳序號(hào)和表1的不一致,模塊的相應(yīng)引腳都有引腳名稱標(biāo)注)</p><p> 2.3 液晶顯示器的驅(qū)動(dòng)指令說(shuō)明</p><p> 表
23、2 諾基亞5110液晶顯示模塊的驅(qū)動(dòng)指令說(shuō)明</p><p> 2.4 液晶顯示器的顯示字符的原理</p><p><b> 圖2-3</b></p><p><b> 圖2-4</b></p><p> 第三章 液晶顯示器的程序設(shè)計(jì)</p><p> 3
24、.1程序設(shè)計(jì)的思路</p><p> 編程時(shí)首先要給LCM復(fù)位,使LCM的控制參數(shù)為初始狀態(tài),再對(duì)LCM進(jìn)行初始化功能設(shè)定(關(guān)顯示屏、設(shè)置為擴(kuò)充指令模式、設(shè)置電壓、溫度校正、顯示字符模式選擇、設(shè)置為基本指令、設(shè)置顯示模式、清屏、開顯示屏),接著就可以進(jìn)行對(duì)LCM寫入要現(xiàn)實(shí)的漢字了。</p><p><b> 3.2程序設(shè)計(jì)</b></p><p
25、> 3.2.1 初始化程序設(shè)計(jì)</p><p> LCD_init : 3310LCD初始化</p><p> void LCD_init(void)</p><p><b> {</b></p><p> LCD_RST = 0; // 產(chǎn)生一個(gè)讓LCD復(fù)位的低電平脈沖</p&g
26、t;<p> delay_1us();</p><p> LCD_RST = 1;// 關(guān)閉LCD</p><p> LCD_CE = 0;</p><p> delay_1us();// 使能LCD</p><p> LCD_CE = 1;</p><p> delay_1us();<
27、/p><p> LCD_write_byte(0x21, 0);// 使用擴(kuò)展命令設(shè)置LCD模式</p><p> LCD_write_byte(0xc8, 0);// 設(shè)置偏置電壓</p><p> LCD_write_byte(0x06, 0);// 溫度校正</p><p> LCD_write_byte(0x13, 0);
28、// 1:48</p><p> LCD_write_byte(0x20, 0);// 使用基本命令</p><p> LCD_clear(); // 清屏</p><p> LCD_write_byte(0x0c, 0);// 設(shè)定顯示模式,正常顯示</p><p> LCD_CE = 0; // 關(guān)閉LCD&l
29、t;/p><p><b> }</b></p><p> 3.2.2 清屏程序設(shè)計(jì)</p><p> LCD_clear : LCD清屏函數(shù)</p><p> void LCD_clear(void)</p><p><b> {</b></p&g
30、t;<p> unsigned int i;</p><p> LCD_write_byte(0x0c, 0);</p><p> LCD_write_byte(0x80, 0);</p><p> for (i=0; i<504; i++)</p><p> LCD_write_byte(0, 1)
31、;</p><p><b> }</b></p><p> 3.2.3 LCD坐標(biāo)函數(shù)程序設(shè)計(jì)</p><p> LCD_set_XY : 設(shè)置LCD坐標(biāo)函數(shù)</p><p> 輸入?yún)?shù):X :0-83</p><p> Y :0-5</
32、p><p> void LCD_set_XY(unsigned char X, unsigned char Y)</p><p><b> {</b></p><p> LCD_write_byte(0x40 | Y, 0);// column</p><p> LCD_write_byte(0x80 | X,
33、0); // row</p><p><b> }</b></p><p> 3.2.4 顯示程序設(shè)計(jì)</p><p> LCD_write_char : 顯示英文字符</p><p> 輸入?yún)?shù):c :顯示的字符;</p><p> void LC
34、D_write_char(unsigned char c)</p><p><b> {</b></p><p> unsigned char line;</p><p><b> c -= 32;</b></p><p> for (line=0; line<6; line++)&l
35、t;/p><p> LCD_write_byte(font6x8[c][line], 1);</p><p><b> }</b></p><p> LCD_write_english_String : 英文字符串顯示函數(shù)</p><p> 輸入?yún)?shù):*s :英文字符串指針;</p><
36、;p> X、Y : 顯示字符串的位置,x 0-83 ,y 0-5</p><p> void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)</p><p><b> {</b></p><p> LCD_set_XY(X,Y);</p
37、><p> while (*s) </p><p><b> {</b></p><p> LCD_write_char(*s);</p><p><b> s++;</b></p><p><b> }</b></p><p&
38、gt;<b> }</b></p><p> LCD_write_chinese_string: 在LCD上顯示漢字</p><p> 輸入?yún)?shù):X、Y :顯示漢字的起始X、Y坐標(biāo);</p><p> ch_with :漢字點(diǎn)陣的寬度</p><p> num :顯示漢字的個(gè)數(shù); </p>
39、;<p> line :漢字點(diǎn)陣數(shù)組中的起始行數(shù)</p><p> row :漢字顯示的行間距</p><p><b> 測(cè)試:</b></p><p> LCD_write_chi(0,0,12,7,0,0);</p><p> LCD_write_chi(0,2,12,7,0,
40、0);</p><p> LCD_write_chi(0,4,12,7,0,0);</p><p> void LCD_write_chinese_string(unsigned char X, unsigned char Y, </p><p> unsigned char ch_with,unsigned char num,</p><
41、p> unsigned char line,unsigned char row)</p><p><b> {</b></p><p> unsigned char i,n;</p><p> LCD_set_XY(X,Y); //設(shè)置初始位置</p><p>
42、 for (i=0;i<num;)</p><p><b> {</b></p><p> for (n=0; n<ch_with*2; n++) //寫一個(gè)漢字</p><p><b> { </b></p><p> if (n==ch_with)
43、 //寫漢字的下半部分</p><p><b> {</b></p><p> if (i==0) LCD_set_XY(X,Y+1);</p><p><b> else</b></p><p> LCD_set_XY((X+(ch_with+row)*
44、i),Y+1);</p><p><b> }</b></p><p> LCD_write_byte(write_chinese[line+i][n],1);</p><p><b> }</b></p><p><b> i++;</b></p>&l
45、t;p> LCD_set_XY((X+(ch_with+row)*i),Y);</p><p><b> }</b></p><p><b> }</b></p><p> 3.2.5 寫數(shù)據(jù)程序設(shè)計(jì)</p><p> LCD_write_byte : 使用SPI接口寫數(shù)據(jù)到L
46、CD</p><p> 輸入?yún)?shù):data :寫入的數(shù)據(jù);</p><p> command :寫數(shù)據(jù)/命令選擇;</p><p> void LCD_write_byte(unsigned char dat, unsigned char command)</p><p><b> {</b></p&
47、gt;<p> unsigned char i;</p><p> //PORTB &= ~LCD_CE ; // 使能LCD</p><p> LCD_CE = 0;</p><p> if (command == 0)</p><p> // PORTB &= ~LCD_DC ;
48、 // 傳送命令</p><p> LCD_DC = 0;</p><p><b> else</b></p><p> // PORTB |= LCD_DC ; // 傳送數(shù)據(jù)</p><p> LCD_DC = 1;</p><p> for(i=0;
49、i<8;i++)</p><p><b> {</b></p><p> if(dat&0x80)</p><p><b> SDIN = 1;</b></p><p><b> else</b></p><p><b>
50、 SDIN = 0;</b></p><p><b> SCLK = 0;</b></p><p> dat = dat << 1;</p><p><b> SCLK = 1;</b></p><p><b> }</b></p>
51、<p> // SPDR = data;// 傳送數(shù)據(jù)到SPI寄存器</p><p> //while ((SPSR & 0x80) == 0); // 等待數(shù)據(jù)傳送完畢</p><p> //PORTB |= LCD_CE ;// 關(guān)閉LCD</p><p> LCD_CE = 1;</p>
52、<p><b> }</b></p><p> ?。ㄍ暾某绦蛞?jiàn)附錄)。</p><p><b> 心得體會(huì)</b></p><p> 本次設(shè)計(jì)融合了我在課堂中學(xué)到的知識(shí),使我更深的一步掌握了相應(yīng)的知識(shí),通過(guò)對(duì)諾基亞5110液晶顯示器了解,知道了定時(shí)器/計(jì)數(shù)器、中斷、片內(nèi)外存貯器、I/O口、串行口通信等等。
53、</p><p> 在這其中遇到了很多的問(wèn)題,是我產(chǎn)生了很多的疑團(tuán),通過(guò)同學(xué)之間的研究,再加上老師的細(xì)心解答,大部分的問(wèn)題都能迎刃而解,但是還有好多的細(xì)小問(wèn)題,如程序的不明,這也就體現(xiàn)了我上課時(shí)的不認(rèn)真,對(duì)待老師所講的東西沒(méi)有及時(shí)的去復(fù)習(xí),而導(dǎo)致的對(duì)知識(shí)的遺忘,通過(guò)這次課程設(shè)計(jì),希望我以后能夠?qū)Υ龑W(xué)習(xí)認(rèn)真,仔細(xì)。</p><p> 還有就是本學(xué)期學(xué)的單片機(jī)是C語(yǔ)言,也通過(guò)這次的課程設(shè)計(jì)
54、對(duì)于我一個(gè)很大的缺陷就是對(duì)于C語(yǔ)言還是不夠精益求精,時(shí)常發(fā)生很多細(xì)小的問(wèn)題,有時(shí)自己找不出來(lái),這時(shí)還得求救于同學(xué)和老師,希望在以后的學(xué)習(xí)中應(yīng)盡量達(dá)到精,避免一些不必要的錯(cuò)誤。</p><p> 最后,感謝學(xué)校為我們安排了這次的課程設(shè)計(jì),使我們達(dá)到了相互研究,自己動(dòng)手,獨(dú)立思考的能力,也跟更體現(xiàn)出一個(gè)人或一個(gè)團(tuán)體工作態(tài)度與作風(fēng),感謝老師對(duì)我的耐心和細(xì)心的講解,感謝同學(xué)對(duì)我的幫助,是老師和同學(xué)讓我學(xué)到了很多。<
55、;/p><p><b> 劉旭陽(yáng)</b></p><p> 2011年6月23日</p><p><b> 參考文獻(xiàn)</b></p><p> [1]李廣弟,朱月秀,王秀山編著.單片機(jī)基礎(chǔ). 北京:北京航空航天大學(xué)出版社,2001</p><p> [2]何立民編著.M
56、CS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,1999</p><p> [3] 蔡美琴等編著.MCS-51 單片機(jī)系統(tǒng)及應(yīng)用.北京:高等教育出版社.1992</p><p><b> 附錄</b></p><p> #include "STC10F04XE.h"</p>
57、<p> void delay_1us(void);</p><p> void LCD_init(void);</p><p> void LCD_clear(void);</p><p> void LCD_set_XY(unsigned char X, unsigned char Y);</p><p> voi
58、d LCD_write_char(unsigned char c);</p><p> void LCD_write_english_string(unsigned char X,unsigned char Y,char *s);</p><p> void LCD_write_chinese_string(unsigned char X, unsigned char Y, </
59、p><p> unsigned char ch_with,unsigned char num,</p><p> unsigned char line,unsigned char row);</p><p> void LCD_write_byte(unsigned char dat, unsigned char command);</p><
60、p> sbit SCLK = P1^5;</p><p> sbit SDIN = P1^4;</p><p> sbit LCD_DC = P1^3;</p><p> sbit LCD_CE = P1^1;</p><p> sbit LCD_RST = P1^2;</p><p> sb
61、it LED = P1^6;</p><p> code unsigned char write_chinese[9][24]={</p><p> {0x00,0xFC,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xFE,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x06,0x0
62、0},</p><p> {0x08,0x24,0x2B,0x2A,0x2A,0x2A,0x2A,0x2A,0xEA,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x06,0x00},</p><p> {0x00,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x03,0x0
63、2,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x00},</p><p> {0x8A,0x6A,0xFF,0x49,0x20,0xAF,0xA9,0xE9,0xA9,0xAF,0x20,0x00,0x01,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00},&l
64、t;/p><p> {0x9C,0x84,0x95,0x96,0x95,0xD6,0xB4,0x94,0x87,0x94,0x8C,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00},</p><p> {0xFF,0x81,0x8D,0xF3,0x26,0x2A,0xEA,0x2B,0xEA,0x2A,0x2
65、6,0x00,0x07,0x00,0x00,0x04,0x04,0x02,0x01,0x00,0x07,0x04,0x07,0x00},</p><p> {0x84,0x64,0xFF,0x24,0x00,0xFC,0x46,0x45,0x44,0x44,0xFC,0x00,0x01,0x00,0x07,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x00},</p&
66、gt;<p> {0x10,0x10,0xDF,0x55,0x55,0x55,0x55,0x55,0xDF,0x10,0x10,0x00,0x04,0x04,0x03,0x01,0x05,0x07,0x01,0x01,0x03,0x04,0x04,0x00},</p><p> {0xD4,0x14,0xFF,0x54,0x44,0x10,0xE9,0x27,0x21,0x29,0xEF,0x0
67、0,0x07,0x02,0x03,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x00},</p><p><b> };</b></p><p> code unsigned char font6x8[92][6] =</p><p><b> {</b></p>
68、<p> { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, </p><p> { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, </p><p> { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, </p><p> { 0x00, 0x14,
69、0x7f, 0x14, 0x7f, 0x14 }, </p><p> { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, </p><p> { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, </p><p> { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },
70、 </p><p> { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, </p><p> { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, </p><p> { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, </p><p>
71、 { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, </p><p> { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, </p><p> { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, </p><p> { 0x00, 0x08, 0x08, 0x08
72、, 0x08, 0x08 }, </p><p> { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, </p><p> { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, </p><p> { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, </p&
73、gt;<p> { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, </p><p> { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, </p><p> { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, </p><p> { 0x00, 0
74、x18, 0x14, 0x12, 0x7F, 0x10 }, </p><p> { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, </p><p> { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, </p><p> { 0x00, 0x01, 0x71, 0x09, 0x05, 0x
75、03 }, </p><p> { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, </p><p> { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, </p><p> { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, </p><p
76、> { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, </p><p> { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, </p><p> { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, </p><p> { 0x00, 0x00, 0x41,
77、0x22, 0x14, 0x08 }, </p><p> { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, </p><p> { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, </p><p> { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, <
78、;/p><p> { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, </p><p> { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, </p><p> { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, </p><p> { 0x0
79、0, 0x7F, 0x49, 0x49, 0x49, 0x41 }, </p><p> { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, </p><p> { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, </p><p> { 0x00, 0x7F, 0x08, 0x08, 0x08,
80、 0x7F }, </p><p> { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, </p><p> { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, </p><p> { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, </p>&l
81、t;p> { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, </p><p> { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, </p><p> { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, </p><p> { 0x00, 0x3E, 0x
82、41, 0x41, 0x41, 0x3E }, </p><p> { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, </p><p> { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, </p><p> { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },
83、 </p><p> { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, </p><p> { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, </p><p> { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, </p><p> {
84、 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, </p><p> { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, </p><p> { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, </p><p> { 0x00, 0x07, 0x08, 0x70,
85、0x08, 0x07 }, </p><p> { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, </p><p> { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, </p><p> { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, </p>
86、;<p> { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, </p><p> { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, </p><p> { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, </p><p> { 0x00, 0x0
87、0, 0x01, 0x02, 0x04, 0x00 }, </p><p> { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, </p><p> { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, </p><p> { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }
88、, </p><p> { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, </p><p> { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, </p><p> { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, </p><p>
89、 { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, </p><p> { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, </p><p> { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, </p><p> { 0x00, 0x40, 0x80, 0x84
90、, 0x7D, 0x00 }, </p><p> { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, </p><p> { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, </p><p> { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, </p&g
91、t;<p> { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, </p><p> { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, </p><p> { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, </p><p> { 0x00, 0x
92、18, 0x24, 0x24, 0x18, 0xFC }, </p><p> { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, </p><p> { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, </p><p> { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x2
93、0 }, </p><p> { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, </p><p> { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, </p><p> { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, </p><p>
94、; { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, </p><p> { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, </p><p> { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, </p><p> { 0x14, 0x14, 0x14, 0x1
95、4, 0x14, 0x14 },</p><p><b> }; </b></p><p> ///////////////////////////////////////////////////</p><p> void main(void) </p><p><b> {</b>&
96、lt;/p><p> LCD_init(); </p><p> LCD_clear();</p><p> while(1) </p><p><b> {</b></p><p> LCD_write_english_string(0,0,"NOKIA 5110 LCD&q
97、uot;);</p><p> LCD_write_chinese_string(6,1,12,6,0,0); </p><p> LCD_write_chinese_string(12,3,12,3,6,12);</p><p> LCD_write_english_string(6,5,"QQ:772460432"); </p&
98、gt;<p><b> } </b></p><p><b> }</b></p><p> /////////////////////////////////////////////////////////////</p><p> void delay_1us(void)
99、 </p><p><b> {</b></p><p> unsigned int i;</p><p> for(i=0;i<1000;i++);</p><p><b> }</b></p><p> ///////////////////////
100、///////////////////////////////</p><p> void LCD_init(void)</p><p><b> {</b></p><p> LCD_RST = 0;</p><p> delay_1us();</p><p> LCD_RST = 1
101、;</p><p> LCD_CE = 0;</p><p> delay_1us();</p><p> LCD_CE = 1;</p><p> delay_1us();</p><p> LCD_write_byte(0x21, 0);</p><p> LCD_write_
102、byte(0xc8, 0);</p><p> LCD_write_byte(0x06, 0);</p><p> LCD_write_byte(0x13, 0);</p><p> LCD_write_byte(0x20, 0);</p><p> LCD_clear(); </p><p&
103、gt; LCD_write_byte(0x0c, 0);</p><p> LCD_CE = 0;</p><p><b> }</b></p><p> //////////////////////////////////////////////////</p><p> void LCD_clear(vo
104、id)</p><p><b> {</b></p><p> unsigned int i;</p><p> LCD_write_byte(0x0c, 0);</p><p> LCD_write_byte(0x80, 0);</p><p> for (i=0; i&l
105、t;504; i++)</p><p> LCD_write_byte(0, 1);</p><p><b> }</b></p><p> ///////////////////////////////////////</p><p> void LCD_set_XY(unsigned char X, u
106、nsigned char Y)</p><p><b> {</b></p><p> LCD_write_byte(0x40 | Y, 0);</p><p> LCD_write_byte(0x80 | X, 0); </p><p><b> }</b><
107、/p><p> ////////////////////////////////////////</p><p> void LCD_write_char(unsigned char c)</p><p><b> {</b></p><p> unsigned char line;</p><p
108、><b> c -= 32;</b></p><p> for (line=0; line<6; line++)</p><p> LCD_write_byte(font6x8[c][line], 1);</p><p><b> }</b></p><p> ////////
109、/////////////////////////////////////////</p><p> void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)</p><p><b> {</b></p><p> LCD_set_XY(X,Y);<
110、/p><p> while (*s) </p><p><b> {</b></p><p> LCD_write_char(*s);</p><p><b> s++;</b></p><p><b> }</b></p><
111、p><b> }</b></p><p> ///////////////////////////////////////////////////////// </p><p> void LCD_write_chinese_string(unsigned char X, unsigned char Y, <
112、/p><p> unsigned char ch_with,unsigned char num,</p><p> unsigned char line,unsigned char row)</p><p><b> {</b></p><p> unsigned char i,n; </p>&
113、lt;p> LCD_set_XY(X,Y); </p><p> for (i=0;i<num;)</p><p><b> {</b></p><p> for (n=0; n<ch_with*2; n++) </p>&
114、lt;p><b> { </b></p><p> if (n==ch_with) </p><p><b> {</b></p><p> if (i==0) LCD_set_XY(X,Y+1);</p><p><b> els
115、e</b></p><p> LCD_set_XY((X+(ch_with+row)*i),Y+1);</p><p><b> }</b></p><p> LCD_write_byte(write_chinese[line+i][n],1);</p><p><b> }</b&g
116、t;</p><p><b> i++;</b></p><p> LCD_set_XY((X+(ch_with+row)*i),Y);</p><p><b> }</b></p><p><b> } </b></p><p> ////
117、//////////////////////////////////////////////////////////////</p><p> void LCD_write_byte(unsigned char dat, unsigned char command)</p><p><b> {</b></p><p> unsigned
118、 char i; </p><p> LCD_CE = 0; </p><p> if (command == 0) </p><p> LCD_DC = 0;</p><p> else </p><p> LCD_DC = 1;</p>
119、<p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> if(dat&0x80)</p><p><b> SDIN = 1;</b></p><p><b> else</b></p>
120、<p><b> SDIN = 0;</b></p><p><b> SCLK = 0;</b></p><p> dat = dat << 1;</p><p><b> SCLK = 1;</b></p><p><b> }
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---液晶顯示器設(shè)計(jì)
- dsp課程設(shè)計(jì)---液晶顯示器控制顯示
- dsp課程設(shè)計(jì)---液晶顯示器控制顯示
- 單片機(jī)課程設(shè)計(jì)--漢字液晶顯示器顯示
- 液晶課程設(shè)計(jì)--單片機(jī)液晶顯示器系統(tǒng)設(shè)計(jì)
- 液晶顯示器
- 單片機(jī)課程設(shè)計(jì)-字符液晶顯示器設(shè)計(jì)
- 運(yùn)輸包裝課程設(shè)計(jì)---液晶顯示器的包裝設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--時(shí)鐘及液晶顯示器設(shè)計(jì)
- 運(yùn)輸包裝課程設(shè)計(jì)--液晶顯示器的包裝設(shè)計(jì)
- 液晶顯示器85028
- lcd液晶顯示器27
- 液晶顯示器技術(shù)6
- 液晶顯示器技術(shù)3
- 液晶顯示器選購(gòu)參數(shù)
- 液晶顯示器技術(shù)4
- 怎么挑選液晶顯示器
- 液晶顯示課程設(shè)計(jì)報(bào)告
- 外文翻譯--液晶顯示器玻璃基板或液晶顯示模塊
- 液晶顯示器顯示閃爍研究.pdf
評(píng)論
0/150
提交評(píng)論