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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的噴墨打印機(jī)控制技術(shù)

          基于51單片機(jī)的噴墨打印機(jī)控制技術(shù)

          作者: 時(shí)間:2011-11-04 來(lái)源:網(wǎng)絡(luò) 收藏
          表2 需打印的表格

          測(cè) 試 項(xiàng) 目 技 術(shù) 指 標(biāo) 實(shí) 測(cè) 值 
          +5V電源 +5V±0.2V  
          +15V電源 +15V±0.3V  
          -15V電源 -15V±0.3V  
          +20V電源 +20V±0.5V  

          由流程圖4可看出,首項(xiàng)工作是由主機(jī)向打印機(jī)發(fā)送命令,基于51單片機(jī)的噴墨打印機(jī)控制技術(shù)利用軟件實(shí)現(xiàn)打印機(jī)的初始化。初始化的內(nèi)容包括紙張型號(hào)、文本長(zhǎng)度、上下邊距、左右邊距的設(shè)置等。在本設(shè)計(jì)中初始化程序如下:

          打印機(jī)初始化完成后,將打印緩沖區(qū)清零。這個(gè)打印緩沖區(qū)實(shí)際上就是位于外部RAM 62256內(nèi)的一段存儲(chǔ)區(qū)域,RAM 62256的地址范圍是0000H~7FFFH,在本設(shè)計(jì)中將打印緩沖區(qū)的首地址定義為0000H。為了書(shū)寫(xiě)方便在以下的程序中用PRINT_BUF表示這個(gè)地址值。接著將ROM中以BMP_ADDR為首址的內(nèi)容讀出并寫(xiě)入首址為PRINT_BUF的打印緩沖區(qū)內(nèi),其代碼長(zhǎng)度即所設(shè)定 打印數(shù)據(jù)全部存入打印緩沖區(qū)后,只要主機(jī)向打印機(jī)發(fā)開(kāi)始打印命令,將打印緩沖區(qū)內(nèi)的數(shù)據(jù)按字節(jié)依次發(fā)往打印機(jī),一張符合要求的表格即打印出來(lái)了。具體程序如下:

          打印數(shù)據(jù)全部存入打印緩沖區(qū)后,只要主機(jī)向打印機(jī)發(fā)開(kāi)始打印命令,將打印緩沖區(qū)的數(shù)據(jù)按字節(jié)依次發(fā)往打印機(jī),一長(zhǎng)符合要求的表格即打印出來(lái)了。具體程序如下:

          所設(shè)計(jì)的MCS-51系列單片機(jī)與的硬件接口和程序在衡陽(yáng)無(wú)線(xiàn)電總廠的多種測(cè)試儀器中應(yīng)用,效果良好。該硬件接口和軟件編程方法具有一定的通用性,適用于采用HP PCL LEVEL 3打印機(jī)命令語(yǔ)言并且配有Centronics并行接口的各種打印機(jī),只需在程序中根據(jù)不同機(jī)型修改個(gè)別參數(shù)值,即可實(shí)現(xiàn)打印輸出。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();