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

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

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

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

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

      單片機(jī)數(shù)字電壓表實(shí)習(xí)報(bào)告

      時(shí)間:2019-05-14 11:04:22下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)數(shù)字電壓表實(shí)習(xí)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)數(shù)字電壓表實(shí)習(xí)報(bào)告》。

      第一篇:?jiǎn)纹瑱C(jī)數(shù)字電壓表實(shí)習(xí)報(bào)告

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

      單片機(jī)實(shí)習(xí)報(bào)告

      課題名稱:

      數(shù)字電壓表

      業(yè): 姓

      名: 班級(jí)學(xué)號(hào):

      指導(dǎo)教師:

      劉海波

      成績(jī):

      二○一一年七月一日

      目錄

      一、題目及設(shè)計(jì)要求...............................二、實(shí)驗(yàn)內(nèi)容...........................................三、實(shí)驗(yàn)原理...........................................1、用電位計(jì)提供模擬電壓..................2、用串行A/D TLC2543采集電壓....3、串行顯示595完成LED顯示........四、設(shè)計(jì)程序:.......................................1、匯編語(yǔ)言:......................................2、C語(yǔ)言:........................................五、調(diào)試過(guò)程及測(cè)試結(jié)果.....................六、實(shí)習(xí)心得.........................................七、參考文獻(xiàn).........................................一、題目及設(shè)計(jì)要求

      1、題目:數(shù)字電壓表

      2、掌握單片機(jī)設(shè)計(jì)原理,SPI總線原理,利用A/D轉(zhuǎn)換器設(shè)計(jì)一數(shù)字電壓表,量程為0— +5.0000,通過(guò)五位數(shù)碼管顯示。

      二、實(shí)驗(yàn)內(nèi)容

      1、用電位計(jì)提供模擬電壓

      2、用串行A/D TLC2543采集電壓

      3、利用串行顯示595完成LED顯示當(dāng)前電壓值

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

      1、用電位計(jì)提供模擬電壓

      原理:電位計(jì)或稱電壓計(jì),也稱為可變電阻器,通常被制造成不管使用多久均能維持原有的特性,若當(dāng)位置傳感器使用,電位計(jì)可以是直線或旋轉(zhuǎn)式位置傳感器。電位計(jì)輸出一個(gè)電壓值,其正比于沿著可變電阻器之滑動(dòng)器的位置。因?yàn)闇囟茸兓?、磨耗及滑?dòng)器與可變電阻器之間的污垢均會(huì)造成電阻變化,影響電位計(jì)的精度,因此,電位計(jì)有太低的準(zhǔn)確度。由于材料的發(fā)展,特別是在導(dǎo)電性塑料,使得電位計(jì)在使用很長(zhǎng)時(shí)間后仍可以維持原有特性,同時(shí)也改進(jìn)它們的性能。

      2、用串行A/D TLC2543采集電壓

      原理:

      引腳圖:

      控制字格式的設(shè)置:控制字為從DATAINPUT端串行輸入的8位數(shù)據(jù),它規(guī)定了TLC2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長(zhǎng)度、輸出數(shù)據(jù)的格式。其中高4位(D7~D4)決定通道號(hào),對(duì)于0通道至10通道,該4位分別為0000~1010H,當(dāng)為1011~1101時(shí),用于

      對(duì)TLC2543的自檢,分別測(cè)試(VREF++VREF-)/

      2、VREF-、VREF+的值,當(dāng)為1110時(shí),TLC2543進(jìn)入休眠狀態(tài)。低4位決定輸出數(shù)據(jù)長(zhǎng)度及格式,其中D3、D2決定輸出數(shù)據(jù)長(zhǎng)度,01表示輸出數(shù)據(jù)長(zhǎng)度為8位,11表示輸出數(shù)據(jù)長(zhǎng)度為16位,其他為12位。D1決定輸出數(shù)據(jù)是高位先送出,還是低位先送出,為0表示高位先送出。D0決定輸出數(shù)據(jù)是單極性(二進(jìn)制)還是雙極性(2的補(bǔ)碼),若為單極性,該位為0,反之為1。

      轉(zhuǎn)換過(guò)程:上電后,片選CS必須從高到低,才能開(kāi)始一次工作周期,此時(shí)EOC為高,輸入數(shù)據(jù)寄存器被置為0,輸出數(shù)據(jù)寄存器的內(nèi)容是隨機(jī)的。開(kāi)始時(shí),CS片選為高,I/O CLOCK、DATA INPUT被禁止,DATA OUT 呈高阻狀,EOC為高。使CS變低,I/OCLOCK、DATAINPUT使能,DATAOUT脫離高阻狀態(tài)。12個(gè)時(shí)鐘信號(hào)從I/OCLOCK端依次加入,隨著時(shí)鐘信號(hào)的加入,控制字從DATAINPUT一位一位地在時(shí)鐘信號(hào)的上升沿時(shí)被送入TLC2543(高位先送入),同時(shí)上一周期轉(zhuǎn)換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從DATAOUT一位一位地移出。TLC2543收到第4個(gè)時(shí)鐘信號(hào)后,通道號(hào)也已收到,此時(shí)TLC2543開(kāi)始對(duì)選定通道的模擬量進(jìn)行采樣,并保持到第12個(gè)時(shí)鐘的下降沿。在第12個(gè)時(shí)鐘下降沿,EOC變低,開(kāi)始對(duì)本次采樣的模擬量進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間約需10μs,轉(zhuǎn)換完成后EOC變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個(gè)工作周期輸出。此后,可以進(jìn)行新的工作周期。

      TLC2543與89C52單片機(jī)接口原理圖:

      3、串行顯示595完成LED顯示

      原理:每位LED顯示器段選線和74HC595的并行輸出端相連,每一位可以獨(dú)立顯示在多位LED顯示時(shí),為了簡(jiǎn)化電路,降低成本,節(jié)省系統(tǒng)資源,將所有的N位段選碼并聯(lián)在一起,由一片74HC595控制。由于所有LED的段選碼皆由一個(gè)74HC595并行輸出口控制,因此,在每一瞬間,N位LED會(huì)顯示相同的字符。想要每位顯示不同的字符,就必須采用掃描的方法,即在每一瞬間只使用一位顯示字符。在此瞬間,74HC595并行輸出口輸出相應(yīng)字符段選碼,而位選則控制I/O口在該顯示位送入選通電平,以保證該位顯示相應(yīng)字符。如此輪流,使每位分時(shí)顯示該位應(yīng)顯示字符。由于74HC595具有鎖

      四、設(shè)計(jì)程序:

      1、匯編語(yǔ)言:

      ORG 0000H LJMP START ORG 0030H ENA EQU P1.0 ;設(shè)置引腳 ENB EQU P1.1 ENC EQU P1.2 CLK EQU P2.3 IN EQU P2.4 OUT EQU P2^5 START:CLR ENA ;選通TCL2543 CLR ENB CLR ENC

      CLR CLK NOP NOP MOV A,#34H;設(shè)置方式控制字 CLR C MOV R0,#8 LOOP:RLC A ;左大環(huán)移,按位輸入控制字 MOV IN,C SETB CLK NOP NOP CLR CLK NOP NOP DJNZ R0,LOOP

      MOV R0,#8 MOV A,#0 CLR C LOOP1:MOV C,OUT ;按位輸出轉(zhuǎn)換后的數(shù)字量 SETB CLK NOP NOP CLR CLK NOP

      1011

      _nop_();_nop_();

      for(i=0;i<8;i++)/*將轉(zhuǎn)換的8位數(shù)字量按位輸出*/ {b[i]=OUT;CLK=1;_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();} for(i=8;i>0;i--)/*數(shù)字量換算成十進(jìn)制數(shù)*/ {e=b[i-1];d=c*e+d;c=2*c;} d=d*143.5294117;for(i=0;i<5;i++)/*把十進(jìn)制數(shù)字量按位分離存入數(shù)組*/ {f[i]=d/j;g=f[i];d=d-j*g;j=j/10;} } void XS()/*顯示轉(zhuǎn)換電壓數(shù)據(jù)*/

      {int m[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x20,0x78,0x00,0x10};int n[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};uchar a,i,j,num;ENA=0;/*選通74LS595*/ ENB=1;ENC=1;for(i=4;i>0;i--)/*顯示小數(shù)部分*/ {a=f[i];/*取出數(shù)字量的第i位*/ num=n[a];/*查表轉(zhuǎn)換成對(duì)應(yīng)的LED字型顯示代碼*/ CLK=0;_nop_();_nop_();_nop_();for(j=0;j<8;j++)/*按位輸入代碼*/ { if((num&0x80)==0x00)/*判斷首位是否為1*/

      for(j=0;j<8;j++){IN=1;

      CLK=1;_nop_();_nop_();_nop_();

      CLK=0;

      _nop_();_nop_();_nop_();} _nop_();_nop_();_nop_();ENA=1;/*關(guān)閉74LS595顯示標(biāo)準(zhǔn)電壓數(shù)字量*/ ENB=1;ENC=1;_nop_();_nop_();_nop_();} void main(){ while(1){AD();/*AD轉(zhuǎn)換函數(shù)*/ XS();/*數(shù)字量顯示函數(shù)*/ } }

      五、調(diào)試過(guò)程及測(cè)試結(jié)果

      1、首先根據(jù)電路原理圖在軟件上連出電路,然后進(jìn)行電路的調(diào)試,在實(shí)際的電路中,芯片一腳接+5V的電源,另一引腳接地。

      2、現(xiàn)在將在調(diào)試過(guò)程中的問(wèn)題總結(jié):測(cè)試數(shù)碼管顯示的數(shù)據(jù)是否正確,將編好的程序?qū)戇M(jìn)單片機(jī)后,觀察數(shù)碼管,發(fā)現(xiàn)碼型顯示不正確,通過(guò)改正硬件電路,是數(shù)碼管顯示正確的數(shù)據(jù)。

      51617-

      第二篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      1602液晶顯示設(shè)計(jì)

      一、實(shí)驗(yàn)簡(jiǎn)介:

      通過(guò)學(xué)習(xí)本門(mén)課程,能夠掌握利用51單片機(jī)完成簡(jiǎn)單項(xiàng)目的應(yīng)用系統(tǒng)設(shè)計(jì)和調(diào)試,掌握單片機(jī)應(yīng)用程序的編寫(xiě)和調(diào)試過(guò)程。本次實(shí)習(xí),我的題目是用51單片機(jī)控制1602液晶顯示指定字符的設(shè)計(jì),需要分別設(shè)計(jì)系統(tǒng)的硬件電路及調(diào)試軟件程序,并能夠正確演示調(diào)試結(jié)果。

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

      1、查找資料學(xué)習(xí)單片機(jī)的LCD點(diǎn)陣顯示原理;

      2、理解KST-51的LCD點(diǎn)陣顯示電路圖;

      3、編制程序在點(diǎn)陣LCD上實(shí)現(xiàn)字母:我愛(ài)單片機(jī)繪制原理圖;

      4、完成實(shí)驗(yàn)報(bào)告的撰寫(xiě)。

      三、硬件電路:

      (一)89C52系列單片機(jī)

      89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它內(nèi)置8位中央處理單元、512字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過(guò)兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。

      1、單片機(jī)最小系統(tǒng)

      KST-51單片機(jī)開(kāi)發(fā)板

      最小系統(tǒng)是指單片機(jī)正常工作的最基本的外圍配置,主要包括時(shí)鐘電路、復(fù)位電路等。

      51單片機(jī)最小系統(tǒng)是利用XTAL1和XTAL2兩個(gè)引腳外接晶體振蕩器的內(nèi)部時(shí)鐘方式,C1和C2的作用是穩(wěn)定頻率和快速起振,典型值為30pf,晶體振蕩器的振蕩頻率典型值為6 MHZ、12 MHZ或者11.0592 MHZ,系統(tǒng)與PC通信時(shí)常采用11.0592MHZ。

      復(fù)位電路設(shè)計(jì)形式包括:上電復(fù)位、按鍵復(fù)位、和利用專業(yè)的復(fù)位芯片進(jìn)行管理,本次設(shè)計(jì)采用按鍵復(fù)位方式。

      51單片機(jī)最小系統(tǒng)

      2、單片機(jī)引腳功能

      51系列單片機(jī)有40個(gè)引腳,包括2個(gè) 電源引腳,2個(gè)外界晶振引腳,4個(gè)控制或 其他電源復(fù)用引腳,32個(gè)I/O引腳。1)主電源引腳(2根)VCC(Pin40):電源輸入,接+5V電源 GND(Pin20):接地線 2)外接晶振引腳(2根)

      XTAL1(Pin19)、XTAL2(Pin18)主要用來(lái)構(gòu)成單片機(jī)的時(shí)鐘電路。時(shí)鐘電路用來(lái)產(chǎn)生單片機(jī)工作所需的時(shí)鐘信號(hào)。時(shí)鐘信號(hào)分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。3)控制引腳(4根)

      RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。

      ALE/PROG(Pin30):地址鎖存允許信號(hào) PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)

      EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。4)輸入/輸出引腳(32根)

      P0口是一個(gè)雙功能的8位并行口,可以用做地址/數(shù)據(jù)總線,另外P0口還可以作為通用I/O口使用,此時(shí)為準(zhǔn)雙向口,且內(nèi)部無(wú)上拉電阻。

      P1口是單功能的I/O口,只能作為通用的I/O口使用,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻。

      P2口是一個(gè)雙功能口,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻,P2口功能主要有一下兩個(gè)方面:一是作為高8位地址輸出線使用時(shí),P2口可以輸出外部存儲(chǔ)器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址,可以尋址64位的地址空間;二是作為通用I/O口使用時(shí),與P1口使用方法一樣。

      P3口作為通用I/O口時(shí)使用方法與P1一樣。另外,P3口主要作為第二功能使用。

      (二)1602字符液晶

      P3口第二功能表

      字符型液晶顯示模塊是一種專門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個(gè)字符。字符液晶絕大多數(shù)是基于HD44780液晶芯片的。

      1602實(shí)物圖 1、1602LCD的特性

      ? +5V電壓,對(duì)比度可調(diào) ? 內(nèi)含復(fù)位電路

      ? 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能

      ? 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM ? 內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM ? 8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM

      2、字符型LCD1602接口 引腳2、1為1602的電源和地,引腳15、16 為背光電源,引腳4、5、6為控制端口,引腳7-14為 數(shù)據(jù)端口,以下為各個(gè)端口的詳細(xì)介紹。3、1602存儲(chǔ)器

      HD44780內(nèi)置了DDRAM(顯示數(shù)據(jù)存儲(chǔ)RAM)、CGROM(字符存儲(chǔ)ROM)和CGRAM(用戶自定義RAM)。

      DDRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下表:

      在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即0X80+0x00,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即 0X80+0x01。以此類推。

      字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如下表所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常 用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。4、1602指令表

      對(duì)DDRAM的內(nèi)容和地址操作,HD44780的指令集及其設(shè)置說(shuō)明,共有11條指令: 1)清屏指令

      功能:<1> 清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的字符碼20H;<2> 光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;<3> 將地址計(jì)數(shù)器(AC)的值設(shè)為0。

      2)光標(biāo)歸位指令

      功能:<1> 把光標(biāo)撤回到顯示器的左上方;<2> 把地址計(jì)數(shù)器(AC)的值設(shè)置為0;<3> 保持DDRAM的內(nèi)容不變 3)輸入模式設(shè)置指令

      功能:設(shè)定每次寫(xiě)入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫(xiě)入的一個(gè)字符是否移動(dòng)。參數(shù)設(shè)定的情況如下所示: 位名 設(shè)置

      I/D 0=寫(xiě)入新數(shù)據(jù)后光標(biāo)左移 1=寫(xiě)入新數(shù)據(jù)后光標(biāo)右移

      S 0=寫(xiě)入新數(shù)據(jù)后顯示屏不移動(dòng) 1=寫(xiě)入新數(shù)據(jù)后顯示屏整體右移1個(gè)字 4)顯示開(kāi)關(guān)控制指令

      功能:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。參數(shù)設(shè)定的情況如下:

      位名 設(shè)置 D 0=顯示功能關(guān) 1=顯示功能開(kāi) C 0=無(wú)光標(biāo) 1=有光標(biāo) B 0=光標(biāo)不閃爍 1=光標(biāo)閃爍 5)設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令

      功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。參數(shù)設(shè)定的情況如下: S/C R/L 設(shè)定情況

      0 0 光標(biāo)左移1格,且AC值減1 0 1 光標(biāo)右移1格,且AC值加1 1 0 顯示器上字符全部左移一格,但光標(biāo)不動(dòng) 1 1 顯示器上字符全部右移一格,但光標(biāo)不動(dòng) 6)功能設(shè)定指令

      功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。參數(shù)設(shè)定的情況如下: 位名 設(shè)置

      DL 0=數(shù)據(jù)總線為4位 1=數(shù)據(jù)總線為8位 N 0=顯示1行 1=顯示2行 F 0=5×7點(diǎn)陣/每字符 1=5×10點(diǎn)陣/每字符 7)設(shè)定CGRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。8)設(shè)定DDRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。9)讀取忙信號(hào)或AC地址指令

      功能:<1> 讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;<2> 讀取地址計(jì)數(shù)器(AC)的內(nèi)容。10)數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令

      功能:<1> 將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;<2> 將用戶自己設(shè)計(jì)的圖形存入CGRAM。11)從CGRAM或DDRAM讀出數(shù)據(jù)的指令

      功能:讀取DDRAM或CGRAM中的內(nèi)容。

      5、時(shí)序圖

      (1)讀狀態(tài) 輸入:RS=0,RW=1,E=1 讀數(shù)據(jù) 輸入:RS=1,RW=1,E=1(2)寫(xiě)指令 輸入:RS=0,RW=0,E=下降沿脈沖,DB0~DB7=指令碼 寫(xiě)數(shù)據(jù) 輸入:RS=1,RW=0,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)

      四、實(shí)習(xí)結(jié)果與討論:

      通過(guò)程序的編輯在1602型LCD上實(shí)現(xiàn)了顯示英文字符,通過(guò)本次實(shí)驗(yàn)的學(xué)習(xí)進(jìn)一步熟悉了1602型LCD,對(duì)其操作有了更多的心得體會(huì),在本次實(shí)驗(yàn)中獲益匪淺。

      五、實(shí)驗(yàn)程序: #include #include #define uchar unsigned char #define uint unsigned int

      sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;

      uchar code dis1[] = {“woai danpianji”};uchar code dis2[] = {“huizhi yuanlitu”};uchar code dis3[] = {“chen jian”};uchar code dis4[] = {“ dianzihua 1101 ”};

      void delay(int ms){ int i;while(ms--){ for(i = 0;i< 250;i++){ _nop_();_nop_();_nop_();_nop_();} } }

      bit lcd_busy(){ bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();result =(bit)(P0&0x80);LCD_EN = 0;return result;} void lcd_wcmd(uchar cmd){ while(lcd_busy());LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_wdat(uchar dat){ while(lcd_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_pos(uchar pos){ lcd_wcmd(pos|0x80);//數(shù)據(jù)指針=80+地址變量 }

      void lcd_init(){ lcd_wcmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x0c);//顯示開(kāi),關(guān)光標(biāo) delay(5);lcd_wcmd(0x06);//移動(dòng)光標(biāo) delay(5);lcd_wcmd(0x01);//清除LCD的顯示內(nèi)容 delay(5);}

      void flash(){ delay(600);//控制停留時(shí)間 lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);//延時(shí) lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);} main(){ uchar i;delay(10);lcd_init();// 初始化LCD

      while(1){ lcd_wcmd(0x06);//向右移動(dòng)光標(biāo)

      lcd_pos(0);//設(shè)置顯示位置為第一行的第1個(gè)字符 i = 0;while(dis1[i]!= '