當前位置:首頁 » 編程軟體 » ccr編程

ccr編程

發布時間: 2022-05-30 01:46:35

① PLC要實現先入先出要怎麼編程

你好,這個問題不是多數人能解答的,你這個問題很專業,我用過PLC但是對編程也只是知道一點,現在的PLC都是自動掃描,自動循環工作的,你的程序只要輸進去就會被自動劃分區域准備工作,不會出現程序紊亂的現象,你的程序是不是出錯啦,還有先進和先出其實是一個命令,分兩個步驟走,我想是你的程序那裡有問題,我也只能幫你這么多了。

② 匯編語言編程序求助

;用PROTEUS模擬,顯示器使用7SEG-MPX2-CC;===================================_INTSTART:MOVSP,#60HMOVIE,#84HMOVR3,#0;-------------------MAIN:LCALLDISPLAYSJMPMAIN;-----------------------------------X1_INT:MOVA,R3ADDA,#1DAAMOVR37395A;R3=00~99HX1_LOOP:LCALLDISPLAYJNBP3.3,X1_LOOPRETI;-----------------------------------DISPLAY:MOVA,R3ANLA,#0FH;取出個位.MOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0FFH;關閉顯示.MOVP0,A;輸出段碼.CLRP2.1;P2.1=0LCALLDELAY;-------------------MOVA,R3SWAPAANLA,#0FH;取出十位.MOVCA,@A+DPTRMOVP2,#0FFH;關閉顯示.MOVP0,A;輸出段碼.CLRP2.0;P2.0=0LCALLDELAYRET;-----------------------------------DELAY:MOVR4,#250DJNZR49¥RET;-----------------------------------TAB:DB3FHn06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHend;===================================呵呵,樓上的網友txbf對電路圖的看法,說的都對j但是,現在樓主畫的電路圖是軟體模擬的電路圖,你說的那些,都是可以簡化的,這里重點是在研究程序設計。建議看看有關模擬軟體(如PROTEUS)方面的書籍。...餘下全文>>

③ 計算機編程(匯編)問題求助

我會編程就不會拿這么點錢了

④ 根據文字描述的點與點之間連接關系,能產生圖形顯示的演算法是什麼

計算機圖形學的發展
1963年,伊凡•蘇澤蘭(Ivan Sutherland)在麻省理工學院發表了名為《畫板》的博士論文, 它標志著計算機圖形學的正式誕生。至今已有三十多年的歷史。此前的計算機主要是符號處理系統,自從有了計算機圖形學,計算機可以部分地表現人的右腦功能了,所以計算機圖形學的建立具有重要的意義。近年來, 計算機圖形學在如下幾方面有了長足的進展:
1、智能CAD
CAD 的發展也顯現出智能化的趨勢,就目前流行的大多數CAD 軟體來看,主要功能是支持產品的後續階段一一工程圖的繪制和輸出,產品設計功能相對薄弱, 利用AutoCAD 最常用的功能還是互動式繪圖,如果要想進行產品設計, 最基本的是要其中的AutoLisp語言編寫程序,有時還要用其他高級語言協助編寫,很不方便。而新一代的智能CAD 系統可以實現從概念設計到結構設計的全過程。例如,德國西門子公司開發的Sigraph Design軟體可以實現如下功能:① 從一開始就可以用計算機設計草圖,不必耗時費力的輸入精確的坐標點,能隨心所欲的修改,一旦結構確定,給出正確的尺寸即得到滿意的圖紙;② 這個軟體中具有關系數據結構, 當你改變圖紙的局部,相關部分自動變化,在一個視圖上的修改,其他視圖自動修改,甚至改變一個零件圖,相關的其它零件圖以及裝配圖的相關部分自動修改:③ 在各個專業領域中,有一些常用件和標准件, 因此,希望有一個參數化圖庫。而Sigraph不用編程只需畫一遍圖就能建成自己的圖庫;④Sigraph還可以實現產品設計的動態模擬用於觀察設計的裝置在實際運行中是否合理等等。智能CAD的另一個領域是工程圖紙的自動輸入與智能識別,隨著CAD技術的迅速推廣應用,各個工廠、設計院都需將成千上萬張長期積累下來的設計圖紙快速而准確輸入計算機,作為新產品開發的技術資料。多年來,CAD 中普遍採用的圖形輸入方法是圖形數字化儀交互輸入和滑鼠加鍵盤的交互輸入方法.很難適應工程界大量圖紙輸入的迫切需要。因此, 基於光電掃描儀的圖紙自動輸入方法已成為國內外CAD工作者的努力探索的新課題。但由於工程圖的智能識別涉及到計算機的硬體、計算機圖形學、模式識別及人工智慧等高新技術內容,使得研究工作的難點較大。工程圖的自動輸入與智能識別是兩個密不可分的過程,用掃描儀將手繪圖紙輸入到計算機後,形成的是點陣圖象. CAD 中只能對矢量圖形進行編輯, 這就要求將點陣圖象轉化成矢量圖形.而這些工作都讓計算機自動完成.這就帶來了許多的問題.如① 圖象的智能識別;② 字元的提取與識別;③ 圖形拓撲結構的建立與圖形的理解;④實用化的後處理方法等等。國家自然科學基金會和863計劃基金都在支持這方面的研究, 國內外已有一些這方面的軟體付諸實用,如美國的RVmaster,德國的VPmax, 以及清華大學,東北大學的產品等。但效果都不很理想.還未能達到人們企盼的效果。
2 計算機美術與設計
2.1 計算機美術的發展
1952年.美國的Ben .Laposke用模擬計算機做的波型圖《電子抽象畫》預示著電腦美術的開始(比計算機圖形學的正式確立還要早)。計算機美術的發展可分為三個階段:
(1)早期探索階段(1952 1968年)主創人員大部分為科學家和工程師,作品以平面幾何圖形為主。1963年美國《計算機與自動化》雜志開始舉辦年度「計算機美術比賽」。
代表作品:1960年Wiuiam Ferrter為波音公司製作的人體工程學實驗動態模擬.模擬飛行員在飛機中各種情況;1963年Kenneth Know Iton的列印機作品《裸體》。1967年日本GTG小組的《回到方塊》。
(2)中期應用階段(1968年~1983年)以1968年倫敦第一次世界計算機美術大展一「控制論珍寶 (Cybernehic Serendipity1為標志,進入世界性研究與應用階段;計算機與計算機圖形技術逐步成熟, 一些大學開始設置相關課題, 出現了一些CAD應用系統和成果, 三維造型系統產生並逐漸完善。代表作品:1983年美國IBM 研究所Richerd Voss設計出分形山(可到網站「分形頻道hrtp:ttfracta1.126.tom 中查找有關「分形」的知識)
(3)應用與普及階段(1984年~現在)以微機和工作站為平台的個人計算機圖形系統逐漸走向成熟, 大批商業性美術(設計)軟體面市; 以蘋果公司的MAC 機和圖形化系統軟體為代表的桌面創意系統被廣泛接受,CAD成為美術設計領域的重要組成部分。代表作品:1990年Jefrey Shaw的交互圖形作品「易讀的城市f The legible city) 。
2.2 計算機設計學(Computer Des i gn i cs)
包括三個方面:環境設計(建築、汽車)、視覺傳達設計(包裝)、產品設計。
CAD對藝術的介入,分三個應用層次:
(1)計算機圖形作為系統設計手段的一種強化和替代; 效果是這個層次的核心(高精度、高速度、高存儲)。
(2)計算機圖形作為新的表現形式和新的形象資源。
(3)計算機圖形作為一種設計方法和觀念。
3 計算機動畫藝術
3.1 歷史的回顧
計算機動畫技術的發展是和許多其它學科的發展密切相關的。計算機圖形學、計算機繪畫、計算機音樂、計算機輔助設計、電影技術、電視技術、計算機軟體和硬體技術等眾多學科的最新成果都對計算機動畫技術的研究和發展起著十分重要的推動作用50年代到60年代之間,大部分的計算機繪畫藝術作品都是在列印機和繪圖儀上產生的。一直到60年代後期,才出現利用計算機顯示點陣的特性,通過精心地設計圖案來進行計算機藝術創造的活動。
70年代開始.計算機藝術走向繁榮和成熟 1973 年,在東京索尼公司舉辦了「首
屆國際計算機藝術展覽會」80年代至今,計算機藝術的發展速度遠遠超出了人們的想像 在代表計算機圖形研究最高水平的歷屆SIGGRAPH年會上,精彩的計算機藝術作品層出不窮。另外,在此期間的奧斯卡獎的獲獎名單中,採用計算機特技製作電影頻頻上榜,大有舍我其誰的感覺。在中國,首屆計算機藝術研討會和作品展示活動於1995年在北京舉行 它總結了近年來計算機藝術在中國的發展,對未來的工作起到了重要的推動作用
3.2 計算機動畫在電影特技中的應用
計算機動畫的一個重要應用就是製作電影特技 可以說電影特技的發展和計算機動畫的發展是相互促進的。1987年由著名的計算機動畫專家塔爾曼夫婦領導的MIRA 實驗室製作了一部七分鍾的計算機動畫片《相會在蒙特利爾》 再現了國際影星瑪麗蓮•夢露的風采。1988年,美國電影《誰陷害了兔子羅傑》 (Who Framed Roger Rabbit?)中二維動畫人物和真實演員的完美結合,令人膛目結舌、嘆為觀止 其中用了不少計算機動畫處理。1991年美國電影《終結者II:世界末日》展現了奇妙的計算機技術。此外,還有《侏羅紀公園》(Jurassic Park)、《獅子王》、《玩具總動員》(Toy Story)等。
3.3 國內情況
我國的計算機動畫技術起步較晚。1990年的第11屆亞洲運動會上,首次採用了計算機三維動畫技術來製作有關的電視節目片頭。從那時起,計算機動畫技術在國內影視製作方面得到了訊速的發展, 繼而以3D Studio 為代表的三維動畫微機軟什和以Photostyler、Photoshop等為代表的微機二維平面設計軟體的普及,對我國計算機動畫技術的應用起到了推波助讕的作用。
計算機動畫的應用領域十分寬廣 除了用來製作影視作品外, 在科學研究、視覺模擬、電子游戲、工業設計、教學訓練、寫真模擬、過程式控制制、平面繪畫、建築設計等許多方面都有重要應用,如軍事戰術模擬
4 科學計算可視化
科學計算的可視化是發達國家八十年代後期提出並發展起來的一門新興技術,它將科學計算過程中及計算結果的數據轉換為幾何圖形及圖象信息在屏幕上顯示出來並進行交互處理,成為發現和理解科學計算過程中各種現象的有力工具。
1987年2月英國國家科學基金會在華盛頓召開了有關科學計算可視化的首次會議。會議一致認為「將圖形和圖象技術應用於科學計算是一個全新的領域」 科學家們不僅
需要分析由計算機得出的計算數據,而且需要了解在計算機過程中數據的變化。會議將這一技術定名為「科學計算可視化(Visualization in Scientific Computing)」。科學計算可視化將圖形生成技術圖象理解技術結合在一起, 它即可理解送入計算機的圖象數據.也可以從復雜的多維數據中產生圖形。它涉及到下列相互獨立的幾個領域:計算機圖形學、圖象處理、計算機視覺、計算機輔助設計及交互技術等。科學計算可視按其實現的功能來分, 可以分為三個檔次:(1)結果數據的後處理;(2)結果數據的實時跟蹤處理及顯示;(3)結果數據的實時顯示及交互處理。
4.1 國外科學計算可視化現狀
(1)分布式虛擬風洞
這是美國國家宇航局(Ames)研究中心的研究項目,包括連接到一台超能計算機上的兩個虛擬屏幕。這一共享的分布式虛擬環境用來實現三維不穩定流場。兩個人協同工作, 可在一個環境中從不同視點和觀察方向同一流場數據。
(2)PHTHFINDER
這是美國國家超級計算機應用中心(NCSA)的研究項目. 是在交互分布環境下研究大氣流體的軟體。PHTHFINDER通過多個相聯系的模型來研究暴風雨。
(3)狗心臟CT數據的動態顯示
這也是NCSA的研究項目,它利用遠程的並行計算資源.用體繪制技術實現CT掃描三維數據場動態顯示。其具體內容是顯示一個狗的心臟跳動周期的動態圖像。
(4)燃燒過程動態模型的可視化
這是美國西北大學的研究項目.可以顯示發生在非燒熱的氣體燃燒中復雜的空問瞬態圖象。火焰位於兩個同心圓柱之間.可燃混合氣體從內圓柱注入,燃燒所生成的物質通過外圓柱送出。
(5)胚胎的可視化
依利諾大學芝加哥分校研製了一個在工作站和超級計算機上實現的可視億應用軟體。其內容是對一個七周的人類胚胎實現交互的三維顯示, 是由衛生和醫學國家博物館所得到的數據重構而成的。這一項目表示了對人類形態數據實現遠程訪問和在網路資源中實現分布計算的可能性。最近美國還將做整個人體的可視化, 他們將兩個自願者(一男一女)做成了切片,男的被切了1780片, 厚度約1毫米,女的被切了5400片, 厚度約O.3毫米,數據量很大。概括起來有以下幾點:
(1)科學計算可視化技l術在美國的著名國家實驗室及大學中已經從研究走向應用,應用范圍涉及天體物理、生物學、氣象學、空氣動力學、數學、醫學圖象等領域。科學計算可視化的技術水平正在從後處理向實時跟蹤和交互控制發展。
(2)美國在實現科學計算可視化時, 已經將超級計算機、光纖高速網、高性能工作站及虛擬環境四者結合起來,顯示了這一領域技術發展的重要方向。就三維數據場的顯示演算法而言,當數據場分布密集而規則時(如cT掃描數據)多採用體繪制技術,這種演算法效果好,但計算費時。對於數據場分布稀疏,或分布不規則的應用領域, 如天體物理、氣象學多採用構造中間幾何圖象的方法,這種方法生成圖象速度快,較易作到實時交互處理。
5 虛擬現實
「虛擬現實」(Virbual ReMity)- 詞是由美國噴氣推動實驗室(VPL)的創始人拉尼爾(Jaron Lanier)首先提出的 在克魯格(Myren Kruege)70年代中早期實驗里.被稱為 人工現實」(Artificial reality);而在吉布森(William Gibson)l984 年出版的科幻小說Neuremanccr里,又被稱為「可控空間」(Cyberspaee)。虛擬現實, 也育人稱之為虛擬環境(Virtual Environment)是美國國家航空和航天局及軍事部門為模擬而開發的一門高新技術 它利用計算機圖形產生器,位置跟蹤器,多功能感測器和控制器等有效地模擬實際場景和情形,從而能夠使觀察者產生一種真實的身臨其境的感覺虛擬環境由硬體和軟體組成,硬體部分主要包括:感測器(Sensors)、印象器(Efeeter)和連接侍感器與印象器 產生模擬物理環境的特殊硬體。利用虛擬現實技術產生虛擬現實環境的軟體需完成以下三個功能:建立作用器(Actors)以及物體的外形和動力學模型:建立物體之間以及周圍環境之間接照牛頓運動定律所決定的相互作用;描述周圍環境的內容特性
5.1 虛擬現實技術的應用
5.1.1用於腦外科規劃的雙手操作空間介面工具
最近,美國弗尼亞大學推出了一種能用於腦外科規劃的被稱為Netra的雙手操作空間介面工具 根據腦外科醫生的工作環境和習慣,該系統採用一種外形象人頭的控制器。腦外科醫生可以根據他們的職業習慣,通過轉動外形象人頭的控制器, 來方便地觀察人腦的不部位, 同時通過右手控制面板的平面來控制人腦的剝面的掃描井能根據CT或強磁共振圖像所產生的主體腦模型顯示所需得到觀察視點著色後的真實圖像
5.1.2虛擬環境用於恐高症治療
英國研製的一個虛擬現實系統可以產生以下虛擬環境:① 透明的玻璃電梯,② 高層建築陽台.@位於蛺咎之上的索橋。為了增加真實的感覺,患者除了佩戴能夠產生三維立體景象的頭盔式顯示器外,還必須站在一個特製的框架內。調節電梯、.陽台和索橋的高度就可以產生不同程度的刺激。
5.1.3虛擬風洞
德國信息技術國家研究中心的克魯格等人建立了一個所謂的「虛擬風嗣 ,用以代替風洞實驗(因風洞實驗成本高,且實驗難以控制)。在虛擬風洞中,其模擬的數據來自超級計算機或高性能工作站上運行的有限元程序。利用虎擬風洞,觀測者通過佩戴液晶開關眼鏡可以方便地對於給定的點和線進行觀察,而且還可以通過放大的方式進行更細致的研究,大大方便了人們對於物體動力中特性的研究。
5.1.4封閉式戰斗作戰訓練器
封閉式戰斗作戰訓練器(CCTT)是馬斯塔格利等人為美軍研製的用於坦克和機械化步兵在實際地形上進行演習的模擬裝置。它與通常的虛擬環境和模擬器不同,它需要建立的是適用於軍隊訓練的大規模復雜的虛擬環境。
5.1.5虛擬現實技術在建築設計中應用
虛擬現實技術還被廣泛用於建築設計。克魯格等將他們設計的未來建築顯現在他們發明的虛擬工作平台上,建築學家們聚集在一起透過所佩戴的液晶眼鏡,可以看到設計的立體建築,井方便地增添或移去建築的一部分或其它物體。同時也可以通過數據手套來設置不同的光源.模擬不同時間的日光和月光.觀察在不同光線下所設計建築的美感以及與整個環境的協調性。
總之.虛擬現實技術是一門多學科交叉和綜合集成的新技術。因此, 它的發展將取決於相關科學技術的發展和進步 虛擬現實技術最基本的要求就是反映的實時性和場景的真實性。但一般來說,實時性與真實性往往是相互矛盾的。
5.2 多通道用戶界面
用戶界面是計算機系統中人與計算機之間相互通訊的重要組成部分。八十年代以WIMP(窗口、圖符、菜單、滑鼠)為基礎的圖形用戶界面(GUD極大地改善了計算機的可用性、可學性和有效性,迅速代替了命令行為代表的字元界面,成為當今計算機用戶界面的主流。以用戶為中心的系統設計思想.增進人機交互的自然性,提高人機交互的效率和帶寬是用戶界面的研究方向。於是提出了多通道用戶界面的思想,它包括語言、姿勢輸入、頭部跟蹤、視覺跟蹤、立體顯示、三維交互技術、感覺反饋及自然語言界面等。可以這樣說人體的表面就是人機界面。人體的任何部分都應成為人機對話的通道。虛擬現實顯示是關鍵所在,這不僅要求軟體來實現,更主要的是硬體上的實現。概括起來虛擬現實的人機交互通道可分為兩個方面:主要的感覺通道和主要作用通道。多通道用戶界面強調:
(1)多個交互通道,如眼一語言一手勢等。
(2)交互的雙向性.如果每個通道兼有輸入/輸出
(3)交互不一定是在同一通道中完成.例如, 眼和耳都可以接受信息.但有明顯的區別。眼永遠是主動的, 即主動地去獲取信息,耳永遠是被動的,有些信息不管你願不願聽,總要輸到耳朵中,這就要求在具體的交互中具體選擇交互通道。計算機圖形學中各個領域的發展各有各自的特點, 但總起來說是以虛擬現實為導向
和目的的。虛擬現實的發展要求必將帶動計算機圖形學各學科的發展. 同樣虛擬現實的發展也將依賴於其他學科的發展,計算機圖形前景誘人。形勢逼人(我國還比較落後),但通過努力還是可以縮短差距的。

⑤ 如何用excel計算ccr模型

matlab編程
X=[];Y=[];
n=size(X',1);m=size(X,1);s=size(Y,1);
A=[-X' Y'];b=zeros(n,1);
LB=zeros(m+s,1);UB=[];
for i=1:n
f=[zeros(1,m) -Y(:,i)'];
Aeq=[X(:,i)' zeros(1,s)];beq=1;
w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
E(i,i)=Y(:,i)'*w(m+1:m+s,i);
end
w
E

⑥ matlab 已知原問題求對偶問題編程

試寫出下面線性規劃問題的對偶規劃,並分別編寫求解這兩個問題的M文件,給出運行結果,驗證兩個問題的最優目標函數值相等。

clc

c=[10.3];

A=[-5-1;-5 -4;0 1];

b=[-7000;-14000;2500];

Aeq=[11];

beq=[3500];

vlb=[0,0];

vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

⑦ 請高手解析這個句子有什麼毛病,拜託講仔細,越具體越好,多謝

32年前,比爾·蓋茨毅然棄學,創立微軟,成為個人電腦普及革命的領軍人物;30年後的今天,他預言,機器人即將重復個人電腦崛起的道路。點燃機器人普及的「導火索」,這場革命必將與個人電腦一樣,徹底改變這個時代的生活方式。

撰文 比爾·蓋茨(Bill Gates)
翻譯 郭凱聲

我們站在時代的節點:一個嶄新的產業即將崛起。若干開創性的新技術為這個產業的崛起奠定了基礎;幾家口碑頗佳的企業提供了極為專業的商品;一大批新公司迅速壯大,致力於製造新式玩具、為發燒友提供配件,還出售其他各種有趣的利基產品。然而,它也是一個高度分散、各自為政的行業,幾乎沒有統一的標准或平台。這個行業的開發項目復雜、進展緩慢,可投入實際應用的成果寥若晨星。實際上,盡管它的發展令人振奮,前途一片光明,但誰也說不準這個行業何時才能成長到臨界質量,甚至連它是否會達到臨界點都無人知曉。不過,只要能發展到臨界點,它就可能會徹底改變這個世界。

毋庸置疑,人們可以用上面這段話來描述20世紀70年代中期的計算機行業,那時我和保羅·艾倫(Paul Allen)才剛剛創建微軟公司。那個年代的大型計算機體型臃腫、造價高昂,通常是在大型公司、政府部門和其他各種機構中用於後台操作,支持日常運轉。頂級大學和工業實驗室研究人員正忙於打造基礎組件,為信息時代的到來開辟道路。英特爾公司剛剛推出8080微處理器,而現代家庭電子游戲的鼻祖阿塔里公司(Atari)還在兜售風靡一時的乒乓球電子游戲Pong。發燒友自發組織了俱樂部,千方百計地想找出這項新技術究竟能做點什麼。

不過,此刻我心裡所想的並不是那些往事,而是現在機器人行業的發展——目前這個領域的狀況與30年前的電腦行業極為相似。今天在汽車裝配線上忙碌的一線機器人,正是當年大型計算機的翻版。而機器人行業的利基產品也同樣種類繁多,比如協助醫生進行外科手術的機械臂、在伊拉克和阿富汗戰場上負責排除路邊炸彈的偵察機器人、以及負責清掃地板的家用機器人。還有不少電子公司參照人、狗、恐龍的樣子製造機器人玩具,而發燒友們都迫切希望能弄到一套最新版的樂高(LEGO)機器人套件。

與此同時,一群堪稱全世界最聰明的人正設法解決機器人技術中最讓人頭疼的問題,比如視覺識別、導航及機器學習。現在看來勝利在望。2004年,美國國防部高級研究項目局(DARPA)主辦了首屆機器車挑戰大賽(Grand Challenge)。比賽在莫哈維沙漠上展開,全程142英里(約合227千米),路程崎嶇,看看誰能研製出第一輛能夠跑完全程的無人駕駛機器車。那次大賽上表現最好的參賽車才跑出7.4英里就偃旗息鼓了。然而,2005年的挑戰賽上,有5輛參賽車跑完全程,冠軍的平均時速還達到l9.l英里(參見《環球科學》2006年2月號W·韋特·吉布斯所著《無人戰車關鍵一步》一文)。在這方面,機器人行業與電腦行業也有驚人的相似之處:互聯網的鼻祖Arpanet網當年也正是靠了高研局大把銀子的資助,才能順利「降生」。

機器人行業現今面臨的挑戰,也和30年前電腦行業遇到的問題如出一轍:機器人製造公司沒有統一的操作系統軟體,流行的應用程序很難在五花八門的裝置上運行。機器人的處理器和其他硬體的標准化工作也未開始,在一台機器人上使用的編程代碼,幾乎不可能在另一台機器上發揮作用。如果有人想開發新的機器人,通常得從零開始。

雖然困難重重,但我跟涉足機器人技術的大學研究人員、實業家、發燒友,乃至高中生都談到過這方面的話題,他們那種知難而進的激情和對未來的期許,令我不由回想起自己的經歷。當年我和保羅·艾倫一邊看著各種新技術相互融合,一邊夢想著將來有一天,家家戶戶的書桌上都擺著電腦。現在,我看著多種技術發展的趨勢開始匯為一股推動機器人技術前進的洪流,我完全能夠想像,機器人將成為我們日常生活的一部分。我堅信,分布式計算、語音與視覺識別以及無線寬頻網路等新技術,將為我們開啟通向新一代自主式裝置的大門,使電腦不僅能在虛擬世界裡大顯身手,還能代替我們執行現實世界中的各項任務。或許我們很快將跨進一個新時代,那時,電腦將走下辦公桌,通過它,我們能夠觀看、傾聽、觸摸,甚至操縱那些我們難以親自接觸的東西。

機器人」(Robot)這個術語是1921年捷克劇作家卡雷爾·恰佩克(Carel Capek,l890年-l938年)首創的,很快就流行開來。不過,打造人形機器人的夢想,卻已延續了數千年之久。早在古希臘古羅馬的神話中,冶煉之神便開始用黃金打造機械僕人。公元1世紀,亞歷山大的赫倫(Heron,傳說這位傑出的工程師發明了第一台蒸汽機)設計出一些令人嘆服的自動機器,據說其中一台還能說話。另一位科技奇才達·芬奇l495年的草稿中夾著一張製作機械騎士的草圖,這位機器人騎士能坐能站,手腳還能活動。人們認為這應該是第一份人形機器人的設計圖。

一個世紀以來,眾多風靡一時的科幻作品——比如艾薩克·阿西莫夫的小說《我,機器人》(I,robot,又名《機械公敵》)、電影《星球大戰》以及電視劇《星際迷航》等陸續登場,使機器人成了大眾文化中司空見慣的角色。機器人在科幻世界中如此大行其道,表明公眾也認同,有朝一日機器人將會融入我們的日常生活,成為我們的忠實助手乃至親密伴侶。然而,盡管目前機器人在汽車製造等行業中已成為關鍵角色(這些行業中,機器人與工人的數量比達到l∶l0左右),但想要達到科幻作品中的水平,還有很長的路要走。

要想讓電腦和機器人感知周圍的情況,並作出迅速准確的反應,難度之大遠遠超乎人們的預期,這成了科幻與現實之間存在巨大差異的原因之一。事實證明,許多本領在人看來或許只是小菜一碟(比如根據房間里其他東西的位置調整自己的方位,對聲音作出反應並解讀別人的談話,抓住大小不同、質地各異、各種各樣的東西等),對機器人來說卻難於登天——它們甚至分不清打開的門和窗有何不同。

不過,研究人員已經逐漸摸索出解決辦法。擁有超強處理能力的電腦日益普及,將為研究者排憂解難。20世紀70年代,一兆赫處理能力的成本超過7,000美元,今天卻只值幾美分;一兆比特的存儲容量,也經歷了類似的價格暴跌。有了如此廉價的計算和存儲能力,科學家就能動用大量電腦資源,踢走那些阻礙機器人進入現實世界的絆腳石。例如,語音識別程序已經能相當有把握地辨別單詞,但如何根據上下文悟出這些單詞的含義要難得多。可以預見,隨著電腦計算能力的持續提升,機器人設計師將藉助越來越強的處理工具,輕松解決更為復雜的問題。

2004年2月,我造訪了一些美國的頂尖大學,包括卡內基美倫大學、麻省理工學院、哈佛、康乃爾和伊利諾大學,探討電腦在解決社會一些最緊迫的問題上,可扮演什麼重要的角色。我的目標是協助學生了解資訊科學有多麼精采且重要,也希望鼓勵其中一些人以科技為志業。在每一所大學演講完之後,我總是有機會前往學校的資訊科學系,親自參觀一些最有趣的研究計畫。幾乎沒有例外,每次我都會看到至少一個有關機器人的計畫。

當時,學術界和商用機器人公司也曾詢問我在微軟的同事,我們公司是否也有進行機器人方面的研究,或許可在研發上助他們一臂之力。我們並沒有,所以我們決定好好研究一下。於是我請特羅爾(Tandy Trower)展開大規模的訪查工作,和機器人社群的成員好好談一談。特羅爾是我的幕僚之一,也是在公司服務25年的資深員工,他發現大家對機器人的潛力都很感興趣,而且整個產業都希望能有一些工具可減輕研發的難度。特羅爾結束訪查任務之後,在交給我的報告上寫著:「許多人認為機器人產業正面臨技術上的轉捩點,如果能夠移轉到個人電腦架構上,將是更為合理的方法。就像卡內基美倫大學的DARPA大挑戰參賽小組領隊惠塔克說過的,硬體的功能幾乎已經齊全了,現在的問題是怎麼設計出正確的軟體。」

回到個人電腦剛出現的年代,我們知道自己需要一種要素,來把所有的先驅工作帶到臨界質量,才能整合出真正的產業,製造出商業上真正有用的產品。結果顯示,我們需要的是微軟BASIC。我們在1970年代創造的這種程式語言,提供了一個共通的基礎,於是,為特定硬體開發的程式,也能在另一套硬體上執行了。BASIC讓電腦程式設計變得容易許多,吸引越來越多人進入這個產業。雖然許多人在個人電腦的發展上都有卓越的貢獻,但微軟的BASIC卻帶動軟硬體的革新,無疑是個人電腦革命的重要推手。

閱讀過特羅爾的報告之後,有件事似乎清楚了起來。機器人產業若想如30年前的個人電腦產業一般,達成跳躍式的進步,就必須找到這項缺失的要素。因此我請特羅爾召集一小隊人馬,與機器人學的研究者展開合作,研究目的是創造一套程式設計工具,提供基本方針,讓每個對機器人感興趣的人,只要有基本的電腦程式概念,都能輕易撰寫出可在各類硬體上執行的機器人應用程式。看看能否提供共通的低階基礎,以便整合機器人設計中的軟硬體,就像微軟BASIC當初在電腦程式設計上的功能一樣。

特羅爾的機器人小組已經開始應用微軟的數種先進技術了。這些技術由微軟首席研究暨策略長蒙迪帶領的小組所研發,其中一項技術解決了機器人設計師最困難的問題之一:如何同時處理來自多個感應器的資料,並且傳送適宜的指令給機器人的馬達,也就是知名的「同作」(concurrency)問題。常見的解決方法為傳統的單執行緒程式——有一個長迴圈,一開始先讀入來自感應器的所有資料,然後處理資料,最後送出結果並決定機器人的行為;然後再一次重頭開始執行迴圈。這個方式的缺點很明顯:即使機器人從感應器收到的最新訊息是,機器已經臨近懸崖邊緣,但由於程式還在迴圈後半部計算軌跡的部份,所以會根據先前輸入的資料,命令輪子快點運轉,機器人很可能根本沒有機會處理新資訊,就跌下了樓梯。

「同作」不僅是機器人學所面臨的挑戰,現在有越來越多的應用軟體是為了分散式電腦網路而寫。程式設計師煞費苦心尋找有效率的編碼方式,好讓程式同時在不同的伺服器上運作。單一處理器的電腦已漸漸被多處理器及「多核心」處理器(具有兩個以上處理器的積體電路,可提升效能)的機器所取代,軟體設計師必須以新的方法,來設計桌上型電腦的應用程式與作業系統。為了充份利用平行處理器的效能,新軟體也必須處理同作問題。

處理同作的方式之一,是撰寫多執行緒程式,允許資料透過不同的路徑傳送。但每個撰寫多執行緒程式碼的設計師都會告訴你,這是非常困難的程式設計工作。蒙迪小組針對同作問題的解答是:「執行期同作協調」(CCR)。這是一個函式庫,也就是一組可以執行特定工作的軟體程式碼,協助設計師更輕易撰寫出可協調多項同步活動的多執行緒應用程式。CCR的設計原本是為了協助程式設計師發揮多核心與多處理器系統的效能,但是結果對機器人學也有同樣的好處。機器人設計師運用函式庫撰寫程式,可大幅降低他們的軟體因為急著把輸出資料傳送給輪子,而無暇讀取來自感應器的輸入,使得機器人撞牆的機會。

除了解決同作問題之外,蒙迪小組的成果也可簡化撰寫分散式機器人應用程式的復雜度。這項技術叫做「去中心式軟體服務」(DSS)。在DSS的協助之下,研發者所設計的應用程式中的各個服務(也就是程式中用來讀取感應器或控制馬達等的部份)可彼此獨立運作,但也能彼此整合,就好比來自不同伺服器的文字、影像與資訊也能夠整合成單一網頁一樣。DSS讓軟體內的不同單元可彼此獨立運作,因此當機器人的某個單元故障時,就可個別關閉再重新啟動(或甚至替換掉),而無需重新啟動整部機器。這個架構若再結合寬頻無線技術,使用者就可輕易從遠端透過網頁瀏覽器監控與調整機器人。

不僅如此,控制機器人裝置的DSS應用程式,再也不需要全部都安裝在機器人身上,而可分散放置於多部電腦內。如此一來,可把復雜的處理工作分派給當今家用電腦里的高性能硬體處理,機器人的價格或許就不再那麼昂貴了。我相信這個進展會促使全新類型的機器人出現,基本上,這種機器人是可移動的,具有無線設備可與桌上型個人電腦相連,讓電腦負責處理運算需求高的工作,好比視覺辨識與導航。也由於這些周邊設備能以網路彼此連結,可想見的,機器人將可集體合作,完成海底探勘或種植作物等工作。

這些正是微軟的「機器人工坊」(Robotics Studio)的關鍵技術。機器人工坊是特羅爾小組新設計出來的軟體開發套件,其中還有些工具能協助設計師輕易以各種程式語言撰寫機器人應用程式。例如,裡面有種模擬工具可讓機器人設計師在立體的虛擬環境中測試應用程式,而不需要實境測試自己的作品。我們發布這項產品是為了提供一種人人可負擔的開放平台,協助機器人開發者將軟硬體一並整合進他們的設計中。

究竟還要多久,機器人才會變成我們日常生活中的一部份?根據國際機器人聯盟的估計,2004年全球各地個人所用的機器人大約有200萬具,到了2008年,這個數目得再加上700萬。南韓的資訊通訊部希望在2013年之前,能讓國內每個家庭里都有一具機器人。日本機器人協會則預言,到了2025年,個人機器人產業每年全球的產值將超過500億美元。今天,這個數目約為50億美元。

就好比1970年代的個人電腦產業一般,現在不可能明確預言出,何種應用會在未來帶動這項新產業發展。不過,機器人未來很可能在生理上的輔助,甚至陪伴老年人的心理層面,都扮演重要的角色。機器人設備可能協助殘障朋友行動,增強士兵、建築工與醫療專業人士的氣力與持久力。機器人將繼續擔任危險產業里的機具,處理危險的物料,並且監控遠端的油管。它們也將協助醫務人員診斷與治療病人,即使病人遠在千里之外。在保全系統與搜救任務上,它們也會是重要的一員。

未來,也許有些機器人會長得像「星際大戰」里的人型裝置,但絕大部份應該和機器人C-3PO一點兒也不像。事實上,隨著移動式周邊設備越來越普遍,我們也許也會越難精確說出機器人到底是什麼,新機器將變得專業、無所不在,但一點兒也不像科幻片里的兩腳機器人。到了那時候,我們可能甚至不以機器人來稱呼它們了。但由於這些設備將是人人皆可負擔,對我們的工作、通訊、學習與娛樂也將發生重大的沖擊,就像是個人電腦過去30年來造成的影響一樣。

⑧ HC08傳送類指令操作對CCR的影響如何

可以說沒什麼影響`M68HC08指令系統
計算機的指令系統是一套控制計算機操作的編碼,稱之為機器語言。計算機只能識別和執行機器語言的指令,機器語言指令是隨計算機系統的不同而不同的。為了容易為人們所理解,便於記憶和使用,通常用符號指令(即匯編指令)來表示計算機的指令。這一章我們以M68HC08的匯編指令來分析M68HC08的指令系統功能和使用方法。
1 指令格式
1.1 匯編指令格式
M68HC08匯編指令由操作碼助記符欄位和操作數欄位所組成,指令的格式如下:
操作碼[操作數1],[操作數2],[操作數3]
第一部分「操作碼」助記符,由2-5個英文字母組成,例如LD、MOV、DBNXZ、BRSET等。
第二部分為「操作數」欄位,根據指令功能的不同,操作數可以有一個、二個、三個或者沒有(例如空操作指令NOP)。
操作碼與操作數之間以空格分隔,操作數和操作數之間用「,」號分開。指令前可以加標號,標號代表這條指令的起始存儲地址,指令後可以加註釋,注釋以「;」號開始,一行指令以回車符結束。例如:
STRT:MOV#FF,DORA;PTA編程為輸出口中
1.2 常用偽指令
一、定位偽指令
格式:ORG地址
「地址」可以十六進數(以$開頭)或十進製表示,該偽指令給出以下的程序或數據的起始存儲地址。
例如:ORG $C000
則該偽指令下面的程序或常數存放在$C000開始的存儲器中。
二、定義位元組常數偽指令
格式:FCB X1、X2、X3,…Xn
定義程序區中的位元組常數,Xi是單位元組常數也可以是用單引號括起來的字元串(這時定義ASCII碼),每個位元組為一個字元。
例如:ORG $8000
FCB $3F, $61
則在Flash的$8000、$8001兩個單元定義了兩個常數$3F、$61。利用位元組定義偽指令可以在程序存儲器中定義常數表,如顯示器的字形數據表等。
三、定義字常數偽指令
格式:FDB Y1、Y2、…Ym
定義程序區中字(雙位元組)常數,高位位元組在前,低位位元組在後,Yi用十六進制或十進制數表示。
例如:ORG $FFFE
FDB $8000
則在$FFFE、$FFFF定義了一個字常數,$80存儲在$DDDW單元,而$FFFF單元存儲$0。利用FDB指令可以定義復位和中斷向量。
1.3 符號說明
M68HC08匯編程序允許使用標準的M68HC08匯編指令和多種偽指令(詳見§7.1M68HC08匯編使用方法)。
為了以下說明和分析指令的方便,我們對常用的符號作簡單說明。
一、功能性符號
·( )寄存器或存儲單元的內容;
·←數據傳送的方向;
·↑表示退棧;
·↓表示進棧;
·&表示邏輯或;
·○+表示邏輯異或;
·×乘;
·÷除;
·+加;
·-減;
·:表示連成雙位元組;
·《表示擴展為有符號的16位數。
二、寄存器或存儲單元符號
·A累加器;
·CCR條件碼寄存器;
·H變址寄存器高8位;
·X變址寄存器低8位;
·PC程序計數器;
·PCH程序計數器的高8位;
·PCL程序計數器的低8位;
·SP堆棧指針;
·M存儲器地址或數據(視定址方式而定)
·rel相對偏移量(表示有符號的8位二進制數)。
三、位標識符號
·V溢出標志位;
·H半進位;
·I中斷屏蔽位;
·N負標志位;
·Z零標志位;
·C進位/借位。
四、對條件碼寄存器影響:
·-無影響;
·0:清「零」;
·:根據結果置「1」或清「零」。
五、機器碼標志
·dd:$00XX的低8位地址;
·ee:16位偏移量地址;
·ff:16位偏移量低8位或8位偏移量;
·ii:單位元組立即數;
·ll:16位擴展定址低8位;
·rr:相對偏移量。
六、源操作數標志
·OPR:操作數,一個或兩個位元組,由操作方式確定;
·rel:相對偏移量。
七、定址方式
·INH:隱含定址;
·IMM:8位立即數定址;
·DIR:8位直接地址定址;
·EXT:16位擴展定址;
·IX:16位變址無偏移量;
·IX1:16位變址8位偏移量;
·IX2:16位變址,16位偏移量;
·IX+:16位變址,無偏移量,變址寄存器加1;
·IX1+:16位變址,8位偏移量,變址寄存器加1;
·rel:8位相對定址;
·DD:直接定址;
·IMD:立即定址,直接定址;
·IX+D:16位變址,直接定址,變址寄存器加1;
·DIX+:直接定址,16位變址,變址寄存器加1;
·SP1:堆棧指針定址,8位偏移量;
·SP2:堆棧指針定址,16位偏移量。
2 定址方式
指令給出操作數或產生操作數有效地址(EA)的方式稱為定址方式。根據定址方式,CPU就可以取得操作數。M68HC08比M68HC05增加了8種定址方式,使程序員能選擇最合適的定址方式來優化程序,達到縮短程序長度、提高運行速度的目的。下面分別介紹M68HC08指令系統的定址方式。
一、隱含定址
無操作數或操作數隱含在操作碼位元組中。
例如:NOP ;無操作數
CLRA ;清零累加器
一般只能訪問CPU寄存器。
二、立即數定址
操作數包含在指令操作碼後面的一個或兩個位元組中。
例如:LDA # $10 ;80H—A
LDHX# $8100;81H—H,0—X
M68HC08指令系統中,數字前加$表示十六進制數,加%表示二進制數,無前綴表示十進制數,指令的數據前加#表示立即數。
三、直接定址
操作數的有效地址EA包含在指令操作碼後續位元組中。直接定址的有效地址在指令的地址段中只指出低8位的值,高8位固定為零,即EA=$00XX。這種定址方式只能訪問零頁的I/O寄存器或RAM。
例如:INC $50 ;(50H)+1→50H單元
四、擴展定址
擴展定址方式中,操作數的16位有效地址EA在指令操作碼的後面兩個位元組中。實際
上也是一種直接定址方式。因為有效地址為16位,可以訪問64K位元組存儲空間的任意單元。
例如:JMP $C100 ;$C100→PC,CPU轉至$C100執行程序
LDA $8120;(8120H) →A
在使用M68HC08匯編時,用戶不必考慮指令是用直接定址還是擴展定址。匯編程序自動根據指令中有將地址值取直接定址或擴展定址方式。
五、變址定址無偏移量
這是一種間接定址方式,操作數的有效地址EA的高8位在H寄存器中,低8位在X寄存器中。這種定址方式可以訪問64K位元組存儲空間的任意單元。
例如:DEC,X;(HX)—1→(HX)單元
六、變址8位移量
操作數的有效地址為(H:X)加上無符號的8位偏移量。這種定址方式可用於查表,從n個元素的表中選擇第k個元素,k在變址寄存器中,表格的首地址為8位偏移量。
例如:LDA $50,X;(HX)+$50) →A
七、變址16位偏移量
操作數的有效地址為(H:X)加上無符號的16位偏移量,類似於變址8位偏移量,可用於查表和程序散轉。例如:
FMP KTAB,X
KTAB JMP PGM0
JMP PGM1
根據(HX)的不同轉移到不同的地方。
八、堆棧指針8位偏移量
操作數的有效地址是(SP)加上無符號的8位偏移量。這種變址8位移量定址方式相似。這種定址方式主要方便對堆棧的操作。若系統中不用中斷,SP可以作為第二變址寄存器。例如:
LDA $10,SP ;(SP)+$100) →A
九、操作數有效地址為(SP)加上16位無符號的偏移量,類似於變址16位偏移量的定址方式。
LDA $100,SP ;((SP)+$100)→A
十、相對定址
相對定址只用於轉移指令和子程序調用指令,轉移的有效地址為當前PC值加上8位帶符號的偏移量,偏移量位於操作碼後面的位元組中。在使用M68HC08匯編時程序員不必計算偏移量值,只要用標號表示轉移的目標地址,匯編程序自動計算偏移量,偏移量為-128~+127,超出這個范圍,匯編會報錯。例如:
BCC MLP1 ;C=0轉MLP1,相對定址
INC A ;(A)+1→A
BRA MLP2 ;轉MLP2,相對定址
MLP1: CLRA
MLP2: STA ,X
存儲器單元和存儲器單元之間的數據傳送指令,由源操作數和目的操作數不同定址方式組合得到以下四種定址方式。
定址方式
源操作數
目的操作數
例子
功能
十一、IMD
立即數定址
直接定址
MOV # $80,$40
S80→$40單元
十二、DD
直接定址
直接定址
MOV $80,$40
($80)→$40單元
十三、IX+D
變址,(HX)+1
直接定址
MOVX+,$40
((HX))→$40單元,(HX)+1
十四、DIX+
直接定址
變址(HX)+1
MOV $40,X+
($40)→(HX),(HX)+1
十五、變址無偏移量,變址寄存器加1
操作數的有效地址為變址寄存器內容。這是一種間接定址方式,指令執行後變址寄存器內容加1。例如:
CBEQ X+,rel ;((HX))=(A)轉移,(HX)+1→HX
十六、變址8位偏移量,變址寄存器加1
操作數有效地址為變址寄存器內容加上8位無符號偏移量,指令執行後變址寄存器內容加1。例如:
FNNZ $80,X+rel ;($80+(HX)-1不等於0轉移;
且(HX)+1→HX
3 M68HC08指令系統
3.1指令類型
一、根據指令周期分類
指令周期反映了指令運行的速度。M68HC08指令周期是以內部匯流排時鍾周期為單位的。指令周期占內部匯流排時鍾周期數按指不同有1,2,3,4,5,6,7,9等幾種。若內部匯流排時鍾頻率為8MHz,最短的指令周期為125ns,最長的指令周期為1125ns。
二、根據指令位元組長度分類
指令位元組長度反映了指令的存儲效率。M68HC08有單位元組指令、雙位元組指令和3位元組指令。
三、根據指令功能分類
根據指令的功能,HC08指令系統可分為以下幾類:
①數據傳送指令;
②算術運算指令;
③邏輯運算指令;
④位操作指令;
⑤移位指令;
⑥程序轉移和控制指令。
3.2數據傳送指令
數據傳送指令實現CPU寄存器、I/O寄存器、RAM和ROM(或Flash)之間的數據傳送,一般情況下指令執行結果隻影響CCR的「N」和「Z」標志位。若所傳送的數據為零,置「1」Z,否則清零Z;數據最高位為1置「1」N,否則清零N。
一、CPU寄存器取數指令
1.所定址的單元內容送累加器A
CCR
指令
操作
V
H
I
N
Z
C
定址方式
匯流排周期
LDA # opr
LDA opr
LDA opr
LDA opr, X
LDA opr,X
LDA,X
LDA opr, SP
A←(M)
0



IMM
DIR
EXT
IX2
IX1
IX
SP1
2
3
4
4
3
2
4
LDA opr, SP
SP2
5
例如:LDA # $80 ;$80→A
LDA PORTA ;並行口中A輸入信息讀到A(先用EQU指令定義PORTA)
2.所定址的單元內容送16位變址寄存器的低8位X,而高8位H的內容保持不變
CCR
指令
操作
V
H
I
N
Z
C
定址方式
匯流排周期
LDA # opr
LDA opr
LDA opr
LDA opr, X
LDA opr,X
LDA,X
LDA opr, SP
LDA opr, SP
A←(M)
0



IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2
2
3
4
4
3
2
4
5
3.所定址的兩個單元的16位數據送變址寄存器HX
CCR
指令
操作
V
H
I
N
Z
C
定址方式
匯流排周期
LDA # opr
LDA opr
H:X←(M:M+1)
0



IMM
DIR
2
3
這是兩條16位數據傳送指令,主要用於對變址寄存器HX賦值。例如:
LDHX # $80 ;0→H,$80→X
LDHX $8212 ;($8212) →H,($8213) →X
二、CPU寄存器存儲命令
1.累加器A的內容存儲到所定址的單元
例如:STA PORTA ;(A)輸出到並行口不PORTA
STA $80,X ;(A)存儲到地址為(HX)+$80的單元
2.變址寄存器低8位X的內容存儲到所定址的單元
3.16位變址寄存器的內容存儲到所定址的兩個單元
例如:STHX $80;(H)→$80單元(X)→$81單元
三、堆棧操作指令
1.進棧指令
M68HC08的進棧操作是數據先進棧,然後棧指針減1,因此SP指向下一次進棧的地
址單元。不影響標志位。
2.退棧指令
HC08的退棧操作是棧指針SP先加1,然後取(SP)指出棧單元內容。不影響標志位。
四、CPU寄存器之間的的數據傳送指令
由上面所列指令及其功能可以看出除TAP指令外,這類指令不影響標志位。
五、存儲器單元之間的數據傳送指令
這類指令在編程時應注意格式:MOV源操作數,目的操作數。例如:
MOV $50, $60 ;($50)→$60單元
MOV # $80,$60;立即數$80→$60單元
3.3 算術運算指令
一、加法指令
1.不帶進位加法指令ADD
累加器A和所定址的單元內容相加,運算結果送累加器A。影響標志位OV、H、N、Z、C,運算結果滿足下列條件時置「1」相應的標志位,否則清零。
OV:(A).7,(M).7=1,而結果最高位(RESOLT7,以R7表示)為0,負數相加溢出;或(A).7=0(M).7=0而結果最高位R7為1,正數相加溢出;
H:相加結果低3位向高4位進位時置「1」;
N:相加結果R7為1時置「1」;
Z:相加結果為零時置「1」;
C:相加時最高產生位進位時置「1」。
2.帶進位加法ADC
累加器A、進位標志C、和所定址的單元內容相加,結果送累加器A。對標志位的影響和ADD指令相同,ADC指令用於實現多位元組加法。
3.十進制調整指令
這條指令對累加器中由上一條加法指令(加數和被加數均為壓縮BCD碼)所得的8位結果(在A)進行十進制調整,使A的內容為BCD碼。調整規則如下:
a. (A).3~(A).0大於9或H=1則(A)+$06→A,否則(A).3~(A).0不變;
b. (A).7~(A).4大於9或C=1則(A)+$60→,否則(A).7~(A).4不變;
c. 結束。
例如:(A)=$56 ($50)=$67執行指令:
ADD $50 ;(A)=$BD,(C)=0(A).7~(A).4>9,(A).3~(A).0>9
DAA ;經調整之後(A)=23,(C)1
4.16位變址寄存器加上8位帶符號立即數指令
這條指令將補碼表示的8位立即數擴展為16位帶符號數並和(HX)相加,運算結果送HX,不影響標志位。
5.16位堆棧指針加上8位帶符號立即數指令
這條批令將補碼表示的8位立即數擴展為16位有符號數並和(SP)相加,結果送SP,不影響標志。
6.加1指令
加1指令不影響標志位C和H,例如:(A)=$FF。
ADD # $1 ;結果(A)=0,(C)=1,(H)=1
INCA ;結果(A)=0,(C)和(H)不變
二、減法指令
1.不帶借位減法指令
A的內容減去所定址單元內容,結果送累加器A,影響V、N、Z、C標志位。滿足下列條件置「1」,否則清零。
V:(A).7=1(M).7=0而結果R7=0,為負數減正數溢出;或者(A).7=0(M).7=1而結果R7=1,為正數減負數溢出。這時1→V。
N:相減結果R7=1時,1→N
Z:相減結果為零時,1→Z;
C:相減時最高位產生借位時,1→C。
2.帶借位減法指令
A的內容減去C和所定址單元的內容結果送A,對標志位的影響和SUB指令產生的影響相同。
3.減1指令
對所定址單元的內容減去1。
減1指令不影響標志位H和C。
4.累加器A的比較指令CMP
A和所定址的單元內容相比較,實際上是A減去所定址單元內容,隻影響標志位,而不傳送減法的結果,即不影響A和定址單元的內容,對標志位影響和關法指令產生的影響相同。
5.X的比較指令CPX
X和所定址的單元內容的相比較,隻影響標志位,不影響X和所定址單元內容,對標志位影響和減法指令產生的影響相同。
6.HX的比較指令CPHX
16位變址寄存器HX內容和可定址的兩個單元內容相比較,隻影響標志位,不影響HX和可定址單元內容,對標志位影響和減法指令產生的影響相同。
7.取補指令
0減去所定址的單元,即所定址單元的各位取反,然後加1。對V、N、Z、C標志位影響和減法指令產生的影響相同。
8.測試指令
測試所定址單元的內容是否為零或負數。執行所定址單元內容減去0的操作,並影響
V、N、Z標志位,不影響原來單元內容。
三、乘法指令
X和A中兩個無符號數相乘,積的高8位送X,低8位送A。清零H和C標志,不影響其他標志位。
四、除法指令
(H):(A)中無符號16位數除以(X)中8位無符號數,商→A,余數送H。若商大於$FF或除數為零,置1進位標志C,否則清零標志C。
3.4邏輯運算指令
一、單操作數簡單邏輯指令
1.清零指令
清「0」所定址的單元,0→V、N、1→Z不影響其他標志位。
2.取反指令
對的定址單元的內容按位取反。
二、雙操數邏輯運算指令
1.「邏輯與」指令
累加器A和所定址的單元內容按位做邏輯與運算,結果選A。結果最高位R7=1置「1「N,否則清零N,結果為零,1→Z,否則0→Z。
按位「邏輯與「操作在兩個操作數對應位都為1時,結果對應位才為1,否則對應結果位為0。例如:(A)=$F0則執行指令AND# $0F後(A)=0。
2.「邏輯或」指令
累加器A和所定址單元內容按位進行邏輯或運算結果送A。
按位邏輯或操作,只有當兩個操作數對應位都為零時,結果的對應位才為零,否則為1。例如:(A)=$F0,執行ORA# $0F後則(A)=$FF。
3.「邏輯異或」指令
累加器A和所定址單元內容按位進行邏輯異或運算,結果送A。
按位邏輯異或就是按位半加。當兩個操作數對應位不同時結果對應為1,相同時為0。例如:(A)=$F0,若執行指令EOR# $A0,則(A)=$50。
4.位測試指令
A和所定址的單元內容邏輯與。但結果不傳送,隻影響標志位V、N、Z,不影響A和所定址單元內容。
這些指令用於測試所定址單元的指定位為零還是1。例如:(A0=$01,執行指令BIT$50後,若Z=0則($50).0=0
3.5位操作指令
一、標志位操作指令
1.對CCR寄存器的I、C置「1「指令
2.對CCR寄存器的I、C清零指令
對標志位I的置「1「和清零就是控制CPU的關中和開中。
二、對零頁RAM/IO寄存器的位操作指令
對於零頁的RAM單元或IO寄存器,CPU執行位置1和清零指令一樣地快速方便。
3.6移位指令
一、邏輯左移指令
所定址的單元內容左移一位,低位移入0,高位移到C。
二、邏輯右移指令
所定址的單元內容右移一位,高位移入0,低低移出至C。
三、帶進位循環左移指令
所定址單元的內容帶進位循環右移一位,C移入最高位,最低位移出至C。
五、算術左移指令
算術左移指令功能和邏輯左移指令操作相同
六、算術右移指令
將所定址的單元內有符號的8位數右移一位,符號位保持不變,相當於除2操作。
七、累加器A半位元組交換指令
累加器A的高4位和低4位相互交換,不影響標志位。
3.7 程序轉移和控制類指令
一、無條件轉移指令
1.相對轉移指令
2.絕對轉移令
絕對轉移指令,將所定址的兩個單元內容作為地址送PC,使CPU轉到該地址開始執行程序,不影響標志位。
二、條件轉移指令
1.測試狀態標志條件轉移指令
這類指令,根據上一條指令執行結果,測試CCR的標志位狀態,若條件滿足,執行相對轉移指令,若條件不滿足,則順序執行下一條指令,不影響標志位。
若執行有符號減法或比較批令後,CCR相關位與實際兩操作數間的關系為:如果CPU內部A或X的內容大於等於所定址單元內容,則N○+V=0;如果A或X內容大於所定址單元內容,Z1(N○+V)=0;A或X小於所定址的單元內則N○+V=1。
執行無符號減法或比較指令後,CCR相關位與實際兩操作數間的關系為:如果CPU內部A或X的大於等於所定址單元內容則C=0;A或X大於所定址單元內容C=0,Z=0;A或X內容小於所定址單元內容C=1。
BLT、BGE、BLE、BGT指令一般直接跟在有符號數減法或比較指令之後。
2.測試IRQ條件轉移指令
這兩條指令也不影響標志位。
測試所定址單元相應位狀態,若滿足條件則發生轉移,否則順序執行下一條指令。只能對零頁的RAM或I/O寄存器的位測試轉移。不影響標志位。
4.減1不為零轉移
這是兼有減1指令和不等於零轉移指令功能的條件轉移指令,不影響標志位。
5.比較相等轉移指令
累加器A或X和所定址單元內容相比較,若相等,則執行一相對轉移指令;若不相等,順序執行下一條指令。不影響標志位。
三、調用子程序指令
1.相對調用指令
該調用子程序指令功能和相對轉移指令類似,只是增加PC進棧操作也不影響標志位。
2.絕對調用子程序指令
這些指令功能和絕對轉移指令功能相似,只是附加了PC值進棧操作。不影響標志位。
四、返回指令
1.從子程序返回指令RTS
這條指令的功能是PC退棧返回主程序。一般子程序必須以RIS結束。
2.從中斷返回指令RTI
這條的功能和RTS相似,只是多了CPU寄存器CCR、A、X的退棧操作,使CPU從原來被中斷地方繼續執行程序。中斷服務程序必須以RTI指令結束。
五、控制指令
1.軟體中斷指令SWI
CPU執行SWI指令,產生不可屏蔽的軟體中斷,主要用於設計開發工具的監控程序。
五、控制指令
1.軟體中斷指令SWI
CPU執行SWI指令,產生不可屏蔽的軟體中斷,主要用於設計開發工具的監控程序。
2.堆棧指針復位指令RSP
RSP指令使SPL值為$FF,而SPH值保持不變。不影響標志。
註:為保證棧指針能正確初始化,最好使用LDHX和TXS指令,例對於把SP初始化為$00FF,可使用:LDHX# $100和TXS這兩條指令。
3.節電方式指令
4.空操作指令
空操作指令,指令本身不執行任何操作。用在延時等程序中,以調節程序執行的時間。
上面我們簡要地分析了M68HC08的指令系統。對匯編語言程序設計有一定基礎的讀者,就可以用M68HC08提供的指令,設計出各種應用程序。

⑨ 請教一下您matlab的超效率DEA編程問題

DJSA KSA D D SJFH J SD JSDH SJAD SJDH ASJDH ASJD SJD

⑩ 西門子數控系統怎麼編程

數控及驅動單元 1.NCU數控單元
SINUMERIK840D的數控單元被稱為NCU(Numenrical Controlunit)單元:中央控制單 var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);元,負責NC所有的功能,機床的邏輯控制,還有和MMC的通訊 它由一個COM CPU板. 一個PLC CPU板和一個DRIVE板組成。
根據選用硬體如CPU晶元等和功能配置的不同,NCU分為NCU561.2,NCU571.2,NCU572.2,NCU573.2(12軸),NCU573.2(31軸)等若干種,同樣,NCU單元中也集成SINUMERIK840D數控CPU和SIMATIC PLC CPU晶元,包括相應的數控軟體和PLC控制軟體,並且帶有MPI或Profibus借口,RS232借口,手輪及測量介面,PCMCIA卡插槽等,所不同的是NCU單元很薄,所有的驅動模塊均排列在其右側。 2.數字驅動
數字伺服:運動控制的執行部分,由611D伺服驅動和1FT6(1FK6)電機組成 SINUMERIK840D配置的驅動一般都採用SIMODRIVE611D.它包括兩部分:電源模塊+驅動模塊(功率模塊)。
電源模塊:主要為NC和給驅動裝置提供控制和動力電源,產生母線電壓,同時監測電源和模塊狀態。根據容量不同,凡小於15KW均不帶饋入裝置,極為U/E電源模塊;凡大於15KW均需帶饋入裝置,記為I/RF電源模塊,通過模塊上的訂貨號或標記可識別。 611D數字驅動:是新一代數字控制匯流排驅動的交流驅動,它分為雙軸模塊和單軸模塊兩種,相應的進給伺服電機可採用1FT6或者1FK6系列,編碼器信號為1Vpp正弦波,可實現全閉環控制。主軸伺服電機為1PH7系列。
●PLC模塊
SINUMERIK810D/840D系統的PLC部分使用的是西門子SIMATIC S7-300的軟體及模塊,在同一條導軌上從左到右依次為電源模塊(Power Supply),介面模塊(Interface Mole)機信號模塊(Signal Mole)。的CPU與NC的CPU是集成在CCU或NCU中的 電源模塊(PS)是為PLC和NC提供電源的+24V和+5V。 介面模塊(IM)是用於級之間互連的。
信號模塊(SM)使用與機床PLC輸入/輸出的模塊,有輸入型和輸出型兩種。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:649
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:940
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:635
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:824
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:734
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1070
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:302
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:164
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:855
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:766