在ATmega8上類比並行三種匯流排協議資料轉送

來源:互聯網
上載者:User

 

0推薦

 在畢業設計中,選用了AVR+PDIUSBD12的方案應用於資料擷取系統設計。但AVR單片機中有一部分沒有自動外部定址功能。如我們選用的ATmega16,所以就需要自己類比一個資料地址匯流排時序。
   
     知識要點:
               1.外部資料/地址匯流排中包括了三種匯流排:資料匯流排,地址匯流排,控制匯流排。資料匯流排使用於資料的傳輸,在51單片機中使用P0連接埠;地址匯流排用於外部資料地址的選擇,一般的微控制器可擴充到16位定址。51單片機中使用P0 & P2 連接埠作為地址I/O 口;控制匯流排用於時序的控制,它包含了(ALE_N   RD_N   WR_N   PSEN_N)控制線。
               2.  匯流排的工作過程:
                        A. 當ALE_N為高電平的時候可以改變選取的資料地址,ALE_N的下  降沿把地址鎖存住
                        B. RD_N 或WR_N為低電平的時候,允許把資料讀出或寫入外部器件中
                        C. PSEN_N 為片選使能連接埠,低電平的時有效
              3.  整個過程的工作時序可以參考AT89S52.PDF 文檔資料

在ATmega8中實現的程式清單如下:

void Output_D12(uchar Address,uchar Data)
{
    //*((uchar xdata *) Address) = Data;
    PORTD |=(1<<ALE); //SET ALE H
    DDRB=0xff;
    PORTB=Address; //load address
    NOP();
    PORTD &=~(1<<ALE); //RESET ALE L
    PORTB=Data;
    PORTC &=~(1<<D12WR); //Enalbe write
    NOP(); //waite some time
    NOP();
    PORTC |=(1<<D12WR);
   
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.