freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機軟件及應(yīng)用]20xx總復(fù)習(xí)單片機-文庫吧

2025-01-04 17:19 本頁面


【正文】 數(shù)據(jù)閃存 : 可以順序讀取存儲單元的內(nèi)容 程序閃存: 可以隨機讀取任意單元的內(nèi)容 閃存(工藝) Page 12 ? 存儲器基本內(nèi)存空間分配: (地址線: 16根 216=26*210=64KB) ? I/O空間( 2KB) ? RAM( 12KB) 運算的中間數(shù)據(jù) ? 程序 FLASH ( 48KB) 程序 +常數(shù)表 ? 數(shù)據(jù) FLASH ( 2KB) ( EEPROM) 掉電不丟失的常數(shù) 如已經(jīng)調(diào)試好的 PID參數(shù) 4 S12XS單片機存儲器 1KB EEPROM 1KB EEPROM MC9S12XS128 8KB RAM 16KB FLASH 16KB FLASH 復(fù)位、中斷向量區(qū) 2KB I/O空間 $0000 $0800 $0C00 $4000 $FFFF $FF00 4KB RAM $2022 $1000 2KB 數(shù)據(jù)閃存 8KB RAM 128KB FLASH 2KB I/O 16KB FLASH $8000 $C000 典型的 64KB存儲空間分配 5 S12XS單片機中斷 Page 13 ? 中斷:一個需要 CPU立刻處理的內(nèi)部 /外部事件 ? 中斷工作流程: 中斷請求 中斷標志 全局的中斷使能 專門的中斷使能 中斷源信號 正常流程 中斷請求 MCU響應(yīng)中斷 中斷優(yōu)先級 保存返回地址 查找中斷 執(zhí)行中斷 恢復(fù)返回地址 管理 保存現(xiàn)場 向量表 服務(wù)程序 恢復(fù)現(xiàn)場 5 S12XS單片機中斷 ? 中斷向量表: CPU為每個響應(yīng)的中斷源指定一個標號,這個標號就叫做中斷向量號。每個中斷的中斷服務(wù)程序的地址都按照其中斷向量號的順序保存成一張表,叫做中斷向量表。 ? 中斷向量表是一段連續(xù)的存儲空間 ? 在復(fù)位后有默認的起始位置 (S12X單片機: $FFFE~$FF10, 120個中斷向量 ) ? S12X單片機有三個中斷向量地址是固定不變的,它們是復(fù)位向量 ($FFFE) 、時鐘監(jiān)控復(fù)位 ($FFFC)和看門狗復(fù)位 ($FFFA)。其他向量可通過修改中斷向量基地址寄存器 IVBR,將中斷向量表轉(zhuǎn)移到任意一個以 256字節(jié)為邊界的地址空間。通過改寫中斷向量基址寄存器可以重新定位向量表 ? 每個中斷在向量表中都有相應(yīng)的表項,該表項的值為該中斷對應(yīng)的服務(wù)程序的地址(地址指針) ? 由程序代碼確定中斷向量表的每個表項 Page 14 5 S12XS單片機中斷 ? 中斷程序設(shè)計方法: ? 主程序 中斷源 — 中斷控制(全局和專門) [— 堆棧設(shè)置 ] [— 中斷優(yōu)先級 ] ? 中斷服務(wù)程序(清中斷標志) ? 中斷向量表 void initPIT(void) { //定時中斷初始化函數(shù) 50ms PITCFLMT_PITE=0。 //關(guān)閉 PIT模塊 PITCE_PCE0=1。 //定時器通道 0使能 PITMUX_PMUX0=0。 //定時器通道 0使用微計數(shù)器 0 PITMTLD0=2001。 //8位定時器初值設(shè)定。在 40MHzBusClock下為 5us. PITLD0=PITTIME1。 //16位定時器初值設(shè)定。 PITTIME* PITINTE_PINTE0=1。//定時器中斷通道 0中斷使能 PITCFLMT_PITE=1。 //定時器通道使能 } void main(void) { initPIT()。 EnableInterrupts。//清除 CCR的 I位,開中斷( CLI) for(。); //無限循環(huán) } void interrupt 66 PIT0(void) { PITTF_PTF0=1。//清中斷標志位 PORTB=~PORTB。//B口輸出取反 } 設(shè)置斷點 (觀察 SP變化) (觀察中斷向量表 $FF7A) 1 2 Page 15 5 S12XS單片機中斷 ? 宏定義與子程序的區(qū)別 宏和子程序都是為了簡化源程序的編寫,提高程序的可維護性,但是它們二者之間存在著本質(zhì)的區(qū)別: ? ,宏調(diào)用多少次,就相應(yīng)擴展多少次,所以,調(diào)用宏不會縮短目標程序,它只是源程序級的簡化;而子程序代碼在目標程序中只出現(xiàn)一次,調(diào)用子程序是執(zhí)行同一程序段,因此,目標程序也得到相應(yīng)的簡化; ? ,目標程序中就不再有宏引用語句,運行時,不會有額外的時間開銷,而子程序的調(diào)用在目標程序中仍存在,子程序的調(diào)用和返回均需要額外時間開銷。 ? ,參數(shù)是通過“實參”替換“形參”的方式來實現(xiàn)傳遞的,參數(shù)形式靈活多樣。對宏調(diào)用來說,參數(shù)傳遞錯誤通常是語法錯誤,會由匯編程序發(fā)現(xiàn);而子程序調(diào)用時,參數(shù)是通過寄存器、堆?;蚣s定存儲單元進行傳遞的;對子程序來說,參數(shù)傳遞錯誤通常反映為邏輯或運行錯誤,不易排除。 總之,當程序片段不長,速度是關(guān)鍵因素時,可采用宏來簡化源程序,但當程序片段較長,存儲空間是關(guān)鍵因素時,可采用子程序的方法來簡化源程序和目標程序。 Page 16 5 S12XS單片機中斷 ? 子程序調(diào)用與中斷調(diào)用(中斷響應(yīng))的區(qū)別 ? ,中斷是隨機發(fā)生的,由中斷源信號決定; ? ,是為主程序服務(wù)的,而中斷程序與主程序毫無關(guān)系; ? ,中斷是根據(jù)中斷源標號通過查詢中斷向量表獲得中斷服務(wù)程序的入口地址; ? ,嵌套的級數(shù)受 MCU設(shè)置的堆棧大小的限制,而中斷嵌套級數(shù)主要由中斷優(yōu)先級數(shù)來決定; ? 5. S12XS單片機中斷響應(yīng)時自動保護現(xiàn)場(核心寄存器堆),返回時自動恢復(fù)現(xiàn)場。 Page 17 6 S12XS單片機程序設(shè)計 ?集成開發(fā)環(huán)境 IDE( Integrated Development Environment):由匯編工具、交叉 C編譯器、 I/O模塊的專家?guī)臁⒃创a級調(diào)試工具等組成,能夠為用戶自動建立工程文件,生成系統(tǒng)初始化程序、設(shè)置中斷向量等,使應(yīng)用程序的開發(fā)傻瓜化。( CODEWARRIOR) ?標準 ANSI C:通用計算機上有操作系統(tǒng)的 C語言 ?嵌入式 C: C編譯器需特殊處理與 CPU硬件相關(guān)的內(nèi)容,隨著單片機系統(tǒng)程序空間的增大(可達 4M), C語言的應(yīng)用越來越廣泛( 4K)。 ?嵌入式 C的優(yōu)勢:移植性好、庫函數(shù)豐富、可讀性好、便于使用 RTOS。 ?匯編語言的優(yōu)勢:編寫系統(tǒng)的硬件相關(guān)部分更直觀、方便,代碼少、執(zhí)行速度快。常用于: ?系統(tǒng)的初始化 ?中斷向量的初始化,開、關(guān)中斷 ? I/O口的輸入輸出函數(shù) Page 18 ? 集成開發(fā)環(huán)境 IDE:將應(yīng)用程序的編輯、編譯、鏈接、定位、調(diào)試等集成在一個大的軟件包中,簡化開發(fā)工作。但用戶往往不清楚操作的原理。 1. 編輯程序源代碼 : *.c, *.asm, *.h ; 2. 預(yù)編譯 :對源代碼文件中的文件包含( include)、預(yù)編譯語句( define)等進行分析、 檢查聲明、定義的完整性,轉(zhuǎn)換成 C編譯器可接受的格式; 3. 編譯 :檢查和報告相關(guān)的語法錯誤,然后將 C程序轉(zhuǎn)換成匯編器可接受的代碼。 4. 匯編 :生成針對某種 CPU的匯編浮動代碼文件, *.obj; 5. 鏈接 :將浮動的 *.obj文件模塊按指定順序鏈接起來,并且將所用到的 C語言標準庫函 數(shù)也從各自所在的函數(shù)庫中調(diào)出 ,把 *.obj文件中缺失的那些參數(shù)補上, *.prm; 6. 定位 :根據(jù)目標系統(tǒng)硬件的情況,給程序分配程序空間的地址、數(shù)據(jù)空間的地址以及 程序運行的起始地址等,生成可執(zhí)行的目標代碼, *.abs,*.sx; 7. 下載 :將 *.sx文件下載到單片機的程序空間的相應(yīng)地址內(nèi); 8. 調(diào)試、運行 9. 反匯編: 將目標代碼反匯編成匯編語言,以便用戶對應(yīng)用程序中特別關(guān)鍵的部分進一 步優(yōu)化( projectDisassemble)。 6 S12XS單片機程序設(shè)計 Page 19 6 S12XS單片機程序設(shè)計 Page 20 C源文件 匯編源文件 庫文件 目標文件 C編譯器 匯編編譯器 鏈接器 執(zhí)行文件 映射文件 列表文件 匯編 反編譯文件 反 編 譯 器 鏈接配 置文件 *.h *.c *.c++ *.asm *.inc *.prm *.obj *.lst *.map *.sx *.abs 6 S12XS單片機程序設(shè)計 ? 在集成開發(fā)環(huán)境 IDE中建立一個工程文件的過程: 6 S12XS單片機程序設(shè)計 ?匯編程序設(shè)計: ?匯編指令 1. 數(shù)據(jù)傳送指令 2. 算術(shù)與邏輯運算指令 3. 程序控制指令 1. 隱含尋址 2. 立即數(shù)尋址 3. 直接尋址 4. 擴展尋址 5. 變址尋址 6. 但自動加減 5位偏移量的間接尋址 7. 相對尋址 8. 位尋址 ?匯編偽指令(匯編管理指令): 將編譯需要的信息傳遞給編譯器, 不生成可執(zhí)行代碼。 XDEF Entry Entry: CLI ANDCC $BF M_LENGTH: LDAA 30 LDAB $2 CMPB MONTH BEQ FEBRARY LDX TABLE1。 LDAA MONTH DECA LDAA A,X RTS FEBRARY: DECA LDAB YEAR+1 ANDB 3 BEQ FINI DECA FINI: RTS
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1