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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用PIC單片機(jī)的LED點(diǎn)陣手寫屏設(shè)計(jì)

          采用PIC單片機(jī)的LED點(diǎn)陣手寫屏設(shè)計(jì)

          作者: 時(shí)間:2011-10-06 來源:網(wǎng)絡(luò) 收藏

            本文采用PIC 16F877A單片機(jī)為主要核心控制元件,設(shè)計(jì)了一個(gè)32×32 LED點(diǎn)陣模塊的書寫顯示屏。它主要由光筆模塊和點(diǎn)陣顯示模塊組成,光筆模塊利用光敏電阻的光電特性,實(shí)現(xiàn)微亮檢測功能。光筆反饋信號經(jīng)放大器LM324比較后,送給單片機(jī)處理。32×32點(diǎn)陣顯示模塊、驅(qū)動(dòng)模塊由74HC595外設(shè)驅(qū)動(dòng)陣列和8位串行輸入/輸出移位寄存器ULN2803A組成。光筆通過顯示屏微亮掃描尋找坐標(biāo)值,按鍵和LED指示燈可實(shí)現(xiàn)“點(diǎn)亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、對象拖移”等書寫顯示功能。

            系統(tǒng)系統(tǒng)總體構(gòu)成

            本系統(tǒng)設(shè)計(jì)包括三大部分:PIC 16F877A單片機(jī)主控器、光筆控制器、點(diǎn)陣顯示屏。系統(tǒng)的結(jié)構(gòu)如圖1所示。

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

            PIC系列單片機(jī)是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。其內(nèi)部還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,并包括A/D和D/A模塊,執(zhí)行速度快,功能強(qiáng)大。

            光筆選用光敏電阻作為感應(yīng)器件,根據(jù)光敏電阻的光電特性,光敏電阻兩瑞電壓因光電阻的變化而變化。電壓值經(jīng)電壓比較器LM324比較后可輸出高/低電平。光電特性非線性易調(diào)節(jié),且靈敏度較好。

            LED與數(shù)碼管同步使用,LED用于功能指示燈,數(shù)碼管用于32×32點(diǎn)陣LED模塊書寫顯示屏當(dāng)前光筆所在的行/列坐標(biāo)值。

            分析與計(jì)算

           ?。?)光筆選取與參數(shù)設(shè)計(jì)

            點(diǎn)陣用微亮的光進(jìn)行掃描,光筆用來感應(yīng)。當(dāng)光筆感應(yīng)到光時(shí),通過程序可獲當(dāng)前點(diǎn)陣光對應(yīng)的坐標(biāo)值。從而做出相對應(yīng)的處理。光筆起著關(guān)鍵作用,其感應(yīng)器件是光敏電阻。光敏電阻的光電特性如圖2所示。

            圖2 光敏電阻光電特性

            光敏電阻安裝在光筆筆頭,用于感應(yīng)點(diǎn)陣掃描光。光筆電路圖如圖3所示。電路經(jīng)過放大器LM324進(jìn)行正相輸入/反相輸入電壓比較,輸出高低電位。經(jīng)測量可知,在光照條件下,LM324輸出端為0V(RB0),光敏電阻兩端電壓為0V;無光時(shí),光敏電阻兩端電壓為2.8V,LM324輸出端為高電位。由分壓公式可得出RP阻值為7360Ω。當(dāng)光筆接收到不同光線時(shí),只需調(diào)節(jié)電位器,光筆正常工作。所以,在不同環(huán)境下,只需調(diào)節(jié)電位器,點(diǎn)陣顯示屏一樣正常工作。

            圖3 光筆電路圖

            點(diǎn)陣屏驅(qū)動(dòng)參數(shù)設(shè)計(jì)無現(xiàn)成的32×32點(diǎn)陣LED模塊,因此采用16塊8×8點(diǎn)陣拼成32×32點(diǎn)陣。但這樣占用單片機(jī)I/O過多,必須對其進(jìn)行擴(kuò)展。點(diǎn)陣工作電壓在1.5V~2.2V左右,驅(qū)動(dòng)電流較大。

            (2)屏亮自動(dòng)調(diào)節(jié)設(shè)計(jì)

            屏亮自動(dòng)調(diào)節(jié)設(shè)計(jì)采用光敏電阻和LM317(三端可調(diào)正電壓穩(wěn)壓器)實(shí)現(xiàn)屏亮自動(dòng)調(diào)節(jié)。由光敏電阻光電特性原理可知,光敏電阻在不同光線照射下,阻值不一樣。根據(jù)此原理,光敏電阻與LM317可調(diào)電阻并聯(lián)。當(dāng)光線不一樣時(shí),LM317輸出不一樣的電壓阻值。屏亮自動(dòng)調(diào)節(jié)電路如圖4所示。

            圖4 LID屏亮度自動(dòng)調(diào)節(jié)電路

            LM317輸出電壓計(jì)算,Vout由調(diào)節(jié)端的總電阻R和電流I共同決定。其輸出電壓計(jì)算公式為:。這里通過改變電阻而改變電壓。

           ?。?)超時(shí)關(guān)顯示節(jié)電設(shè)計(jì)

            當(dāng)光筆長時(shí)間(1~5min時(shí)間可由控制器輸入設(shè)定)未接觸顯示屏,能自動(dòng)關(guān)閉顯示并進(jìn)入休眠狀態(tài)。進(jìn)入休眠狀態(tài)由程序控制,單片機(jī)進(jìn)入休眠后,消耗電流在2mA以下。

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

            (1)點(diǎn)陣顯示屏電路設(shè)計(jì)

            32×32點(diǎn)陣LED顯示屏共有32個(gè)端口,如不驅(qū)動(dòng)點(diǎn)陣,占用單片機(jī)I/O過多。這里采用74HC595(八外設(shè)驅(qū)動(dòng)陣列)、ULN2803A(8位串行輸入/輸出移位寄存器)點(diǎn)陣行驅(qū)動(dòng)和74HC154、7404點(diǎn)陣列驅(qū)動(dòng)。共同完成32×32點(diǎn)陣LED顯示屏驅(qū)動(dòng)。顯示屏行驅(qū)動(dòng)電路如圖5所示、列驅(qū)動(dòng)電路圖如圖6所示。僅僅用到8個(gè)I/O口,點(diǎn)用資源少,易控制并且顯示效果很好。

            圖5 顯示屏行驅(qū)動(dòng)電路圖

            圖6 顯示屏列驅(qū)動(dòng)電路圖

           ?。?)坐標(biāo)顯示電路設(shè)計(jì)

            根據(jù)題目要求,在“點(diǎn)亮”功能下,光筆接融到顯示屏某點(diǎn)時(shí),控制板同步顯示該點(diǎn)的坐標(biāo)值。坐值標(biāo)為數(shù)字,所以可采用四個(gè)數(shù)碼管作為顯示器件。采用74LS164擴(kuò)展單片機(jī)I/O口,其電路如圖7所示。共有四套這樣的電路,其中兩套用于X軸顯示,另外兩套用于Y軸顯示。

           圖7 坐標(biāo)顯示電路

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

            該系統(tǒng)對軟件設(shè)計(jì)要求高,大部分功能只能由軟件完成。因程序量大,時(shí)間有限,采用C語言編程,這樣就大大提高了程序移值性問題,提高了編程效率。編程關(guān)鍵點(diǎn)在于微亮掃描與捕捉儲存,如圖8所示。

            圖8 掃描與儲存部分流程圖

            總結(jié)

            本文所設(shè)計(jì)的32×32點(diǎn)陣LED模塊書寫顯示屏,應(yīng)用光敏電阻的光電特性,對光進(jìn)行檢測感應(yīng),反饋給單片機(jī),通過處理可實(shí)現(xiàn)“點(diǎn)亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、對象拖移”等書寫顯示功能。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();