本發(fā)明屬于電力技術(shù)領(lǐng)域,具體涉及一種低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)。
背景技術(shù):
現(xiàn)代通信技術(shù)非常發(fā)達(dá)的同時(shí)也存在著許多安全隱患。其中,通過電力線傳輸信息的方式來竊取機(jī)密信息成為了信息泄漏的一種途徑。具體情景有三種,第一種是竊取者在電源線的任意位置安裝竊取裝置,可以非常容易地獲得信息,這種方式普遍用于竊取電力線載波上網(wǎng)中的信息;第二種是通過事先在用電設(shè)備中安裝好電力線載波通信芯片,一些不法分子就可以竊取到保密信息,如用來竊取一些企業(yè)的重要資料,從而破壞相關(guān)企業(yè)的生產(chǎn)能力;第三種是有些網(wǎng)絡(luò)設(shè)備,例如路由器、交換機(jī)、電力貓等都有可能通過電源線輻射,泄漏比較重要的信息。所以,對(duì)電力線載波信號(hào)的檢測(cè)非常重要,若發(fā)現(xiàn)電力線上有異常信號(hào),則需提高警惕,防止自身、公司、黨政機(jī)關(guān)、國家的敏感信息泄漏。因此,需要一種究低壓配電網(wǎng)載波信號(hào)的檢測(cè)方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng),首先通過載波提取,即載波同步的方式,把載波信號(hào)提取出來,然后測(cè)量載波信號(hào)的頻率。
本發(fā)明提供了一種低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng),其特征在于,包括:降壓電路、放大電路、整形電路、分頻電路、主控模塊及液晶顯示模塊;所述降壓電路與所述放大電路連接,所述放大電路與所述整形電路連接,所述整形電路與所述分頻電路連接,所述分頻電路與所述主控模塊連接,所述主控模塊與所述液晶顯示模塊及整形電路連接。
進(jìn)一步地,所述降壓電路用于將220v交流電轉(zhuǎn)換為5v直流電。
進(jìn)一步地,所述放大電路為一級(jí)阻容耦合共射放大電路,用于對(duì)傳輸?shù)男⌒盘?hào)進(jìn)行放大處理。
進(jìn)一步地,所述整形電路采用施密特整形電路。
進(jìn)一步地,所述分頻電路采用分頻計(jì)數(shù)器,用于當(dāng)信號(hào)頻率高于300khz時(shí),計(jì)算分頻后的頻率,否則計(jì)算分頻前的頻率。
進(jìn)一步地,所述主控模塊,用于檢測(cè)外部電路的脈沖個(gè)數(shù),并通過所述液晶顯示模塊進(jìn)行顯示。
進(jìn)一步地,所述液晶顯示模塊每行呈現(xiàn)16個(gè)點(diǎn)陣字符。
與現(xiàn)有技術(shù)相比本發(fā)明的有益效果是:通過降壓、放大、整形、分頻電路,一起完成頻率測(cè)量、參數(shù)呈現(xiàn)等功能,實(shí)現(xiàn)了對(duì)載波信號(hào)頻率進(jìn)行檢測(cè)。
附圖說明
圖1是本發(fā)明低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)一實(shí)施例的結(jié)構(gòu)框圖;
圖2是本發(fā)明低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)高壓分壓電路的電路圖;
圖3是本發(fā)明低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)低壓穩(wěn)壓電路的電路圖;
圖4是本發(fā)明低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)三極管放大電路的電路圖;
圖5是本發(fā)明低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng)分頻電路圖的電路圖。
具體實(shí)施方式
下面結(jié)合附圖所示的各實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明,但應(yīng)當(dāng)說明的是,這些實(shí)施方式并非對(duì)本發(fā)明的限制,本領(lǐng)域普通技術(shù)人員根據(jù)這些實(shí)施方式所作的功能、方法、或者結(jié)構(gòu)上的等效變換或替代,均屬于本發(fā)明的保護(hù)范圍之內(nèi)。
參圖1至5所示,本實(shí)施例提供了一種低壓配電網(wǎng)載波信號(hào)檢測(cè)系統(tǒng),該系統(tǒng)以單片機(jī)為主控核心,配合前端電路,包括降壓、放大、整形、分頻電路,一起完成頻率測(cè)量、參數(shù)呈現(xiàn)等功能,起到了對(duì)載波信號(hào)頻率進(jìn)行檢測(cè)的作用。
下面對(duì)該系統(tǒng)的各組成部分進(jìn)行詳細(xì)說明:
主控模塊
在整個(gè)頻率檢測(cè)系統(tǒng)中主控模塊起著協(xié)調(diào)主導(dǎo)的功能,是必不可少的模塊。主控模塊通過檢測(cè)外部電路的脈沖個(gè)數(shù),用lcd1602來顯示測(cè)量出的載波頻率。本實(shí)施例使用了stc89c52rcmcu作為頻率檢測(cè)系統(tǒng)的核心,它以mcs-51為內(nèi)核。選用該單片機(jī)最主要的原因是該單片機(jī)具有在系統(tǒng)可編程功能,可以不用專門的下載器,只需要通過單片機(jī)的串口就能燒寫程序,非常方便,也利于開發(fā)。
89c52的指令程序可以兼容之前的51mcu,但是它的運(yùn)行速率高,功耗非常小,抗干擾的性能也很不錯(cuò)。具有兩個(gè)時(shí)鐘周期,用戶可以根據(jù)自身的需要來選擇十二時(shí)鐘還是六時(shí)鐘,非常便捷。
本實(shí)施例采用pdip40的hd版本,具有4個(gè)i/0口p0、p1、p2、p3,其他有很多管腳和控制信號(hào)共用管腳。下面就各引腳進(jìn)行說明。
p0.0~p0.7:p0口即可以當(dāng)作數(shù)據(jù)口用,也可以當(dāng)作i/o口使用,因?yàn)槠鋬?nèi)部沒有上拉電阻,所以當(dāng)作i/o口使用時(shí),要外接電阻。
p1.0~p1.7:p1端口所具有的輸出緩沖器能夠使四個(gè)ttl進(jìn)行輸入,它能傳送八位數(shù)據(jù),并且是可以雙向通信的端口。如果要用p1端口作為輸入的話,首先代碼里要把p1端口置1,這時(shí)候在硬件中芯片內(nèi)部的上拉電阻會(huì)把p1端口的電位拉高,如果此時(shí)p1端口的某些管腳受外部電路的影響被拉低的話,有上拉電阻存在管腳就會(huì)產(chǎn)生電流。
p2.0~p2.7:它也是一個(gè)八位數(shù)據(jù)口,同時(shí)可以用來當(dāng)作高八位地址總線端口,既可以當(dāng)作輸入/輸出口,還可以進(jìn)行雙向通信。作為地址總線使用時(shí),傳送信息到外部存儲(chǔ)器或者存儲(chǔ)器向其輸入信息時(shí),p2端口就會(huì)傳輸高8位的地址。
p3.0~p3.7:它也是一個(gè)八位數(shù)據(jù)口,并且是可以進(jìn)行雙向通信的端口,p3端口所具有的輸出緩沖器能夠使四個(gè)ttl進(jìn)行輸入。如果要用p3端口作為輸入的話,首先代碼里要把p3端口置1,這時(shí)候在硬件中芯片內(nèi)部的上拉電阻會(huì)把p3端口的電位拉高,如果此時(shí)p3端口的某些管腳受外部電路的影響被拉低的話,有上拉電阻存在管腳就會(huì)產(chǎn)生電流。通常情況下p3口除了當(dāng)作一般i/0口使用外,還具有其它的復(fù)用功能。
電源和時(shí)鐘引腳。vcc是電源正極,為單片機(jī)提供工作電壓。gnd是電源負(fù)極與地線相連。xtal1:有兩種接法,一種是用作片內(nèi)振蕩器,另一個(gè)是外接時(shí)鐘源。本文采用的是第一種方法,在該管腳處外接了一個(gè)12mhz的外部晶振和微調(diào)電容。xtal2:和xtal1管腳類似也有兩種接法,但是在第一種接法時(shí)它是輸出端,第二種接法本管腳懸空即可。rst:復(fù)位輸出。對(duì)單片機(jī)進(jìn)行硬件復(fù)位,內(nèi)部寄存器的設(shè)置都恢復(fù)到默認(rèn)值,使程序從最初的狀態(tài)運(yùn)行。
89c52mcu由mcu、時(shí)鐘振蕩、硬件復(fù)位電路組成,時(shí)鐘電路選擇12mhz的晶體振蕩器,以給mcu提供一個(gè)工作時(shí)鐘,其中一條基本指令的運(yùn)行時(shí)間為一個(gè)機(jī)器周期。按下復(fù)位鍵后,mcu的硬件復(fù)位電路允許單片機(jī)進(jìn)入剛通電的初始設(shè)置。因?yàn)槠渌膇/o端口與p0口的結(jié)構(gòu)不一樣,p0口為漏極開路結(jié)構(gòu),所以,在圖中p0口需要連接電阻,一般為10k,這樣p0口才能正常工作。
lcd液晶顯示器
在頻率檢測(cè)系統(tǒng)中,需要顯示載波信號(hào)頻率的相關(guān)信息,這就需要使用小型顯示模塊,lcd液晶顯示器是一種低功耗的顯示模塊。
液晶模塊
本實(shí)施例中的液晶每行可呈現(xiàn)16個(gè)點(diǎn)陣字符,全部可呈現(xiàn)兩行。1602點(diǎn)陣字符lcd,它可以顯示數(shù)字、字母、符號(hào),若是在代碼中人為定義漢字,可以以點(diǎn)陣形式顯示漢字。hd44780為lcd1602液晶顯示模塊的控制器。其中有許多寄存器,如指令寄存器和數(shù)據(jù)寄存器,忙標(biāo)志(bf),顯示數(shù)ram,字符發(fā)生器roma字符發(fā)生器ram,地址計(jì)數(shù)器ram(ac)。
降壓電路
本系統(tǒng)需要測(cè)量電力線上的載波信號(hào)頻率,因?yàn)橐话忝裼媒涣麟婋妷憾紴?20v比較高,而系統(tǒng)所用到的元器件的工作電壓基本為5v左右,為了不使其它電路和芯片被燒壞,就必須先設(shè)計(jì)一個(gè)降壓電路,把220v交流電的電壓降到5v左右,保護(hù)后面的電路安全工作。
參圖2所示的高壓分壓電路,發(fā)端采用200v的正弦信號(hào),經(jīng)過r1和r2兩個(gè)電阻的分壓,輸出端的電壓值為發(fā)端的十分之一。所以,經(jīng)過圖2的電路后,輸出端的電壓為20v。c3、c1的主要作用是為了防止信號(hào)發(fā)生相位偏移,滿足r1*c3=r2*c1即可。c3、c1為瓷片電容,一般瓷片電容的耐壓值分為50v、100v、500v,盡量選擇耐壓值高的電容使用,這樣電容不容易被高壓燒壞。經(jīng)過分壓后,還需要再進(jìn)行進(jìn)一步的穩(wěn)壓操作來確保電壓穩(wěn)定在5v左右。
參圖3所示的低壓穩(wěn)壓電路,電路的接收端當(dāng)作圖3電路的發(fā)送端,這里使用1n4733穩(wěn)壓二極管將接收端的電壓值穩(wěn)定在5v左右,該元件的穩(wěn)定電壓為5.1v,沖擊電流為890ma,最大調(diào)解電流為178ma。最大反向漏電流:穩(wěn)壓二極管兩端的電壓反向時(shí),會(huì)有微小的電流生成。最大調(diào)節(jié)電流:又叫做最大工作電流,也是最大反向擊穿電流。
假設(shè)輸入電壓u1=20v,電阻r1能承受的功率為0.25w,則i=0.25/20=0.0125a。而且i=12.5ma<178ma(穩(wěn)壓管反向沖擊電流),所以二極管正常工作。這樣一來,接收端的電壓就可以穩(wěn)定在5v左右,降壓電路的平穩(wěn)性也得到了提升。
三極管放大電路
當(dāng)輸入信號(hào)的幅度較小時(shí),單片機(jī)沒有辦法分清楚哪些是高電平哪些是低電平,這樣就不利于載波信號(hào)頻率的測(cè)量。所以,要對(duì)一些小信號(hào)進(jìn)行放大處理,本篇文章所采用的是以三極管2sc3733硅管為核心,設(shè)計(jì)出一級(jí)阻容耦合共射放大電路,滿足放大條件,對(duì)傳輸?shù)男⌒盘?hào)進(jìn)行放大處理。
參圖4所示的三極管放大電路,電路中的r1和r2是必不可少的,r1和r2的取值與vcc相配合,才能得到合適的基極電流ibq,這樣基極才能進(jìn)行合適的偏置。合理地選取r3、r4,才能得到合適的管壓降uceq?;鶚O電壓可以由式3-1求得
由于硅管三極管的基極(b)和發(fā)射極(e)間的壓降是0.7v,因此發(fā)射級(jí)的電壓可以由式(3-2)求得:
ueq=ubq-0.7=0.55v(2)
由于icq=ieq,
因?yàn)檩d波信號(hào)是交流信號(hào),所以電路中必須阻止直流信號(hào)通過。c1電容的作用就是隔絕直流信號(hào),使通過放大電路的僅為交流信號(hào)。為了提高檢測(cè)微小信號(hào)的能力,與發(fā)射極相連的電阻可以并聯(lián)一個(gè)旁路電容(c2),能提高三極管放大電路的放大倍數(shù)(au),可以由式3-3求得。
其中rbe是晶體管的交流輸入電阻(動(dòng)態(tài)),由三部分組成,基區(qū)體電阻rbb′、發(fā)射結(jié)電阻rb′e′和發(fā)射區(qū)體電阻re。rbb′數(shù)值較大,對(duì)于小功率管,多在十幾歐到幾百歐。由于發(fā)射區(qū)多數(shù)載流子濃度很高re數(shù)值很小,只有幾歐,與rbb′和rb′e相比可以忽略不計(jì)。從上面的式子中能夠得出,au還和三極管的電流放大系數(shù)β有關(guān),所以最后電路的au會(huì)有所限制。放大電路只需要把載波信號(hào)進(jìn)行放大處理,使其能順利通過整形電路就可以了,所以放大電路輸出的波形即使出現(xiàn)了截止或者飽和失真,對(duì)整形電路的影響都非常小,放大倍數(shù)也可以不是很精確。
整形模塊
施密特觸發(fā)器芯片
施密特觸發(fā)器(schmitttrigger)是波形變換中使用較多的電路,它有兩個(gè)平穩(wěn)的狀態(tài),但是它和通常所說的觸發(fā)器不是同一類電路。它采用電位觸發(fā)的方式,可以將輸入的不規(guī)則的波形整形為矩形波再輸出。
74hc14兼容jedec標(biāo)準(zhǔn)no.8-1a,它常應(yīng)用于波形、脈沖整形,非穩(wěn)態(tài)多諧振蕩器和單穩(wěn)態(tài)多諧振蕩器等,它的邏輯電平為cmos電平,共有14個(gè)引腳,采用dip封裝。從芯片引腳圖可以看出,該芯片共有六個(gè)相互分離的反相schmitttrigger。放大電路輸出的波形由引腳1輸入,最后從引腳6輸出,中間將2、3引腳,4、5引腳連接起來,這樣一共用了3個(gè)反相施密特觸發(fā)器,來保證整形效果的穩(wěn)定性與可靠性。
74hc14電路
從放大電路輸出的信號(hào)有可能出現(xiàn)截止失真與飽和失真,上升沿不夠平滑,下降沿過于陡峭等問題。所以需要對(duì)放大電路輸出的信號(hào)進(jìn)行整形,這里采用74hc14對(duì)輸入的信號(hào)進(jìn)行波形整形,這樣可以使單片機(jī)更好的識(shí)別數(shù)字信號(hào),便于檢測(cè)載波信號(hào)頻率。給芯片供電的為5v電壓,是芯片的典型電源電壓,這時(shí)的整形效果比較穩(wěn)定。
分頻模塊
分頻電路通常都采用計(jì)數(shù)器通過計(jì)數(shù)來實(shí)現(xiàn),一般使用的芯片有4位2進(jìn)制計(jì)數(shù)器74hc161,單時(shí)鐘計(jì)數(shù)器74ls191,還有雙2-5-10進(jìn)制計(jì)數(shù)器74hc390,由于74hc390引腳識(shí)別信號(hào)脈沖較高,所以本次設(shè)計(jì)中選擇74hc390作為分頻計(jì)數(shù)器。
74hc390分頻電路
單片機(jī)都是在時(shí)鐘的控制下進(jìn)行工作的,通常情況下可分為三種周期。時(shí)鐘周期為時(shí)鐘脈沖的倒數(shù),是單片機(jī)最基本最小的時(shí)間單位,本實(shí)施例所用的晶振為12mhz,所以時(shí)鐘周期就為1/12us。機(jī)器周期是進(jìn)行一個(gè)基本指令所需要的時(shí)間,在stc89c52中1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期組成,而1個(gè)狀態(tài)周期是時(shí)鐘周期的兩倍,所以在stc89c52中1個(gè)機(jī)器周期為1us。當(dāng)載波信號(hào)頻率高于系統(tǒng)主頻時(shí),單片機(jī)就沒有辦法精確地測(cè)量出信號(hào)頻率。這時(shí)候就需要對(duì)高頻信號(hào)進(jìn)行分頻,以此來提高頻率檢測(cè)的范圍,本實(shí)施例設(shè)計(jì)了一個(gè)100進(jìn)制計(jì)數(shù)器,對(duì)輸入信號(hào)進(jìn)行100分頻。當(dāng)信號(hào)頻率高于300khz時(shí),就計(jì)算分頻后的頻率,否則就計(jì)算分頻前的頻率,這樣可以提高測(cè)量的精度,擴(kuò)大量程,最終把計(jì)算出的信號(hào)頻率在lcd1602上顯示出來。
如圖5所示的分頻電路圖,該電路由兩組2-5-10進(jìn)制的計(jì)數(shù)器所構(gòu)成的,每組計(jì)數(shù)器中都有兩個(gè)計(jì)數(shù)器,所以芯片里總共有四個(gè)。一個(gè)1位的2進(jìn)制計(jì)數(shù)器和一個(gè)5進(jìn)制計(jì)數(shù)器組成一組。a,b為時(shí)鐘脈沖的輸入,下降沿觸發(fā),有四位計(jì)數(shù)輸出。本實(shí)施例先把兩組計(jì)數(shù)器各自分別連接為十進(jìn)制計(jì)數(shù)器,然后再把兩組計(jì)數(shù)器連接為一個(gè)100進(jìn)制計(jì)數(shù)器。組成10進(jìn)制計(jì)數(shù)器的方法有兩種,第一種是構(gòu)成8421bcd碼十進(jìn)制計(jì)數(shù)器,將一位2進(jìn)制計(jì)數(shù)器的輸出qa連接到5進(jìn)制計(jì)數(shù)器的信號(hào)輸入b,a為時(shí)鐘脈沖的輸入,有四位計(jì)數(shù)輸出,qd是最高位;第二種是構(gòu)成5421bcd碼十進(jìn)制計(jì)數(shù)器,把5進(jìn)制計(jì)數(shù)器的輸出qd連接到2進(jìn)制計(jì)數(shù)器的信號(hào)輸入a,b為時(shí)鐘脈沖的輸入,有四位計(jì)數(shù)輸出,qa是最高位。本篇文章采用的是第二種方式,因?yàn)榈诙N方式的最高位qa的輸出信號(hào)就是對(duì)輸入信號(hào)進(jìn)行10分頻之后的信號(hào)。
該系統(tǒng)程序設(shè)計(jì)主要用了單片機(jī)的三個(gè)定時(shí)/計(jì)數(shù)器,計(jì)數(shù)器0對(duì)分頻前的信號(hào)進(jìn)行脈沖計(jì)數(shù),計(jì)數(shù)器1對(duì)分頻后的信號(hào)進(jìn)行脈沖計(jì)數(shù),定時(shí)器2用來進(jìn)行1s定時(shí),1s內(nèi)的脈沖個(gè)數(shù),就是載波信號(hào)的頻率。
首先對(duì)定時(shí)/計(jì)數(shù)器進(jìn)行初始化設(shè)置,將定時(shí)/計(jì)數(shù)器的相關(guān)寄存器進(jìn)行配置來完成相關(guān)操作。設(shè)置定時(shí)/計(jì)數(shù)器0、定時(shí)/計(jì)數(shù)器1的工作模式為計(jì)數(shù)模式,這種模式下,單片機(jī)t0、t1口可以對(duì)外部信號(hào)的脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)器0、計(jì)數(shù)器1的初值設(shè)為0,每檢測(cè)到一個(gè)脈沖,初值就加一。計(jì)數(shù)器0、計(jì)數(shù)器1有四種工作方式,每種工作方式下的計(jì)數(shù)位數(shù)不同,所以最大計(jì)數(shù)值(量程m)也不同。方式0:13位計(jì)數(shù),m=213=8192;方式1:16位計(jì)數(shù),m=216=65536;方式2:8位計(jì)數(shù),m=28=256;方式3:t0計(jì)數(shù)器會(huì)被分為兩個(gè)八位的計(jì)數(shù)器,m均為256,t1則會(huì)不再進(jìn)行計(jì)數(shù)。本實(shí)施例采用的是方式2,因?yàn)樵诖朔绞较孪到y(tǒng)具有自動(dòng)重裝計(jì)數(shù)初值功能,可省去軟件中重裝初值的程序,并可產(chǎn)生相當(dāng)精度的計(jì)數(shù)次數(shù)。
在計(jì)數(shù)器0,計(jì)數(shù)器1的中斷程序中實(shí)現(xiàn)變量的自加一(計(jì)數(shù)器0中變量為count0,計(jì)數(shù)器1中變量為count1),每當(dāng)計(jì)數(shù)初值達(dá)到最大值時(shí),程序就會(huì)進(jìn)入計(jì)數(shù)器0、計(jì)數(shù)器1的中斷程序,同時(shí)計(jì)數(shù)初值自動(dòng)重裝。
t2的工作方式有三種,分別是自動(dòng)重裝初值的十六位定時(shí)/計(jì)數(shù)器、捕獲事件和波特率發(fā)生器,本實(shí)施例設(shè)置t2為定時(shí)器,初值是計(jì)數(shù)寄存器中的值,采用自動(dòng)重裝方式,t2自動(dòng)設(shè)置為向上計(jì)數(shù),計(jì)數(shù)至最大值(65536)時(shí)則會(huì)溢出,程序此時(shí)將進(jìn)入定時(shí)器2的中斷程序,同時(shí)將16位計(jì)數(shù)寄存器rcap2h和rcap2l中的值重新寫入到th2與tl2中。本實(shí)施例在程序中設(shè)置了rcap2h=(65536-62500)/256,rcap2l=(65536-62500)%256,這樣程序每隔62.5ms進(jìn)入定時(shí)器2的中斷程序。在定時(shí)器2的中斷程序中,設(shè)置一個(gè)變量自加一,當(dāng)變量等于16時(shí),也就是過了16*62.5=1000ms=1s后,開始計(jì)算信號(hào)的頻率。分頻前的頻率為fre=count0*256+tl0,分頻后的頻率為fre=count1*256+tl1,因?yàn)榻涣麟姷念l率就是50hz,如果電力線上有其它的載波信號(hào),則頻率就會(huì)大于50hz,所以在程序中,設(shè)定當(dāng)載波信號(hào)頻率大于50hz時(shí),蜂鳴器就報(bào)警。
要用lcd1602進(jìn)行相關(guān)參數(shù)顯示的話,需要根據(jù)它的命令集編寫相關(guān)函數(shù),來完成顯示的目的。硬件連接上,lcd1602的片選信號(hào)rs與mcu的p1.0口相連,讀寫信號(hào)rw與p1.1口相連,使能信號(hào)en連接p1.2口,數(shù)據(jù)信號(hào)db連接p0口。然后要對(duì)lcd1602進(jìn)行初始化設(shè)置,首先發(fā)送三遍0x38指令,設(shè)置八位數(shù)據(jù)接口,兩行進(jìn)行顯示,5*7點(diǎn)陣;發(fā)送0x0c指令,顯示開,光標(biāo)關(guān),閃爍關(guān);發(fā)送0x06指令,數(shù)據(jù)讀、寫操作后,ac自動(dòng)加一,畫面不動(dòng);發(fā)送0x01指令,清除ddram和ac值,光標(biāo)復(fù)位清屏;進(jìn)行延時(shí),至此初始化完畢。
寫指令函數(shù),通過設(shè)置mcup0口管腳的高低電平,向lcd數(shù)據(jù)口傳遞指令,傳遞命令時(shí)rs=0,rw=0,en先拉高后拉低,下降沿時(shí)寫入命令。寫數(shù)據(jù)時(shí)rs=1,其它與寫指令的設(shè)置相同。
顯示字符函數(shù),在lcd液晶顯示器的第一行顯示時(shí),地址為0x80+x(x為第幾列),第二行顯示時(shí),地址是0xc0+x,然后先用寫指令函數(shù)發(fā)送地址,再用寫數(shù)據(jù)函數(shù)發(fā)送需要寫入的信息。顯示數(shù)字時(shí),只需要在調(diào)用的寫數(shù)據(jù)函數(shù)的參數(shù)中把要顯示的數(shù)據(jù)加上48即可,因?yàn)閘cd上顯示的是字符,所以要把數(shù)字轉(zhuǎn)換為對(duì)應(yīng)的ascii。lcd液晶屏上字符的呈現(xiàn)位置與ddram的地址相對(duì)應(yīng),第1行第1列的地址為0x00h,以后每列加一,第二行第一列地址為0x40h,以后每列加一。因?yàn)樵O(shè)定ddram地址指令時(shí),最高位db7=1,所以在發(fā)送地址時(shí),第一行要加上0x00h+0x08h=0x08h,第二行要加上0x40h+0x08h=0xc0h。
上文所列出的一系列的詳細(xì)說明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。