• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MSP430單片機(jī)的LED顯示屏控制器設(shè)計(jì)

    2019-03-22 01:38:58張秋艷馬海洋
    榆林學(xué)院學(xué)報(bào) 2019年2期
    關(guān)鍵詞:字庫(kù)字符按鍵

    張秋艷,馬海洋

    (榆林學(xué)院 能源工程學(xué)院,陜西 榆林 719000)

    引言

    隨著社會(huì)的發(fā)展對(duì)信息的傳播有越來(lái)越高的要求,LED電子顯示屏以其色彩奪目,顯示信息量大、壽命長(zhǎng)、耗電量小、重量輕等特點(diǎn),在社會(huì)經(jīng)濟(jì)發(fā)展中扮演著越來(lái)越重要的角色。但是在實(shí)際應(yīng)用中仍然存在功能單一、更改顯示信息麻煩、靈活性差等缺點(diǎn)[1-2]。因此設(shè)計(jì)一個(gè)新型實(shí)用的LED點(diǎn)陣顯示屏系統(tǒng)是十分必要的。

    1 系統(tǒng)方案設(shè)計(jì)

    本設(shè)計(jì)主要有4大功能模塊:16 ×16 LED點(diǎn)陣顯示、PC串口通信、紅外遙控、按鍵??捎肞C機(jī)發(fā)送需要顯示內(nèi)容給MSP430單片機(jī),MSP430單片機(jī)接收到內(nèi)容后顯示到16×16 LED點(diǎn)陣屏上,同時(shí)可通過(guò)按鍵或者紅外遙控來(lái)控制點(diǎn)陣屏滾動(dòng)播放的方式(上下滾動(dòng)/左右滾動(dòng))。其系統(tǒng)框圖結(jié)構(gòu)如下圖1所示。

    圖1 系統(tǒng)結(jié)構(gòu)框圖

    1.1 LED點(diǎn)陣顯示控制原理

    采用掃描方式進(jìn)行顯示時(shí),每一行有一個(gè)行驅(qū)動(dòng)器,各行的同名列共用一個(gè)驅(qū)動(dòng)器??刂破靼研枰@示的數(shù)據(jù)通常按字節(jié)的形式順序存儲(chǔ)在其存儲(chǔ)器中。顯示時(shí)要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動(dòng)器上去,這就存在一個(gè)顯示數(shù)據(jù)傳輸?shù)膯?wèn)題。從控制電路到列驅(qū)動(dòng)器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。采用并行方式時(shí),從控制電路到列驅(qū)動(dòng)器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。當(dāng)列數(shù)很多時(shí),并列傳輸?shù)姆桨甘遣豢扇〉摹T诖袀鬏數(shù)姆绞街?,控制電路可以只用一根信?hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無(wú)疑是十分經(jīng)濟(jì)的。然而,由于是按順序一位一位傳輸?shù)模詡鬏斔俣嚷?。串行?shù)據(jù)傳輸?shù)姆椒ㄔ谟布刂品矫姹容^復(fù)雜,傳輸比較慢,但在擴(kuò)展性方面存在的很大的優(yōu)勢(shì)[3-4]。考慮到16 ×16 LED點(diǎn)陣顯示器[5],并且采用的MSP430F147單片機(jī)有48個(gè)GPIO口可用,在設(shè)計(jì)時(shí)采用了并行控制方式。

    1.2串行FLASH字庫(kù)原理

    常用的GB2312基本包含了一般LED上所顯示的所有字符。故本設(shè)計(jì)也采用了GB2312字庫(kù)。GB2312編碼適用于漢字處理、漢字通信等系統(tǒng)之間的信息交換,基本集共收入漢字6763個(gè)和非漢字圖形字符682個(gè)。整個(gè)字符集分成94個(gè)區(qū),每區(qū)有94個(gè)位。每個(gè)區(qū)位上只有一個(gè)字符,因此可用所在的區(qū)和位來(lái)對(duì)漢字進(jìn)行編碼,稱為區(qū)位碼。把換算成十六進(jìn)制的區(qū)位碼加上2020H,就得到國(guó)標(biāo)碼。國(guó)標(biāo)碼加上8080H,就得到常用的計(jì)算機(jī)機(jī)內(nèi)碼。

    每個(gè)字符的計(jì)算機(jī)內(nèi)碼作為存儲(chǔ)該字符點(diǎn)陣信息的地址。得到內(nèi)碼后直接到該地址讀取該字符的點(diǎn)陣數(shù)據(jù)便可顯示到LED點(diǎn)陣屏上。本設(shè)計(jì)采用的FLASH是串行SPI接口。將字庫(kù)存儲(chǔ)到串行FLASH中,每個(gè)漢字在FLASH中都按漢字的計(jì)算機(jī)內(nèi)碼加上偏移地址來(lái)存儲(chǔ)[6]。需要顯示漢字時(shí)只需要知道漢字的計(jì)算機(jī)內(nèi)碼就可得到漢字在串行FLAH中的存儲(chǔ)地址,從而可以得到漢字的點(diǎn)陣信息用來(lái)顯示。

    1.3 紅外控制原理

    通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,紅外發(fā)射裝置可由鍵盤電路、紅外編碼芯片、電源和紅外發(fā)射電路組成[7],紅外接收設(shè)備可由紅外接收電路、紅外解碼芯片、電源和應(yīng)用電路組成。紅外遙控器電路主要由:集成發(fā)射芯片、晶體振蕩器、紅外線發(fā)射管、推動(dòng)晶體三極管、導(dǎo)電橡膠等組成。圖2為紅外遙控系統(tǒng)框圖。

    圖2 紅外遙控系統(tǒng)框圖

    紅外線發(fā)光二極管的作用是不可替代的,因?yàn)樗悄馨央娦盘?hào)轉(zhuǎn)換成為紅外線光信號(hào)的核心元器件。通過(guò)在紅外發(fā)光二極管的兩個(gè)引腳上加適當(dāng)?shù)碾妷核涂梢园l(fā)出的肉眼不可見的紅外光。同樣我們?cè)诩t外線發(fā)光二極管兩個(gè)引腳上加一個(gè)脈沖電壓的信號(hào)時(shí),紅外發(fā)射二極管便會(huì)發(fā)出相同的脈沖光信號(hào)。

    紅外線的接收,是通過(guò)光敏器件(光電二極管)接收光信號(hào)后再轉(zhuǎn)換為電信號(hào)供后端解析電路來(lái)進(jìn)行信號(hào)解析的。光電二極管把光信號(hào)轉(zhuǎn)換成之后的電信號(hào),轉(zhuǎn)換輸出的電信號(hào)非常微弱不能直接應(yīng)用,需要經(jīng)過(guò)放大后才能被控制器所使用。故若僅使用光電二極管來(lái)完成紅外信號(hào)的接收還必須在其后端添加解調(diào)和放大電路再輸入給后端控制器。而目前市面上有封裝一體的紅外接收器,里面集成了外線接收電路、放大電路、整形濾波于一個(gè)芯片,只需要外部提供合適的電源,就可以實(shí)現(xiàn)把紅外線的光信號(hào)脈沖轉(zhuǎn)換成可供后端處理器識(shí)別的電信號(hào)。這種紅外接收管一般在未接收到紅外信號(hào)時(shí)為高電平,當(dāng)有紅外信號(hào)時(shí)則變?yōu)榈碗娖健?/p>

    本設(shè)計(jì)就采用的是紅外接收管,其型為為HX1838。HX1838內(nèi)部集成有解調(diào)電路、放大器以及光電二極管。其輸出端直接輸出高低電平,故單片機(jī)只需要判斷高低電平的時(shí)間就可解析出“0”和“1”,從而實(shí)現(xiàn)二進(jìn)制解碼。

    2 硬件電路設(shè)計(jì)

    2.1 電源電路設(shè)計(jì)

    本設(shè)計(jì)通過(guò)USB提供5V電源。由于單片機(jī)MSP430F147需要3.3V電源,選用Leaner的LDO芯片LT176333。LT176333的功率低、噪音非常小、壓強(qiáng)差也很小。該芯片可以提供500 mA的電流輸出,300 mV的差壓電壓。LT176333電壓調(diào)節(jié)器的1個(gè)重要特性是低輸出噪音。本設(shè)計(jì)直接通過(guò)USB接口引入5V電源經(jīng)過(guò)LT176333芯片得到3.3V給單片機(jī)提供電源,如圖3所示。

    圖3電源電路設(shè)計(jì)

    2.2 單片機(jī)抗干擾電路設(shè)計(jì)

    MSP430F147電路主要由晶振電路,復(fù)位電路以及電源構(gòu)成單片機(jī)最小系統(tǒng),同時(shí)為了調(diào)試方便設(shè)計(jì)時(shí)留有JTAG接口。MSP430單片機(jī)為模擬部分單獨(dú)提供電源以減少數(shù)字電源對(duì)其的干擾。為減少模擬電源與數(shù)字電源之間的干擾,此處對(duì)模擬電源和模擬地之間用0R電阻連接。為防止電源上的波動(dòng),模擬電源和數(shù)字電源入口處都加有濾波電容。圖4為抗干擾電路。

    圖4 抗干擾電路

    2.3 LED點(diǎn)陣驅(qū)動(dòng)電路設(shè)計(jì)

    本設(shè)計(jì)采用并行接口驅(qū)動(dòng)一個(gè)16X16 LED點(diǎn)陣。由于單片機(jī)的GPIO口驅(qū)動(dòng)能力有限,在LED點(diǎn)陣的陽(yáng)極端采用一個(gè)P-MOS加NPN驅(qū)動(dòng)[8]。

    P-MOS是N型沉底P溝道金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)(MOS)晶體管,其有G、D、S三個(gè)腳,通過(guò)G、S間加控制信號(hào)時(shí)可以改變D、S間的導(dǎo)通和截止。當(dāng)VGS大于等于0時(shí),D、S截止;VGS小于0時(shí),D、S導(dǎo)通。P-MOS型號(hào)為SI2301,此管DS端可通過(guò)1A的電流,故驅(qū)動(dòng)LED完全足夠。

    此設(shè)計(jì)中用單片機(jī)的GPIO口來(lái)驅(qū)動(dòng)NPN的導(dǎo)通與截止,NPN驅(qū)動(dòng)P-MOS的導(dǎo)通與截止,這樣就能控制陽(yáng)極的電源通與斷。當(dāng)GPIO口為低電平是NPN截止;此時(shí)P-MOS的G極通過(guò)R81上拉,此時(shí)P-MOS的G極和S極電壓相等,故P-MOS截止,則LED無(wú)電源接入。當(dāng)GPIO口為高電平是NPN導(dǎo)通;此時(shí)P-MOS的G極電壓通過(guò)R81和R88電阻分壓使其電壓低于S極電壓,故P-MOS導(dǎo)通,則LED電源接入。

    陰極采用一個(gè)NPN驅(qū)動(dòng)。在LED點(diǎn)陣的陽(yáng)極采用一個(gè)P-MOS加NPN驅(qū)動(dòng)。單片機(jī)的GPIO口來(lái)驅(qū)動(dòng)NPN的導(dǎo)通與截止,NPN驅(qū)動(dòng)P-MOS的導(dǎo)通與截止,這樣就能控制陽(yáng)極的電源通與斷。圖5(a)為陽(yáng)極驅(qū)動(dòng)電路。由于單片機(jī)的GPIO灌電流太小,當(dāng)16個(gè)燈同時(shí)亮?xí)r估計(jì)大概有320mA(20mA X 16)電流。故在LED的陰極也采用NPN驅(qū)動(dòng)。由單片機(jī)的GPIO口來(lái)控制NPN的通斷,從而控制LED陰極與地的通斷。圖5(b)為陰極驅(qū)動(dòng)電路。

    (a)陽(yáng)極驅(qū)動(dòng)

    (b)陰極驅(qū)動(dòng)

    2.4 串行FLASH字庫(kù)電路設(shè)計(jì)

    本設(shè)計(jì)的字庫(kù)數(shù)據(jù)采用串行FLASH W25X16存儲(chǔ)。共8192個(gè)可供編程頁(yè)面,256字節(jié)每頁(yè)。W25X16 支持標(biāo)準(zhǔn)SPI接口,最大傳輸速率75MHZ。四線制:①串行時(shí)鐘引腳C;②芯片選擇引腳;③串行數(shù)據(jù)輸出引腳;④串行數(shù)據(jù)輸入輸出引腳D。另外芯片還具有保持引腳(hold)、寫保護(hù)引腳(WP)、可編程寫保護(hù)位(位于狀態(tài)寄存器bit1)、頂部和底部塊的控制等特征,使得控制芯片更具靈活性[9]。W25X16采用3.3V供電,用SPI接口與單片機(jī)通信。圖6為串行FLASH電路。

    圖6 串行FLASH電路

    2.5 紅外接收電路與按鍵電路設(shè)計(jì)

    采用HX1838紅外接收頭來(lái)接收紅外數(shù)據(jù)。HX1838紅外接收頭的工作電壓是2.7-5.5V,工作頻率為38K,三個(gè)引腳:VCC,GND,OUT[10]。只需要給其提供工作電源,即可再接收到紅外信號(hào)后通過(guò)OUT引腳輸出。由于其輸出引腳為推挽輸出,故需在OUT引腳外接上拉電阻。本設(shè)計(jì)時(shí)為了得到穩(wěn)定的電源在電源輸入端采用RC濾波按鍵較少,故直接用GPIO口檢測(cè)。四個(gè)按鍵分配四個(gè)GPIO,每個(gè)GPIO都接上拉電阻,當(dāng)按鍵按下時(shí)GPIO口與地連接變?yōu)榈碗娖健榱讼存I是的抖動(dòng),在每個(gè)按鍵上都連接有0.01uF的陶瓷電容。

    2.6 串口通信電路設(shè)計(jì)

    單片機(jī)串口需要與PC機(jī)進(jìn)行通信,因?yàn)楝F(xiàn)在很多計(jì)算機(jī)都已經(jīng)取消串口接口,而現(xiàn)在USB接口應(yīng)用普遍,因此這個(gè)設(shè)計(jì)用了CP2102,這是USB轉(zhuǎn)串口芯片[11]。這個(gè)串口芯片是一個(gè)高度集成的USB到UART橋,可以提供一個(gè)簡(jiǎn)單的解決方案,使用最小的組件和PCB空間來(lái)實(shí)現(xiàn)RS232。CP2101具有USB全速功能控制器,振蕩器、USB收發(fā)器和異步串行數(shù)據(jù)總線(UART)具有所有調(diào)制解調(diào)器控制信號(hào),所有功能都集成在IC中,無(wú)需其他的外部USB元件。 EEPROM 在應(yīng)用板上進(jìn)行編程可以通過(guò)USB ,這就可以在產(chǎn)品生產(chǎn)和調(diào)試過(guò)程中就能實(shí)現(xiàn)對(duì)它進(jìn)行編程。應(yīng)用驅(qū)動(dòng)程序,可以很容易地用CP2101 實(shí)現(xiàn)一個(gè)有效的COM口。

    即通過(guò)Micro-USB接口J1來(lái)給板子提供5V電源并與CP2102通過(guò)J1進(jìn)行USB通信。5V電源可由開關(guān)SW1打開和關(guān),當(dāng)打開開關(guān)時(shí)5V電源指示燈D1就會(huì)亮起。PC機(jī)通過(guò)USB數(shù)據(jù)線連接到Micro-USB接口J1與板上的CP2102通過(guò)USB進(jìn)行通信,同時(shí)CP2102將USB轉(zhuǎn)換為UART與單片機(jī)進(jìn)行通信,從而建立單片機(jī)與計(jì)算機(jī)之間的通信[15]圖7為串口通信電路。

    圖7 串口通信電路

    3 軟件設(shè)計(jì)

    本設(shè)計(jì)軟件主要實(shí)現(xiàn)16×16 LED點(diǎn)陣顯示。可實(shí)現(xiàn)任意字符以及漢字的顯示,同時(shí)可通過(guò)按鍵控制向不同方向的滾動(dòng)顯示。并可通過(guò)紅外遙控器輸入相應(yīng)的字符編碼顯示到LED屏幕上,同時(shí)可通過(guò)PC機(jī)發(fā)送需要顯示的字符或漢字。其主要流程如圖8所示。

    圖8 主流程圖

    3.1 LED點(diǎn)陣顯示軟件模塊設(shè)計(jì)

    本設(shè)計(jì)的LED點(diǎn)陣的行和列分別采用了16個(gè)GPIO口控制。顯示掃描方式為行掃描,即從第一行開始掃描到第十六行,每掃描一行對(duì)其對(duì)應(yīng)的列進(jìn)行賦值。當(dāng)掃描速度快時(shí),人眼能看到不動(dòng)的字符信息。

    本設(shè)計(jì)的顯示方式有五種形式:靜態(tài)顯示、向上滾動(dòng)顯示、向下滾動(dòng)顯示、向左滾動(dòng)顯示、向右滾動(dòng)顯示。顯示方式通過(guò)按鍵來(lái)控制選擇。

    靜態(tài)顯示,即在LED點(diǎn)陣屏上顯示出字符或漢字; 向上/向下滾動(dòng)顯示, LED點(diǎn)陣屏上顯示的字符或者漢字慢慢上移或下移滾動(dòng)顯示。向上和向下滾動(dòng)顯示的實(shí)現(xiàn)簡(jiǎn)單說(shuō)就是把要顯示的字符在點(diǎn)陣信息在存儲(chǔ)的數(shù)組中循環(huán)移動(dòng);向左/向右滾動(dòng)顯示,在LED點(diǎn)陣屏上顯示的字符或漢字慢慢的向左或向右滾動(dòng)顯示。此功能實(shí)現(xiàn)其實(shí)是讓字符或漢字的點(diǎn)陣數(shù)據(jù)中每個(gè)字節(jié)循環(huán)向右或向左移動(dòng),從而點(diǎn)陣屏的顯示即為向左或向右循環(huán)移動(dòng)。其動(dòng)態(tài)顯示流程如圖9所示。

    圖9 動(dòng)態(tài)顯示流程圖

    3.2 串行FLASH字庫(kù)軟件模塊設(shè)計(jì)

    本設(shè)計(jì)需要實(shí)現(xiàn)任意字符以及漢字的顯示,為實(shí)現(xiàn)此功能,需要把GB2312字庫(kù)存儲(chǔ)起來(lái),供單片機(jī)提取所需字符或漢字的點(diǎn)陣信息。為存儲(chǔ)GB2312字庫(kù),本設(shè)計(jì)采用了串行SPI FLASH芯片W25X16來(lái)存儲(chǔ)。GB2312字庫(kù)的大小約為280KB,使用2MB的FLASH存儲(chǔ)是綽綽有余,考慮到可能會(huì)用到FLASH存儲(chǔ)其他的數(shù)據(jù),把字庫(kù)從FLASH的第二頁(yè)開始存儲(chǔ),留有第一頁(yè)存儲(chǔ)其他數(shù)據(jù)。W25X16包括15個(gè)基本指令,其中本設(shè)計(jì)主要指采用了讀數(shù)據(jù)指令(0X03)。

    3.3 按鍵與紅外接收串口通信模塊設(shè)計(jì)

    4個(gè)按鍵分別實(shí)現(xiàn)LED的滾動(dòng)顯示功能。當(dāng)紅外接收程序啟動(dòng)后,對(duì)遙控按鍵進(jìn)行掃描操作,當(dāng)檢測(cè)到相應(yīng)的按鍵按下時(shí),經(jīng)解調(diào)后發(fā)送給控制器MSP430,從而實(shí)現(xiàn)不同的滾動(dòng)顯示方式。顯示內(nèi)容是通過(guò)串口與PC進(jìn)行通信,把接收到的PC發(fā)送的需要顯示的文字或圖形在LED上顯示。

    4 總結(jié)

    本設(shè)計(jì)的16 X16的LED顯示屏,以MSP40為控制核心,借助串口助手實(shí)現(xiàn)PC通信,以FLASH串行方式實(shí)現(xiàn)字庫(kù)的存儲(chǔ)功能,并由紅外電路實(shí)現(xiàn)遙控操作,通過(guò)對(duì)LED驅(qū)動(dòng)電路的設(shè)計(jì),最終實(shí)現(xiàn)具有靜態(tài)、動(dòng)態(tài)顯示并實(shí)現(xiàn)遙控顯示的LED控制屏設(shè)計(jì),具有廣泛的LED顯示屏市場(chǎng)應(yīng)用前景。

    猜你喜歡
    字庫(kù)字符按鍵
    尋找更強(qiáng)的字符映射管理器
    基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
    電子制作(2021年3期)2021-06-16 03:14:26
    No.2 喜茶聯(lián)合漢儀字庫(kù)推出微型書和書簽
    字符代表幾
    一種USB接口字符液晶控制器設(shè)計(jì)
    電子制作(2019年19期)2019-11-23 08:41:50
    消失的殖民村莊和神秘字符
    某型號(hào)產(chǎn)品的字庫(kù)遷移優(yōu)化設(shè)計(jì)
    電子世界(2018年7期)2018-04-26 08:51:35
    一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
    電子制作(2016年1期)2016-11-07 08:43:05
    相同字庫(kù)條件下激光打印文件特征的變化規(guī)律和特點(diǎn)
    按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
    家電科技(2013年4期)2013-07-09 10:55:08
    安康市| 桐柏县| 元氏县| 通榆县| 宜都市| 阆中市| 新疆| 扶沟县| 铜川市| 云林县| 额济纳旗| 漠河县| 芮城县| 中阳县| 海兴县| 大洼县| 双辽市| 新建县| 岳西县| 本溪市| 博野县| 大连市| 博湖县| 景洪市| 将乐县| 南皮县| 叙永县| 孙吴县| 宁陕县| 泰和县| 伽师县| 万盛区| 普陀区| 永城市| 怀柔区| 荥阳市| 南通市| 兖州市| 萨嘎县| 镇赉县| 静宁县|