《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > MAX7219在PLC中的應用

MAX7219在PLC中的應用

2009-03-11
作者:劉 凱 李少慧 張 岡

  摘 要: 介紹了靜態顯示芯片MAX7219的工作原理,提出了一個適于PLC的結構簡單且十分實用的靜態顯示系統,并以SIEMENS公司的S7-200PLC為例,討論了硬件連接和軟件編程
  關鍵詞: MAX7219 PLC 靜態顯示系統


  最新推出的小型高集成度的PLC如SIEMENS S7-200系列,其主模塊上就帶有多個開關量輸入/輸出點,并且具有符合工業標準的485串行通訊口,便于用戶進行設備的單機獨立控制或連接成完全分布式的計算機監控網絡,與遠方控制室連接。但在實際運用中,有些單機控制器或一些遠離控制室的設備往往需要就地顯示,便于操作人員操作或巡視。SIEMENS PT200顯示器就是為此而研制的。但其顯示屏小且多為液晶顯示,不適合強光和光線極弱的場合,而且占用串行口資源、安裝不便、價格較貴。通常解決的方法是充分利用PLC開關量輸出點,采用并行方式驅動LED顯示器。并行顯示占用的資源較多,而一般小型PLC主模塊上的開關量輸出點不多(S7-212為6個輸出點,S7-214為10個輸出點),難以滿足多位顯示和多點控制的要求。本文提出了一種采用MAX7219芯片與PLC輸出點配合的方法,通過簡單的硬件連接,利用PLC強大的編程能力,可根據實際情況對它靈活編程,實現LED的顯示和功能控制。
1 MAX7219簡介
  MAX7219是一種新型的串行接口的8位數字靜態顯示芯片。它是由MAXIM公司新推出的24腳雙列直插式芯片,其引腳圖如圖1所示。


  SEGA~SEGG和SEGDP為LED七段驅動器線和小數點線,供給顯示器源電流;DIG0~DIG7為8位數字驅動線,輸出位選信號,從每位LED共陰極吸入電流。
  圖2為MAX7219工作時序圖。由圖2可知,DIN是串行數據輸入端,在CLK的上升沿,一位數據被加載到內部16位移位寄存器中,CLK端最高輸入頻率可達10MHz,在輸入時鐘信號的每個上升沿,均有1位數據由DIN移入到內部寄存器中,LOAD用來裝載數據,在LOAD的上升沿,16位串行輸入數據被鎖存到數字或控制寄存器中。LOAD必須在第16個時鐘上升沿的同時或之后、在下一個時鐘上升沿之前變高,否則數據將會丟失。


  規定一組數據為16位二進制數據包,其格式如下:

  
  其中D15~D12位不用,D11~D8為內部5個控制寄存器和8個LED顯示數據寄存器的地址,地址編碼如表1所示。D7~D0為5個控制寄存器命令字或8個LED數碼管待顯示的數據。因為控制寄存器與顯示數據寄存器均獨立編址,所以可以通過程序單獨對每個寄存器進行操作。一般情況下,程序先送控制命令,后向顯示寄存器送數據,但必須注意,每16位為一組,從高位地址字節最高位開始送起,直到低位數據字最后一位為止。


2 MAX7219與PLC的硬件連接
  現以SIEMENS公司小型PLC S7-214為例討論PLC與MAX7219的硬件連接和軟件編程。S7-214輸出點不多(Q0.0~Q1.1,共十位)且只有一個RS-485通信端口。S7-214與MAX7219的硬件連接如圖3所示。S7-214的Q0.0,作串行數據輸出,連接到MAX7219的DIN腳,Q0.1和Q0.2通過程序分別模擬MAX7219的時鐘脈沖CLK及數據加載LOAD信號。MAX7219的SEGA~SEGGF,SEGDP端連接到各LED數碼管對應的a~f及dp端,DIG0~7分別接8位LED數碼管的共陰極,以實現位選。


  實際上,數碼管的位數可在1~8之間任意選擇,這可由寫入的掃描界線寄存器的命令字決定。注意:18腳和19腳間9.6kΩ的電阻是必須的,并且為了使由峰值數字驅動器電流引起的紋波減到最小,需要在V+和GND之間盡可能靠近芯片的地方外接一個10μF的電解電容和一個0.1μF的瓷片電容。MAX7219應放在緊靠LED顯示器的地方,且連線盡可能短,兩個GND引腳都必須連接到地線上。
3 軟件編程
  在S7-214的V存儲區開辟兩個字節的存儲單元VW0,專門用來放16位二進制數據包,其中高位字節VB1規定放高位地址字節,低位字節VB0規定放低位命令字或待顯示的數字。
  由于MAX7219的控制寄存器和顯示寄存器均獨立編址,顯示程序實際上就是S7-214在Q0.1(CLK),Q0.2(LOAD)時序的配合下不斷通過Q0.0(DIN)向MAX7219的相應控制寄存器和數據顯示寄存器寫入16位二進制數據包的過程。所以問題的關鍵在于編寫一個通用的寫入子程序,將VW0的內容從高位到低位在Q0.1(CLK)的作用下依次移入移位寄存器,最后由Q0.2的上升沿(LOAD信號)鎖存到相應的內部控制寄存器和數據顯示寄存器中去。寫入子程序的程序流程圖如圖4所示。


  無論初始化MAX7219的控制寄存器,還是在相應的數碼管顯示數字,均可通過調用上述通用寫入子程序完成。注意在調用子程序之前,必須先用MOVW指令將正確的16位二進制數據移入VW0中。
  MAX7219按5個控制寄存器規定的方式對待顯示的數字自動掃描顯示,所以在顯示程序之前,必須初始化5個控制寄存器。各控制寄存器的功能分述如下:
  (1)譯碼方式寄存器 對每個數字設置BCD碼B(0~9、E、H、L、P和-)或非代碼操作。寄存器中的每一位與一個數字對應。邏輯高電平選擇代碼B譯碼,而低電平選擇旁路譯碼器。
  (2)顯示亮度寄存器 其中D7~D4位可任意,而D3~D0可選擇0000~1111。D3~D0的值越大,LED顯示器越亮。
  (3)掃描范圍寄存器 其掃描范圍寄存器設置所顯示數據的多少,可從1至8。它們一般以掃描速率1300Hz、8位數據、多路復用方式顯示。
  (4)關閉寄存器 其中D7~D1位可任意。D0=0,關閉所有顯示器;D0=1,允許顯示。
  (5)顯示測試寄存器 其中D7~D1位可任意;D0=0,LED處于正常工作狀態;D0=1,允許顯示。LED處于顯示測試狀態。
  在送完控制字后,可根據實際需要調用顯示子程序,改變1~8個數據寄存器的內容,完成顯示功能。
  MAX7219只需一組+5V電源和PLC的三個輸出口,且無附加電路,可驅動1~8個LED顯示器,顯示亮度可調,工作可靠。
參考文獻
1 MAXIM.新產品數據手冊 V2,1998
2 SIEMENS.S7-200PLC用戶指南,1998.6

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久国产精品免费专区 | 欧美在线中文字幕高清的 | 亚洲黄色小视频 | 国产欧美日韩三级 | 亚洲免费成人在线 | 成人午夜性视频欧美成人 | 国产大臿蕉香蕉大视频女 | 国产亚洲一路线二路线高质量 | 欧美日韩一级黄色片 | 1024国产精品视频观看 | 国产高清视频青青青在线 | 欧美国产高清 | 伊人中文字幕在线 | 国产成人精品亚洲2020 | 国产aa大片| 伊人热| 毛片免费播放 | 国产日韩欧美亚洲 | 一级毛片在线免费播放 | 亚洲欧美在线观看首页 | 欧美日韩精品一区二区三区不卡 | 天天爽夜夜 | 青青青国产在线手机免费观看 | 亚洲国产一区在线 | 草草视频在线 | 成人三级精品视频在线观看 | 欧美成人免费全部色播 | hdⅹvideos成人 | 国亚洲欧美日韩精品 | 邪恶亚洲 | 日本二级黄色片 | 国产高清视频网站 | 国产成人精品日本亚洲语音1 | 一级黄色片视频 | 国内精品免费视频精选在线观看 | 艳妇乳肉豪妇荡乳 | 国产成人精品视频 | 老司机毛片 | 成人黄色一级视频 | 蜜桃日本一道无卡不码高清 | 一级女性黄 色生活片 |