新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用單片機實現(xiàn)可編程邏輯器件的配置

        用單片機實現(xiàn)可編程邏輯器件的配置

        作者: 時間:2012-03-20 來源:網(wǎng)絡(luò) 收藏

        3.2 軟件設(shè)計

        在軟件編程時,使用了串行口移位寄存器輸入輸出方式。本系統(tǒng)只需用到輸出方式,串行數(shù)據(jù)通過RXD引腳輸出,而在TXD引腳輸出移位時鐘。當一字節(jié)數(shù)據(jù)寫入串行數(shù)據(jù)緩沖器SBUF時,就開始發(fā)送。在此期間,發(fā)送控制器送出移位信號,使發(fā)送移位寄存器的內(nèi)容右移一位,直至最高位(D7位)數(shù)字移出后,停止發(fā)送數(shù)據(jù)和移位時鐘脈沖。RXD、TXD時序如圖3。由圖3可知,它可以用來模擬時序。發(fā)送完一字節(jié)數(shù)據(jù)后,硬件置發(fā)送標志位TI為1,向CPU申請中斷。若CPU響應(yīng)中斷,則從0023H單元開始執(zhí)行串行中斷服務(wù)程序。

        為了提高速度,程序用匯編語言編寫。上電后使nCONFIG腳由低到高復(fù)位待PLD;當判斷到nSTATUS為高后,開始從外部FLASH存儲器取數(shù)據(jù)串行移位。配置過程中,查詢CONF_DONE。一旦為高,配置完成,但還要送40個DCLK脈沖,PLD才能進入用戶工作狀態(tài)。

        用戶設(shè)計PLD程序經(jīng)MAXPLUS II或QUARTUS編譯后將產(chǎn)生后綴后為.sof的SRAM目標文件。該文件含有除配置數(shù)據(jù)以外的控制字符,不能直接寫入到PLD中去,需要利用軟件的編程文件轉(zhuǎn)換功能將文件轉(zhuǎn)換成.rbf(Raw Binary File)十六進制文件。把.rbf文件燒寫到存儲器中,通過MOVX指令讀入后,串行移位到PLD。

        36.gif

        部分asm語言源程序如下:

        NCONFIG BIT P1.5

        CONFDONE BIT P.6

        NSTATUS BIT P1.7

        ORG 000h

        ……

        CLR SM0

        CLR SM1 ;SM0,SM1為0,串口工作于方式0

        CLR SM2 ;串口波特率為fosc/4

        CLR REN

        ANL 8EH,#0f8h ;地址8EH是CKCON單元,MD0、MD1、MD2清0



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 通州区| 德格县| 页游| 迁西县| 瑞金市| 湘阴县| 大埔县| 汝南县| 灌阳县| 利津县| 北流市| 新巴尔虎左旗| 万宁市| 南召县| 深州市| 孝感市| 阜平县| 新营市| 西林县| 象山县| 绥阳县| 张北县| 名山县| 吉木乃县| 祁东县| 南郑县| 新和县| 屏南县| 徐闻县| 仲巴县| 水富县| 毕节市| 贺州市| 全州县| 齐河县| 渝中区| 湖南省| 江源县| 前郭尔| 拉孜县| 东明县|