国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于單片機和可編程邏輯器件實現LED顯示屏

發布時間:2010-11-4 21:03    發布者:techshare
LED顯示屏主要由電流驅動電路及LED點陣陣列、控制系統和PC端管理軟件三部分構成(圖1)。控制系統負責接收、轉換和處理各種外部信號,并實現掃描控制,然后驅動LED點陣顯示需要的文字或圖案。控制系統作為LED顯示屏的核心部分,直接決定了顯示屏的顯示效果和性能的優劣。本文詳細分析采用Verilog HDL對ATF1508AS進行編程,實現雙口RAM訪問和產生LED點陣驅動電路所需的各種時序信號。

1 LED顯示屏的基本結構及關鍵技術

本系統設計中,控制系統采用單片機+CPLD的方案來實現,整個控制系統可分為:信號接收及處理模塊和CPLD的掃描控制模塊和LED點陣驅動模塊,如圖1 所示。本系統的關鍵技術是使用雙口RAM和CPLD芯片,解決LED顯示屏中高速數據傳輸和快速掃描控制的難題,大大提高了動態顯示的刷新率。

信號接收與處理模塊的功能是AT89S52單片機通過串口接收PC送來的點陣信息,同時對點陣信息做各種不同的處理。利用雙口RAM IDT7007在單片機和ATF1508AS之間以共享的方式建立高速的數據交換通道。





CPLD的掃描控制模塊采用ATF1508AS芯片實現。其功能是從雙口RAM讀取點陣信息,串行化后送顯示掃描驅動電路,同時輸出各種所需的控制信號。CPLD具有掃描速度快,延時短等特點,克服了單片機由于傳輸速率慢而造成在大屏幕顯示時產生的閃爍效應。

2 基于CPLD的掃描控制模塊的設計

2.1 設計思想

本模塊的功能是從存儲器中讀取數據,將數據輸送到顯示屏體上,同時產生各種控制信號。時序產生模塊由兩部分構成,一是產生訪問雙口RAM的時序,二是產生LED顯示屏接口所需的各種信號。

硬件電路我們采用較常見的CPLD芯片ATF1508來實現控制系統中的時序產生部分。CPLD是一種具有豐富的可變成I/O引腳的可編程邏輯器件,不僅可以實現常規的邏輯器件功能,還可以實現復雜而獨特的時序邏輯功能。軟件我們采用Verilog HDL語言來進行設計。Verilog HDL是用于邏輯設計的硬件描述語言,已成為IEEE標準。利用Verilog HDL語言對ATF1508AS進行編程,實現掃描控制模塊所需的功能。

掃描控制部分的原理電路如圖2所示,ATF1508AS是核心部分,需要根據系統需要定義ATF1508AS的各個I/O端口,下面是I/O端口定義和內部寄存器定義的Verilog HDL語言代碼。





module LedSequ(color, datain, addrout, CE, OE, SEMR, RWC, sdr, sdb, sck, le, oe1, cs, clk, counter);
input clk; //系統時鐘
input[7:0] datain;//RAM數據輸入
input[1:0] color;//顏色控制
output[13:0] addrout;//地址輸出口
output SEMR,RWC;
output CE,OE,sdr,sdb,sck,le,oe1,cs;
output[3:0] counter;
reg[3:0] hcnt;//38譯碼器計數器
reg [7:0] data1;//數據寄存器
reg[3:0] counter;//38翻碼器輸出端
reg SEMR,RWC;
reg SDA,SDC;

reg[13:0] addrout,addr;//addr地址計數器
reg[3:0] state;// 狀態寄存器
reg [2:0] shcnt; //移位脈沖讀數器
reg CE,OE,sdr,sdb,sck,le,oe1,cs;
reg [8:0] byte;
parameter s0=1'd0,s1=1'd1,s2=1'd2,s3=1'd3, s4=1'd4, s5=1'd5; //狀態常量
2.2 訪問雙口RAM時序的產生
IDT7007是具有32KB的雙口RAM電路,與ATF1508AS的連接電路如圖2所示,其中: 為片選信號, 為讀寫控制信號, 為輸出使能信號,A0R-A13R為右端口地址總線,D0R-D7R為右端口數據總線,其右端口讀寫時序如圖4所示。我們采用有限狀態機實現,其基本工作原理是:S0狀態進行初始化,S1狀態時ATF1508AS首先輸出地址信號addrout,然后置 相有效,S2狀態讀取雙口RAM的數據,并存儲到內容寄存器datain中,從而完成雙口RAM的讀數據過程。下面給出ATF1508AS讀取雙口RAM數據的主要代碼:
always @ (posedge clk)
begin //每個時鐘周期,狀態變化一次
case(state)
s0: begin //初始化狀態
CE=1'b0; //IDT7007片選
OE=1'b1; //IDT7007讀選通
le=1'b0;
oe1 = 1'b0;
cs = 1'b0;
addr= 14'b0;
SEMR=1'b1; //IDT7007 置1有
RWC = 1'b1; //寫控制 1
hcnt=4'b0000;
counter=4'b0000;
state=s1;
end
s1: begin //輸出RAM地址
CE=1'b0;
addrout=addr;//輸出地址
OE=1'b0;
SEMR=1'b1;
RWC = 1'b1;
shcnt = 3'b000;
state=s2;
end
s2: begin //讀雙口RAM數據
oe1=1'b0;
data1 = datain;
state=s3;
end
……(顯示掃描及LED驅動代碼部分)
endcase
end












2.3 LED顯示驅動時序信號的產生

CPLD 與LED點陣的驅動電路接口如圖 所示,其中:CS為3-8譯碼器片選信號;OE為BMI5026輸出使能信號,控制LED點陣是否能被點亮;LE為驅動芯片數據鎖存信號;sck為移位脈沖,將CPLD串行輸出的紅綠數據串行移入MBI5026(移位寄存器);A-D為雙3-8譯碼器構成的4-16譯碼器的數據輸入,實現顯示行選通控制; sdr為紅數據信號線;sdb為綠數據信號線。
其工作過程為:S3狀態,sck脈沖置0,sdr和sdb分別輸出一位數據;S4狀態時,sck置 1,紅和綠數據分別移入相應移位寄存器BMI5026,若不足8位時,返回S3狀態,若不足一行時,返回S1狀態,讀下一個字節,若完成一行數據移位過程,則轉S5狀態;S5狀態時,置le為0,將BMI5026的緩沖寄存中一個顯示行的點陣數據送輸出寄存器,同時置cs1有效,控制第hcnt行的點陣顯示,然后判斷一屏內容是否顯示完成,返回s1狀態。圖4為完整的有限狀態機的狀態圖。

下面給出LED顯示屏體驅動時序信號對應的Verilog HDL程序代碼:

s3: begin
sck=1'b0;
sdr= SDA && color[0];
sdb= SDC && color;
OE=1'b1; CE=1'b1;
state=s4;
end
s4: begin // 移位輸出到LED顯示屏
sck = 1'b1;
shcnt = shcnt +1'b1;
if (shcnt = = 0)
begin
addr=addr+1'b1; //讀完一個字節地址記數器加1
byte=byte+8'b1;
if(byte= = nrow)// 如果讀完一行數據
begin
oe1=1'b1;//關LED顯示
cs=1'b1;
le=1'b0;//驅動芯片寫入數據
byte = 8'b0;
state=s5;//讀完一行數據則顯示
end
else state=s1;
end
else state=s3; //當前字節移位輸出
end
s5: begin
sck=1'b0;
le=1'b0;
counter=hcnt;
OE=1'b1;
CE=1'b0;
if(addr = = nscreen)
addr=0;
oe1=1'b0;
cs=1'b0;
state =s1;
end





4 系統測試及仿真

系統的開發調試環境是:單片機部分在KeilC51下調試,CPLD部分在Maxplus10下調試。LED顯示屏的掃描控制模塊的Verilog HDL源程序編寫完成后,在ALTERA公司Maxplus10可以先進行軟件仿真,以觀察各信號是否符合硬件電路所需的時序要求。圖5為掃描模塊 CLPD仿真結果,符合設計要求。通過JTAG接口下載到ATF1508AS后,系統工作正常。

5 結束語

基于Verilog HDL實現的LED顯示屏掃描控制模塊,應用于我們開發LED大屏幕電子信息顯示屏系統,簡化了系統結構,提高性了性價比。該LED顯示屏在實際應用中具有良好的顯示效果,畫面清晰、性能穩定,已經在學校的多個部門得到應用。
本文地址:http://m.qingdxww.cn/thread-36482-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • FPGA設計流程培訓教程
  • 無線充電基礎知識及應用培訓教程
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂网www在线观看 天堂网www在线 | 日本天堂网在线观看 | 亚洲国产成人私人影院 | 欧美一级别 | 中国一级做a爰片久久毛片 中国一级特黄毛片 | 极品美女在线观看免费视频 | 久久精品小视频 | 无限免费观看下载在线 | 亚洲欧洲免费视频 | 国产又黄又a又潮娇喘视频 国产又粗又爽又大又长免费视 | 欧美性黑人十极品hd | 国产精品第十页 | 天堂在线www在线资源 | 国产成人一区免费观看 | 免费观看一级毛片 | 日韩一级视频 | 妈妈的朋友 magnet | 欧美三级超在线视频 | 91一级片| 青青青手机在线观看 | 久久99热这里只有精品国产 | 青草免费免费观看视频在线 | 久久免费精品 | 非洲黑人毛片 | 欧美亚洲网 | 国产卡二卡3卡乱码免费 | 国产第一福利影院 | 亚洲一区二区在线免费观看 | 亚洲一区二区三区在线免费观看 | 亚洲最大情网站在线观看 | 日本免费高清视频二区 | 欧美黑人hd | 4438全国最大成人网 | 中文国产成人精品久久下载 | 久久综合九色综合欧美播 | 好色999| 亚洲一区二区中文 | 男人天堂久久 | 日韩美a一级毛片 | 国产日韩欧美综合在线 | 草莓榴|