新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > LCD顯示接口模塊的接口電路

LCD顯示接口模塊的接口電路

作者: 時間:2011-12-12 來源:網(wǎng)絡(luò) 收藏
  本設(shè)計中以PlCl6F877單片機(jī)為核心,完成對輸出驅(qū)動單元、人機(jī)交互單元、執(zhí)行機(jī)構(gòu)單元、檢測單元等部分的控制.根據(jù)設(shè)計產(chǎn)品的功能要求,各個功能的定義如下:

  · 碼盤電機(jī)的位置和方向分別由RE0和RC2控制:

  · 把手電機(jī)的位置和方向分別由RB1和RC1控制:

  · 碼盤電機(jī)光電檢測輸入到RB7口;

  · 把手電機(jī)光電檢測輸入到RBG口:

  · 蜂鳴器輸出通過RD0口;

  · 開鎖指示輸出通過RD1口;

  · 鍵盤掃描輸出為RB0~RB3;

  · 鍵盤掃描輸入為RD2、RD3、RD4、RD7口:

  · LCD串行通信通過RPD、REI、RE2、RD5實現(xiàn)。

  PICIDP877單片機(jī)在各種復(fù)位間的區(qū)別如下:

  · 上電復(fù)位(POR);

  · MCLR在正常運(yùn)行下復(fù)位:

  · MCLR復(fù)位在SLEEP期間;

  · WDT在正常運(yùn)行期間溢出復(fù)位;

  · WDT喚醒(在SLEEP期間);

  · 降壓復(fù)位。

  一些寄存器用在POR上未知,在其他任何復(fù)位時不會改變共他大多數(shù)寄存器,在運(yùn)行期間都能通過上電復(fù)位(POR),NCLR、WDf復(fù)位,在睡眠期間,NCLR復(fù)位可在BDR上復(fù)位到復(fù)位狀態(tài)。它們不受WDT喚醒的影響,因為這些復(fù)位被當(dāng)成正常運(yùn)行的繼續(xù)。TD、PD位在不同的復(fù)位狀態(tài)中被置1或清0。

  單片機(jī)在MCLR復(fù)位通道上有一個MCLR噪聲過濾器,過濾器將探測和忽略小的脈沖,然而一個有效的MCLR脈沖必須符合最小脈沖寬度。

 ?。?)上電復(fù)位(POR)。

  當(dāng)VDD被探測到上升時(在1.2~1.1V之間),產(chǎn)生一個上電復(fù)位脈沖。為了充分利用POR,把MCLR引腳連到VDD(通過一個電阻器)。這將省去通常用來產(chǎn)生上電復(fù)位的外部RC組件,需要確定VDD最大上升時間。

  當(dāng)單片機(jī)開始運(yùn)行時(退出復(fù)位條件)單片機(jī)運(yùn)行參數(shù)必須達(dá)到要求以保證運(yùn)行(如電壓、頻率、溫度),如果這些條件達(dá)不到,單片機(jī)必須一直保持復(fù)位狀態(tài)直到運(yùn)行參數(shù)達(dá)到要求,降壓復(fù)位可用來滿足啟動條件。

 ?。?)上電定時器(PWRT)。

  上電定時器在從POP上電時提供一個固定的72ms正常溢出。PWRT運(yùn)行在一個內(nèi)部的RC振蕩器上,隨著PWRT一起作用,單片機(jī)一直保持在復(fù)位狀態(tài)。PWRT的時間延時允許VDD上升到一個可接受的電平,提供一個設(shè)定位使能/不使能PWRT。

  上電時間延時隨著單片機(jī)的不同VDD、溫度以及生產(chǎn)過程的變化而不同。

 ?。?)晶體振蕩器起動定時器(OST)。

  在PWRT延時結(jié)束之后晶體振蕩器起動定時器提供一個1024個振蕩器周期的延時(從0SC1輸入),這樣保證晶體振蕩器或者諧振器開始振蕩和穩(wěn)定。

  OST溢出在XT、LP和IIS方式下,上電復(fù)位,或從睡眠中喚醒時才起作用。

 ?。?)降壓復(fù)位(B0R)。

  一個設(shè)置位BODEN能夠不使能(如果編程清0)或使能(如果置1)降壓復(fù)位電路。如果VDD下降低于4.0V,VBOR參數(shù)D005(VBOR)比在參數(shù)(TBOR)大,降壓情況將復(fù)位芯片,如果VDD下降低于4.0V,且比參數(shù)(TBOR)小,復(fù)位芯片可能不復(fù)位。

  一旦降壓發(fā)生,芯片將保持在降壓復(fù)位狀態(tài)直到VDD上升高于VBOR。采用上電定時器保持單片機(jī)在復(fù)位狀態(tài)72ms。如果在PWRT期間,當(dāng)帶有上電定時器復(fù)位的VDD上升高于VB0R時,降壓復(fù)位將重新開始。當(dāng)復(fù)位能使時,上電定時器應(yīng)該一直被使能而不管PWRT設(shè)置位的狀態(tài)。

 ?。?)溢出順序。

  在上電時,溢出順序如下:POR復(fù)位出現(xiàn)時,當(dāng)一個POR復(fù)位發(fā)生時,PWRT延遲開始。當(dāng)PWRT結(jié)束(LP,XT,HS)時,OST開始計數(shù)1204個振蕩器周期。當(dāng)OST結(jié)束時,單片機(jī)脫離復(fù)位。

  如果MCLR保持較長時間低電平,溢出將會中止。把MCLR變?yōu)楦唠娖綍r,溢出立即運(yùn)行。

 ?。?)電源控制/狀態(tài)寄存器(PCON)。

  電源控制/狀態(tài)寄存器PCON有兩位。

  位0是BOR(降壓復(fù)位狀態(tài)位),POR在上電復(fù)位時是未知的,用戶必須將該位置1。在隨后的復(fù)位上如果BOR是0,則表明發(fā)生降壓復(fù)位。BOR狀態(tài)位是隨意位,如果降壓復(fù)位電路不能使能,BOR位是不能確定的。

  位1是POR(上電復(fù)位)。在POR被清0時,其他方面不受影響。在一個POR之后,用戶必須將該位置1。在隨后的復(fù)位上如果POR是0,則表明發(fā)生POR復(fù)位。

 ?。?)中斷。

  PICl6877有10個中斷源。中斷控制寄存器(INTCON)用標(biāo)志位記錄單個中斷請求,它有單個和全體中斷使能位。

  一個全體中斷使能位GIF(INTCON<7>)使能或不使能所有的中斷。當(dāng)位GIE使能時,一個中斷標(biāo)志位和屏蔽位置1時,中斷將立即引導(dǎo)。單個中斷通過它們在各種寄存器里相應(yīng)使能位來禁止。不管GIE位的狀態(tài)如何,單個中斷都是置1的,GIE位在復(fù)位時清O。

  中斷返回指令,RETFIE將GIE位置1來重新使能中斷。RBO/INT引腳中斷,RB端口改變中斷和TMR。溢出中斷標(biāo)志都包括在INTCON寄存器里。

  外部中斷標(biāo)志包含在特殊功能寄存器PIR1和PM里,相應(yīng)的的中斷使能位包含在特殊功能寄存器PIE1和PIE2里,外部中斷使能位包含在特殊功能寄存器INTCON里。不管和它們相關(guān)的屏蔽位和GIF,位的狀態(tài)如何,單個中斷標(biāo)志位置1。

  (8)INT中斷。

  在引腳RBO/INT引腳上的外部中斷為邊沿觸發(fā)。INteDG位(OPTION (6))置1時為上升沿觸發(fā):如果INTEDG位是清0的,則為下降沿觸發(fā)。當(dāng)在RBO/INT引腳上出現(xiàn)一個有效邊沿時,標(biāo)志位INTF (INTCON(1))被置1。

 ?。?)TMR0中斷。

  在TMR0寄存器里的一個溢出(FFH~OOH)將標(biāo)志位TOIF(INTCON<2>)置1。通過對使能位TOIE(INTCON<5>)置1或清0來決定中斷使能或不使能。

 ?。?0)端口B變化中斷

  一個在PORTB<7∶4>的輸入變化將標(biāo)志位RBIF(INTCON(0))置1,通過對使能位RBIF(INTCON(4>)置1或清0,來決定中斷使能或不使能。

  (11)在中斷期間上下內(nèi)容的保存。

  在一個中斷期間,只有返回程序計數(shù)的值被保存在堆棧里。其中典型的是用戶希望在一個中斷期間保存的關(guān)鍵寄存器,即工作寄存器和狀態(tài)寄存器,這將由軟件來實現(xiàn)。

  在PICl6F876M77單片機(jī)里每個塊的高16位字節(jié)是公用的,臨時保存寄存器W-TEMP、STATUS-TEMP和PLATH-TEMP存放在這里。這16個存儲單元不要求分塊,使存儲和重新存儲內(nèi)容較容易。

  (12)監(jiān)視定時器(WDT)。

  監(jiān)視定時器是一個自由運(yùn)行的片內(nèi)專用振蕩器,它不需要任何外部組件。這個RC振蕩器和OSC1/CLKIN引腳的外部RC振蕩器是分離的。這就意味著即使在單片機(jī)的OSCI/CLKIN和OSC2/CLKOUT引腳上的時鐘已停止的情況下,WDT仍能運(yùn)行。例如,通過執(zhí)行一條Sleep指令。

  在正常運(yùn)行期間,一個WDT溢出將使單片機(jī)復(fù)位(EDT復(fù)位)。如果單片機(jī)在睡眠方式,一個WDT溢出將使單片機(jī)喚醒和恢復(fù)正常運(yùn)行(WDT喚醒)。在STATUS寄存器里的TO位通過MDI溢出將被清0。

  通過編程設(shè)定WDT位為0,使WDT永久不能使用。

  當(dāng)把預(yù)分頻器分配給WDT時,預(yù)分頻器分配和預(yù)分頻器值在OPTIONˉRFC寄存器里是置1的。

  在串行模式下,使用兩條傳輸線進(jìn)行數(shù)據(jù)傳送,主控系統(tǒng)將配合傳輸同步時鐘(SCLK)與接收串行數(shù)據(jù)線(SID)來完成串行傳輸。

  在片選CS設(shè)為高電位時,同步時鐘(SCLK)輸入的信號才會被接收,在片選CS設(shè)為低電位時。模塊內(nèi)部傳輸串行傳輸計數(shù)與串行數(shù)據(jù)將會被重置,傳輸中的數(shù)據(jù)將會被終止、清除,并將待傳輸?shù)臄?shù)據(jù)重設(shè)回第一位,設(shè)計中將CS設(shè)為高電位。

  模塊的同步時鐘(SCLK)具有獨立的操作,因為其內(nèi)部沒有傳送/接收緩沖區(qū),因此,當(dāng)有連續(xù)多個指令需傳送時,必須等到一個指令執(zhí)行完成才能傳送下一個指令。

  串行傳輸時先傳起始位,它需要接收5個連續(xù)的“t”(同步位串),此時傳輸記數(shù)器將被重置,串行傳輸將被同步,傳輸?shù)牡诙环謩e指向傳輸方向位RW不口暫存器選擇位RS,最后8位為“0”。

  在接收到起始位后,每個指令或者數(shù)據(jù)將分兩組接收,高4位將會被放到第1個LSB中,低4位將會被放到另1個LSB中,其余都為“0”。

  串行接口時序如圖1所示。

  圖1 串行接口時序

  該液晶顯示模塊采用SPI串行方式與單片機(jī)進(jìn)行通信,液晶模塊中的控制芯片將配合傳輸同步時鐘SCLK與串行數(shù)據(jù)線SID來完成串行傳輸。當(dāng)片選信號CS為高電平時,同步時鐘線SCLK輸入信號開始被接收;當(dāng)CS為低電平時,傳輸中的信號將被終止、清除。

  在本系統(tǒng)中,CS與單片機(jī)復(fù)位端相連,即系統(tǒng)復(fù)位時液晶顯示模塊也同時復(fù)位,接口設(shè)計如圖2所示。

  圖2 接口設(shè)計圖

分頻器相關(guān)文章:分頻器原理
蜂鳴器相關(guān)文章:蜂鳴器原理


關(guān)鍵詞: LCD顯示接口 接口電路

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉