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

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > DIY:以PIC16F877A單片機為核心設(shè)計LED手寫屏

          DIY:以PIC16F877A單片機為核心設(shè)計LED手寫屏

          作者: 時間:2013-12-21 來源:網(wǎng)絡(luò) 收藏
          yle="margin: 0px; padding: 0px; word-wrap: break-word; text-indent: 2em; line-height: 24px; color: rgb(62, 62, 62); font-family: Tahoma, Arial, sans-serif; font-size: 14px; text-align: justify; ">當(dāng)光筆長時間(1~5min時間可由控制器輸入設(shè)定)未接觸顯示屏,能自動關(guān)閉顯示并進入休眠狀態(tài)。進入休眠狀態(tài)由程序控制,進入休眠后,消耗電流在2mA以下。

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

          電路設(shè)計

          (1)點陣顯示屏電路設(shè)計

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

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

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

          (2)坐標(biāo)顯示電路設(shè)計

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

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

          軟件設(shè)計

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

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

          總結(jié)

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

          電路圖符號相關(guān)文章:電路圖符號大全



          上一頁 1 2 下一頁

          評論


          相關(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); })();