131 1300 0010
其他
當(dāng)前位置: 首頁>> 元件技術(shù)>>其他>>
  • 導(dǎo)航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • AVR單片機(jī)與CPLD的通信設(shè)計(jì)
    AVR單片機(jī)與CPLD的通信設(shè)計(jì)
  • AVR單片機(jī)與CPLD的通信設(shè)計(jì)
  •   發(fā)布日期: 2019-06-03  瀏覽次數(shù): 1,304

    項(xiàng)目中需要使用CPLD完成一部分算法設(shè)計(jì),參數(shù)由AVR給出,因此需要完成AVR和CPLD的通信。因此寫了一個(gè)測試程序。CPLD掛在AVR的數(shù)據(jù)和地址總線上,AVR使用ATmega128,在CPLD中設(shè)置幾個(gè)寄存器,通過AVR讀寫寄存器來實(shí)現(xiàn)兩者之間的通信。

    Mega128的外部存儲(chǔ)空間從0X1100開始,因此只需要配置相應(yīng)的寄存器后讀取或者寫入相應(yīng)的地址就可以,程序比較簡單,注釋中都有說明,僅供參考。

     

    功能:測試AVR與CPLD的通信,將數(shù)據(jù)寫入CPLD中配置的寄存器,然后讀出,通過串口輸出做比較。


    AVR單片機(jī)與CPLD的通信設(shè)計(jì)

    /#include“avr/io.h”

    #include“avr/interrupt.h”

    #include“util/delay.h”

    #defineSetBit(Port,N)(Port|=(1《

    #defineClrBit(Port,N)(Port&=~(1《

    #defineReverBit(Port,N)(Port^=(1《

    #defineGetBit(Pin,N)((Pin》》N)&0x01)//讀取IO某一位

    unsignedchardata;

    voidXRAM_example(void)

    {

    unsignedchar*q=0x1100;//寄存器1

    unsignedchar*m=0x1101;//寄存器2

    unsignedchar*p=0x1102;//寄存器3

    PORTD=0XFF;

    DDRD=0XFF;

    DDRC=0xFF;//默認(rèn)情況下端口C用做高地址,可以每只寄存器把端口C釋放

    PORTC=0x00;

    *q=0xCC;//向寄存器1中寫入數(shù)據(jù),CPLD中自動(dòng)將寄存器1的值付給寄存器3

    data=*p;//獨(dú)處寄存器3中的值,在循環(huán)中用串口輸出

    }

    voidUSART0_Init(void)

    {

    UCSR0A=0x20;//波特率不加倍,單機(jī)通信模式

    UCSR0B=0x18;//中斷不使能,允許發(fā)送和接收

    UCSR0C=0x06;//異步模式,無校驗(yàn),8位數(shù)據(jù),1位停止位

    UBRR0H=0x00;

    UBRR0L=51;//9600波特率晶振8M

    }

    voidUSART0_SendByte(unsignedchardata)

    {

    while(?。║CSR0A&(1《

    UDR0=data;//發(fā)送數(shù)據(jù)

    }

    intmain(void)

    {

    unsignedchari=0;

    USART0_Init();//初始化USART0接口

    MCUCR=0xC0;//使能外部SRAM

    XMCRA=0x00;

    DDRA=0XFF;

    PORTA=0XFF;

    DDRE=0xff;

    DDRD=0xff;

    PORTD=0x00;//使能CSA16A17=11

    USART0_SendByte(0x88);

    while(1)

    {

    ReverBit(PORTA,0);

    XRAM_example();

    _delay_ms(500);

    USART0_SendByte(data);

    }

    }


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機(jī):131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 xbquwah.cn 電話:13113000010 粵ICP備2021111333號(hào)