日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]查了很多資料,要用KEIL C51在ROM(FLASH)中固定的位置寫入一個初始化數(shù)據(jù),網(wǎng)上有很多辦法,感覺都不是很好,我最近因為要用,所以想了一個辦法來實現(xiàn),大家都知道在C51成立工程時都有一個擴展名為A51的源文件,這

查了很多資料,要用KEIL C51在ROM(FLASH)中固定的位置寫入一個初始化數(shù)據(jù),網(wǎng)上有很多辦法,感覺都不是很好,我最近因為要用,所以想了一個辦法來實現(xiàn),大家都知道在C51成立工程時都有一個擴展名為A51的源文件,這個文件其實就是程序的初始化文件,也就是在程序的開始對堆棧等東西做一個初始化;好了話不多說;下面介紹如何使用。

1、一般的工程可以不用此文件,把此文件刪除就可以;但是我們要對ROM的固定地址填入數(shù)據(jù),所以這個文件要加在工程內(nèi)。

2、打開這個文件會有很長的篇幅,這些其實都是沒有用的,刪除就可以,只留下最后三行就可以,因為有這個文件后,編譯器要知道如何轉(zhuǎn)移到你的main()。看第5條。

3、在上面一個位置就可以寫入如下的數(shù)據(jù)。

CSEG AT 03FcH
DB 10h,11h,12h

這個意思就是在03FC地址處存放下面的3個數(shù)據(jù)。當(dāng)然你可以定義更多。

你也可以加上地址符號。

CSEG AT 03FcH
FLASH_DATA1: DB 10h,11h,12h

CSEG AT 03ecH
fLASH_DATA2: DB 10h,11h,12h

4、在主程序中可以這樣處理

#define FLASH_DATA1 0x3fc

#define FLASH_DATA2 0x3Ec

定義一個FLASH的基地址。這個時候你就可以隨便讀寫了。

5、注意要把A51文件處理好,要保證它能夠轉(zhuǎn)移到MAIN中;下面是我用的START900.A51;留以下內(nèi)容就可以。

;以下是START900.A51的全部內(nèi)容=================================================

CSEG AT 03FcH
FLASH_DATA1: DB 10h,11h,12h

CSEG AT 03ecH
fLASH_DATA2: DB 10h,11h,12h

EXTRN CODE (?C_START) ;只留下面的三行就可以。
JMP ?C_START

END

;============================================================================

原文件的開始有很多常量的定義,還有IF語句,這些刪除就可以,只留最下面的這三行;編譯器就知道你的MAIN入口了;可能別的A51文件不些不同,但這三行都是有的;別的都刪除。

6、注意,定義的地址空間不能在你的程序內(nèi);也就是不能和你的程序地址重合;以免影響你的程序運行


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉