99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AVR單片機讀寫CPLD程序?qū)嵗ˋTmega128程序案例)

算法&編程學(xué)院 ? 2018-04-19 12:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

/*******************************************************************

名稱:mian.c

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

通過串口輸出做比較

作者:emouse

時間:2011.1.4

版本:1.0

注意:無

********************************************************************/#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中自動將寄存器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);

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1257

    瀏覽量

    171474
  • AVR單片機
    +關(guān)注

    關(guān)注

    22

    文章

    608

    瀏覽量

    56487
  • ATmega128
    +關(guān)注

    關(guān)注

    3

    文章

    76

    瀏覽量

    27095
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ATmega128單片機入門與提高》光盤.rar

    大量的實用程序,并在最后一章給出了許多綜合實例;實例程序全部用C語言編寫,且已全部在ICCAVR 6.31A開發(fā)環(huán)境上編譯通過。《Atmega128
    發(fā)表于 08-16 10:36

    AVR ATMega128燒寫程序問題

    燒寫以前運行正常的程序AVR ATMega128芯片中,為什么現(xiàn)在沒有反應(yīng)了,接著燒寫了幾個都是這樣,疑惑中。。。。。。
    發(fā)表于 03-23 15:37

    AVR單片機應(yīng)用開發(fā)指南及實例

    圖書簡介及目錄:《AVR單片機應(yīng)用開發(fā)指南及實例精解》結(jié)構(gòu)清晰,由淺入深,通俗易懂,結(jié)合ATmega128單片機闡述
    發(fā)表于 07-28 10:28

    采用ATMEGA128單片機結(jié)合CPLD 實現(xiàn)了對VGA顯示

    采用ATMEGA128 單片機結(jié)合CPLD 實現(xiàn)了對VGA 顯示器和激光打印機的控制作者:時永樂 王培勇 轉(zhuǎn)貼自:微計算機信息摘要:用 ATMEGA128
    發(fā)表于 02-08 09:52 ?107次下載

    ATmega128幾個常用程序例子

    ATmega128單片機經(jīng)典例題 對初學(xué)者很有幫助的哦
    發(fā)表于 11-03 18:14 ?64次下載

    ATmega128實例程序

    AVR單片機學(xué)習(xí) 學(xué)習(xí)128的經(jīng)典 對初學(xué)者很有幫助 哦
    發(fā)表于 11-03 18:23 ?69次下載

    AVR單片機Atmega128在FPGA配置中的運用

    在嵌入式系統(tǒng)設(shè)計中,掌握MCU對FPGA的配置,對系統(tǒng)的設(shè)計是十分必要的。根據(jù)EPFIOKIO的配置時序和AVR單片機Atmega128的接口特點,詳細(xì)介紹了Atmega128對EPF
    發(fā)表于 10-11 15:35 ?18次下載

    基于Atmega128單片機SD卡讀寫程序(免費分享)

    avr Atmega128單片機SD卡讀寫程序
    發(fā)表于 12-29 20:55 ?21次下載

    ATmega128單片機的內(nèi)部資源、工作原理和硬件電路設(shè)計的資料免費下載

    在本系統(tǒng)中,本小節(jié)主要講 ATmega128 單片機的內(nèi)部資源、工作原理和硬件電路設(shè)計等。2.5.1 ATmega128 芯片介紹 ATmega128 為基于
    發(fā)表于 09-21 15:50 ?104次下載
    <b class='flag-5'>ATmega128</b><b class='flag-5'>單片機</b>的內(nèi)部資源、工作原理和硬件電路設(shè)計的資料免費下載

    AVR單片機Atmega128在FPGA配置的應(yīng)用和對EPF10K10軟硬件設(shè)計原理

    在嵌入式系統(tǒng)設(shè)計中,掌握MCU對FPGA的配置,對系統(tǒng)的設(shè)計是十分必要的。根據(jù)EPF10K10的配置時序和AVR單片機Atmega128的接口特點,詳細(xì)介紹了Atmega128對EPF
    發(fā)表于 10-26 15:34 ?9次下載
    <b class='flag-5'>AVR</b><b class='flag-5'>單片機</b><b class='flag-5'>Atmega128</b>在FPGA配置的應(yīng)用和對EPF10K10軟硬件設(shè)計原理

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

    項目中需要使用CPLD完成一部分算法設(shè)計,參數(shù)由AVR給出,因此需要完成AVRCPLD的通信。因此寫了一個測試程序。
    發(fā)表于 06-03 15:24 ?1312次閱讀

    使用ATmega128單片機設(shè)計數(shù)碼管秒表的程序和工程文件免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用ATmega128單片機設(shè)計數(shù)碼管秒表的程序和工程文件免費下載。
    發(fā)表于 07-31 08:00 ?4次下載
    使用<b class='flag-5'>ATmega128</b><b class='flag-5'>單片機</b>設(shè)計數(shù)碼管秒表的<b class='flag-5'>程序</b>和工程文件免費下載

    基于ATmega128單片機的USART接口程序的開發(fā)

    內(nèi)大容量數(shù)據(jù)存儲器RAM,更適合采用高級語言編寫系統(tǒng)程序),編寫高效可靠的UART收發(fā)接口(低層)程序。下面是一個典型的ATmega128的軟件USART的接口程序。
    的頭像 發(fā)表于 10-04 17:49 ?2574次閱讀
    基于<b class='flag-5'>ATmega128</b><b class='flag-5'>單片機</b>的USART接口<b class='flag-5'>程序</b>的開發(fā)

    ATmega128單片機](熔絲修改后無法燒錄程序情況)

    @ATmega128單片機AVR,ATmega128單片機](熔絲修改后無法燒錄程序情況)本人
    發(fā)表于 11-15 09:36 ?26次下載
    <b class='flag-5'>ATmega128</b><b class='flag-5'>單片機</b>](熔絲修改后無法燒錄<b class='flag-5'>程序</b>情況)

    AVR單片機基礎(chǔ)與實例進(jìn)階

    本書以常用的ATmega128單片機為主線,介紹和講述AVR單片機的組成及其在嵌入式系統(tǒng)中的應(yīng)用。全書包括16章,第1~5章主要講解ATmega1
    發(fā)表于 04-20 16:04 ?6次下載