專(zhuān)利名稱(chēng):空調(diào)顯示屏顯示頻率的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及空調(diào)顯示屏顯示頻率的控制方法,具體的說(shuō)是控制LED矩陣刷新頻率的方法。
背景技術(shù):
目前,在家用電器特別是空調(diào)器上,普遍采用IXD (液晶)或者LED (發(fā)光二極管) 作為顯示屏,以顯示有關(guān)控制參數(shù)和運(yùn)行參數(shù)。由于IXD本身不會(huì)發(fā)光,所以必須使用背光源照亮畫(huà)面,在某些場(chǎng)合,其亮度就不能達(dá)到用戶(hù)需要,而且IXD控制器需要專(zhuān)用芯片進(jìn)行控制,或者需要MCU自身帶有專(zhuān)用控制電路,要求較高;LED顯示屏本身能夠發(fā)光,能克服上述LCD屏的缺點(diǎn)和不足,亮度可以自由調(diào)節(jié),顯示畫(huà)面和顏色可以任意組合。為了節(jié)省產(chǎn)品成本,一般用低價(jià)位的MCU (微處理器)作為控制芯片,由于這類(lèi)MCU管腳比較少,需用多片如SN74HC595等型號(hào)的串并轉(zhuǎn)換芯片以級(jí)聯(lián)的方式進(jìn)行端口擴(kuò)展。雖然LED不需要專(zhuān)用芯片進(jìn)行控制,但是由于采用串行數(shù)據(jù)傳輸,就要求MCU必須具有很高的運(yùn)行速度,否則,很難實(shí)現(xiàn)顯示屏的穩(wěn)定顯示。在空調(diào)顯示屏的nXm維LED矩陣中,行數(shù)據(jù)線(xiàn)分別連接每個(gè)LED的負(fù)極,列數(shù)據(jù)線(xiàn)分別連接每個(gè)LED的正極,對(duì)所述LED矩陣進(jìn)行掃描的方式可以分為行掃描方式、列掃描方式和全掃描。其特點(diǎn)是行掃描方式逐行輸出低電平,需要點(diǎn)亮的LED所在的列,則輸出高電平,其它列輸出低電平。即對(duì)需點(diǎn)亮的LED來(lái)說(shuō),在LED負(fù)極輸入低電平,而在LED正極輸入高電平。 除掃描到的行以外,其它行均輸出高電平,這種掃描方式每次可以使掃描到的行上的m個(gè) LED全部被點(diǎn)亮。列掃描方式逐列輸出高電平,需要點(diǎn)亮的LED所在的行,則輸出低電平,其它行輸出高電平。除掃描到的列以外,其它列均輸出低電平,這種掃描方式每次可以使掃描到的列上的η個(gè)LED全部被點(diǎn)亮。全掃描對(duì)每個(gè)LED進(jìn)行掃描,每一時(shí)刻只有1個(gè)LED被點(diǎn)亮。從第1行開(kāi)始每一次輸出一行為低電平,其它各行為高電平,同時(shí)從第一列開(kāi)始掃描每一列,當(dāng)遇到所在列的 LED燈需要點(diǎn)亮?xí)r,該列輸出高電平,否則輸出低電平,其它列均輸出低電平??梢?jiàn),掃描到的行與掃描到的列之交叉處對(duì)應(yīng)的LED燈被選中,可以被點(diǎn)亮。間隔一定的時(shí)間后,再掃描到下一列,當(dāng)所有列掃描完后,再掃描到下一行,按同樣的方式再次掃描每一列。當(dāng)所有行掃描完后,再?gòu)牡?行開(kāi)始按同樣的方式掃描。這種掃描方式,需要消耗額外的MCU時(shí)間。以?xún)善⑥D(zhuǎn)換芯片以級(jí)聯(lián)的方式擴(kuò)展MCU的I/O 口的電路結(jié)構(gòu)為例,其中一片串并轉(zhuǎn)換芯片控制nXm維的LED矩陣的行掃描,另一片串并轉(zhuǎn)換芯片控制LED矩陣的列掃描。在每片串并轉(zhuǎn)換芯片上具有移位脈沖輸入端(SRCLK),串行數(shù)據(jù)輸入端(Si), 信號(hào)鎖存輸入端(RCLK)。其掃描時(shí)序是在控制掃描的定時(shí)中斷發(fā)生后,在對(duì)應(yīng)的中斷程序中,每次僅輸出一個(gè)移位脈沖的低電平或高電平(每個(gè)移位脈沖由一個(gè)低電平與一個(gè)高電平組成),當(dāng)累計(jì)輸出n+m個(gè)移位脈沖后,在信號(hào)鎖存的上升沿控制下,第一串并轉(zhuǎn)換芯片將從串行數(shù)據(jù)輸入端輸入的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后鎖存,并行數(shù)據(jù)通過(guò)第一串并轉(zhuǎn)換芯片的管腳傳輸?shù)降诙⑥D(zhuǎn)換芯片的串行數(shù)據(jù)輸入管腳,控制LED矩陣的顯示。當(dāng)采用列掃描時(shí),由于要對(duì)每個(gè)串行數(shù)據(jù)進(jìn)行移位操作,移位脈沖輸入端需要輸出一定寬度的低電平與高電平的信號(hào)波形,并且需要分別在同一個(gè)定時(shí)器的兩次中斷來(lái)完成控制移位脈沖的輸出。為了要完成m列掃描,同時(shí)每列需要輸出m+n個(gè)串行數(shù)據(jù)后才能將信號(hào)鎖存輸入端由低電平輸出改為高電平輸出,為串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)提供鎖存信號(hào)并予以鎖存。則當(dāng)顯示屏的顯示頻率為fs時(shí),列掃描方式時(shí),需要MCU控制移位脈沖的掃描頻率為Π = 2Χ (n+m) XmX fs,行掃描方式時(shí),MCU控制移位脈沖的掃描頻率則為f2 = 2X (n+m) XnXfs。全掃描方式時(shí)MCU控制移位脈沖的掃描頻率更高,為f3 = 2X (n+m) XnXmXfs,一般不予考慮。對(duì)于行掃描和列掃描來(lái)說(shuō),當(dāng)η = 8,m = 8時(shí),此時(shí) f 1 = f2 = 256 Xfs,在顯示屏掃描頻率fs介于80 IOOHz時(shí),Π與f2均介于20480Hz 25600Hz之間,掃描頻率非常高,而對(duì)應(yīng)的掃描時(shí)間介于39us 49us之間,要求控制掃描的定時(shí)器定時(shí)時(shí)間介于39us 49us之間,定時(shí)掃描時(shí)間相當(dāng)短。MCU既要在很短的定時(shí)時(shí)間內(nèi)完成定時(shí)中斷程序的執(zhí)行,還要完成其它中斷程序及其它主程序的執(zhí)行,包含控制遙控器接收、鍵盤(pán)掃描、室內(nèi)外機(jī)通訊、室內(nèi)風(fēng)機(jī)的運(yùn)轉(zhuǎn)、室內(nèi)步進(jìn)電機(jī)運(yùn)轉(zhuǎn)等。由于掃描頻率非常高,控制掃描頻率的定時(shí)器必然會(huì)頻繁進(jìn)入其中斷程序,造成其它中斷程序及其它程序不能及時(shí)的執(zhí)行,影響遙控器接收等其它中斷程序及主程序的執(zhí)行,使程序失控。
發(fā)明內(nèi)容
針對(duì)上述的問(wèn)題,本發(fā)明提供了一種空調(diào)顯示屏顯示頻率的控制方法,當(dāng)采用LED 矩陣顯示和普通MCU作為控制芯片的空調(diào)顯示屏?xí)r,在不影響其它中斷及主程序正常運(yùn)行的情況下,大幅度提高LED顯示屏的掃描刷新頻率。本發(fā)明空調(diào)顯示屏顯示頻率的控制方法,包括步驟a.將空調(diào)MCU用于信號(hào)鎖存脈沖、移位脈沖和串行數(shù)據(jù)的管腳初始化為輸出端口后,根據(jù)顯示屏的掃描頻率設(shè)置定時(shí)器的定時(shí)時(shí)間,再開(kāi)定時(shí)中斷和總中斷;b.根據(jù)顯示屏ηXm的LED矩陣電路結(jié)構(gòu),空調(diào)MCU建立η個(gè)數(shù)據(jù)緩存區(qū),每個(gè)數(shù)據(jù)長(zhǎng)度為m位,并將LED矩陣中的LED與數(shù)據(jù)緩存區(qū)一一對(duì)應(yīng),通過(guò)主程序不斷循環(huán)解碼數(shù)據(jù),實(shí)時(shí)更新每個(gè)數(shù)據(jù)緩存區(qū)中的顯示數(shù)據(jù),其中η為L(zhǎng)ED矩陣的行數(shù),m為L(zhǎng)ED矩陣的列數(shù);c.根據(jù)系統(tǒng)電路確定顯示屏的掃描方式,建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器,使行掃描數(shù)據(jù)寄存器中的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED的負(fù)極,列掃描數(shù)據(jù)寄存器中的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED的正極,并確定所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型,行掃描數(shù)據(jù)和列掃描數(shù)據(jù)由各自所屬的寄存器通過(guò)所述空調(diào)MCU的串行數(shù)據(jù)的管腳輸出后,在串并轉(zhuǎn)換芯片的控制下,轉(zhuǎn)換為并行數(shù)據(jù),用以控制LED矩陣的行/列顯示;d.使用空調(diào)MCU內(nèi)部任一定時(shí)器作為顯示屏的掃描驅(qū)動(dòng)定時(shí)器,設(shè)置所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)時(shí)間,并初始化其對(duì)應(yīng)的中斷向量,使所述中斷向量指向?qū)?yīng)的中斷程序;e.當(dāng)所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)中斷發(fā)生,空調(diào)MCU執(zhí)行對(duì)應(yīng)的中斷程序時(shí),根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,按照串并轉(zhuǎn)換芯片的移位脈沖及數(shù)據(jù)鎖存控制要求,進(jìn)行每次至少2個(gè)最多n+m個(gè)的數(shù)據(jù)位移位操作,當(dāng)累積輸出n+m位串行數(shù)據(jù)后,改變信號(hào)鎖存脈沖電平,在信號(hào)鎖存脈沖的上升沿信號(hào)控制下將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后鎖存,完成所述行掃描數(shù)據(jù)和列掃描數(shù)據(jù)的LED的顯示輸出。本發(fā)明的控制方法極大的縮短了脈沖輸出的時(shí)間,使得在定時(shí)中斷時(shí)間間隔Δ T 中,僅用其中一部分的時(shí)間控制移位脈沖的輸出,用以控制顯示屏的掃描顯示,還有大量的剩余時(shí)間可以執(zhí)行主程序和其它中斷程序,實(shí)現(xiàn)LED的高頻穩(wěn)定顯示。當(dāng)每次定時(shí)中斷程序連續(xù)輸出n+m個(gè)移位脈沖后鎖存數(shù)據(jù)后,按照列掃描方式計(jì)算,MCU控制移位脈沖 (SRCLK)的掃描頻率為Π =mXfs,對(duì)行掃描方式,MCU控制移位脈沖(SRCLK)的掃描頻率則為f2 = nXfs。掃描頻率均減小了 2X (n+m)倍,而掃描時(shí)間間隔增大了 2X (n+m)倍。 由于每次定時(shí)中斷連續(xù)輸出n+m個(gè)脈沖,因此每個(gè)脈沖時(shí)間非常短,m+n個(gè)脈沖的時(shí)間加起來(lái)也非常短。例如當(dāng)屏幕的掃描頻率為300Hz,n = 8,m = 8時(shí),如果連續(xù)輸出16個(gè)脈沖的時(shí)間大約為152微秒。而300Hz對(duì)應(yīng)的定時(shí)中斷時(shí)間間隔Δ T為416. 6微秒,還有沈4. 6 微秒的時(shí)間可以執(zhí)行其它程序。對(duì)于傳統(tǒng)的每次只輸出一個(gè)移位脈沖高電平或低電平的行掃描與列掃描來(lái)說(shuō),當(dāng)η = 8,m = 8時(shí),要求定時(shí)器的定時(shí)中斷時(shí)間間隔Δ T介于39us 49us之間,在這樣短的時(shí)間里,一方面要輸出移位脈沖,剩下的時(shí)間才能去執(zhí)行其他程序, 由此可見(jiàn)本發(fā)明的方法大幅度的增加定時(shí)中斷時(shí)間的間隔。具體的,步驟c中建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)構(gòu)造包括步驟cl.初始化掃描號(hào),根據(jù)系統(tǒng)電路所確定的掃描方式,按照掃描號(hào)對(duì)LED矩陣進(jìn)行掃描,對(duì)LED矩陣中的行和列輸出對(duì)應(yīng)的電平;c2.將每行或每列的掃描號(hào)對(duì)應(yīng)的數(shù)據(jù)依次放入對(duì)應(yīng)的每列或每行的數(shù)據(jù)位中;c3.根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,在定時(shí)器中斷程序的控制下通過(guò)空調(diào)MCU的信號(hào)鎖存脈沖、移位脈沖和串行數(shù)據(jù)的管腳將c2步驟形成的數(shù)據(jù)輸出到串并轉(zhuǎn)換芯片的鎖存器中鎖存,直到c2步驟形成的數(shù)據(jù)全部從空調(diào)MCU輸出到串并轉(zhuǎn)換芯片后再向下執(zhí)行;c4.掃描號(hào)累加1,返回至步驟c2執(zhí)行,當(dāng)掃描號(hào)> LED矩陣邊界時(shí),返回至cl步驟進(jìn)行下一輪次掃描,直到掃描遍歷完整個(gè)LED矩陣。所述LED矩陣邊界是指為行掃描方式時(shí)的LED矩陣的列數(shù)m ;為列掃描方式時(shí),LED矩陣的行數(shù)η。 具體的,步驟e中空調(diào)MCU的執(zhí)行步驟包括el.信號(hào)鎖存脈沖端口輸出低電平;e2.移位脈沖端口輸出低電平,串行數(shù)據(jù)端口輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口輸出高電平將串行數(shù)據(jù)端口的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片中;e3.連續(xù)執(zhí)行至少2次e2步驟后,如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,執(zhí)行步驟e4或退出中斷程序等待下次定時(shí)中斷發(fā)生后執(zhí)行步驟e4 ;如果所述執(zhí)行次數(shù)< LED 矩陣的邊界,則退出中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e3 ;所述執(zhí)行次數(shù) < LED矩陣的邊界為在列掃描方式下,所述執(zhí)行次數(shù)等于行數(shù)η ;在行掃描方式下,所述執(zhí)行次數(shù)等于列數(shù)m。
e4.移位脈沖端口輸出低電平,串行數(shù)據(jù)端口輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口輸出高電平將串行數(shù)據(jù)端口的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片中;e5.連續(xù)執(zhí)行至少2次e4步驟后,如果所述執(zhí)行次數(shù)< LED矩陣的邊界,則退出中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e5 ;如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,信號(hào)鎖存脈沖端口輸出高電平,串并轉(zhuǎn)換芯片將串行數(shù)據(jù)鎖存,并將轉(zhuǎn)換后的并行數(shù)據(jù)輸出到LED矩陣對(duì)應(yīng)的行/列上,最后退出中斷程序。所述執(zhí)行次數(shù)< LED矩陣的邊界為在行掃描方式下,所述執(zhí)行次數(shù)等于行數(shù)η ;在列掃描方式下,所述執(zhí)行次數(shù)等于列數(shù) m0優(yōu)選的,步驟e3中連續(xù)執(zhí)行步驟e2的次數(shù)和步驟e5中連續(xù)執(zhí)行步驟e4的次數(shù), 分別與LED矩陣的不同邊界相匹配。所述的與不同邊界匹配是指在列掃描方式下,步驟e3 中連續(xù)執(zhí)行步驟e2的次數(shù)不超過(guò)行數(shù)n,步驟e5中連續(xù)執(zhí)行步驟e4的次數(shù)不超過(guò)列數(shù)m ; 在行掃描方式下,步驟e3中連續(xù)執(zhí)行步驟e2的次數(shù)不超過(guò)列數(shù)m,步驟e5中連續(xù)執(zhí)行步驟 e4的次數(shù)不超過(guò)行數(shù)η。具體的,確定步驟c所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型步驟為ca.當(dāng)LED矩陣中所有行的LED個(gè)數(shù)<8個(gè)時(shí),行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型(unsigned char),當(dāng)LED矩陣中所有行的LED個(gè)數(shù)> 8個(gè)時(shí), 行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形(unsigned int/unsigned short)或 32 位長(zhǎng)整型(unsigned long);cb.當(dāng)LED矩陣中所有列的LED個(gè)數(shù)<8個(gè)時(shí),列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型(unsigned char),當(dāng)LED矩陣中所有列的LED個(gè)數(shù)> 8個(gè)時(shí), 列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形(unsigned int/unsigned short)或 32 位長(zhǎng)整型(unsigned long)。優(yōu)選的,步驟e中所述的數(shù)據(jù)位移位操作每次位移n+m個(gè)數(shù)據(jù)位。測(cè)試得知,本發(fā)明的空調(diào)顯示屏顯示頻率的控制方法,當(dāng)采用LED矩陣顯示和普通MCU作為控制芯片的空調(diào)顯示屏?xí)r,在不影響其它中斷及主程序正常運(yùn)行的情況下,能夠大幅度提高LED顯示屏的掃描刷新頻率,使得空調(diào)MCU的程序運(yùn)行穩(wěn)定。以下結(jié)合附圖所示實(shí)施例的具體實(shí)施方式
,對(duì)本發(fā)明的上述內(nèi)容再作進(jìn)一步的詳細(xì)說(shuō)明。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實(shí)例。在不脫離本發(fā)明上述技術(shù)思想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識(shí)和慣用手段做出的各種替換或變更,均應(yīng)包括在本發(fā)明的范圍內(nèi)。
圖1為本發(fā)明空調(diào)顯示屏顯示頻率的控制方法的系統(tǒng)電路結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的空調(diào)顯示屏顯示頻率的控制方法,系統(tǒng)電路結(jié)構(gòu)如圖1所示,空調(diào)顯示屏的LED采用nXm維(行X列)的矩陣交叉連接方式,通過(guò)空調(diào)MCU的3個(gè)普通I/O端口同兩組串并轉(zhuǎn)換芯片SN74HC595連接,并行數(shù)據(jù)經(jīng)SN74HC595的管腳Qa,Qb,Qc,Qd,Qe,Qf, Qg, Qh,,其中Qh,為在級(jí)聯(lián)時(shí)連接兩片SN74HC595串行數(shù)據(jù)輸入的管腳。經(jīng)過(guò)SN74HC595 的級(jí)聯(lián)將輸出口擴(kuò)展為n+m位,其中一組η位經(jīng)過(guò)反相電流放大電路1后連接LED的陰極, 用于LED矩陣的行掃描控制,另一組m位通過(guò)電流放大電路2后連接LED的陽(yáng)極,用于LED 矩陣的列掃描控制,SN74HC595的3個(gè)I/O端口為SRCLK為移位脈沖輸入端,SI為串行數(shù)據(jù)輸入端,RCLK為信號(hào)鎖存控制輸入端。本發(fā)明的控制方法包括步驟a.將空調(diào)MCU分別用于信號(hào)鎖存脈沖、移位脈沖和串行數(shù)據(jù)的管腳RCLK、SRCLK、 SI初始化為輸出端口后,根據(jù)顯示屏的掃描頻率設(shè)置定時(shí)器的定時(shí)時(shí)間,再開(kāi)定時(shí)中斷和總中斷;b.根據(jù)顯示屏ηXm的LED矩陣電路結(jié)構(gòu),空調(diào)MCU建立η個(gè)數(shù)據(jù)緩存區(qū)DATAO DATAn-I,每個(gè)數(shù)據(jù)長(zhǎng)度為m位,并將LED矩陣中的LED的亮滅狀態(tài)與數(shù)據(jù)緩存區(qū)一一對(duì)應(yīng), 當(dāng)LED亮?xí)r相對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)數(shù)據(jù)位為1,LED滅時(shí)相對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)數(shù)據(jù)位為0。通過(guò)主程序不斷循環(huán)解碼數(shù)據(jù),實(shí)時(shí)更新每個(gè)數(shù)據(jù)緩存區(qū)中的顯示數(shù)據(jù),其中η和m為正整數(shù);c.根據(jù)系統(tǒng)電路確定顯示屏的掃描方式,建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器,使行掃描數(shù)據(jù)寄存器中的行掃描數(shù)據(jù)SCAN2的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED 的負(fù)極,列掃描數(shù)據(jù)寄存器中的列掃描數(shù)據(jù)SCANl的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED
的正極。如圖1所示,列掃描數(shù)據(jù)SCANl的bit位按DO、Dl.......Di.......Dm-I的次序
排列。確定所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型,行掃描數(shù)據(jù)SCAN2 和列掃描數(shù)據(jù)SCANl由各自所屬的寄存器通過(guò)所述空調(diào)MCU的串行數(shù)據(jù)的管腳輸出后,在串并轉(zhuǎn)換芯片SN74HC595的控制下,轉(zhuǎn)換為并行數(shù)據(jù),用以控制LED矩陣的行/列顯示。其中建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)構(gòu)造包括步驟cl.初始化掃描號(hào)i為0,根據(jù)系統(tǒng)電路所確定的掃描方式,按照掃描號(hào)i對(duì)LED 矩陣進(jìn)行掃描,對(duì)LED矩陣中的行和列輸出對(duì)應(yīng)的電平;c2.將每行或每列的掃描號(hào)i對(duì)應(yīng)的數(shù)據(jù)依次放入對(duì)應(yīng)的每列或每行的數(shù)據(jù)位中。原則為對(duì)需要點(diǎn)亮的LED,其陰極輸入低電平,陽(yáng)極輸入高電平,具體的方式為列掃描因?yàn)樾袙呙栊盘?hào)經(jīng)過(guò)硬件反相電流放大電路1后,高電平1信號(hào)變成了低電平的0信號(hào),而低電平0信號(hào)時(shí)LED中無(wú)電流流過(guò),因此根據(jù)掃描號(hào)i的當(dāng)前值,將緩存區(qū) DATAO的第i位數(shù)據(jù)放入行掃描數(shù)據(jù)SCAN2的DO位,將緩存區(qū)DATAl的第i位數(shù)據(jù)放入行
掃描數(shù)據(jù)SCAN2的Dl位,......,將緩存區(qū)DATAi的第i位數(shù)據(jù)放入行掃描數(shù)據(jù)SCAN2的
Di位,直到將DATAn-I的第i位數(shù)據(jù)放入行掃描數(shù)據(jù)SCAN2的Dn-I位中,以此形成了行掃描數(shù)據(jù)SCAN2,而對(duì)于列掃描數(shù)據(jù)SCANl,則序號(hào)為i的bit位為1,即SCAN1. biti = 1 (也就是要點(diǎn)亮的LED數(shù)據(jù)緩沖區(qū)為1,LED正極需要輸入高電平1),列掃描數(shù)據(jù)SCANl中其余各bit位數(shù)據(jù)全為0;行掃描根據(jù)掃描號(hào)i的當(dāng)前值,將緩存區(qū)DATAi放入列掃描數(shù)據(jù)SCANl形成列掃描數(shù)據(jù)流,而對(duì)于行掃描數(shù)據(jù)SCAN2,則序號(hào)為i的bit位為1,即SCAN2. biti = 1,行掃描數(shù)據(jù)SCAN2中其余各bit位數(shù)據(jù)全為0 ;全掃描依據(jù)上述列掃描和行掃描相似的原理形成列掃描數(shù)據(jù)SCANl和行掃描數(shù)據(jù) SCAN2。c3.根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,在定時(shí)器中斷程序的控制下通過(guò)空調(diào)MCU的信號(hào)鎖存脈沖端口 RCLK、移位脈沖端口 SRCLK和串行數(shù)據(jù)端口 SI將c2步驟形成的數(shù)據(jù)輸出到串并轉(zhuǎn)換芯片SN74HC595的鎖存器中鎖存,直到c2步驟形成的數(shù)據(jù)全部從空調(diào)MCU輸出到串并轉(zhuǎn)換芯片SN74HC595后再向下執(zhí)行;c4.掃描號(hào)i累加1,返回至步驟c2執(zhí)行,當(dāng)掃描號(hào)i > LED矩陣邊界時(shí),返回至 cl步驟進(jìn)行下一輪次掃描,直到掃描遍歷完整個(gè)LED矩陣。所述LED矩陣邊界是指為行掃描方式時(shí)的LED矩陣的列數(shù)m ;為列掃描方式時(shí),LED矩陣的行數(shù)η。確定所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型步驟為ca.當(dāng)LED矩陣中所有行的LED個(gè)數(shù)<8個(gè)時(shí),行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型(unsigned char),當(dāng)LED矩陣中所有行的LED個(gè)數(shù)> 8個(gè)時(shí), 行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形(unsigned int/unsigned short)或 32 位長(zhǎng)整型(unsigned long);cb.當(dāng)LED矩陣中所有列的LED個(gè)數(shù)<8個(gè)時(shí),列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型(unsigned char),當(dāng)LED矩陣中所有列的LED個(gè)數(shù)> 8個(gè)時(shí), 列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形(unsigned int/unsigned short)或 32 位長(zhǎng)整型(unsigned long)。d.使用空調(diào)MCU內(nèi)部任一定時(shí)器作為顯示屏的掃描驅(qū)動(dòng)定時(shí)器,設(shè)置所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)時(shí)間,并初始化其對(duì)應(yīng)的中斷向量,使所述中斷向量指向?qū)?yīng)的中斷程序;e.當(dāng)所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)中斷發(fā)生,空調(diào)MCU執(zhí)行對(duì)應(yīng)的中斷程序時(shí),根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,按照串并轉(zhuǎn)換芯片SN74HC595的移位脈沖及數(shù)據(jù)鎖存控制要求,進(jìn)行每次至少2個(gè)最多n+m個(gè)的數(shù)據(jù)位移位操作,優(yōu)選每次移位n+m個(gè)數(shù)據(jù)。當(dāng)累積輸出n+m位串行數(shù)據(jù)后,改變信號(hào)鎖存脈沖電平,在信號(hào)鎖存脈沖的上升沿信號(hào)控制下將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后鎖存,完成所述行掃描數(shù)據(jù)SCAN2和列掃描數(shù)據(jù) SCANl的LED的顯示輸出。具體的,空調(diào)MCU的執(zhí)行步驟包括el.信號(hào)鎖存脈沖端口 RCLK輸出低電平;e2.移位脈沖端口 SRCLK輸出低電平,串行數(shù)據(jù)端口 SI輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口 SRCLK輸出高電平將串行數(shù)據(jù)端口 SI的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片SN74HC595中;e3.連續(xù)執(zhí)行至少2次e2步驟后,如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,執(zhí)行步驟e4或退出中斷程序等待下次定時(shí)中斷發(fā)生后執(zhí)行步驟e4 ;如果所述執(zhí)行次數(shù)< LED 矩陣的邊界,則退出中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e3 ;所述執(zhí)行次數(shù) < LED矩陣的邊界為在列掃描方式下,所述執(zhí)行次數(shù)不超過(guò)行數(shù)n,優(yōu)選等于行數(shù)η ;在行掃描方式下,所述執(zhí)行次數(shù)不超過(guò)列數(shù)m,優(yōu)選等于列數(shù)m。e4.移位脈沖端口 SRCLK輸出低電平,串行數(shù)據(jù)端口 SI輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口 SRCLK輸出高電平將串行數(shù)據(jù)端口 SI的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片SN74HC595中;e5.連續(xù)執(zhí)行至少2次e4步驟后,如果所述執(zhí)行次數(shù)< LED矩陣的邊界,則退出
9中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e5 ;如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,信號(hào)鎖存脈沖端口 RCLK輸出高電平,串并轉(zhuǎn)換芯片SN74HC595將串行數(shù)據(jù)鎖存,并將轉(zhuǎn)換后的并行數(shù)據(jù)輸出到LED矩陣對(duì)應(yīng)的行/列上,最后退出中斷程序。所述執(zhí)行次數(shù) < LED矩陣的邊界為在行掃描方式下,所述執(zhí)行次數(shù)不超過(guò)行數(shù)n,優(yōu)選等于行數(shù)η ;在列掃描方式下,所述執(zhí)行次數(shù)不超過(guò)列數(shù)m,優(yōu)選等于列數(shù)m。 本發(fā)明的控制方法極大的縮短了脈沖輸出的時(shí)間,使得在定時(shí)中斷時(shí)間間隔Δ T 中,僅用其中一部分的時(shí)間控制移位脈沖的輸出,用以控制顯示屏的掃描顯示,還有大量的剩余時(shí)間可以執(zhí)行主程序和其它中斷程序,實(shí)現(xiàn)LED的高頻穩(wěn)定顯示。當(dāng)每次定時(shí)中斷程序連續(xù)輸出n+m個(gè)移位脈沖后鎖存數(shù)據(jù)后,按照列掃描方式計(jì)算,MCU控制移位脈沖的掃描頻率為Π = mXfs,對(duì)行掃描方式,MCU控制移位脈沖的掃描頻率則為f2 = nXfs。掃描頻率均減小了 2X (n+m)倍,而掃描時(shí)間間隔增大了 2X (n+m)倍。由于每次定時(shí)中斷連續(xù)輸出n+m個(gè)脈沖,因此每個(gè)脈沖時(shí)間非常短,m+n個(gè)脈沖的時(shí)間加起來(lái)也非常短。例如當(dāng)屏幕的掃描頻率為300Hz,η = 8,m = 8時(shí),如果連續(xù)輸出16個(gè)脈沖的時(shí)間大約為152微秒。 而300Hz對(duì)應(yīng)的定時(shí)中斷時(shí)間間隔Δ T為416. 6微秒,還有沈4. 6微秒的時(shí)間可以執(zhí)行其它程序,能夠?qū)崿F(xiàn)顯示屏高達(dá)300Hz頻率的顯示輸出。對(duì)于傳統(tǒng)的每次只輸出一個(gè)移位脈沖高電平或低電平的行掃描與列掃描來(lái)說(shuō),當(dāng)n = 8,m = 8時(shí),要求定時(shí)器的定時(shí)中斷時(shí)間間隔Δ T介于39us 49us之間,在這樣短的時(shí)間里,一方面要輸出移位脈沖,剩下的時(shí)間才能去執(zhí)行其他程序,由此可見(jiàn)本發(fā)明的方法大幅度的增加定時(shí)中斷時(shí)間的間隔。
權(quán)利要求
1.空調(diào)顯示屏顯示頻率的控制方法,其特征為包括步驟a.將空調(diào)MCU用于信號(hào)鎖存脈沖、移位脈沖和串行數(shù)據(jù)的管腳初始化為輸出端口后, 根據(jù)顯示屏的掃描頻率設(shè)置定時(shí)器的定時(shí)時(shí)間,再開(kāi)定時(shí)中斷和總中斷;b.根據(jù)顯示屏ηXm的LED矩陣電路結(jié)構(gòu),空調(diào)MCU建立η個(gè)數(shù)據(jù)緩存區(qū),每個(gè)數(shù)據(jù)長(zhǎng)度為m位,并將LED矩陣中的LED與數(shù)據(jù)緩存區(qū)一一對(duì)應(yīng),通過(guò)主程序不斷循環(huán)解碼數(shù)據(jù), 實(shí)時(shí)更新每個(gè)數(shù)據(jù)緩存區(qū)中的顯示數(shù)據(jù),其中η為L(zhǎng)ED矩陣的行數(shù),m為L(zhǎng)ED矩陣的列數(shù);c.根據(jù)系統(tǒng)電路確定顯示屏的掃描方式,建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器,使行掃描數(shù)據(jù)寄存器中的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED的負(fù)極,列掃描數(shù)據(jù)寄存器中的每個(gè)bit數(shù)據(jù)對(duì)應(yīng)LED矩陣中一個(gè)LED的正極,并確定所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型,行掃描數(shù)據(jù)和列掃描數(shù)據(jù)由各自所屬的寄存器通過(guò)所述空調(diào)MCU的串行數(shù)據(jù)的管腳輸出后,在串并轉(zhuǎn)換芯片的控制下,轉(zhuǎn)換為并行數(shù)據(jù),用以控制 LED矩陣的行/列顯示;d.使用空調(diào)MCU內(nèi)部任一定時(shí)器作為顯示屏的掃描驅(qū)動(dòng)定時(shí)器,設(shè)置所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)時(shí)間,并初始化其對(duì)應(yīng)的中斷向量,使所述中斷向量指向?qū)?yīng)的中斷程序;e.當(dāng)所述掃描驅(qū)動(dòng)定時(shí)器的定時(shí)中斷發(fā)生,空調(diào)MCU執(zhí)行對(duì)應(yīng)的中斷程序時(shí),根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,按照串并轉(zhuǎn)換芯片的移位脈沖及數(shù)據(jù)鎖存控制要求, 進(jìn)行每次至少2個(gè)最多n+m個(gè)的數(shù)據(jù)位移位操作,當(dāng)累積輸出n+m位串行數(shù)據(jù)后,改變信號(hào)鎖存脈沖電平,在信號(hào)鎖存脈沖的上升沿信號(hào)控制下將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后鎖存, 完成所述行掃描數(shù)據(jù)和列掃描數(shù)據(jù)的LED的顯示輸出。
2.如權(quán)利要求1所述的空調(diào)顯示屏顯示頻率的控制方法,其特征為步驟c中建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)構(gòu)造包括步驟cl.初始化掃描號(hào),根據(jù)系統(tǒng)電路所確定的掃描方式,按照掃描號(hào)對(duì)LED矩陣進(jìn)行掃描,對(duì)LED矩陣中的行和列輸出對(duì)應(yīng)的電平;c2.將每行或每列的掃描號(hào)對(duì)應(yīng)的數(shù)據(jù)依次放入對(duì)應(yīng)的每列或每行的數(shù)據(jù)位中;c3.根據(jù)系統(tǒng)電路結(jié)構(gòu)確定的行/列掃描順序,在定時(shí)器中斷程序的控制下通過(guò)空調(diào) MCU的信號(hào)鎖存脈沖、移位脈沖和串行數(shù)據(jù)的管腳將c2步驟形成的數(shù)據(jù)輸出到串并轉(zhuǎn)換芯片的鎖存器中鎖存,直到c2步驟形成的數(shù)據(jù)全部從空調(diào)MCU輸出到串并轉(zhuǎn)換芯片后再向下執(zhí)行;c4.掃描號(hào)累加1,返回至步驟c2執(zhí)行,當(dāng)掃描號(hào)> LED矩陣邊界時(shí),返回至cl步驟進(jìn)行下一輪次掃描,直到掃描遍歷完整個(gè)LED矩陣。
3.如權(quán)利要求1所述的空調(diào)顯示屏顯示頻率的控制方法,其特征為步驟e中空調(diào)MCU 的執(zhí)行步驟包括el.信號(hào)鎖存脈沖端口輸出低電平;e2.移位脈沖端口輸出低電平,串行數(shù)據(jù)端口輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口輸出高電平將串行數(shù)據(jù)端口的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片中;e3.連續(xù)執(zhí)行至少2次e2步驟后,如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,執(zhí)行步驟e4或退出中斷程序等待下次定時(shí)中斷發(fā)生后執(zhí)行步驟e4 ;如果所述執(zhí)行次數(shù)< LED矩陣的邊界,則退出中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e3 ;e4.移位脈沖端口輸出低電平,串行數(shù)據(jù)端口輸出的高/低電平與所掃描的數(shù)據(jù)最低位表示的電平相同,掃描數(shù)據(jù)右移1位,之后移位脈沖端口輸出高電平將串行數(shù)據(jù)端口的數(shù)據(jù)移位到串并轉(zhuǎn)換芯片中;e5.連續(xù)執(zhí)行至少2次e4步驟后,如果所述執(zhí)行次數(shù)< LED矩陣的邊界,則退出中斷程序等待下次定時(shí)中斷發(fā)生后繼續(xù)執(zhí)行步驟e5 ;如果所述執(zhí)行次數(shù)與LED矩陣的邊界相匹配,信號(hào)鎖存脈沖端口輸出高電平,串并轉(zhuǎn)換芯片將串行數(shù)據(jù)鎖存,并將轉(zhuǎn)換后的并行數(shù)據(jù)輸出到LED矩陣對(duì)應(yīng)的行/列上,最后退出中斷程序。
4.如權(quán)利要求3所述的空調(diào)顯示屏顯示頻率的控制方法,其特征為步驟e3中連續(xù)執(zhí)行步驟e2的次數(shù)和步驟e5中連續(xù)執(zhí)行步驟e4的次數(shù),分別與LED矩陣的不同邊界相匹配。
5.如權(quán)利要求1至4之一所述的空調(diào)顯示屏顯示頻率的控制方法,其特征為確定步驟c所述行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型步驟為ca.當(dāng)LED矩陣中所有行的LED個(gè)數(shù)<8個(gè)時(shí),行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型,當(dāng)LED矩陣中所有行的LED個(gè)數(shù)> 8個(gè)時(shí),行掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形或32位長(zhǎng)整型;cb.當(dāng)LED矩陣中所有列的LED個(gè)數(shù)<8個(gè)時(shí),列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為長(zhǎng)度為8位的無(wú)符號(hào)字節(jié)型,當(dāng)LED矩陣中所有列的LED個(gè)數(shù)> 8個(gè)時(shí),列掃描數(shù)據(jù)寄存器中的數(shù)據(jù)類(lèi)型為無(wú)符號(hào)的16位整型/短整形或32位長(zhǎng)整型。
6.如權(quán)利要求1至4之一所述的空調(diào)顯示屏顯示頻率的控制方法,其特征為步驟e中所述的數(shù)據(jù)位移位操作每次位移n+m個(gè)數(shù)據(jù)位。
全文摘要
本發(fā)明涉及空調(diào)顯示屏顯示頻率的控制方法,包括步驟a.開(kāi)啟空調(diào)MCU中斷;b.空調(diào)MCU為n×m維LED矩陣建立長(zhǎng)度為m的n個(gè)數(shù)據(jù)緩存區(qū);c.建立行掃描數(shù)據(jù)寄存器和列掃描數(shù)據(jù)寄存器,行掃描數(shù)據(jù)和列掃描數(shù)據(jù)輸出后轉(zhuǎn)換為并行數(shù)據(jù);d.設(shè)置掃描驅(qū)動(dòng)定時(shí)時(shí)間,并使中斷向量指向?qū)?yīng)的中斷程序;e.空調(diào)MCU執(zhí)行對(duì)應(yīng)的中斷程序時(shí),進(jìn)行每次至少2個(gè)數(shù)據(jù)位移位操作,當(dāng)輸出n+m位串行數(shù)據(jù)后改變信號(hào)鎖存脈沖電平,將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后鎖存,完成LED的顯示輸出。本發(fā)明的控制方法,當(dāng)采用LED矩陣顯示和普通MCU的空調(diào)顯示屏?xí)r,在不影響其它中斷及主程序正常運(yùn)行的情況下,能夠大幅度提高LED顯示屏的掃描刷新頻率,使得空調(diào)MCU的程序運(yùn)行穩(wěn)定。
文檔編號(hào)G09G3/34GK102411905SQ20111037774
公開(kāi)日2012年4月11日 申請(qǐng)日期2011年11月24日 優(yōu)先權(quán)日2011年11月24日
發(fā)明者陳躍 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司