諾基亞5110液晶顯示器應(yīng)用課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論