DP811程序總覽_第1頁
DP811程序總覽_第2頁
DP811程序總覽_第3頁
DP811程序總覽_第4頁
DP811程序總覽_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、DP-811 簡介   DP-811 簡介  DP811智能試驗器的特點:(參見照片:DP-811和811應用)                 1、它以“技術分身三點通”明確的目標指導試驗,是“先總體把握,后分別深入”的學習模式,更適合少年兒童。      2、化解了“編程序”和“器件連接”方面的攔路虎,又提供生動、直觀的、原理性的學習、試驗環境。在主機板

2、上就能完成:編程、開燈、關燈、寫字、奏樂、碰撞等實驗。      3、擴展性好。容易與玩具、家電連接,實用價值大,是支撐創新思維的好環境。  DP-811的配置1)  主板對8條I/O口線(AT89C2051的P1口)可以進行位操作和字節操作;加上擴展板可以完成對32條輸入輸出口線的“位”操作或分為4組的“字節”操作。2)  有256字節的程序存儲器,可以編寫較大的應用程序。3)  有8個工作寄存器,都可以用作256以內的加法、數字比較轉移、減1不等于0轉移等操作。其內容還可以分別顯示在數碼管上

3、。4)  21條宏指令可以編寫順序程序、分支程序、多重循環程序、子程序等多種程序。5)  有0.1秒、1秒、分、小時的延時指令和高、中、低3個8度音樂指令,消除了孩子們編寫程序的攔路虎。6)  DP-811主板上多處留有跳線口,便于做各種原理性實驗。例如:點燈、發聲、寫字、碰撞的基本原理實驗。7)  配件豐富。有:單三極管驅動器、六三極管驅動器、雙繼電器驅動器、變光演示器、碰觸開關、紅外開關、紅外探測器、交流電源控制插座、步進電機控制板、語音錄放控制板、雙向無線通信收發部件等。都可以實際應用,例如設計機器人。口線擴展板還可以將DP-811的8條I/O口線

4、擴展為16條輸入線和16條輸出線。8)  器材連接方便,即掃除了硬件制作方面的攔路虎,還便于做原理講解的演示。所有器件在整個DP-81系列中都可以應用。 可以支持小學生參加“制作機器人”的活動。給孩子們提供的學具滿足了下列要求:1)   讓孩子們在知道“機器人”的智慧是從哪里來的。是人將自己處理問題的思想智慧“數字化”,裝到計算機里;中央處理器(CPU)按著人的想法一絲不茍地去做事情,人的思想在計算機里就“活”起來了。要求通過學具試驗讓學生知道:思想、智慧如何數字化,放到計算機的什么地方,它怎樣才能“活”起來。2)計算機是用0、1代替人手開機器。通過學具

5、試驗就要讓學生知道:為什么要用0、1代替人手開機器;0、1為什么能開機器;它能開多么復雜的機器?3)  用“將外部信息轉換成0、1數字”的方法,給機器安裝眼睛、耳朵等感覺器官。通過學具試驗就要學生學懂:機器碰到了障礙物, 碰撞怎樣變成0、1?有光、沒有光線是怎么轉化成0、1的等等。4)  給孩子們提供的學具,要掃除軟件、硬件方面的攔路虎。讓孩子容易學、使用方便,能隨意組合。還要便于講述原理知識。5)  價格要低廉,才適合中國國情。6)  學具應該系列設計,要為深入學習軟件和硬件方面的知識打好基礎。    7)用這套器材參加機

6、器人設計競賽,有四所學校獲得北京市一等獎:西城外語學校(初中)、中古友誼小學、161中學(高中)、214中學(初中)DP-811指令表指令名稱機器碼助記符符號說明送零00(0007)SL    zhhzhh 輸出針號送壹01(0007)SY    zhhzhh 輸出針號延時02(00FF)(0003)YSH   shj  ,dwshj 數據;    dw 單位奏樂03(0027)(0109)ZY    yg  , ych yg 音高;&

7、#160;    ych 音長存數04(0007)(00FF)CSH   jch , shjjch寄存器號;shj 數據顯示05(0007)(0001)XSH   jch , kgjch寄存器號;kg 開關加數06(0007)(00FF)JASH  jch ,shjjch寄存器號;shj 數據減一不等零轉07(0007)(00FF)JBDZ  jch ,dzhjch寄存器號;dzh 地址號壹轉08(0007)(00FF)YZH   zhh ,dzhzhh輸入針號;dzh 地址號零轉09

8、(0007)(00FF)LZH   zhh ,dzhzhh輸入針號;dzh 地址號送數0A(0002)(0007)SSH   kh , jchKh輸出口號;jch寄存器號取數0B(0007)(0002)QSH   jch ,khjch寄存器號;kh輸入口號反相0C(0007)FX    jchjch寄存器號空操作0DKCZ 定時0E(00FF)(0003)DSH   shj ,dwshj 數據;    dw 單位結束0FJESH 無條件

9、轉移10(00FF)ZHY   dzhdzh 地址號數等轉11(00FF)(00FF)SHDZ  shj ,dzhshj 數據;    dzh 地址號調用子程序12(00FF)DY    dzhdzh 地址號返回13     FH   移位14(0007)(0001)YW  jch ,zy      jch寄存器號;zy 左右說明:助記符欄的左邊一列是指令名稱的漢語拼音縮寫;右邊兩列由符

10、號說明欄注釋。 四.指令說明指令是人給中央處理器(CPU)下的命令的一種書寫方式,它有兩種作用:一,讓人好懂好用。二,也能讓中央處理器懂得和執行。人看到這個指令就能知道這是讓中央處理器去做什么事情;中央處理器取到這個指令也能知道應該去做什么。人認識文字,中央處理器只認識十六進制數。怎么把它統一起來呢?方法是一條指令用兩種方式來書寫。就是說每一條指令都有助記符形式和機器碼形式。例如“延時3 秒”這條指令。“延時”的漢語拼音字符是yanshi,縮寫后大寫成YSH。“3” 是數據。“數據” 的漢語拼音的字符是shuju ,縮寫后小寫是 shj。“秒”是時間的單位。“單位” 的漢語拼音的字符

11、是danwei ,縮寫后小寫是dw。在指令表中助記符一欄中寫成“YSH  shj ,dw ” ,這是“延時” “數據” ,“單位”的漢語拼音縮寫形式,是給人看的;這條指令的機器碼形式是:“02 ()()” 。 機器碼與助記符的書寫格式是一一對應的。02對應YSH,就是說02 是YSH的代號,中央處理器看到02就知道讓它做延時。在這個位置上的數據(黑體字)稱做操作碼。兩個()對應shj和dw,沒有具體數據時就寫上兩個()占領位置。如果數據是3 ,就在左邊的()處寫上03,若單位是秒,就在右邊的()處寫上01 (01是秒的代號)。()處的數據稱做操作數。有了數據和單位的指令的機器碼就寫成

12、“02  03  01” 。這種形式是給中央處理器用的。       1、指令名稱機器碼助記符送  零00  (0007)SL  zhh                              &#

13、160;                                說明:SL是“送零” 漢語拼音的縮寫。zhh是“針號” 漢語拼音的縮寫,代表的是Z1針座上,左側標有P1.0  .P1.7編號的針。00就代表P1.0處這根針,07就代表P1.7處這根針。指令功能是:將“0”

14、 送到zhh所指的那條針處。此時的針是作為輸出口來使用的。如果這根針與發光二極管電路相連接,發光二極管就被點亮。指令的操作碼是 00 (黑體字符),操作數只有一個,是00 07中的一個。舉例:若點亮D4發光二極管,助記符指令就寫成:SL  04 。機器碼形式就寫成:00  04 。    2、指令名稱機器碼助記符送 壹01 (00-07)SY  zhh               

15、60;        說明:SY 是“送壹” 漢語拼音的縮寫。zhh 是“針號”漢語拼音的縮寫,代表的是Z1針座上,左側標有P1.0  .P1.7的編號。00就代表P1.0處這根針,07就代表P1.7處這根針。指令功能是:將“1” 送到zhh所指的那條針處。如果這根針與發光二極管電路相連接,發光二極管已被點亮,這個“1”就將發光二極管關閉。指令的操作碼是 01(黑體字符);操作數只有一個,是00 07中的一個。舉例:若關閉D4發光二極管,助記符指令就寫成:SY  04 。機器碼形式就寫成:01 

16、 04 。    3、     指令名稱機器碼助記符延 時02(00FF)(0003)YSH  shj  ,dw               說明:YSH 是“延時” 漢語拼音的縮寫。Shj 是“數據” 漢語拼音的縮寫,它的取值范圍是00-FF(十六進制數)。dw是“單位” 漢語拼音的縮寫,給延時單位規定的代號是:03 代表“小時”,02代表“分”,01代表“秒”。0

17、0代表“0.1秒”。例如:延時10分鐘。助記符指令就寫成YSH  0A ,02  。延時指令的操作碼是02 。機器碼指令就寫成 02  0A  02 。指令功能是:令中央處理器停在那里,等10分鐘。 4、指令名稱機器碼助記符奏 樂03 (0017)(0109)ZY  yg  ,Ych   說明:ZY 是“奏樂” 漢語拼音的縮寫。               

18、                                                  

19、                                            yg是“音高” 漢語拼音的縮寫,例如簡譜上的“6”這個唱名,若6(上方有點)是高八度的音,代

20、號26。高八度音的代號范圍是:21-27;若唱名6(下方有點),是低八度音,                                           

21、0;                                                  

22、60;                         代號是06。低八度音的代號范圍是:01-07;若唱名6(上方、下方都不帶點),是中八度音,代號是16。中八度音的代號范圍是:11-17。休止符“0”的代號是00。Ych 是“音長” 漢語拼音的縮寫。簡譜的音長符號也規定了代號。代號規定如下:還用“6”這個音名為例,在它的下面或右邊記有各種符號,有點、也有

23、橫線。6 (唱                                                 

24、;                                                  

25、;            =     名下面有兩條短橫線),是16 分音符,代號是01;6(唱名下面有一條短橫線),是8 分音符,代號是02;6  (唱名下邊有一條短橫線,右側有一個點)是8分符點音符,代號是                 -   

26、          03;6 (只有唱名沒有符號),是4 分音符,代號是04 ;6· (唱名右側有一點),是四分符點音符,代號是05 ; 6 (唱名右側有一條橫線)是2分音符,代號是06 ;6 (唱名右側有兩條橫線)代號是07;6 (音名右側有三條橫線)代號08 ;09是延長音。使用時將簡譜的每一個唱名都換成音高、音長的代號。              &#

27、160;                           例如 :5 6    5 3                    

28、                                                   

29、;            助記符                     機器碼ZY  15 ,06               03  1

30、5  06 ZY  16 ,04               03  16  04ZY  05 ,06               03  05  06ZY  23 ,04     

31、0;         03  23  04JESH                      0F  5、指令名稱機器碼助記符存 數04 (0007)(00FF)CSH  jch  shj     說明:助記符CSH j

32、ch ,shj 的含義是“存數” “寄存器號” “數據” 。功能是:將數據存放到寄存器號指定的寄存器中。DP811中共有8個寄存器,編號是從00-07。一條指令只能給一個寄存器存放數據。Jch 代表這8個編號中的1 個。Shj 的取值范圍是00-FF。例如將數據7D存入02號寄存器。助記符寫成:CSH  02 ,7D 。機器碼寫成:04  02  7D 。          6、指令名稱機器碼助記符顯  示05 (0007)(0001)XSH  jch ,kg

33、60;              說明:XSH  jch ,kg  的含義是:“顯示” “寄存器號” ,“開關”。Jch 的取值范圍是:00-07  ,用來選擇寄存器。Kg 代表兩種狀態:“開” 就是在數碼管上顯示,代號是01 ;“關” 就是關閉數碼管,代號是00 。指令的功能有兩個:一是選定寄存器;二是確定是否顯示。例如:將0 號寄存器中的數據顯示在數碼管上。助記符形式是:XSH  00 ,01 。機器碼形式是:05

34、0; 00  01 。為了節約電能關閉數碼管,就寫成 XSH  00 ,00 和05  00  00 。 7、指令名稱機器碼助記符加 數06 (0007)(00FF)JASH  jch ,shj    說明:助記符 JASH  jch ,shj  的含義是:“加數” “寄存器號” ,“數據” 。jch 的取值范圍是:00-07 。shj 的取值范圍是:00-FF 。指令功能是:將jch 指定的寄存器中的數據取出來,與指令中的數據相加,再放回到寄存器中去。例如,6號寄存器原先存有數據 ,

35、現在要給它加上05 。寫成助記符形式是:JASH  06 ,05 ;寫成機器碼形式是:06  06  05 。   8、指令名稱機器碼助記符減一不等零轉07 (0007)(00FF)JBDZ  jch ,dzh                        說明:助記符JBDZ  jch  ,dzh

36、 的含義是:“減一不等于零轉移” “寄存器號” ,“地址號” 。功能是:先做減1,再做判斷是否轉移 。執行過程是:先將jch 寄存器中的數據減1 ,再判斷余下的數據是否為0 ,若不為0 (條件成立),就轉移到dzh去執行;若是為0 (條件不成立),就順序執行。指令的機器碼是:07 ()() 。應用舉例:讓D3 燈亮1 秒,滅1 秒,共做12次。  地址    機器碼      助記符           &

37、#160;注釋            00 -   04  01  0C    CSH  01 ,0C   ;在1號寄存器中存入12 (換成十六進制數是0C)  03-    00  03     L:SL  03       &

38、#160; ;點亮D3燈  05-    02  01  01    YSH  01 ,01   ;延時1 秒  08-    01  03         SY  03         ;關閉D3 燈  0A-   02

39、0; 01 01      YSH  01 ,01   ;延時1 秒  0D-   07  01  03    JBDZ  01 ,L   ;1號寄存器減1,若不等于0,就轉移到標號L 去執行;  10-   0F             JESH 

40、          ;若等于0 ,就順序執行結束指令。                           9、指令名稱機器碼助記符壹 轉08 (0007)(00FF)YZH  zhh ,dzh     

41、60;      說明:助記符YZH  zhh  ,dzh 的含義是:“壹 轉” “針號” ,“地址號” 。先說“轉”移,中央處理器執行程序是按著地址號由小到大順序進行的。這條指令使CPU執行的程序順序產生了分支。就是說可能是順序執行,也可能是轉移到別處去執行。起決定性作用的是條件。條件成立就轉移;條件不成立就順序執行。“針號”的含義在送零指令中已做解釋。此時的針是作為輸入口來使用的。指令的功能是:外邊將0 或1 信號送到zhh號針上,中央處理器檢查針上的信息狀態,如果是“1”(條件成立) 就轉移到dzh 地址去執行;如果不是“1”(

42、條件不成立)就順序執行。指令對應的機器碼是:08 ()() 。 應用實例見附錄2的例10:搶答器。                10、     指令名稱機器碼助記符零 轉09 (0007)(00FF)LZH  zhh  ,dzh               

43、             說明:助記符LZH  zhh  ,dzh 的含義是:“零轉” “針號” ,“地址號” 。解釋與“壹轉”相似,不同的是條件。Zhh號針收到的信息為0 就轉移到dzh去執行;為1 就順序執行。指令對應的機器碼是:09 ()() 。例如:如果3 號針為0 就轉移到3D號地址去執行。助記符形式寫成:LZH  03 ,3D ;機器碼形式寫成:09  03  3D 。應用實例見附錄2的例8:一鍵控制兩盞燈。

44、60;        11、指令名稱機器碼助記符送 數0A (0002)(0007)SSH  kh ,jch                                 說明:助記符SSH  kh

45、 ,jch 的含義是“送數” “口號” ,“寄存器號” 。寄存器號仍是00-07之中的一個。“口號”指的是輸入輸出口(英語縮寫是:I/O 口,含義是即可以做輸入,也可以做輸出)的編號,這里指得不是單個針的編號,而是8根針的集體的編號。在DP811板上P1.0-P1.7這8根針的編號是 00 。在擴展板上還有 01和02口。指令的功能是:將jch指定的寄存器中的數據,送到kh指定的輸出口。機器碼是:0A ()() 。應用舉例:點亮4 只紅色發光二極管。   地址     機器碼     

46、 助記符         注釋   00-    04  02  66   CSH  02  66  ;“66H”對應二進制是:01100110                     &#

47、160;                 將66存入2號寄存器   03-    0A  00  02   SSH  00  02  ;將2號寄存器中數據送00口,   06-    0F       

48、;    JESH         ;結束        12、 指令名稱機器碼助記符取 數  0B(0007)(0002)QSH  jch ,kh      說明:助記符QSH  kh ,jch 的含義是 “取數” “寄存器號” ,“口號” 。寄存器號仍是00-07之中的一個。“口號”指的是輸入輸出口的編號,不是單個針的編號,而是8根針

49、的集體的編號。在DP811板上P1.0-P1.7這8根針的編號是 00 。在擴展板上還有 01和02口。指令將8 根針都看成是輸入口。功能是:將外界送到kh口的數據取進來,存放到jch 指定的寄存器中。例如:將00口的數據取來,放到5號寄存器中。助記符              機器碼QSH  05,00        0B  05  00  &#

50、160;             13、指令名稱機器碼助記符反 相0C  (0007)FX  jch                       說明:助記符 FX  jch  的含義是:“反相” “寄存器號” 。指令的功能是:將

51、jch 指定的寄存器中的二進制數反相。例如,03號寄存器中保存的二進制數是 :01010101 (十六進制數是:55)。反相后的二進制數是:10101010 (十六進制數是:AA )。此例寫成助記符形式是:FX  03 。寫成機器碼形式是:0C  03 。   14、指令名稱機器碼助記符空 操 作0D kcz 說明:助記符kcz的含義是空操作,CPU取這條指令后什么事情都不做就去下一條指令了。機器碼只有操作碼0D。   15、   指令名稱機器碼助記符定 時0E(00FF)(0003)DSH 

52、shj ,dw                         說明:助記符DSH  shj ,dw 的含義是“定時” “數據” ,“單位” 。本指令的shj和dw 與延時指令相同。與延時指令不同的是:中央處理器不用停在那里等待了,可以去做些別的工作。但是,要隨時檢查“08”這個“位”。因為定時未到“08”這個“位”是1 ;定時時間到了“08”這個“位”就變

53、為0 。只要及時檢查到這個位為0 ,就知道“定時”的時間到了。“08”這個“位”是隱身的,只能用LZH(零轉)指令檢測它。機器碼形式是:0E ()()。例如一分鐘跳繩,令中央處理器負責計時和計數。一分鐘未到就繼續計數;一分鐘時間到停止計數,點亮紅燈。          機器碼                 助記符   

54、0;      0E  01  02            DSH  01,0        ;設下一分鐘定時           .    L:  處理計數   

55、60;      .          .       LZH 08,L             09  08  L     ;檢查“08”是否為0 ,若不為0轉移到L,繼續處理計數;若為0 則順序執行 

56、60;                                       SL  00          &#

57、160;   00  00           ; 點亮紅燈        JESH                           &

58、#160;     ; 結束。應用實例見附錄2的例15: 定時計數。   16、      令名稱機器碼助記符結束0FJESH    說明:助記符 JESH  的含義是:“結束” 。功能是令中央處理器停止執行程序 ,并且保持現場。按一下 +1 鍵才恢復到初始狀態(顯示JC )。只有操作碼 0F 。             

59、60;    17、 指令名稱機器碼助記符無條件轉移10  (000F)ZHY  dzh 說明:助記符 ZHY  dzh  的含義是: “轉移” “地址號” 。功能是:無條件地轉移到dzh指定的地址去執行 。這條指令阻止中央處理器繼續順序執行程序,也不產生分支,只是轉移到dzh地址去。(注意:容易造成死循環)。機器碼是:10 () 。例如:令中央處理器到00地址去執行 。書寫方式是;     助記符      

60、60;      機器碼            ZHY  00            10  00                 18、 指令名稱機器碼助記符數 等 轉

61、11 (000F)(000F)SHDZ  shj ,dzh           說明:  助記符 SHDZ  shj ,dzh  的含義是:“數等轉” “數據” “地址號” 。數據的取值范圍是:00-FF;地址號的取值范圍是:00-FF。指令的功能是告訴中央處理器執行指令的方法:先做兩個數的比較判斷,若兩數相等就做轉移的工作。從指令上看只有一個數,跟誰比?跟剛剛用過的寄存器中的數據比。這一點應特別注意。剛剛用過的寄存器中的數據與本指令中的數據相等,就轉移到

62、地址號指定的地址去執行;若不相等,就順序執行。例如:一個教室只有50 個座位,中央處理器負責統計人數和控制著門的開關。用0 號寄存器記錄進入的人數。不滿50人,就開著門做統計人數的工作;人數夠了50(十六進制數是32H) ,就關上門。假定關門的程序在46H號地址。因為統計人數用的是0 號寄存器(沒用過其他寄存器)。指令的助記符形式就寫成:SHDZ  32 ,46 ;機器碼形式就寫成:11  32  46 。中央處理器執行這條指令時,就拿0 號寄存器中的數據和32 作比較,若相等就轉移到46H地址執行程序;若不相等,就順序執行程序。 19、指令名稱機器碼助記符調用子程序12  (000F)DY   dzh     說明:助記符DY  dzh 的含義是:“調用” “地址號” 。這個“地址號”是子程序的首地址號,“調用”也有轉移的意思

溫馨提示

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

評論

0/150

提交評論