【正文】
R12 。完成于 R12 的 Pop R12 。 7 個 最重 要的位是不確定的。 這個標志反應最高有效 位 的操作結果數(shù)值( 位操作 7 位,字符操作 15 位 ) 1=結果出現(xiàn) 負 0=結果不出現(xiàn) 負 ?中斷控制 位( GIE) 位: 3 功 能:是否允許所有掩碼的中斷,可通過軟件或自動的設置或清除。 1=CPU is on 0= CPU is off ?晶振控制位( OscOff) 位: 5 功能:是否允許 晶體振蕩器停止( LFXT1) ,可通過軟件清除 和恢復中斷 。 ?溢出標志位( V) 位: 8 功能: 當操作結果溢出時置位。你會 看到這本書 中常常提到這些標志 ,因為它們的功能代表一個基本組成部分。像程序計數(shù)器, LSB 的被確定為一個零值,因此該值始終是偶數(shù)。 CALL語句 和中斷 從 TOS(堆棧頂部) 把 PC, RET 和 RETI 指令彈出 回 到 PC。這兩個條件是: 不對稱 的 推 入 /彈出 組合。 堆棧侵 占 。 還有,名義上 16 位的 這些寄存器,在內存地址 0000H 到 000Fh。 地 址 0004h 和 0005h 包含模塊啟用標志。有兩種類型的外設寄存器:字節(jié)尋址,這是從 010h 到 0FFh 映射在空間,和字 尋址,這是從 0100h 到 01FFh 映射。 RAM 共享是很常見的錯誤,并且 很難找出 。 從不分配 比你的需要 多的 暫存器,始終 盡快合理 的 釋放 分配 。這種存儲器包含引導 裝入程序 ,它是 通過一個 USART模塊 用來編程的閃存模塊 。它分為二 個 128 字節(jié)的 部分 。所有代碼,表和 硬空格字符 的常數(shù)在這個 存儲 空間。 存儲器 類型由 部分號碼中 直接在山東建筑大學畢業(yè)設計外文文獻及譯文 20 “MSP430”之后 的 字母 定義的 。他們的特點,是非常便宜的優(yōu)勢,并可能 是 高容量設計的最佳解決方案。 OTP OTP 是 “一次性可編程 ”的縮寫,這相當不錯介紹了這些設備的功能。他們 也需要編程,這可能在大量生產(chǎn) 環(huán)境 中 是一個障礙 。這些設備是 用 電 的 可編程,和 UVerasable。他們更昂 貴,但代碼空間可擦除和重新編程,如果必要的 可以數(shù)千次 。 一、主要經(jīng)濟指標預計完成情況 ——地區(qū)生產(chǎn)總值,全年任務 xxx 億元,增長 x%;一季度預計完成 xx 億元,增長 x%,完成年計劃的 xx%; ——固定資產(chǎn)投資,全年任務 xxx 億元,增長 x%;一季度預計完成 xx 億元,增長 xx%,完成年計劃的 xx%; ——一般公共預算收入,全年任務 xx 億元,增長 xx%;一季度完成 xx 億元,增長 xx%,完成年計劃的 xx%。 山東建筑大學畢業(yè)設計外文文獻及譯文 21 上文已完。它們不是用于生產(chǎn)使用,但 在發(fā)展中為仿真 ROM 設備 取得 理想平臺為。 EPROM TI 提供了 幾個 裝置的有窗的 EPROM 的版本 用于發(fā)展的應用 。 OTP是運 送間隔 ,可以 在任何時候 編程 。他們也應該只用于穩(wěn)定設計。 ROM ROM 設備,也被稱為 帶掩模的 設備,是由 部分號碼中的 字母 “C” 確定 。編程和使用中的這些描述第三章詳細。 代碼 存儲器 代碼存儲器是在 地址空間一直 連續(xù)的 (即 一直運行到位置 0FFFFh)。430 家庭閃存設備具有 信息內存的 新增功能。 引導存儲器( 只有 閃存器件) 引導 存儲器只在 閃存器件中實現(xiàn) ,在存儲器中 位于地 址 0C00h 到 0FFFh。 請 使用一致的。 RAM 是用于所有暫存器變量,全局變量和堆棧。這些山東建筑大學畢業(yè)設計外文文獻及譯文 19 位用于 USART。 地點為 0000H 和 0001h 包含中斷 能 力 , 和位置 0002h 和 0003h 包含中斷標志。如果你的程序有多 重 中斷,子程序調用,或手動推 入,堆棧將占用更多的內存, 您的代碼 可能會覆蓋 其他地方 的數(shù)值 。如果你 推入許多 變數(shù), 并且沒有彈出他們 ,它會回來困擾你。設置堆棧指針 作為您 初始化的一部分, 之后 不要 手動的 反復折騰 。PUSH 命令 將 SP 在 RAM 向下移動 一個字符 ( SP= SP 2),并將 數(shù)值放在新的 SP。作為一個程序員,你需要理解這種相互作用。當兩個正數(shù)一起相加,并且結果為負,或當兩個負數(shù)相加結果為正時發(fā)生溢出。 RAM 和寄存 器內容保持。 1=允許中斷 0=不允許中斷 ? CPU控制位( CPUOff) 位: 4 功能:是否允許 CPU進入關閉模式 ,可通過軟件清除 和恢復中斷 。 1=發(fā)生進位 0=不發(fā)生進位 ?零標志位( Z) 山東建筑大學畢業(yè)設計外文文獻及譯文 17 位: 1 功能:當運算結果 為 0 時置位 ,可通過軟件或自動的設置或清除 。中斷返回 ORG 0FFF0h DW Timer_A_Hi_Interrupt 狀態(tài)寄存器 狀態(tài)寄存器 在 R2 中應用 ,包含 各系統(tǒng)的標志。用 R12 作為空間 Rla R12 Rla R12 Mov R12amp。最常見的程序是推動寄存器到堆棧在 ISR 的開始, 并在 ISR 的結束 是 彈出。 密切注意 轉移語句 尋址方式。PC goes to proper jump Jmp value0 Jmp value1 Jmp value2 Jmp value3 Jmp value4 Jmp value5 Jmp value6 Jmp value7 Outofrange Jmp RangeError 山東建筑大學畢業(yè)設計外文文獻及譯文 16 這是一個比較普遍的做法,大多數(shù) C 編譯器將使用類似 switch 語句的東西。more range checking Jn outofrange 。 Example Switch Statement via Manual PC Control Mov value,R15 。由于個別內存位置地址是 8 位,但所有的指令都是 16 位,個人電腦被 數(shù)目 限制(即個人電腦的 LSB 始終為零)。它 同樣服務于 狀態(tài)寄存器?,F(xiàn)在,它是相對的 雜亂信息 。它們使用清楚的記錄。但是,一些開發(fā)工具將保留 R4 和 R5 調試信息。)他們用于寄存器模式操作(見尋址方式,第 8 章)這遠比需要的內存訪問的操作有效率。 ALU的操作可以影響溢出,零,負,和進位 。有兩種總線,一個單一的線性存儲空間,一個 不平凡的 處理器核心,所有外設都是存儲器映射。該程序設計的風格略有不同,可以可以大大提高效率,特別是在 知道如何將這個功能發(fā)揮到極致的 程序員手中 。首先,設計師在德州儀器公司未來的發(fā)展留下了非常山東建筑大學畢業(yè)設計外文文獻及譯文 14 多的空間。 它由一個三級 指令棧道,指令解碼,一個 16 位 ALU, 4 個專用用途寄存器和 12 個工作(或暫存器)寄存器。 相反,一旦你 有一個 必要條件您存在 模糊的想法,到TI 的網(wǎng)站( ) 使用 它們的參數(shù) 排序功能。 所有設備部件編號按照以下模板: MSP430Mt Fa F bMc M:內存類型 C: ROM F: Flash P: OTP E: EPROM (為推導使用 . 有以下幾種 .) F a, F b: 系列和結構 10, 11: 基本 12, 13: 硬件串口 14: 硬件串口 , 硬件乘法器 山東建筑大學畢業(yè)設計外文文獻及譯文 13 31, 32: LCD 控制器 33: LCD 控制器 , 硬件串口 , 硬件乘法器 41: LCD 控制器 43: LCD 控制器 , 硬件串口 44: LCD 控制器 , 硬件串口 , 硬件乘法器 Mc: 電容存儲器 0: 1kb ROM, 128b RAM 1: 2kb ROM, 128b RAM 2: 4kb ROM, 256b RAM 3: 8kb ROM, 256b RAM 4: 12kb ROM, 512b RAM 5: 16kb ROM, 512b RAM 6: 24kb ROM, 1kb RAM 7: 32kb ROM, 1kb RAM 8: 48kb ROM, 2kb RAM 9: 60kb ROM, 2kb RAM 例如: MSP430F435 是帶有 LCD 控制器的 FLASH 存儲器設 備,硬件串口, 16 KB 的程序存儲器和 512 字節(jié)的 RAM。1 xx, 39。 目前,至少有 40 個可用,更 經(jīng)常被規(guī)律添加。他們都有一個共同的, RISC 結構, 馮諾依曼的 CPU 核心。 這也是需重要注意到,雖然在這本書的 大部分信息與現(xiàn)成的 TI 的文件是相同的,這本書的目的是 補充,而不是替代的寶貴的信息來源。t fiddle with it manually after that. As long as you are wary of two stack conditions, the stack pointer manages itself. These two conditions are: Asymmetric push/pop binations. Every push should have a pop. If you push a bunch of variables, and fail to pop them back out, it will e back to haunt you. If you pop an empty stack, the SP moves out of RAM, and the program will fail. Stack encroachment. Remember, the stack is implemented in RAM. If your program has multiple interrupts, subroutine calls, or manual pushes, the stack will take up more RAM, potentially overwriting values your code needs elsewhere. Memory Structure Special Function Registers Special function registers are, as you might have guessed, memorymapped registers with special dedicated functions. There are, nominally, sixteen of these registers, at memory locations 0000h through 000Fh. However, only the first six are used. Locations 0000h and 0001h contain interrupt enables, and locations 0002h and 0003h contain interrupt flags. These are described in Chapter 3. Locations 0004h and 0005h contain module enable flags. Currently, only two bits are implemented in each byte. These bits are used for the USARTs. Peripheral Registers All onchip peripheral registers are mapped into memory, immediately after the special function registers. There are two types of peripheral registers: byteaddressable, which are mapped in the space from 010h to 0FFh, and wordaddressable, which are mapped from 0100h to 01FFh. RAM RAM always begins at location 0200h, and is contiguous up to its final address. RAM is used 山東建筑大學畢業(yè)設計外文文獻及譯文 10 for all scratchpad variables, global variables, and the stack. Some rules of thumb for RAM usage: The developer needs to be careful that scratchpad allocation and stack usage do not encroach on each other,