任務(wù)2-RAM內(nèi)部數(shù)據(jù)傳送_第1頁
任務(wù)2-RAM內(nèi)部數(shù)據(jù)傳送_第2頁
任務(wù)2-RAM內(nèi)部數(shù)據(jù)傳送_第3頁
任務(wù)2-RAM內(nèi)部數(shù)據(jù)傳送_第4頁
任務(wù)2-RAM內(nèi)部數(shù)據(jù)傳送_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

任務(wù)2-1RAM內(nèi)部數(shù)據(jù)傳送任務(wù)描述:內(nèi)存塊移動,多用于大量數(shù)據(jù)復(fù)制和圖像操作。任務(wù)要求:將片內(nèi)RAM中30H到34H這5個存儲單元分別賦值0到4,然后將這5個存儲單元中的數(shù)據(jù)移動到以40H開頭的連續(xù)5個存儲單元中。任務(wù)2-2片內(nèi)外RAM數(shù)據(jù)傳送任務(wù)描述:內(nèi)存塊移動,多用于大量數(shù)據(jù)復(fù)制和圖像操作。任務(wù)要求:將10~19這10個數(shù)先送到30H~39H這10個片內(nèi)RAM中,然后,再將30H~39H中的數(shù)傳送給10個片外RAM單元中去,地址為0100H~0109H。1.RAM和ROM的內(nèi)部構(gòu)造2.c51變量定義格式3.#define預(yù)處理指令4.c51數(shù)組的使用5.c51確定地址訪問6.c51流程圖構(gòu)造及設(shè)計7.Keil和Proteus聯(lián)合調(diào)試8.復(fù)習(xí)思考題任務(wù)2學(xué)問點(diǎn):上機(jī)訓(xùn)練圖例1.ROM內(nèi)部構(gòu)造回憶ROM空間構(gòu)造及中斷入口區(qū)RAM內(nèi)部構(gòu)造SFR中的累加器A及程序狀態(tài)字PSW2.c51變量定義格式變量格式:[存儲種類]數(shù)據(jù)類型[存儲器類型]變量名表;存儲種類:有4種,自動〔auto〕、外部〔extern〕、靜態(tài)〔static〕和存放器〔register〕,默認(rèn)為自動類型。留意:用{}括起來的復(fù)合語句中的自動類型的變量作用域僅限于該復(fù)合語句中,跳出該復(fù)合語句則安排給該自動變量的存儲單元被收回。data 直接訪問內(nèi)部數(shù)據(jù)存儲器〔128字節(jié)〕bdata 可位尋址內(nèi)部數(shù)據(jù)存儲器〔16字節(jié)〕idata 間接訪問內(nèi)部數(shù)據(jù)存儲器〔256字節(jié)〕pdata 分頁訪問外部數(shù)據(jù)存儲器〔256字節(jié)〕xdata 外部數(shù)據(jù)存儲器〔64KB〕code 程序存儲器〔64KB〕存儲器類型Startupcode:啟動代碼。在Keil中,啟動代碼在復(fù)位目標(biāo)系統(tǒng)后馬上被執(zhí)行。啟動代碼主要實(shí)現(xiàn)以下功能:〔1〕

去除內(nèi)部數(shù)據(jù)存儲器〔2〕

去除外部數(shù)據(jù)存儲器〔3〕

去除外部頁存儲器〔4〕

初始化small模式下的可重入棧和指針〔5〕

初始化large模式下的可重入棧和指針〔6〕

初始化compact模式下的可重入棧和指針〔7〕

初始化8051硬件棧指針〔8〕

傳遞初始化全局變量的掌握命令或者在沒有初始 化全局變量時給main函數(shù)傳遞命令。STARTUP.A51在編譯預(yù)處理時進(jìn)展簡潔的替換,不作正確性檢查,不關(guān)含義是否正確照樣帶入,只有在編譯已被開放的源程序時才會覺察可能的錯誤并報錯。3.#define預(yù)處理指令#definePI3.1415926程序中的:area=PI*r*r會替換為3.1415926*r*r假設(shè)你把#define語句中的數(shù)字9寫成字母g,預(yù)處理也照樣帶入。#definePI3.1415926;×留意#define不是語句不要在行末加分號,否則會連分號一塊置換。c51數(shù)組格式:數(shù)據(jù)類型數(shù)組名[常量表達(dá)式]={常量表達(dá)式}

;數(shù)據(jù)類型數(shù)組名[常量表達(dá)式1]……[常量表達(dá)式n];留意:數(shù)組和一般變量一樣,要求先定義,后使用。每個數(shù)組中的數(shù)據(jù)單元只能是同一數(shù)據(jù)類型。方括號[]里的數(shù)不能是變量只能是常量。數(shù)組的下標(biāo)是從0開頭的而不是從1開頭。只能逐個引用數(shù)組中的元素,不能一次引用整個數(shù)組。初值個數(shù)必需小于或等于數(shù)組長度。4.c51數(shù)組的使用c51數(shù)組例如unsignedintxcount[10];

charinputstring[5];

floatoutnum[10],[10];unsignedcharLEDNUM[2]={12,35};

intKey[2][3]={{1,2,4},{2,2,1}};

unsignedcharIOStr[]={3,5,2,5,3};

unsignedcharcodeskydata[]={0x02,0x34,0x22,0x32,0x21,0x12};5.c51確定地址訪問承受擴(kuò)展關(guān)鍵字_at_確實(shí)定地址訪問語句格式:[存儲器類型]數(shù)據(jù)類型標(biāo)示符_at_地址常數(shù);留意:通過關(guān)鍵字_at_定義確實(shí)定變量必需是全局變量。不能對“確定變量”進(jìn)展初始化。存儲器類型默認(rèn)為模式LARGE等規(guī)定的默認(rèn)存儲器類型。數(shù)據(jù)類型可承受數(shù)組、構(gòu)造等簡單數(shù)據(jù)類型。標(biāo)示符為要定義的變量名。地址常數(shù)給出確實(shí)定地址必需位于有效存儲器空間之內(nèi)。c51確定地址定義例如structlink{ structlinkidata*next; charcode*test;};idatastructlinklist_at_0x40;xdatachartext[256]_at_0xE000;xdatainti1_at_0x8000;datauinta[5]_at_0x30;datauintb[5]_at_0x40;6.c51流程圖構(gòu)造及設(shè)計①c51程序設(shè)計步驟分析問題,確定算法依據(jù)算法,畫出程序流程圖安排內(nèi)存工作區(qū)及有關(guān)端口地址編寫程序上機(jī)調(diào)試6.c51流程圖構(gòu)造及設(shè)計〔續(xù)〕②常用流程圖符號任務(wù)2:流程圖#include<reg51.h>#defineucharunsignedcharsbitled=P1^0;datauchara[5]_at_0x30;dataucharb[5]_at_0x40;任務(wù)2:源程序voidmain(void){ uchari,j,k; for(i=0;i<5;i++) { a[i]=i; b[i]=a[i]; led=~led; for(j=0;j<200;j++) for(k=0;k<200;k++); }

}7.Keil和Proteus聯(lián)合調(diào)試精品課件!精品課件?、賹?shù)據(jù)00H~0FH分別送入RAM的30H~3FH存儲單元。用KEIL調(diào)試程序并觀看

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論