新聞中心

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

        基于AT89S52和ATF1508AS的LED顯示屏的硬件設計

        作者: 時間:2012-04-14 來源:網(wǎng)絡 收藏

        本文引用地址:http://www.104case.com/article/171619.htm

        reg[13:0] addrout,addr;//addr地址計數(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 訪問雙口RAM時序的產(chǎn)生
        IDT7007是具有32KB的雙口RAM電路,與的連接電路如圖2所示,其中: 為片選信號, 為讀寫控制信號, 為輸出使能信號,A0R-A13R為右端口地址總線,D0R-D7R為右端口數(shù)據(jù)總線,其右端口讀寫時序如圖4所示。我們采用有限狀態(tài)機實現(xiàn),其基本工作原理是:S0狀態(tài)進行初始化,S1狀態(tài)時首先輸出地址信號addrout,然后置 相有效,S2狀態(tài)讀取雙口RAM的數(shù)據(jù),并存儲到內(nèi)容寄存器datain中,從而完成雙口RAM的讀數(shù)據(jù)過程。下面給出讀取雙口RAM數(shù)據(jù)的主要代碼:
        always @ (posedge clk)
        begin //每個時鐘周期,狀態(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; //寫控制 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ū)動代碼部分)
        endcase
        end



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 鄂尔多斯市| 滕州市| 庐江县| 綦江县| 南华县| 吉水县| 文水县| 阳朔县| 崇礼县| 马鞍山市| 龙门县| 昌平区| 陈巴尔虎旗| 青铜峡市| 安国市| 巴林左旗| 广西| 天镇县| 东宁县| 准格尔旗| 尼玛县| 麻栗坡县| 天柱县| 博爱县| 红安县| 汾西县| 巴林右旗| 麻栗坡县| 梓潼县| 常熟市| 邻水| 调兵山市| 金昌市| 隆尧县| 安丘市| 临洮县| 河东区| 洞头县| 吉木萨尔县| 龙井市| 衡南县|