<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 高速SoC在雙基色LED屏中的應用

          高速SoC在雙基色LED屏中的應用

          作者: 時間:2017-06-04 來源:網絡 收藏

          1 高速C8051F040特征

          C8051F040系列器件是完全集成的型MCU,具有64個數(shù)字I/O 引腳,片內集成了1個CAN2.0B控制器。其主要特性有: (1)高速流水線結構的8051兼容的CIP-51內核(可達25 MIPS);(2)全速非侵入式的在系統(tǒng)調試接口(片內) 64 KB(C8051F040/1/2/3/4/5)可在系統(tǒng)編程的Flash存儲器,(4K+256)B的片內RAM,尋址空間為64 KB的外部數(shù)據存儲器接口和硬件實現(xiàn)的SPI、SMBus/I2C和兩個UART串行通信接口,片內集成看門狗定時器和VDD監(jiān)視器和溫度傳感器,具有時鐘振蕩器的C8051F04x系列器件,是真正能獨立工作的片上系統(tǒng)。所有模擬和數(shù)字外設均可由用戶固件使能/禁止和配置。Flash存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據存儲,并允許現(xiàn)場更新8051固件。每個MCU都可在工業(yè)溫度范圍(-45℃~+85℃)工作, 工作電壓為2.7 V~3.6 V。端口I/O、RST和JTAG 引腳都允許5 V 的輸入信號電壓。

          2 LED硬件電路及顯示工作原理

          2.1 驅動方式

          當向LED器件施加正向電壓時,流過的電流使其發(fā)光。因此,LED的驅動問題就轉化為如何使PN結處于正向偏置的問題。為了控制它的發(fā)光強度,還要解決其正向電流的調節(jié)問題。驅動方法分為直流驅動、恒流驅動和脈沖驅動。

          2.1.1直流驅動

          直流驅動是最簡單的驅動方法。LED的工作點由電源電壓、串聯(lián)電阻和LED器件的伏安特性共同決定。這種驅動方式適合LED器件較少、發(fā)光強度恒定的情況。

          2.1.2 恒流驅動

          LED器件的正向特性較陡,加上器件的分散性,使得在同樣電源電壓和同樣限流電阻的情況下,各器件的正向電流并不相同,從而引起發(fā)光強度的差異。若對LED器件進行恒流驅動,只要恒流值相同,發(fā)光強度就比較接近。晶體管的輸出特性具有恒流特性,因此可用晶體管驅動LED。

          2.1.3 脈沖驅動

          利用人眼的視覺惰性,采用LED器件重復通斷電的方式使之點亮,就是脈沖驅動方式。脈沖驅動主要應用于掃描驅動和占空比驅動兩個方面。掃描驅動主要目的是節(jié)約驅動,簡化電路。占空比控制的目的是調節(jié)器件的發(fā)光強度,用于圖像顯示中的灰度控制。在實際應用中往往是兩方面組合在一起使用。

          2.1.4常用屏驅動

          目前普遍采用的是串行控制驅動方式,就是將顯示的數(shù)據通過串行方式送入點驅動電路,多采用4953+74HC595作為驅動。

          2.2 LED硬件電路介紹

          256 B雙色LED屏主要由32塊8×8 LED模塊、32片74HC595、8片4953、2片74HC245和2片74HC138組成。LED屏按其電路分為接口電路、驅動電路、譯碼電路和列數(shù)據電路?,F(xiàn)對接口電路數(shù)據線作介紹。
          A、B、C、D:行掃描信號線,決定16行中的哪一行點亮;
          R1、R2:紅色LED列數(shù)據;
          G1、G2:綠色LED列數(shù)據;
          CK:74HC595串行數(shù)據移位信號,上升沿將數(shù)據存入驅動模塊中的串行寄存器;
          ST:74HC595數(shù)據鎖存信號,上升沿將串行數(shù)據存入并行數(shù)據寄存器,同時屏體顯示更新;
          EN:74HC138片選信號,有效時屏體點亮。

          2.3 LED工作原理介紹

          2.3.1 LED列數(shù)據電路分析

          LED屏主要由顯示點陣以及行列驅動電路組成,顯示點陣多采用64×32板組成。由于LED發(fā)光器件數(shù)目較多,通常采用掃描驅動方式。掃描驅動電路通常采用多行的同名列共用一套列驅動器。行驅動器的行連到電源的一端,列驅動器的列連到電源的另外一端,當行驅動選擇第i行,列驅動器選擇第j列時,相應的LED就點亮。控制電路主要負責有序地選通各行,在選通每一行之前還要把該行各列的數(shù)據準備好。采用掃描方式進行顯示時,每行有一個行驅動器,各行的同名列共用一個列驅動器。行譯碼器給出行有效信號,從第一行開始,按順序依次對各行進行掃描。根據列鎖存器的數(shù)據確定該列是否接通,接通的列就在該行點亮。當一行的持續(xù)掃描時間結束后,下一行又以同樣的方法進行顯示。每行都掃描一遍后,又從第一行開始下一個周期的掃描。只要掃描周期的時間比人眼閃爍臨界時間短,就感覺不出數(shù)據的更替,這是編寫軟件的重要思想步驟。

          屏采用74HC595作為列驅動電路,該芯片具備以下功能:具有8 bit的串入并出的移位寄存器和一個8 bit輸出鎖存器,移位寄存器和輸出鎖存器的控制各自獨立,因此當?shù)谝恍袛?shù)據鎖存到行線上時,其內部同時通過移位寄存器組織第二行數(shù)據,這使得行數(shù)據準備與顯示可以同時進行。對于列準備數(shù)據,它具有串入并出的移位功能,對于列顯示數(shù)據具有并行鎖存的功能。

          2.3.2 LED行掃描電路分析

          行掃描電路選用74HC138譯碼器,但由于該芯片驅動能力有限,因此在它的輸出端再接上8片4953(每片可以驅動兩行)以增強行驅動能力。138譯碼器ABC 3條信號線可產生8 bit輸出信號,每次選通一片4953即可對應其中一行,如果此時對應列鎖存輸出數(shù)據到線上,則該行二極管導通,顯示數(shù)據。

          本文LED雙色板采用16線掃描方式,用ABCD 4條掃描線結合2片74HC138產生16線掃描信號。

          3 屏對單片機控制系統(tǒng)的要求

          對于一個可正常顯示且不閃爍的LED顯示屏,其正常刷新頻率理論上至少不能少于50場/s。但實測表明只有大于55場/s(一場掃描時間大約18 ms)時,人眼才不會感覺到閃爍。對于64×32 LED來說,處理1 B的時間為70.3 ?滋s,平均指令條數(shù)為Tb/1.5=70.3/1.5=47條。C8051F040晶振頻率為22.118 4 MHz,時鐘周期為0.045 ?滋s,C8051F040 70%的指令執(zhí)行周期為1~2個時鐘周期,故平均指令執(zhí)行時間為2×0.045 ?滋s=0.9 ?滋s,滿足LED顯示控制要求。

          4 C8051F040與LED硬件電路

          C8051F040與LED連接圖如圖1所示。

          本電路采用C8051F040的P2口和P3口的高3位控制LED顯示,其中P2口的高4位連接138譯碼器的4根地址信號線(ABCD),分別是P2.7接A、P2.6接B、P2.5接C、P2.4接D、P2.3接G1、P2.2接G2、P2.1接CK、 P2.0接ST、P3.7接EN、 P3.6接R1、P3.5接R2。時鐘顯示電路選用PCF8563P芯片,采用I2C總線控制方式,SDA和SCL分別接P1.3、P1.2。溫度電路采用18B20芯片,采用單總線控制方式,SDA接P0.3。

          本文引用地址:http://www.ex-cimer.com/article/201706/348287.htm

          5 C8051F040控制LED軟件介紹

          (1) 功能介紹

          這顯主要介紹C8051F040控制LED分屏顯示日期、時間和溫度。按照圖1所示的硬件連接,行掃描軟件地址可分配為0x00、0x80、0x40、0xc0、0x20、0xa0、0x60、0xe0、0x10、0x20、0x90、0x50、0xd0、0x30、0xb0、0x70、0xf0,編寫程序時將根據以上地址進行行掃描。


          (2) 軟件流程圖

          C8051F040控制LED的主程序流程圖如圖2所示,顯示程序流程圖如圖3所示。

          (3) C8051F040源程序

          C8051F040的源程序如下。

          (1)系統(tǒng)時鐘配置

          void SYSCLK_Init (void)
          { int i = 0;
          SFRPAGE = CONFIG_PAGE;
          OSCXCN = 0x67;
          for (i = 0; i 3000; i++);
          // Wait 1ms for initialization
          while ((OSCXCN 0x80) == 0);
          CLKSEL = 0x01;
          OSCICN = 0x00; }

          (2)系統(tǒng)端口配置

          void PORT_Init()
          { SFRPAGE = CONFIG_PAGE;
          //st SFR page before writing to XBR0 = 0x04
          //允許UART0、RX、TX連到2個端口引腳XBR0=00000100 P1MDOUT = 0xf0; //推挽輸出
          P2MDOUT = 0xff;
          P3MDOUT=0xff;
          P4MDOUT=0x00; //漏極開漏輸出
          P4 |= 0xff; //寫1禁止低端輸出驅動器
          P0MDOUT |= 0x01; //使能TX0作為推挽輸出
          XBR2 = 0x42;
          }

          (4) PCF8563與C8051F040的連接

          PCF8563與C8051F040之間的硬件連接圖如圖4所示。


          (5) PCF8563初始化流程

          PCF8563初始化流程圖如圖5所示。


          (6) DS18B20與C8051F040的連接

          DS18B20與C8051F040之間的硬件連接圖如圖6所示。


          (7) DS18B20測溫系統(tǒng)

          DS18B20測溫系統(tǒng)流程圖7所示。

          本文主要介紹了LED顯示的工作原理、硬件電路組成以及對單片機控制系統(tǒng)的要求等,利用C8051F040的特有優(yōu)勢實現(xiàn)對LED的有效控制,可以直接驅動LED,不需要在控制板上再加一級總線驅動器,節(jié)約系統(tǒng)資源。本文還給出了具體部分軟件流程圖和源程序代碼,可根據硬件連接圖連接后正常顯示運行。本文在LED顯示屏的應用中具有一定的參考和應用價值。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();