新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S52和ATF1508AS的LED顯示屏的硬件設(shè)計(jì)

基于AT89S52和ATF1508AS的LED顯示屏的硬件設(shè)計(jì)

作者: 時(shí)間:2012-04-14 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/171619.htm

reg[13:0] addrout,addr;//addr地址計(jì)數(shù)器
reg[3:0] state;// 狀態(tài)寄存器
reg [2:0] shcnt; //移位脈沖讀數(shù)器
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; //狀態(tài)常量
2.2 訪問(wèn)雙口RAM時(shí)序的產(chǎn)生
IDT7007是具有32KB的雙口RAM電路,與的連接電路如圖2所示,其中: 為片選信號(hào), 為讀寫(xiě)控制信號(hào), 為輸出使能信號(hào),A0R-A13R為右端口地址總線,D0R-D7R為右端口數(shù)據(jù)總線,其右端口讀寫(xiě)時(shí)序如圖4所示。我們采用有限狀態(tài)機(jī)實(shí)現(xiàn),其基本工作原理是:S0狀態(tài)進(jìn)行初始化,S1狀態(tài)時(shí)首先輸出地址信號(hào)addrout,然后置 相有效,S2狀態(tài)讀取雙口RAM的數(shù)據(jù),并存儲(chǔ)到內(nèi)容寄存器datain中,從而完成雙口RAM的讀數(shù)據(jù)過(guò)程。下面給出讀取雙口RAM數(shù)據(jù)的主要代碼:
always @ (posedge clk)
begin //每個(gè)時(shí)鐘周期,狀態(tài)變化一次
case(state)
s0: begin //初始化狀態(tài)
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; //寫(xiě)控制 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數(shù)據(jù)
oe1=1'b0;
data1 = datain;
state=s3;
end
……(顯示掃描及驅(qū)動(dòng)代碼部分)
endcase
end



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉