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

正文內容

單片機系統(tǒng)設計ppt課件(編輯修改稿)

2025-01-31 22:44 本頁面
 

【文章內容簡介】 存儲器 ( ROM)中的表格數據讀出 , 傳送到累加器 A 的指令 。 查表指令采用 變址尋址方式 , 共有 2條指令 , 這兩條指令都是 單字節(jié)雙周期指令 。 MOVC A, @A+DPTR ; A ← (( A) +( DPTR)) 45 (2) PC 內容為基址 MOVC A, @A+PC ; A ← (( A) +( PC)) 取出該單字節(jié)指令后 PC的內容增 1, 以增 1后的當前值去執(zhí)行 16位無符號數加法,將獲得的基址與變址之和作為 16位的程序存儲器地址 。然后將該地址單元的內容傳送到累加器 A。指令執(zhí)行后 PC的內容不變。 優(yōu)點: 不改變 PC的狀態(tài),根據 A的內容取表格常數。 缺點: ( a)表格只能存放在查表指令以下的 256個單元內。 ( b)當表格首地址與本指令間有其他指令時,須用調整偏移量,調整量為下一條指令的起始地址到表格首址之間的字節(jié)數。 46 補充:單片機非線性運算快速實現的基本方法 ( 1)查表法 查表是非線性運算和非數值計算數據處理中常用的方法之一。 利用查表可以免去復雜的計算,節(jié)省時間,具有靈活性強、運行速度高及實時性好的特點。表分為有無序表和有序表;一維表、二維表、三維表及多維表等。常用的表格一般是線性表,這種表中的數據元素具有線性一維關系。 查表就是根據變量 x,在表格中查找函數值 y,使得 y = f( x)。 換句話說,查表就是根據輸入值來確定表的地址,然后從該地址中找出相應的函數值。 采用這種方法首先要根據自變量的變化范圍和精度要求制作一個表格,把有關數據固化在程序存儲器中,一旦表格內容確定之后就不能再改變。然后編寫查表程序,通過輸入值來尋找表格中的相應值。這樣就使運算量變的較少,甚至完全不用進行運算,就可獲得滿足精度要求的輸出。因此 在數字信號處理中,特別是在智能化測試儀表和數字發(fā)動機控制應用中,查表法是經常使用的一種操作。 47 ( 2)查表法舉例 【 例 】 累加器 A中存有壓縮的 BCD碼,將其轉化為八段顯示碼,并將結果送至 P1口(送高位)和 P2口(送低位)。如 A中數據為 48H,則 P1口連接的數碼管顯示 4, P2口連接的數碼管顯示 8(假設所使用的數碼管都是共陽極數碼管)。 分析:這是一個典型的查表程序。所顯示數字與所輸出的二進制數(顯示碼)之間的關系為: 顯示字符 0 1 2 3 4 5 6 7 8 9 顯示碼 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 48 參考程序為: ORG 0000h SJMP START ORG 0030H START: MOV R0,A ;備份 BCD數 ANL A,0FH ;取低位 MOV DPTR,TABLE MOVC A,@A+DPTR ;取低位顯示碼 MOV P2,A ;從 P2口輸出顯示碼 MOV A,R0 ;恢復 BCD數 ANL A,0F0H ;取高位 SWAP A MOVC A,@A+DPTR ;取高位顯示碼 MOV P1,A ;從 P1口輸出顯示碼 SJMP $ TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END 49 ( 2)插值法 在智能儀表和數字發(fā)動機控制應用中,表格插值是經常要做的一種操作, 對一些計算精度要求不高但運行速度要求較高的場合,應避開復雜的計算,盡量采用通用性強、實時性好的分段線性插值法或二次拋物線插值法來逼近真實函數值。 50 ① 分段線性插值法: 假設:已知函數 Y= f( X)的曲線如右圖 所示。按一定要求將 X軸分為 x0、x … xi、 xi+ … xn,則對應的函數輸出為 y0、 y … yi、 yi+ … yn,它們都是已知的。把曲線上兩兩相臨的分段點用直線連接起來,如圖中虛線所示,當 n取得足夠大時,這些虛線可以近似的代替原曲線,這就是一般分段線性插值法的原理。顯然,對于落在( xi, xi+1)區(qū)間內的輸入 x,有相應的輸出近似值: iiiixxyy????11Y =yi + (xxi) =yi + ki(xxi) 51 因此,可將 n點輸入輸出對照值儲存在程序存儲器內,當輸入量 x落在第 i段內時,可通過三個步驟算出相應的輸出值, 第一步:查表,在區(qū)間 [xi,xi+1]上找到點 x的位置,計算 xxi ; 第二步:計算 ki; 第三步:求得結果 y’= yi+ ki(x xi)。 顯然,采用線性插值逼近法時, 只要分段數 n取得足夠大,就可以獲得要求的精度。 一般的,只要分段點取得合理,分段數愈多,則逼近精度愈高,但同時所要求的計算機內存容量也將增加。 因此,應該根據精度要求和函數曲線的斜率及曲率大小來決定分段點的選取。只要給定了允許誤差和函數的理論計算公式,就可以求得合理的分段點,使得既滿足精度要求又盡可能地減少分段數目。 52 ② 線性插值節(jié)點選取的一般方法 采用分段線性插值近似算法時,首先要考慮如何選取插值節(jié)點的問題。解決這一問題的出發(fā)點是: 在滿足精度要求的前提下,使插值節(jié)點數目減至最少,從而使表格存儲器的容量減少,節(jié)省硬件資源,同時使插值搜索過程加快 。 ( a)固定步長選取法 固定步長選取法就是沿 X軸等距離地選取插值節(jié)點,又稱為 等距選取法 。 采用固定步長的插值節(jié)點時,可以減少表格的長度,僅存儲 xmin、xmax、 n值以及縱坐標上各節(jié)點的函數 yi值。 該方法的主耍缺點是, 當被逼近函數的曲率或斜率變化較大時,為了使曲率或斜率較大的區(qū)域不超差,插值間距需取得較小。因而插值節(jié)點數將大大增加,使表格變長,運行也變長。 所以,固定步長插值法適用于非線性程度不大的函數。 53 ( b)非固定步長選取法 非固定步長選取法根據函數曲線形狀的變化而修正插值間距的大小,又稱為 非等距選取法。 對于非線性程度較大的函數,插值節(jié)點數可以大大減少,但是在表格中,需要對每個節(jié)點存放三個常教 xi 、 yi 和 ki ,顯然,表格的長度較長,占用的存儲單元較多。當然也可以在表格中只存儲 xi 、yi這兩個常數,然后在插值過程中再去計算 ki值,但這樣作增加了運算量,使運行速度減慢,這在某些應用場合是不允許的。 54 55 (三)外部數據存儲器訪問的有關指令 MCS51單片機 CPU對片外擴展的數據存儲器 RAM或 I/O接口進行數據傳送的指令 。 采用 寄存器間接尋址 , 通過累加器 A來完成 。 片外數據的傳送是通過 P0口 和 P2口 配合來完成的 , 其中 P2口輸出高 8位地址 , P0口分時輸出低 8位地址和數據 。 這類數據傳送指令 共有 4條指令 , 其中 2條讀 指令 , 2條寫 指令 , 這 4條指令都是 單字節(jié)雙周期指令 。 寄存器間接尋址 A ((Ri)) 1110001i MOVX A, @Ri 源操作數尋址方式 指令功能 機器語言指令 匯編語言指令 寄存器間接尋址 A ((DPTR)) 11100000 MOVX A, @DPTR 寄存器尋址 (Ri) (A) 1111001i MOVX @Ri, A 寄存器尋址 (DPTR) (A) 11110000 MOVX @DPTR, A 56 (四)堆棧操作指令 棧頂的位置 ( 地址 ) 由 棧指針 SP指示 ( 即 SP的內容是棧頂的地址 ) 。 在 80C51中 , 堆棧的 生長方向是向上的 ( 地址增大 ) 。 系統(tǒng)復位時 , SP的內容為 07H。 通常用戶應在系統(tǒng)初始化時對 SP重新設置 ( SP的值越小 , 堆棧的深度越深 ) 。 堆棧操作有 進棧和出棧 操作 , 即壓入和彈出數據 。 常用于現場保護和恢復 。 這類指令 共有 2條 , 這 2條指令都是 雙字節(jié)雙周期指令 。 直接尋址 11010000 POP direct data 直接尋址 (SP) (direct) 11000000 PUSH direct direct 源操作數尋址方式 指令功能 機器語言指令 匯編語言指令 SP (SP)+1 (direct) ((SP) SP (SP)1 57 六、 MCS51單片機的匯編指令簡介 (一)指令分類 按指令字節(jié)數分類 MCS51指令含有的操作碼和操作數都有相應的二進制代碼, 根據指令包含的字節(jié)數的多少不同,單片機指令系統(tǒng) (共 111條指令 )分成 單字節(jié)指令 (49條 ) 、 雙字節(jié)指令 (45條 )和 三字節(jié)指令 (17條 ) 。 按指令的執(zhí)行時間分類 單片機指令系統(tǒng) (共 111條指令 )根據指令執(zhí)行的時間長短分類,可以分成: (1) 單周期指令 (64條 ) (2) 雙周期指令 (45條 ) (3) 四周期指令 (只有乘除 2條 )。 58 按指令的功能分類 單片機指令系統(tǒng) (共 111條指令 )根據指令所完成的功能分類,可以分成: (1) 數據傳送類指令 (28條 ) (2) 算術運算類指令 (24條 ) (3) 邏輯運算及移位類指令 (25條 ) (4) 控制轉移類指令 (17條 ) (5) 位操作 (布爾操作 )類指令 (17條 ) 59 (二)指令簡介 數據傳送類指令 數據傳送類指令 一般不影響程序狀態(tài)字 PSW寄存器 。只有在往累加器 A中傳送數時有可能影響 PSW的奇偶位 P,其它位不受影響。當然,往 PSW寄存器里面?zhèn)魉蛿祿隙ㄓ绊?PSW。 傳送類指令可以 分成兩大類 。 一是采用 MOV操作符,稱為 一般傳送指令 ; 二是采用非 MOV操作符,稱為 特殊傳送指令。 60 61 MCS51單片機一般數據傳送指令數據傳遞關系圖 62 ① 立即數 可以為累加器 A、寄存器 Rn和 DPTR、直接尋址或間接尋址的 RAM賦初值, 只能作為源操作數 ,不能作為目的操作數。 ② 累加器 A可以和寄存器 Rn、直接尋址或間接尋址的 RAM之間相互賦值,既可以作為源操作數,也可以作為目的操作數。 ③ 直接尋址的 RAM可以和累加器 A、寄存器 Rn、直接尋址或間接尋址的 RAM之間相互賦值,既可以作為源操作數,也可以作為目的操作數。 ④ 間接尋址的 RAM可以和累加器 A、直接尋址的 RAM之間相互賦值,既可以作為源操作數,也可以作為目的操作數。但不能和寄存器 Rn與間接尋址的 RAM之間相互賦值。 ⑤ 寄存器 Rn可以和累加器 A、直接尋址的 RAM之間相互賦值,既可以作為源操作數,也可以作為目的操作數。但不能和寄存器 Rn與間接尋址的 RAM之間相互賦值。 63 特殊數據傳送指令 64 算術運算類指令 包括+、-、 、 247。 、加 減 十進制調整指令,共有 24條。 65 66 算術運算類指令 一般影響 PSW中的 CY、 AC、OV、 P 標志位 。 進位(借位)標志 CY為無符號整數的多字節(jié)加法、減法、移位等操作提供了方便;溢出標志 OV可方便的控制補碼運算;輔助進位標志 AC用于 BCD碼運算。 67 加減 1 指令僅 INC A、 DEC A 影響 P標志 (即使有進位或借位, CY也不變)。其余指令都不影響標志位的狀態(tài)。 DA A指令 的功能是對累加器 A中剛進行的兩個 BCD碼的加法的結果進行十進制調整 (加 6修正 ) , 只影響 CY位 。 該指令的使用條件: ( 1)只能緊跟在加法指令( ADD/ADDC)后進行 ( 2)兩個加數必須已經是 BCD碼 ( 3)只能對累加器 A中結果進行調整 68 DIV AB指令的 功能 是將累加器 A中的無符號 8位二進制數除以寄存器 B中的無符號 8位二進制數 , 商的整數部分存放在累加器 A中,余數
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1