欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      江蘇大學(xué)單片機(jī)課程設(shè)計(jì)[合集五篇]

      時(shí)間:2019-05-15 00:20:25下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《江蘇大學(xué)單片機(jī)課程設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《江蘇大學(xué)單片機(jī)課程設(shè)計(jì)》。

      第一篇:江蘇大學(xué)單片機(jī)課程設(shè)計(jì)

      江蘇大學(xué)

      單片機(jī)課程設(shè)計(jì)

      姓名:

      學(xué)號(hào)

      班級(jí):電氣

      一、設(shè)計(jì)任務(wù)、原理、步驟

      任務(wù):○1從鍵盤(pán)上輸入正、反轉(zhuǎn)命令,轉(zhuǎn)速參數(shù)(16級(jí))和轉(zhuǎn)動(dòng)步數(shù)顯示在LED顯示器上。

      顯示器上顯示:第一位為0表示正轉(zhuǎn),為1表示反轉(zhuǎn);第二位0~F為轉(zhuǎn)速等級(jí),第三到第六位設(shè)定步數(shù)。

      2單片機(jī)依顯示器上顯示的正、反轉(zhuǎn)命令,轉(zhuǎn)速級(jí)數(shù)和轉(zhuǎn)動(dòng)步數(shù)進(jìn)行相應(yīng)動(dòng)作,轉(zhuǎn)○動(dòng)步數(shù)減為零時(shí)停止轉(zhuǎn)動(dòng)。

      原理:

      如圖,當(dāng)有一相繞組被通電激勵(lì)時(shí),磁通從正相齒,經(jīng)過(guò)軟鐵芯的轉(zhuǎn)子,并以最短路徑流向負(fù)相齒,為使磁通路徑最短,在磁場(chǎng)力的作用下,轉(zhuǎn)子被迫移動(dòng),使最近的一對(duì)齒與被激勵(lì)的一相對(duì)準(zhǔn)。

      那么,通過(guò)對(duì)它每相線圈中電流的順序切換可使電機(jī)作步進(jìn)式旋轉(zhuǎn)。相數(shù):產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù)。

      拍數(shù):指電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距角所需脈沖數(shù),以四相電機(jī)為例,有四相四拍運(yùn)行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍運(yùn)行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:對(duì)應(yīng)一個(gè)脈沖信號(hào)電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移.步距角=360/(轉(zhuǎn)

      子齒數(shù)*拍數(shù))系統(tǒng)中使用20BY-0型號(hào)步進(jìn)電機(jī),它使用+5V直流電源,步距角為18度,電機(jī)線圈由A、B、C、D四相組成。

      步進(jìn)電機(jī)驅(qū)動(dòng)原理是通過(guò)對(duì)它每相線圈中的電流的順序切換來(lái)使電機(jī)作步進(jìn)式旋轉(zhuǎn),驅(qū)動(dòng)電路由脈沖信號(hào)來(lái)控制,所以調(diào)節(jié)脈沖信號(hào)的頻率便可改變步進(jìn)電機(jī)的轉(zhuǎn)速。

      BA、BB、BC、BD即為脈沖信號(hào)輸入插孔,驅(qū)動(dòng)器輸出A、B、C、D接步進(jìn)電機(jī)。

      步驟:先設(shè)計(jì)鍵盤(pán)顯示程序,根據(jù)書(shū)本的鍵盤(pán)掃描程序與數(shù)碼管顯示程序,把二者整合到

      一起,成功后,再做驅(qū)動(dòng)電機(jī)程序,在鍵盤(pán)顯示程序的基礎(chǔ)上,進(jìn)行擴(kuò)張,實(shí)現(xiàn)電

      機(jī)的正反轉(zhuǎn)與調(diào)速控制。

      二、硬件原理接線圖 鍵盤(pán)顯示原理圖

      連線圖

      ? 步進(jìn)電機(jī)模塊插頭接實(shí)驗(yàn)系統(tǒng)J3插座,(順接)? 把P1.0~P1.3分別接到BA~BD插孔。

      4.7kX474LS04P1.0P1.18032P1.2J***4523535ABVCCBABBBCBD1359CDP1.34

      三、流程圖

      按鍵流程圖

      數(shù)碼管顯示流程圖

      電機(jī)控制程序流程圖

      四、程序清單

      ORG 0000H

      AJMP MAIN

      ORG 0050H MAIN: MOV SP, #40H

      MOV 79H, #00H

      MOV 7AH, #00H

      MOV 7BH, #00H

      MOV 7CH, #00H

      MOV 7DH, #00H

      MOV 7EH, #00H

      MOV R1, #7EH MAIN1: ACALL KEY1

      MOV @R1, A

      CJNE R1, #78H, KS

      CJNE A, #16H, AGAIN

      LJMP RUN AGAIN: LJMP MAIN

      KS: DEC

      R1

      LJMP MAIN1

      RUN: MOV A,7EH

      JZ

      ZHEN

      JNZ

      FAN

      SJMP $

      ZHEN: MOV

      P1, #03H

      ACALL DELAY

      MOV

      P1, #06H

      ACALL DELAY

      MOV

      P1, #0CH

      ACALL DELAY

      MOV

      P1, #09H

      ACALL DELAY

      ANL

      79H, #0FH

      ANL

      7AH, #0FH

      ANL

      7BH, #0FH

      ANL

      7CH, #0FH

      LCALL DIR

      LCALL DIR

      MOV

      R5, 79H

      CJNE R5, #0,Z1

      DEC

      79H

      MOV R5,7AH

      CJNE R5, #0,Z2

      DEC

      7AH

      MOV

      R5, 7BH

      CJNE R5, #0,Z3

      DEC

      7BH

      MOV

      R5, 7CH

      CJNE R5, #0,Z4

      LJMP MAIN Z1:

      DEC

      79H

      LJMP ZHEN Z2:

      DEC

      7AH

      LJMP ZHEN Z3:

      DEC

      7BH

      LJMP ZHEN Z4:

      DEC

      7CH

      LJMP ZHEN FAN: MOV

      P1, #09H

      ACALL DELAY

      MOV

      P1, #0CH

      ACALL DELAY

      MOV

      P1, #06H

      ACALL DELAY

      MOV

      P1, #03H

      ACALL DELAY

      ANL 79H, #0FH

      ANL 7AH, #0FH

      ANL 7BH, #0FH

      ANL 7CH, #0FH

      LCALL DIR

      LCALL DIR

      MOV R5, 79H

      CJNE R5, #0,F1

      DEC 79H

      MOV R5, 7AH

      CJNE R5, #0,F2

      DEC 7AH

      MOV R5, 7BH

      CJNE R5, #0,F3

      DEC 7BH

      MOV R5, 7CH

      CJNE R5, #0,F4

      LJMP MAIN F1:

      DEC 79H

      LJMP FAN F2:

      DEC 7AH

      LJMP FAN F3:

      DEC 7BH

      LJMP FAN F4:

      DEC 7CH

      LJMP FAN

      DELAY: MOV R1, 7DH DELAY10: ACALL DIR DELAY13:DJNZ R1, DELAY10

      RET DIR: MOV R0,#79H

      MOV R3,#01H LD0: MOV DPTR,#SEG

      MOV A,@R0

      MOVC A,@A+DPTR

      CPL

      A

      MOV

      DPTR,#0FFDCH

      MOVX @DPTR,A

      MOV A,R3

      MOV DPTR,#0FFDDH

      MOVX @DPTR,A

      ACALL DL1

      INC

      R0

      MOV

      A,R3

      JB

      ACC.5,LD1

      RL

      A

      MOV

      R3,A

      AJMP LD0 LD1: RET SEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH

      DB 7DH, 07H, 7FH, 6FH, 77H, 7CH

      DB 39H, 5EH, 79H, 71H, 00H, 73H DL1: MOV

      R7,#02H DL: MOV

      R6,#0FFH DLA: DJNZ R6,DLA

      DJNZ R7,DL

      RET KEY1:ACALL KS1

      JNZ

      LK1

      ACALL DIR

      AJMP

      KEY1 LK1: ACALL DIR

      ACALL T12ms

      ACALL KS1

      JNZ

      LK2

      AJMP

      KEY1 LK2: MOV

      R2, #0FEH

      MOV

      R4, #00H LK4: MOV

      DPTR, #0FFDDH

      MOV

      A, R2

      MOVX

      @DPTR, A

      INC

      DPTR

      MOVX

      A, @DPTR

      JB

      ACC.0, LONE

      MOV

      A, #00H

      AJMP

      LKP LONE:JB

      ACC.1, LTOW

      MOV

      A, #08H

      AJMP

      LKP LTOW:JB

      ACC.2, LTHR

      MOV

      A, #10H

      AJMP

      LKP LTHR:JB

      ACC.3, NEXT

      MOV

      A, #18H LKP: ADD

      A, R4

      MOV

      DPTR, #TAB

      MOVC

      A, @A+DPTR

      PUSH

      ACC LK3: ACALL DIR

      ACALL KS1

      JNZ

      LK3

      POP

      ACC

      RET NEXT:INC

      R4

      MOV

      A,R2

      JNB

      ACC.7,KND

      RL

      A

      MOV

      R2,A

      AJMP

      LK4 KND: AJMP

      KEY1 KS1: MOV

      DPTR,#0FFDDH

      MOV

      A,#00H

      MOVX

      @DPTR,A

      INC

      DPTR

      MOVX

      A,@DPTR

      CPL

      A

      ANL

      A,#0FH

      RET T12ms:MOV R7,#18H TM: MOV

      R6,#0FFH TM6: DJNZ

      R6,TM6

      DJNZ

      R7,TM

      RET TAB: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H,02H,0FH,03H,0EH

      DB 0CH,0DH,00H,00H,00H,00H,00H,00H,16H

      END

      五、設(shè)計(jì)心得體會(huì)

      為期一周的單片機(jī)課程設(shè)計(jì),我有很多心得體會(huì),有關(guān)于單片機(jī)方面的,更多的是人與人之間的。

      此次單片機(jī)課程設(shè)計(jì)意義非凡。一開(kāi)始,我們組出現(xiàn)了很多問(wèn)題,例如,如何把鍵盤(pán)與顯示程序整合到一起,但是在老師的悉心指導(dǎo)和同學(xué)的幫助下,各種問(wèn)題都被解決了。此次課程設(shè)計(jì)不僅增強(qiáng)了同學(xué)們的動(dòng)手實(shí)踐能力,而且更加豐富了同學(xué)們的理論知識(shí),熟悉了匯編語(yǔ)言的編程方法。除此之外,我還學(xué)到了如何與人合作,與人交流。

      總而言之,單片機(jī)課程設(shè)計(jì)對(duì)于我們有很大的幫助,我們從中受益匪淺

      第二篇:湘潭大學(xué)單片機(jī)課程設(shè)計(jì)

      機(jī)

      設(shè)

      計(jì)

      設(shè)計(jì)題目:簡(jiǎn)易頻率計(jì)數(shù)器姓名:學(xué)號(hào):

      班級(jí):09級(jí)電子信息工程一班指導(dǎo)老師:粟建新

      一、實(shí)驗(yàn)?zāi)康?.要求學(xué)生具有制作調(diào)試單片機(jī)最小系統(tǒng)及外設(shè)的能力,能夠掌握單片機(jī)內(nèi)部資源的使用。

      2.熟練掌握焊接技術(shù)的基礎(chǔ)上,能熟練使用單片機(jī)軟件開(kāi)發(fā)環(huán)境Keil C51編程調(diào)試,并使用STC ISP調(diào)試工具采用串口下載方式聯(lián)調(diào)制作的單片機(jī)最小系統(tǒng)。

      二、實(shí)驗(yàn)要求

      自制一個(gè)單片機(jī)最小系統(tǒng),包括串口下載、復(fù)位電路,采用外部計(jì)數(shù)器T0或T1作為外部頻率輸入,外部頻率由信號(hào)源提供,計(jì)算出來(lái)的頻率顯示在四位一體的數(shù)碼管上。

      三、實(shí)驗(yàn)器材

      單片機(jī)'STC89C54RD+一個(gè),晶振一個(gè),電容3個(gè),電阻3個(gè),排阻一個(gè)(由于實(shí)驗(yàn)室不提供排阻,實(shí)驗(yàn)過(guò)程中用了10個(gè)10千歐姆的電阻代替),4位一體數(shù)碼顯示管一個(gè),按鈕1個(gè)。

      四、實(shí)驗(yàn)原理圖

      五、硬件連線

      1.將P0口與4位一體數(shù)碼管的ABCDEFG和DP相連;

      2.將P2口的2.0,2.1,2.2分別與數(shù)碼管的S1,S2,S3相連;

      3.引出14做激勵(lì)輸入口。

      六、程序設(shè)計(jì)內(nèi)容

      1.定時(shí)/計(jì)數(shù)器T0 和T1 的工作方式設(shè)置,由圖可知,T0 是工作在計(jì)數(shù)狀態(tài)下,對(duì)輸入的頻率信號(hào)進(jìn)行計(jì)數(shù),但對(duì)工作在計(jì)數(shù)狀態(tài)下的T0,最大計(jì)數(shù)值為fOSC/24,由于fOSC=12MHz,因此:T0 的最大計(jì)數(shù)頻率為250KHz。對(duì)于頻率的概念就是在一秒只數(shù)脈沖的個(gè) 數(shù),即為頻率值。所以T1 工作在定時(shí)狀態(tài)下,每定時(shí)1秒鐘到,就停止T0 的計(jì)數(shù),而從T0 的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值,然后進(jìn)行數(shù)據(jù)處理。送到數(shù)碼管顯示出來(lái)。

      2.T1工作在定時(shí)狀態(tài)下,最大定時(shí)時(shí)間為65ms,達(dá)不到1秒的定時(shí),所以采用定時(shí)50ms,共定時(shí)20 次,即可完成1 秒的定時(shí)功能。

      七、C語(yǔ)言源程序

      #include//頭文件端口聲明

      #define uchar unsigned char//變量宏定義

      #define uint unsigned int

      unsigned char code table2[]={ //共陽(yáng)極0~f數(shù)碼管編碼

      0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

      uintnumber1[4]={0,0,0,0};

      uint count=0;//定義脈沖計(jì)數(shù)變量

      sbit K1=P1^0;

      sbit K2=P1^7;

      void delay(uchar y)// 延時(shí)子程序

      {

      uchar x;

      while(y--)for(x=110;x>0;x--);

      }

      display(x)// 顯示子程序

      {uintc,g=0x01;

      number1[0]=x/1000;

      number1[1]=x%1000/100;

      number1[2]=x%1000%100/10;

      number1[3]=x%1000%100%10;

      for(c=0;c<4;c++)

      {

      P2=g;//位選

      P0=table2[number1[c]];//段選

      delay(15);//簡(jiǎn)短的延時(shí)

      g=g<<1;//左移為了掃描位選

      }}

      void main()

      {

      IE=0x8a;

      TMOD=0x51;

      TH0=(65536-50000)/256;

      TL0=(65536-50000)%256;

      while(1)

      {

      if(K1==0)

      {

      delay(10);

      if(K1==0)

      {count=0;

      TR0=TR1=1;

      }

      }

      }

      }

      void t0()interrupt

      1{ uchar K;

      TH0=(65536-50000)/256;

      TL0=(65536-50000)%256;// 開(kāi)總中斷和T0,T1// 設(shè)置中斷工作方式//當(dāng)按鍵按下時(shí)啟動(dòng)T0和T1//定時(shí)計(jì)數(shù)器T0子程序

      if(++K==20)

      {

      TR1=TR0=K=0;

      count=TH1*256+TL1;

      display(count);

      TH1=TL1=0;

      }

      }

      //關(guān)兩個(gè)中斷//當(dāng)?shù)揭幻牒?,?jì)下T1收到的脈沖個(gè)數(shù) //T1清零

      八、實(shí)驗(yàn)心得

      通過(guò)這次課程設(shè)計(jì),我熟悉了Keil C51編程與PROTUSE的使用,對(duì)單片機(jī)的使用有了更深刻的了解,在焊接與測(cè)試過(guò)程中也懂得了對(duì)任何的細(xì)節(jié)必須分外注意,不能粗心大意。實(shí)驗(yàn)由兩部分組成,仿真和焊板子,仿真過(guò)程用運(yùn)用了keil c51軟件和PROTUSE,這兩個(gè)軟件以前沒(méi)有用過(guò),通過(guò)這次課程設(shè)計(jì),我學(xué)習(xí)了這兩種軟件的基本上使用,是此次課程設(shè)計(jì)比較大的收獲。焊接過(guò)程中,由于從大一開(kāi)始已經(jīng)有好幾次的焊接經(jīng)歷,我吸取以前的教訓(xùn),在這次的焊接過(guò)程中在排版,接線上都有了很大的改善,而且焊點(diǎn)基本上沒(méi)有虛焊,只不過(guò)焊接復(fù)位電路時(shí)沒(méi)認(rèn)真看仿真圖,導(dǎo)致后面數(shù)碼管沒(méi)亮,但是我仔細(xì)檢查后發(fā)現(xiàn)了錯(cuò)誤所在,通過(guò)檢查錯(cuò)誤這一步,我對(duì)我自己做焊接試驗(yàn)有了很大的信心,因?yàn)槲抑懒巳绾斡萌f(wàn)用表檢查錯(cuò)誤??傊n程設(shè)計(jì)不僅讓我們溫習(xí)了單片機(jī)的設(shè)計(jì)思路與編程語(yǔ)言,而且鍛煉了我們實(shí)際動(dòng)手能力,將理論與實(shí)踐相結(jié)合了。

      第三篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)

      設(shè)計(jì)題目: 單片機(jī)課程設(shè)計(jì)

      學(xué)生姓名:

      學(xué)

      院: 電氣與信息工程學(xué)院

      級(jí): 電子111班 指導(dǎo)教師:

      日 期: 2014年9月20日

      一、課程設(shè)計(jì)目的:

      了解電子元器件的功能與原理,掌握單片機(jī)的結(jié)構(gòu)和原理,學(xué)會(huì)使用單片機(jī)應(yīng)用開(kāi)發(fā)技術(shù)的相關(guān)軟件如 keill、STC_ISP_V394等,能夠使用c語(yǔ)言的語(yǔ)言編程簡(jiǎn)單的功能。

      二、設(shè)計(jì)的思想:

      利用所提供的單片機(jī)和開(kāi)發(fā)板的原理圖用keill軟件編程程序以實(shí)現(xiàn)一些功能。然后用STC_ISP_V394.exe軟件將編譯完全正確的程序生成的hxe文件下載到開(kāi)發(fā)板上,再調(diào)試編譯的程序能否實(shí)現(xiàn)其所設(shè)計(jì)的功能。

      1、對(duì)蜂鳴器的了解:

      蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,它由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼組成,接通電源后,振蕩器產(chǎn)生的音頻信號(hào)由電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng),振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性的振動(dòng)發(fā)聲。

      2、設(shè)計(jì):

      我們所使用的開(kāi)發(fā)板實(shí)物圖如圖一,單片機(jī)對(duì)右上角蜂鳴器的控制是加入三極管接入vcc,單片機(jī)的第22引腳和負(fù)極上,以此來(lái)控制蜂鳴器工作。單片機(jī)我們選擇STC89C52RC+1602液晶來(lái)實(shí)現(xiàn)對(duì)蜂鳴器的控制及顯示所需要的信息。

      圖一 調(diào)試說(shuō)明:

      首先用Keil軟件創(chuàng)建一個(gè)工程,將程序源代碼輸入并編譯生成單片可執(zhí)行的.hex文件。其次,打開(kāi)單片機(jī)實(shí)踐板的電源,接好串口線,用STC-ISP燒錄軟件,將.hex文件燒錄入單片機(jī)中。程序下載完畢后,單片機(jī)會(huì)自動(dòng)執(zhí)行程序功能。最后,觀察程序功能的執(zhí)行情況,看是否達(dá)到了設(shè)計(jì)要求。

      如果單片機(jī)實(shí)踐板硬件電路的執(zhí)行結(jié)果與設(shè)計(jì)結(jié)果一致,則說(shuō)明設(shè)計(jì)過(guò)程及流程沒(méi)有問(wèn)題,完全符合設(shè)計(jì)要求。否則,先檢查單片機(jī)實(shí)踐板的硬件電路是否完好,是否有斷點(diǎn)、漏焊、虛焊以及元器件是否完好等情況,排除故障重新連接后重新進(jìn)行調(diào)試。如果仍然無(wú)法正

      常實(shí)現(xiàn),則說(shuō)明程序編寫(xiě)有誤,需要認(rèn)真檢查程序流程,然后經(jīng)過(guò)反復(fù)的修改與調(diào)試排除故障,實(shí)現(xiàn)設(shè)計(jì)要求的各項(xiàng)功能。編譯和燒寫(xiě)該程序到單片機(jī):

      (1)用Keil編譯上面的代碼,并設(shè)置產(chǎn)生16進(jìn)制代碼文件*.hex.(2)用專用下載線,連接好實(shí)驗(yàn)板和電腦串口(DB9)(2)運(yùn)行hex文件燒寫(xiě)軟件STC_ISP_V394.exe

      選單片機(jī)的型號(hào),并打開(kāi)編譯產(chǎn)生好的hex文件

      點(diǎn)擊下載,給開(kāi)發(fā)板上電。

      3、實(shí)現(xiàn)的功能:使用單片機(jī)將歌曲《八月桂花》的調(diào)子通過(guò)蜂鳴器播放出來(lái),用1602液晶將想要表達(dá)的信息有步驟地顯示在液晶顯示屏上,并且調(diào)子與顯示內(nèi)容可以任意通過(guò)修改的程序燒錄到單片機(jī)內(nèi),實(shí)現(xiàn)設(shè)計(jì)產(chǎn)品的使用性與靈活性。

      三、實(shí)驗(yàn)程序:

      /************************************************************************

      [主題] C51音樂(lè)程序《八月桂花》

      [功能]

      通過(guò)單片機(jī)演奏音樂(lè),顯示一些內(nèi)容

      /**********************************************************************/

      #include

      #include

      //本例采用89C52, 晶振為11.0592MHZ

      //關(guān)于如何編制音樂(lè)代碼, 其實(shí)十分簡(jiǎn)單,各位可以看以下代碼.//頻率常數(shù)即音樂(lè)術(shù)語(yǔ)中的音調(diào),而節(jié)拍常數(shù)即音樂(lè)術(shù)語(yǔ)中的多少拍;

      //所以拿出譜子, 試探編吧!

      unsigned char i=0;sbit Beep = P2^7;

      unsigned char p,m;

      //m為頻率常數(shù)變量

      unsigned char n=0;//n為節(jié)拍常數(shù)變量

      unsigned char code music_tab[] ={

      0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數(shù), 節(jié)拍常數(shù), 頻率常數(shù), 節(jié)拍常數(shù),0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00

      };

      void int0()interrupt 1

      //采用中斷0 控制節(jié)拍

      { TH0=0xd8;

      TL0=0xef;

      n--;

      }

      void delay(unsigned char m)

      //控制頻率延時(shí)

      {

      unsigned i=3*m;

      while(--i);

      }

      void delayms(unsigned char a)//豪秒延時(shí)子程序

      {

      while(--a);

      //采用while(--a)不要采用while(a--);各位可編譯一下看看匯編結(jié)果就知道了!

      }

      typedef unsigned char BYTE;typedef bit BOOL;

      sbit LCD_RS = P2^0;

      sbit LCD_RW = P2^1;sbit LCD_EP = P2^2;

      BYTE code dis1[] = {“

      WLCOME TO

      ”};BYTE code dis2[] = {“

      DanPianJi ”};BYTE code dis3[] = {“

      111iZnaiD

      ”};BYTE code dis4[] = {“

      eiXeiX ”};

      delays(int ms){

      // 延時(shí)子程序 int i;while(ms--){

      for(i = 0;i< 250;i++)

      {

      _nop_();

      _nop_();

      _nop_();

      _nop_();

      } } }

      BOOL lcd_bz(){

      // 測(cè)試LCD忙碌狀態(tài) BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result =(BOOL)(P0 & 0x80);LCD_EP = 0;return result;}

      lcd_wcmd(BYTE cmd){

      while(lcd_bz());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;

      }

      lcd_pos(BYTE pos){

      lcd_wcmd(pos | 0x80);

      // 寫(xiě)入指令數(shù)據(jù)到LCD //設(shè)定顯示位置

      }

      lcd_wdat(BYTE dat)

      {

      //寫(xiě)入字符顯示數(shù)據(jù)到LCD while(lcd_bz());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}

      lcd_init(){

      lcd_wcmd(0x38);

      delays(1);lcd_wcmd(0x0c);

      delays(1);lcd_wcmd(0x06);

      delays(1);lcd_wcmd(0x01);

      delays(1);}

      void main()

      {

      BYTE j;

      lcd_init();

      delays(10);

      //LCD初始化設(shè)定

      //16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)//顯示開(kāi),關(guān)光標(biāo) //移動(dòng)光標(biāo) //清除LCD的顯示內(nèi)容

      // 初始化LCD

      lcd_wcmd(0x06);

      //向右移動(dòng)光標(biāo)

      lcd_pos(0);

      //設(shè)置顯示位置為第一行的第1個(gè)字符

      j = 0;

      while(dis1[ j ]!= '