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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 兆赫同步開關電池充電器的應用

          兆赫同步開關電池充電器的應用

          ——
          作者:電子科技大學 通信與信息工程學院 羅海 四川農業(yè)大學 信息與工程技術學院 王莉 時間:2007-01-26 來源:《世界電子元器件》 收藏

          pt6311原理與應用分析
          硬件結構

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

          作為vfd顯示控制及驅動器芯片,pt6311的核心功能仍然是實現(xiàn)vfd顯示控制與驅動。芯片的硬件結構主要由掃描信號發(fā)生器、串行通信接口、控制模塊、顯示存儲器、按鍵掃描值寄存器、通用輸入寄存器、led驅動器、vfd段/位驅動器等構成。pt6311內部電路原理框圖如圖1所示。
          由圖1及電路原理可知,sw輸入端也可以作為四個單鍵的輸入,即在按鍵數(shù)目不多于4個或者可以利用組合按鍵的情況下,這部分資源也可作為按鍵接口來利用。因此,pt6311實際提供兩個鍵盤掃描的接口,一個是通常的矩陣式鍵盤接口,另一個就是開關信號輸入端sw1~sw4。另外,pt6311還集成了外掛四個led驅動功能。

          鍵盤接口

          普通的鍵盤接法主要有兩種:獨立式和矩陣式。
          (1)由通用開關量輸入sw1~sw4構成四按鍵的獨立式鍵盤。接法如圖2(a)所示

          (2)由k1~k4與ks1~ks12所構成矩陣式鍵盤。鍵盤接法如圖2(b)所示。
          由圖可見,pt6311的鍵盤接口所支持的最大鍵盤矩陣為4 12,即最大按鍵數(shù)目為48個。

          pt6311的顯存空間配置情況如圖3所示。實際應用中,顯存空間往往只是使用一部分,因為所使用的顯存空間大小與設置的顯示模式有關,圖中的每一行對應一字,每一列對應八段即一個字節(jié),相當于一段對應于一個字節(jié)的一位。另外,pt6311還有鍵掃描值寄存器、開關量輸入寄存器和led輸出寄存器,這些寄存器的數(shù)據(jù)格式如圖4所示。



          片內的控制字

          pt6311具有顯示模式設置、數(shù)據(jù)設置、地址設置(針對顯存)和顯示控制等四種控制字。其中最高兩位為指令特征位,由指令解碼器來識別。

          外部通信接口及信號時序

          根據(jù)該芯片的電路結構,pt6311提供四線制串行接口與外部控制器通信,接口信號線分別為時鐘clk、輸入數(shù)據(jù)din、輸出數(shù)據(jù)dout和選通stb,通信的控制時序見后。接口電路連接如圖5(a)所示。


          根據(jù)pt6311與外部微控制器的接口協(xié)議,外部控制操作分為寫入控制字、寫入數(shù)據(jù)(包括顯存及l(fā)ed口)、讀取數(shù)據(jù)(包括鍵值及通用輸入sw口)。寫入控制字/數(shù)據(jù)的時序如圖5(b)所示,以地址自動增一方式連續(xù)寫入顯存數(shù)據(jù)的時序如圖5(c)所示,讀取數(shù)據(jù)的時序如圖5(d)所示。
          當然,鍵盤可根據(jù)需要選擇掛接部分按鍵,但是,由前述內部鍵掃描存儲器的對應關系,最好選擇可以連續(xù)讀取鍵值的區(qū)間,便于程序處理和減少讀取時間和處理時間。


          鍵掃描與vfd顯示實用系統(tǒng)

          結合鍵掃描與vfd顯示控制等功能于一體的電子系統(tǒng)較常見,比如家庭影視音響系統(tǒng)、電梯等電子電器設備。一般而言,這些應用系統(tǒng)所采用的體系結構如圖6所示。

          ac-3解碼板的控制和面板顯示系統(tǒng)的設計采用多鍵鍵盤和vfd顯示器來作為人機接口,系統(tǒng)的原理框圖與圖6相似。


          vfd顯示與鍵掃描的編程實現(xiàn)

          要使得pt6311應用系統(tǒng)能夠正常、可靠地工作,在硬件體系基礎上,pt6311還得通過編程來實現(xiàn)具體的功能。外部控制器控制pt6311實現(xiàn)預定的操作,實際上就是一種串口編程,這在編程實現(xiàn)時尤其要注意操作時序。當然,vfd顯示與鍵掃描的具體編程還跟外部微控制器有關,這里給出at89c52單片機的匯編編程實現(xiàn)的部分程序,并在程序中作了詳細的注釋以便讀者更好地理解。

          pt6311上電后,外接矩陣式鍵盤的鍵掃描和vfd顯示均處于關閉狀態(tài),因此需要進行初始化設置,且至少要開啟一次顯示,則鍵掃描功能才能自動啟動,此后若關閉顯示鍵掃描仍會繼續(xù)。


          鍵掃描讀取的編程實現(xiàn)

          按鍵無論以獨立式接入sw端口,還是以矩陣式接入鍵掃描專用端口,基于pt6311的鍵掃描編程都是類似的,故此處不再單獨敘述。這里主要探討pt6311外接矩陣式鍵盤的鍵掃描編程方法。

          假設pt6311已啟動,單片機從pt6311讀取按鍵位置的編程(讀取sw口只需修改指令,操作類似):

          (1)、單鍵按鍵的編程實現(xiàn)

          單鍵按鍵的鍵掃描無需把全部鍵掃描的結果讀出,只要讀到有鍵按下即可,因為不存在組合按鍵的情況則不可能有多鍵同時按下。于是,可以對鍵盤的按鍵進行編號,并按照pt6311鍵掃描寄存器的對應順序及讀取時序進行讀取,只需檢測是否有效按鍵并保存編號即可,而無需將全部鍵掃描值數(shù)據(jù)保存。具體程序段如下:

          rd_keynumber:
          mov b,#rd_key_i;將鍵掃描值讀取指令放入指令緩存,如讀sw口,則只需修改指令
          setb rd_d
          clraddr
          clr incl_d;設置標志以調用單指令發(fā)送子程序
          acall send_1bi_nd;調用單字節(jié)指令發(fā)送子程序,參見后面vfd顯示控制的編程
          mov r6,#00h;r6保存按下鍵的單鍵編號
          rdkey_on:
          cpl clk;指令發(fā)送完畢clk=h,脈沖下降沿處pt6311輸出數(shù)據(jù)dout
          inc r6;鍵值取自然數(shù)
          cpl clk;脈沖上升沿后單片機讀取數(shù)據(jù)可靠
          jnb dout,no_key;讀取dout狀態(tài),判斷有無鍵按下
          setb key_pressed;有鍵按下,則設置有效按鍵標志
          ajmp exit
          no_key:
          cjne6,#keynum_max,rdkey_on;是否掃描完畢所有按鍵,是則表示無鍵按下
          clr k_pressed
          exit:
          setb stb
          ret

          退出該程序段后即可根據(jù)有無有效按鍵及鍵編號進行必要的按鍵響應處理。實際上,這個程序段就是實現(xiàn)一個逐位檢測程序,判斷是否有按鍵,有則記下按鍵編號,無則退出。

          (2)、組合按鍵的編程實現(xiàn)

          組合按鍵就是通常所稱的“組合鍵”,即兩個或者兩個以上按鍵同時按下的按鍵方法。此時,按鍵的作用并不等于各個單鍵按下所代表的意思,而是一個由程序預先規(guī)定的新指令,常用于按鍵較少而需指令較多的場合。這種鍵值的讀取一般要將全部鍵掃描值寄存器內容讀出暫存并進行軟件判決處理(查詢是否有預定義的組合鍵),所以需要一定的暫存空間支持。 rd_multi_key:
          ……;這部分與單鍵掃描程序相同
          mov r0,#keynum_max;r0作為鍵計數(shù)器,比如前面提到的系統(tǒng)keynum_max=8
          (……);此時根據(jù)鍵盤布局,增加避開無效數(shù)據(jù)的空操作
          rdmkey_on:
          cpl clk; 指令發(fā)送完畢clk=h,脈沖下降沿處pt6311輸出數(shù)據(jù)dout
          nop
          cpl clk;脈沖上升沿后單片機讀取數(shù)據(jù)可靠
          movc,dout
          rrc a
          djnz r0,rdmkey_on
          movkey_value,a
          setb stb
          ret
          ……
          acall multi_key_id;組合鍵及單鍵的識別處理,根據(jù)按鍵情況作出相應處理以上程序是針對按鍵數(shù)據(jù)第一位輸出即有效的情況,就是說按鍵布局對應于鍵值寄存器的開始端。如果不是這樣,且按鍵布局對應鍵值寄存器的連續(xù)空間,則需要在程序讀取數(shù)據(jù)開始時增加避開無效數(shù)據(jù)位的空操作。

          從以上程序可知,其實單鍵掃描可以視為多鍵掃描的一種特殊情況。后面的按鍵識別處理程序要根據(jù)需要進行軟件設計,比如最多的組合按鍵只有兩個按鍵,則多于兩個以上的按鍵組合就視為無效而無需作組合識別處理。

          以上按鍵掃描程序一般放在定時中斷服務程序中的,主要是為了方便延時去抖動。識別到有效單鍵或者組合鍵并作出響應后都需要處理重復按鍵問題,實際上我們一般都要作按鍵是否松開的識別處理或者按鍵間隔有效控制處理,主要是為了避免指令的過于頻繁反復操作,尤其是大功率調整。

          vfd顯示控制的編程實現(xiàn)

          假設顯示內容已經放入display_buf_data,并且芯片已完成上電初始化設置,則單片機向pt6311發(fā)送指令與數(shù)據(jù)的通用程序段如下:(發(fā)送單字節(jié)指令可帶有n(0≤n≤48)個字節(jié)數(shù)據(jù)的子程序)
          send_1bi_nd:;發(fā)單字節(jié)指令可帶n字節(jié)數(shù)據(jù),用于初始化設置或修改顯存內容
          clrea;發(fā)送過程禁止中斷,確保發(fā)送過程完整
          jnb addr,no_addr;判斷是否需要設置顯存需要操作的始地址
          clr addr
          mov a,disply_buf_addr;取要操作的顯存地址
          or a,#0c0h ;將要設置的地址與pt6311的指令特征位合并
          mov b,a;b作為發(fā)送字節(jié)緩存,也作為發(fā)送單字節(jié)指令的緩存
          no_addr:
          clr stb;啟動發(fā)送過程
          s_on_d:
          mov a,b
          mov cnt,#08h ;用cnt作為位計數(shù)器,指示串行數(shù)據(jù)字節(jié)發(fā)送完畢與否
          s_on:
          rrc a
          cpl clk;clk初始化為h(高電平)
          mov din,c;按位將數(shù)據(jù)或指令的一位加載到串行數(shù)據(jù)線
          cpl clk;時鐘上升沿發(fā)送
          dec cnt;發(fā)送的位計數(shù)器遞減一
          djnz cnt,s_on;字節(jié)數(shù)據(jù)發(fā)送完否?否,則繼續(xù)發(fā)送下一位
          jnb incl_d,s_over;發(fā)送完畢則判斷是否后帶數(shù)據(jù),無則發(fā)送完畢
          djnz r6,s_next_byte
          clr incl_d;清除后帶數(shù)據(jù)的標志
          mov b,disply_buf_data;取得本次發(fā)送過程的最后一個字節(jié)
          ajmp s_on_d
          s_next_byte:
          clrc
          mov a,#disply_buf_data;單片機內的顯存為display_buf_data開始的一段ram空間
          add a,r6
          mov r0,a
          mov b,@r0;這里的運算取得要發(fā)送的顯示數(shù)據(jù)的下一個字節(jié)
          ajmp s_on_d
          s_over:
          jb rd_d,keep_stb;如果發(fā)送了讀取數(shù)據(jù)指令,則保持stb為低,由讀取程序置高
          setb stb
          setb ea;恢復允許中斷設置
          keep_stb:
          ret
          如果發(fā)送單字節(jié)的控制字,則設置addr=0,incl_d=0,rd_d=0,b=指令,再調用該子程序即可。



          關鍵詞:

          評論


          相關推薦

          技術專區(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); })();