新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機Atmega128外擴RAM

        AVR單片機Atmega128外擴RAM

        作者: 時間:2013-12-12 來源:網絡 收藏


        為保證數據采集的準確性和適時性,需要精確確定采樣時間,做到采集和處理兩不誤。由于溫度信號變化比較慢,而且比較有線性規律。所以設定通道0采集振動信號,通道1采集溫度信號,振動信號的采樣率為溫度信號的50倍。即先進行50次振動信號采集后,切換通道,進行溫度信號的采集,之后再切換到振動采集通道。對ADC轉換啟動噪聲抑制功能,采用中斷編程。ATmega128采用外部16MHz時鐘。(由于Can已經是一種比較成熟和常用的總線技術,在此不做過多介紹)

        AVR單片機Atmega128外擴RAM

        硬件連接和普通的51單片機外擴是一樣的。

        AVR單片機Atmega128外擴RAM

        內存分布。

        以下是測試程序:

        // Target : ATMEGA128
        // Crystal : 7.3728Mhz
        // Modifed By : Moxudong
        // Date : 2010.03

        #includeavr/io.h>
        #includeutil/delay.h>
        #include avr/interrupt.h> //中斷函數頭文件

        #includestdio.h>
        #includestring.h>

        //PG0 0x65
        #define WRL (PORTG=PORTG0XFE)
        #define WRH (PORTG=PORTG|0X01)

        //PG1
        #define RDL (PORTG=PORTG0XFD)
        #define RDH (PORTG=PORTG|0X02)

        //PG2
        #define ALEL (PORTG=PORTG0XFB)
        #define ALEH (PORTG=PORTG|0X04)

        //MCU時鐘頻率
        #undef F_CPU
        //#define F_CPU 7372800UL
        //默認的系統BAUD
        #define baud 115200
        //#define fosc 7372800UL //晶振7.3728MHZ
        #define fosc 16000000UL

        //#define baud 9600//波特率

        #define MCUBAUD9600 1

        //declare memory mapped variables
        //#define txbuf1_head 0x1100

        //extern unsigned char txbuf1[256];
        #define ext_PORT1 ((volatile unsigned char *)0x1100)
        unsigned char *p=(unsigned char *)ext_PORT1;
        unsigned char testramtable[4]={0x00,0x55,0xaa,0x00};

        void Delay1ms(void)
        {
        unsigned int i;
        for(i=0;i=(unsigned int)(16*143-2);i++);
        }

        void Delayxms(unsigned char ms)
        {
        unsigned char i;
        for(i=0;i=ms;i++)
        Delay1ms();
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 白沙| 合阳县| 金阳县| 南漳县| 隆化县| 浮梁县| 稻城县| 阳谷县| 临沭县| 梨树县| 太谷县| 哈巴河县| 临夏县| 铅山县| 霸州市| 梓潼县| 富锦市| 泸州市| 恭城| 浦东新区| 罗甸县| 阳高县| 繁峙县| 新乡市| 祁连县| 朝阳区| 财经| 张家港市| 广水市| 永顺县| 商河县| 丽水市| 南昌市| 滦平县| 连南| 天等县| 横峰县| 富蕴县| 金阳县| 清流县| 共和县|