<strong id="0toem"><dl id="0toem"></dl></strong><b id="0toem"><menuitem id="0toem"></menuitem></b>

      <b id="0toem"><menuitem id="0toem"></menuitem></b>
    1. <code id="0toem"><abbr id="0toem"></abbr></code>
      <strong id="0toem"><dl id="0toem"></dl></strong>
      <kbd id="0toem"></kbd>
              1. <code id="0toem"></code>
                <th id="0toem"><progress id="0toem"></progress></th><strong id="0toem"><form id="0toem"></form></strong>

                <th id="0toem"></th>
              2. 131 1300 0010
                其他
                當前位置: 首頁>> 元件技術(shù)>>其他>>
              3. 導(dǎo)航欄目
              4. 二極管
              5. 整流橋
              6. MOS管
              7. 其他
              8. AVR單片機與CPLD的通信設(shè)計
                AVR單片機與CPLD的通信設(shè)計
              9. AVR單片機與CPLD的通信設(shè)計
              10.   發(fā)布日期: 2019-06-03  瀏覽次數(shù): 1,775

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

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

                 

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


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

                /#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;//默認情況下端口C用做高地址,可以每只寄存器把端口C釋放

                PORTC=0x00;

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

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

                }

                voidUSART0_Init(void)

                {

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

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

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

                UBRR0H=0x00;

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

                }

                voidUSART0_SendByte(unsignedchardata)

                {

                while(!(UCSR0A&(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);

                }

                }


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

                深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 www.xydibang.com 電話:13113000010 粵ICP備2021111333號
                <strong id="0toem"><dl id="0toem"></dl></strong><b id="0toem"><menuitem id="0toem"></menuitem></b>

                    <b id="0toem"><menuitem id="0toem"></menuitem></b>
                  1. <code id="0toem"><abbr id="0toem"></abbr></code>
                    <strong id="0toem"><dl id="0toem"></dl></strong>
                    <kbd id="0toem"></kbd>
                            1. <code id="0toem"></code>
                              <th id="0toem"><progress id="0toem"></progress></th><strong id="0toem"><form id="0toem"></form></strong>

                              <th id="0toem"></th>
                            2. 黄色毛片在线观看 | 狠狠操狠狠操狠狠操 | 国产熟妇 码视频户外直播 | 亚洲1级片在线 | 人人摸人人操人人爽 |