久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6554|回復(fù): 0
收起左側(cè)

Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a25_Flash程序空間中數(shù)據(jù)訪問(wèn)

[復(fù)制鏈接]
ID:371233 發(fā)表于 2020-7-12 09:34 | 顯示全部樓層 |閱讀模式
*本文及代碼參閱彭偉《單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例》

一,打開(kāi)文件(可以隨文下載放置在文檔中打開(kāi))。(如下圖1所示)
1.png


圖1




二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png


圖2

3.png


圖3

4.png


圖4




三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)
5.png


圖5




四,編輯main.c Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a25_Flash程序空間中數(shù)據(jù)訪問(wèn) (如下圖6所示)
6.png

圖6




五,Main.c 代碼:

//-----------------------------------------------------------------

//  名稱(chēng): Flash程序空間的數(shù)據(jù)訪問(wèn)

//-----------------------------------------------------------------

//  說(shuō)明: 本例運(yùn)行時(shí),按下K1將讀取并顯示存放于Flash程序內(nèi)存中的

//        320個(gè)字節(jié)數(shù)據(jù)及60個(gè)字?jǐn)?shù)據(jù).

//

//-----------------------------------------------------------------

#include "myfunc01.h"




//------------------------------------------------------------------

// 主程序

//------------------------------------------------------------------

int main()

{

        INT8U Mem_byte;

        INT16U Mem_word, i, j= 0;

        char s[6];

        Init_USART(51);

        put_s("\n\n Press K1 to Start Read Date From Program Flash Memory...");

        DDRB= 0x00;                 PORTB= 0xff;

        DDRD= 0xff;

        while(1) {

                if(K1_DOWN()) {

                        put_s("\n AVR Program Memory Date Demo......\n");

                        put_s("\n  ---------------------------------------------------------\n    ");

                        for(i= 0, j= 0; i<  sizeof(Flash_Byte_Array); i++) {

                                Mem_byte= pgm_read_byte(&Flash_Byte_Array);

                                sprintf(s, "% 02X ", Mem_byte);         put_s(s);

                                if(++j== 20) {

                                        j= 0; put_s("\n    ");

                                }

                        }                       

                        put_s("\n  ---------------------------------------------------------\n    ");

                        for(i= 0, j= 0; i<  sizeof(Flash_Byte_Array); i++) {

                                Mem_byte= pgm_read_byte(&Flash_Byte_Array);

                                sprintf(s, "% 04X ", Mem_word);         put_s(s);

                                if(++j== 10) {

                                        j= 0; put_s("\n    ");

                                }

                        }

                }

        }

}




myfunc01.h

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

#ifndef _MYFUNC01_H_

#define _MYFUNC01_H_







//#define  F_CPU   4000000UL //4M晶振

#include <avr/pgmspace.h>

#include <util/delay.h>

#include <stdio.h>

#define INT8U   unsigned char

#define INT16U  unsigned int




//按鍵定義

#define K1_DOWN() (PINB & _BV(PB0)) == 0x00










//存放于Flash程序內(nèi)存中的字節(jié)數(shù)據(jù)(16*20 = 320個(gè)字節(jié))

static INT8U Flash_Byte_Array[] =

{

  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,

  0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,

  0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,

  0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,

  0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,

  0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,

  0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,

  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,

  0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,

  0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,

  0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,

  0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,

  0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,

  0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,

  0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,

  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,

  0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,

  0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,

  0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,

  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F

};




//存放于Flash程序內(nèi)存中的字?jǐn)?shù)據(jù)(10*6 = 60個(gè)字)

static INT16U Flash_Word_Array[] =

{

  0x00AC,0x0198,0x0233,0x03BC,0x0480,0x0598,0x06BE,0x07F8,0x0899,0x09A0,

  0x0ACC,0xFF1D,0xF2F3,0xF4F5,0xF6F7,0xF8F9,0xFAFB,0xFCFD,0xFEFF,0xD0D1,

  0xD2D3,0xD4D5,0xD6D7,0xD8D9,0xDADB,0xDCDD,0xDEDF,0xE0E1,0xE2E3,0xE4E5,

  0xE6E7,0xE8E9,0xEAEB,0xECED,0xEEF0,0xA1A2,0xA3A4,0xA5A6,0xA7A8,0xA9AA,

  0xABAC,0xADAE,0xAF80,0x8182,0x8384,0x8586,0x8788,0x898A,0x8B8C,0x8D8E,

  0x8F90,0x9192,0x9394,0x9596,0x9798,0xDADB,0xDCDD,0xDEDF,0xE0E1,0xE2E3

};







void Init_USART(INT16U baud);

void put_c(char c);




#endif







六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)

7.png

圖7




七,點(diǎn)擊窗口左下方仿真按鈕,可見(jiàn)信息在虛擬串口顯示屏顯示。 (如下圖8,9,10所示)
8.png


圖8

9.png


圖9
10.png


圖10







八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)

11.png


圖11







附件Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a25_Flash程序空間中數(shù)據(jù)訪問(wèn)在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開(kāi)即可

需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464

a25_Flash程序空間中數(shù)據(jù)訪問(wèn)_02pt.rar

134.44 KB, 下載次數(shù): 9, 下載積分: 黑幣 -5

在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開(kāi)即可

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产高清一区二区三区 | 国产专区在线 | 成人国产免费观看 | 欧美 日韩 国产 一区 | 欧美激情视频一区二区三区在线播放 | 中文字幕精品一区二区三区精品 | 久久久久免费精品国产小说色大师 | 国产精品久久久久久久久久东京 | 亚洲一区二区av在线 | 亚洲第一黄色网 | 免费成人高清 | 在线观看视频你懂得 | 91精品一区二区三区久久久久久 | 久久激情网 | 久久一区二区三区四区 | 九色在线观看 | www.亚洲视频.com | 女朋友的闺蜜3韩国三级 | 国产馆 | 99热这里有精品 | 免费人成在线观看网站 | 欧美日韩精品免费观看 | 第四色影音先锋 | 在线第一页 | 精品一区二区电影 | 亚洲一区亚洲二区 | 网站黄色av | 久久人人网| 欧美aa在线 | 亚洲精品久久久久中文字幕欢迎你 | 狠狠操狠狠干 | 国产精品久久久久久久免费大片 | 亚洲午夜三级 | 岛国av免费观看 | 亚洲国产精品视频 | 国产在线一级片 | a视频在线 | 日韩在线小视频 | 看片91| 精品欧美一区二区精品久久久 | 国产在线一区二 |