單片機創(chuàng)新開發(fā)與機器人制作slbasic書稿第三章的玩_第1頁
單片機創(chuàng)新開發(fā)與機器人制作slbasic書稿第三章的玩_第2頁
單片機創(chuàng)新開發(fā)與機器人制作slbasic書稿第三章的玩_第3頁
單片機創(chuàng)新開發(fā)與機器人制作slbasic書稿第三章的玩_第4頁
單片機創(chuàng)新開發(fā)與機器人制作slbasic書稿第三章的玩_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 SLBASIC 的編輯“玩”1第三章 SLBASIC 的編輯“玩”單片機和 PC 機一樣,是實踐性很強的一門技術,有人說“計算機是玩出來的”,單片機也一樣,只有多“玩”,也就是多練習、多實際操作,才能真正掌握它。因此,本章采用圖示方式,提供各種練習和實驗,引導你“玩”幾種程序,讓你對單片機有更直接的體會。希望你按說明操作,并不斷創(chuàng)新,根據(jù) I/O 口原理開發(fā)、設計新的應用實驗。3.1SLBASIC 文檔編輯與轉(zhuǎn)換操作SLBASIC 文檔可以在電腦 Word 編輯窗口中編輯成 Word 文檔,便于說明注釋。為了傳到電子辭典及雙龍 SL-DIY 系列功能板及機器人中,必須把 Word 文檔

2、轉(zhuǎn)換成純文本文檔,在純文本文檔Txt 中,可以有中文及注釋, SLBASIC 語句結(jié)束中也不應有空格等。圖 3.1 是 SLBASIC 文件轉(zhuǎn)換流程圖。圖 3.1SLBASIC 文件轉(zhuǎn)換流程圖圖 3.2Txt 文本到 SLBASIC 文本轉(zhuǎn)換快捷圖標找到 BasToTxt 文件所在目錄,雙擊圖 3.2 快捷圖標,出現(xiàn)圖3.3 工作提示窗口。按照圖 3.3 提示進行 Txt 文本到SLBASIC 文本轉(zhuǎn)換操作:1.輸入 Txt 文本;2.保存 SLBASIC 文件名及;3.轉(zhuǎn)換按鍵;轉(zhuǎn)換成功會有提示,見圖 3.4。第三章 SLBASIC 的編輯“玩”2圖 3.3SLBASIC 文檔轉(zhuǎn)換文檔操作圖

3、 3.4SLBASIC 文檔轉(zhuǎn)換成功提示轉(zhuǎn)換成功的 BAS 格式文檔及 TXT 格式文檔,在 2.0 版本 SLBASIC 程序文檔。中可以BAS 格式文檔及 TXT 格式3.2解釋型 SLBASIC 程序的安裝1. 找到 SLBASIC 程序安裝文件所在目錄,雙擊運行安裝文件,見圖 3.5。圖 3.5SLBASIC 程序安裝圖標第三章 SLBASIC 的編輯“玩”32.稍等一下,進入到圖 3.6 安裝向?qū)М嬅?,請點“下一步”按鈕。圖 3.6安裝向?qū)D 3.7 選定安裝位置,在這個畫面繼續(xù)點“安裝”。3.圖 3.7選定安裝位置稍等一下,進入到圖 3.8 安裝完成提示畫面,請點“完成”按鈕。4.

4、第三章 SLBASIC 的編輯“玩”4圖 3.8安裝完成提示3.4BAS 文件從 PC 電腦到雙龍機器人程序從電腦到 SL-DIY02-8A 機器人中,必須把 SL-DIY02-8A 板上空白ATmega48 拔下,插上SLBASIC,把 SL-DIY02-8F 板插在 SL-DIY02-8A 板上(注意及 SL-DIY02-8F 接插方向)。3.4.1 硬件連機:圖 3.9 是RS232 通訊電纜及 SL-DIY02-8F 通信運行控制板。RS232 通訊電纜(含電平轉(zhuǎn)換接口電路)一頭接電腦 RS232 串行口,另一頭SL-DIY02-8F 三芯聲耳機插座內(nèi),開關 K 撥向ISP,SL-DI

5、Y02-8A 機器人接通電源,實行操作。程序結(jié)束后,關掉電源,拔下通信電纜, 開關 K 撥向 RUN,SL-DIY02-8A 機器人接通電源, 功能板及機器人則按剛才的程序執(zhí)行。圖 3.9RS232 通訊電纜及 SL-DIY02-8F 通信運行控制板說明:JD2 插短路塊,適用于 星 PC1000 與 SL-DIY02-8A(配相應TC808 及電腦與 SL-DIY02-8A 聯(lián)機通信工作。JD1 適用于文曲)聯(lián)機通信。工作。三芯聲耳機的 A 端及 B 端,可分另二臺TC808 之間進行通信及第三章 SLBASIC 的編輯“玩”5圖 3.9APC 電腦與 SL-DIY02-8A 聯(lián)機工作3.4

6、.2SLBASIC操作(1) 按圖 3.10 雙擊 SLBASIC快捷圖標,出現(xiàn)按圖 3.11 SLBASIC操作窗口。(2) 選擇電腦通訊口,打開串口,見圖 3.12 選擇電腦通訊口。(3) 打開文件,見圖 3.14 。(4)成功提示見圖 3.15,顯示字節(jié)數(shù),并提示 OK,如果出錯則有出錯提示。關掉 SL-DIY02-8A電源,拔下通訊電纜,SL-DIY02-8F 撥到 RUN 處(PD2 接 VCC), 打開 SL-DIY02-8A 電源,驗證程序是否符合設計要求。一般內(nèi)容超過 1024 字節(jié)則顯示出錯提示,或忘了開啟機器人上的電源,或開關、接插線等未按要求處理等原因,會進入程序死循環(huán)。

7、檢查改正后,重新啟動 SLBASIC測試。1.在下面這里運行 SLBASIC。圖 3.10 雙擊 SLBASIC快捷圖標第三章 SLBASIC 的編輯“玩”6在圖 3.11 的主畫面,選擇合適的串口,然后點擊“打開串口”按鈕。2.圖 3.11 SLBASIC操作窗口圖 3.12 選擇電腦通訊口成功打開串口以后,“打開串口”按鈕變灰色。打開雙龍機器人電源。在主畫面上點擊“”按鈕, 見圖 3.13。3.4.可以是BAS 格式,或轉(zhuǎn)換成 BAS 格式,而又是正確的TXT 格式,TXT 格式文檔是可以方便看懂的文件格式。圖 3.13 選擇按鈕按鈕后,會出現(xiàn)圖 3.14 打開文件按框。第三章 SLBAS

8、IC 的編輯“玩”7圖 3.14 打開 BAS文件找到要的文件,再點“打開”按鈕。圖 3.14B 打開 TXT文件第三章 SLBASIC 的編輯“玩”8提示“x 字節(jié)數(shù)據(jù)發(fā)送成功”,見圖 3.15。雙龍機器人上三個 LED 燈亮。點“OK”5.如果傳輸成功,按鈕,可以進入下次程序重新操作。圖 3.15成功提示6.關閉雙龍機器人電源,拔出 SL-DIY02-8F 板一端的傳輸線插頭,SL-DIY02-8F 板撥動開關撥到 RUN 位置,再開雙龍機器人電源,雙龍機器人運行已經(jīng)的 BAS/TXT 程序。3.5 SLBASIC 的 12 個基礎程序?qū)嶒炏胍▎纹瑱C的開發(fā)應用,首先必須先理解單片機 I

9、/O 口的功能,因為單片機只有 I/O 口引腳可以與外界發(fā)生聯(lián)系,也就是說,單片機的 I/O 口是單片機與外界發(fā)生聯(lián)系的窗口。只有掌握了 I/O 口的工作原理和特點,才能真正發(fā)揮 I/O 口的功能,才能使單片機作為一種充分發(fā)揮單片機的功能。微控制器應用到各個領域,單片機 I/O 口的功能即輸入和輸出,就像人類鼻子的吸(輸入)和 呼(輸出) 功能一樣,至于是用作輸入還是輸出,則由用戶用來決定。人的鼻子還可以感覺外界氣味、溫度高低、壓力大小等,但面對無味的氣體,人類的鼻子就為力了。而對單片機 I/O 口來說, 它可對一切開關量進行檢測、判斷和處理,并可去控制一切開關量設備,因此,單片機的 I/O

10、口可謂無所不能!人類可以用它來設計出各種功能,遠遠超過人類的鼻子,例如可輸入/輸出隨時間變化的各種類型的脈沖(頻率范圍從超低頻到超聲波),接加器件也可輸入/輸出光信號(從可見光到不可見光)、圖像信號,等等,這些信號既可為有線信號,又可為無線信號,可以用來探測各種氣體、進行遠距離通信、傳送聲音與圖像等。盡管單片機 I/O 口功能強大,但其基本原理只是“1” 和“0” 的編碼組合,其輸入/輸出一切信號,都是由單片機 MCU 來協(xié)調(diào)處理。人的鼻子的一切功能,同樣也由大腦來協(xié)調(diào)處理,并與的其它各種(如手和腳等)協(xié)同工作。AVR ATmega48/88/168 單片機具有 23 個 I/O 口,相當于有

11、 23 個人的鼻子功能,那么可以想象 AVR 單片機功能該有多大。單片機I/O口可以根據(jù)不同功能分類:從總線方式來說,有單總線、I2C總線、地址總線、數(shù)據(jù)總線和CAN總線等等;從通信方式來說,有串行異步通信RS-232、串行同步通信SPI和高速通信USB等;從模擬量輸入/輸出來說,有模/數(shù)(A/D)轉(zhuǎn)換采樣輸入、數(shù)/模(D/A)轉(zhuǎn)換輸出,而模擬量又分電量和非電量,所有非電量都可轉(zhuǎn)換為電量處理;也可分普通型、模糊型和智能判斷型。了解了單片機 I/O 口的功能后,可以通過實驗加深理解。以下 11 個程序清晰地反映了單片機 I/O 口的特性:(1)I/O 口既可作輸入,也可作輸出。(2)I/O 口可

12、以一對一控制,也可一對多控制。(3)I/O 口可以是開關控制,也可程序本身(開機通電或復位)自動控制,也可聲控等方法啟動程序。(4)I/O 口輸出第三章 SLBASIC 的編輯“玩”9可以是燈亮燈滅,交替變化,也可發(fā)出聲音和樂曲等。這些實驗采用 SL-DIY02-8A 開發(fā)實驗主板,可配 ATmega48/88/168/8,引腳完全兼容,所以可以互換使用。通過以下實驗,可以掌程序的操作方法,并對 I/O 口功能有一個直接的了解。至于如何開拓創(chuàng)新思路,擴展單片機 I/O 口的應用,需要用戶深入學習和研究單片機技術。雙龍電子的SL-DIY 系列智能機器人,主控采用通用單片機,在PC 電腦上可以用單

13、片機匯編語言、多種高級語言編程,還可以使用流程圖編輯語言或圖形編輯大專生學習單片機技術及創(chuàng)新開發(fā)智能機器人。編程,這樣可以滿足從小學生、中學生、為了充分利用人們已經(jīng)擁有的資源來做單片機創(chuàng)新開發(fā)與機器人控制,雙龍電子首創(chuàng)利用電子辭典來編輯單片機創(chuàng)新開發(fā)與機器人的控制。凡具有英文字母的鍵盤、大屏幕 LCD 顯示功能、文檔編輯及存儲功能、與 PC 電腦通訊接口及雙機互智能機器人。能接口的電子辭典,均可用來學習開發(fā)單片機及控制雙龍輪式SL-DIY02-8A 實驗板(或機器人)與SL-DIY02-8B/8F 通訊控制板組合,用PC 電腦或數(shù)碼辭典 TC808,龍簡單易懂的解釋型 SLBASIC 語言,實

14、現(xiàn)學習單片機技術與機器人創(chuàng)新開發(fā)工作。解釋型SLBASIC 語言適合大專生、中小學生,業(yè)余電子者。下列 SLBASIC 的程序均已實驗通過。3.5.1 實驗 1: I/O 端口 PC0 作輸入,PB0 作輸出PC0 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PB0 的 LED 燈亮與滅(J14-12 插上短路塊)?!疚募?SLDIY01.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能,思考如何擴展單片機 I/O 口的輸入/輸出功能?!緦嶒炂鞑摹縋C 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗

15、板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC【演示操作】,短接線,微型直流電機 1 個,微型繼電器 1 個。SL-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到 ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到 RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板 J14 的 PB0 插上短路塊,PC0 端口開關(用微動開關代替),控制 PB0 端口 LED 燈的亮或滅?!狙菔拘Ч縋C0 端口用微動開關觸地,代表開關接通,也稱低電平(0 電平)有效,則 PB0 端口 L

16、ED 燈點亮。PC0 端口接 5V 高電平(1 電平或懸空),代表開關斷開,則 PB0 端口 LED 燈滅?!緞?chuàng)新應用】如果用微動開關接 PC0 端口,用手有規(guī)律地按下/松開微動開關,LED 燈也有規(guī)律地點亮與熄滅,利用這種方法可以設計成燈光通信。如果輸入端口接上發(fā)報機按鍵,輸出端口再接上喇叭,就可用作發(fā)報練習。當你把鍵按下時,你可聽到按鍵聲,還可看到 LED 點亮發(fā)光,然后可以練習拍發(fā)密電碼了。如果你再用收音機放在按鍵附近測試,你會知道發(fā)生什么現(xiàn)象嗎?3. 如果在單片機 I/O 輸出口 PB0 上接上微型直流電機(、BB 機中的振動電機),電機另一端接地,當輸PC0 接地時,PB0 上 LE

17、D 點亮,微型直流電機會轉(zhuǎn)嗎?如要 PB0 上 LED 點亮,又要電機轉(zhuǎn)動,電機另一頭應該怎樣接線?4. 如果在單片機I/O 輸出口 PB0 上接上微型繼電器(最大電流小于 40mA,并斷開LED 發(fā)光二極顯示),繼電器另一頭接 VCC,當輸PC0 接地的時,能聽到、感覺到微型繼電器動作嗎?5. 你還能設計出其他的應用嗎?SL-DIY02-8ALED 顯示參數(shù)表,LED 低電平點亮第三章 SLBASIC 的編輯“玩”10LED 編碼實際 LED 燈位置PB2PB1PB0編碼PB1PB0PB20000000001101001021000111011117111第三章 SLBASIC 的編輯“玩”

18、11【程序】;*;實驗 1: I/O 端口 PC0 作輸入,PB0 作輸出;PC0(J6)開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PB0 的;LED 燈亮與滅(J14 上 B2 插上短路塊)。;*102030REM REMREMSLBASICIF PC0 0 THEN 20LED 6第三章 SLBASIC 的編輯“玩”1240 REM WAIT 1050 REM LED 760 REM GOTO 20 下面解釋:10 REM SLBASIC 20 REM IF PC0 0; 雙龍 SLBASIC 頭文件,字母必須大寫,不留空格THEN20 ;如果 PC0 開關為,則處在等待

19、狀態(tài);如為低電平按順序執(zhí)行下去,LED 點亮;LED 低電平 PB0 點亮,對應編碼為 110,對應 I/O 口為 PB2,PB1,PB0; SL-DIY02-8A 主控板 LED 燈排列方向為 PB1(左), PB0(中),PB2(右);等待,延時 0.1 秒30 REM LED 640 REM WAIT 1050 REM LED 11160 REM GOTO 20 ;PB0 的 LED 熄滅,; 循環(huán)測試 PC0 開關3.5.2 實驗 2: 用 1 個 I/O 端口控制 3 個 I/O 端口PC2 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PB0,PB1,PB2 的 LE

20、D 燈亮與滅(J14 上 B0,B1,B2 插上短路塊)?!疚募?SLDIY02.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能?!緦嶒炂鞑摹縋C 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC【演示操作】,短接線,微型直流電機 1 臺。SL-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN

21、,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板 J14 全部插上短路塊,用 PC0 端口開關(可用接插線接 GND 代替)控制 PB2,PB1,PB0 端口燈亮與滅?!狙菔拘Ч慨?PC2 接地, PB2,PB1,PB0 的 LED 燈亮; 當 PC2 接+5V 或懸空, PB2,PB1,PB0 的 LED 燈滅?!緞?chuàng)新應用】1 個開關最多可以控制多少 LED 燈?第三章 SLBASIC 的編輯“玩”13【程序】;*;實驗 2: 用 1 個 I/O 端口控制 3 個 I/O 端口;PC2(J8)開關(用微動開關觸地)控;制 PB0,PB1,PB2 的 LED 燈亮與滅(J14 上 B0,B1,B2

22、插上短路塊)。;*10 REM SLBASIC ; 雙龍 SLBASIC 頭文件,字母必須大寫,不留空格第三章 SLBASIC 的編輯“玩”1420 REM IF PC2 0THEN 20 ;如果 PC2 開關為,則處在等待狀態(tài);如為低電平按順序執(zhí)行下去,LED 點亮;3 個 LED(低電平)亮,對應十進制編碼為 000,對應 I/O 口為 PB2,PB1,PB0; SL-DIY02-8A 主控板 LED 燈排列方向為 PB1(左), PB0(中),PB2(右);等待,延時 0.1 秒30 REM LED 040 REM WAIT 1050 REM LED 760 REM GOTO 20 ;

23、3 個 LED()熄滅;循環(huán)測試 PC2 開關狀態(tài)3.5.3 實驗 3: I/O 口 LED 燈閃爍應用PC3 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PB1 的 LED 燈閃爍(J14 上 B1 插上短路塊)。【文件名】: SLDIY03.BAS【實驗目的】掌握 AVR 單片機I/O 口的輸入/輸出功能, 思考如何擴展單片機I/O 口的輸入/輸出功能,單片機 I/O 能否發(fā)出聲音?【實驗器材】PC 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 S

24、LBASIC【演示操作】,短接線。SL-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到 ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到 RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板上 J14 的 PB1 插上短路塊,用 ATmega48 的 PC3 端口開關(可用接插線接 GND 代替)控制 PB1 端口 LED 燈的閃爍?!狙菔拘Ч慨?PC3 接地, PB1 端口 LED 燈閃爍; 當 PC3 接+5V 或懸空, PB1 端口 LED 燈停止閃爍。【創(chuàng)新應用】1. LED 燈閃爍可用作燈塔、晚上道

25、路檢修提示、高建筑物和汽車轉(zhuǎn)彎等的警示燈用。2.3.4.修改程序,改變 LED 燈閃爍的快慢,找出人的眼睛分不出 LED 燈亮或燈滅的延時參數(shù)。若用喇叭接到輸出端口, 調(diào)整延時參數(shù),會聽到聲音還能想出其它擴展創(chuàng)新應用嗎?變化?記下產(chǎn)生音符 1,2,3,4,5,6,7 等對應的延時常數(shù)。第三章 SLBASIC 的編輯“玩”15【程序】;*;實驗 3: I/O 口 LED 燈閃爍應用;PC3 開關(用微動開關觸地);控制 PB1 的 LED 燈閃爍(J14 上 B1 插上短路塊)。第三章 SLBASIC 的編輯“玩”16;*1020REMREMSLBASICIF PC3 0; 雙龍SLBASIC頭

26、文件,字母必須大寫,不留空格THEN40 ;如果 PC3 開關是則轉(zhuǎn)到 40 行調(diào)用熄滅 LED 子程序;如果為低電平,則按順序執(zhí)行下去;調(diào)用執(zhí)行LED閃爍子程序;調(diào)用熄滅LED子程序;循環(huán)檢測開關狀態(tài);程序結(jié)束;左側(cè)LED(101)閃爍子程序;等待,延時 0.5 秒; 熄滅LED(111);等待,延時 0.5 秒;子程序返回;熄滅LED(111)子程序;子程序返回30405060REM REM REMREMGOSUB 200GOSUB 300GOTOEND20200210220230240300310REM LED5REM WAIT 50REM LED 7REM WAIT 50REM REM

27、REMRETURN LED 7RETURN3.5.4 實驗 4: 用 1 個 I/O 端口控制燈程序PC4 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PB2,PB1,PB0 的 LED (J14 上 B2,B1,B0 插上短路塊)?!疚募?SLDIY04.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能, 研究【實驗器材】燈程序。PC 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC,短接線。【演示操作】SL-DIY

28、02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板 J14 全部插上短路塊,用 PC4(J10)端口開關(可用接插線接 GND 代替)控制 PB2,PB1,PB1 口 3 個 LED【演示效果】燈程序。當 PC4 接地, 控制 PB2,PB1,PB0 口 3 個 LED【創(chuàng)新應用】燈程序。1. 可用于簡單的燈,你能編出那些燈花樣。第三章 SLBASIC 的編輯“玩”17【程序】;*;實驗 4: 用 1 個 I/O 端口控制

29、;PC4 開關(用微動開關觸地)燈程序;控制 PB2,PB1,PB0 的 LED (J14 上 B2,B1,B0 插上短路塊);*10 REM SLBASIC; 雙龍SLBASIC頭文件,字母必須大寫,不留空格20 REM IF PC4 0 THEN 20 ;如果 PC4 開關是則等待低電平到來,;如果為低電平,則按順序執(zhí)行下去第三章 SLBASIC 的編輯“玩”1830 REM FOR A=0 TO 340 REM LED 0 50 REM WAIT 5060 REM LED 7 70 REM WAIT 50 80 REM NEXT A90 REM FOR B=0 TO 3100 REM L

30、ED 5 110 REM WAIT 50120 REM LED 6 130 REM WAIT 50140 REM LED 3 150 REM WAIT 50 160 REM NEXT B170 REM GOTO 20; 設循環(huán) 4 次; 三只 LED 燈亮;等待,延時 0.5 秒,延時參數(shù)可修改; 三只 LED 熄滅;等待,延時 0.5 秒,延時參數(shù)可修改; 繼續(xù)執(zhí)行; 設循環(huán)移位 4 次; 右邊 LED 燈亮(面對小車頭);等待,延時 1 秒,延時參數(shù)可修改; 中間 LED 燈亮;等待,延時 1 秒,延時參數(shù)可修改; 左邊 LED 燈亮;等待,延時 1 秒,延時參數(shù)可修改; 繼續(xù)執(zhí)行;循環(huán)檢

31、測3.5.5 實驗 5: I/O 端口的又一應用:輸出聲PC1 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PD3 發(fā)出【文件名】 SLDIY05.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能?!緦嶒炂鞑摹柯?J13 插上短路塊)。PC 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC,短接線?!狙菔静僮鳌縎L-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到IS

32、P,執(zhí)行工作。連機通電,用 SLBASIC板用 PC1 接地,控制 PD3 輸出【演示效果】當 PC1 接地, PD3 輸出【創(chuàng)新應用】,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗聲。聲, 當 PC1 懸空, PD3 停止聲,1.修改程序改變聲的音調(diào)及快慢。/*音樂數(shù)據(jù)- PLAY 函數(shù)*/一首音樂樂曲的音符,用 2 個字符表示,前面是樂曲音符代碼,后面是節(jié)拍代碼。0-F 定義為樂曲對應音符代碼,包含低八度音、中音、高音,見樂曲音符對照表。0 不發(fā)音(作為休止符)。音樂節(jié)拍與節(jié)拍代碼表見下表。音樂節(jié)拍與節(jié)拍代碼表節(jié)拍代碼節(jié)拍11/422/433/444/4第三

33、章 SLBASIC 的編輯“玩”19樂曲音符對照表樂曲音符123456712345671音符代碼123456789ABCDEF音域低音中音高音51 又 1/461 又 2/471 又 3/482 拍第三章 SLBASIC 的編輯“玩”20【程序】;*;實驗 5: I/O 端口的又一應用:輸出;PC1 開關(用微動開關觸地)聲;控制 PD3 發(fā)出聲(J13 插上短路塊)。;*10 REM SLBASIC; 雙龍 SLBASIC 頭文件,字母必須大寫第三章 SLBASIC 的編輯“玩”2120 REM IF PC1 0 THEN 20;如果 PC1 開關是則等待低電平到來,;如果為低電平,則按順序

34、執(zhí)行下去30 REM PLAY 74 F2 74 F2 04;聲,音調(diào)可改40 REM GOTO 20;循環(huán)檢測3.5.6 實驗 6: I/O 端口的又一應用:聲PC1 接水銀開關(水平方向安裝),用于【文件名】 SLDIY06.BAS【實驗目的】(振動、傾斜)。PD3 發(fā)出聲(J13 插上短路塊)。掌握 AVR 單片機 I/O 口的輸入/輸出功能。【實驗器材】PC 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC,短接線,水銀開關。【演示操作】SL-DI

35、Y02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板用 PC1 端口接水銀開關, 水銀開關水平方向安裝,當發(fā)生振動或傾斜,水銀開關斷開,則控制 PD3 輸出【演示效果】聲。當 PC1 斷開(水銀開關斷開), PD3 輸出聲, 當 PC1 接地(水銀開關接通), PD3 停止【創(chuàng)新應用】聲,1. 修改程序改變聲的音調(diào)及快慢。2. 當水銀開關傾斜時,達到所需角度即可接通(或斷開)電路進行工作,體積小,重量輕。接觸電阻小, 長,

36、適用各種防盜器,兒童音樂玩具,燈飾禮品盒,突發(fā)病(即盒),瞌睡報警器、舞蹈鞋、紡織機床等。此種開關使用方便, 靈敏度高, 價格低廉, 是一種不可缺少的理想開關。第三章 SLBASIC 的編輯“玩”22【程序】;*;實驗 6: I/O 端口的又一應用:;PC1 接水銀開關(水平方向安裝),用于聲(振動、;傾斜)。PD3 發(fā)出聲(J13 插上短路塊);*10 REM SLBASIC; 雙龍 SLBASIC 頭文件,字母必須大寫第三章 SLBASIC 的編輯“玩”2320 REM IF PC1 0 THEN 20;如果 PC2 開關是則等待低電平到來,;如果為低電平,則按順序執(zhí)行下去30 REM P

37、LAY 82 E2 82 E2 02;聲,音調(diào)可改40 REM GOTO 20;循環(huán)3.5.7 實驗 7: I/O 端口的又一應用:發(fā)出樂曲聲PC1 開關(用微動開關觸地, 微動開關安裝見實驗 11 圖)控制 PD3 發(fā)出樂曲聲 (J13 插上短路塊)?!疚募?SLDIY07.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能?!緦嶒炂鞑摹縋C 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC【演示操作】,短接線。SL-DIY02-8F

38、 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到 RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板用 PC1 端口開關控制發(fā)出音樂 “老鼠愛大米”?!狙菔拘Ч慨?PC1 接地, 音響器(J13 插上短路塊)發(fā)出“老鼠愛大米”; 當 PC1 接觸后懸空, 單片機放完 “老鼠愛大米”,即停止放音?!緞?chuàng)新應用】能最喜歡的樂曲輸入單片機嗎?第三章 SLBASIC 的編輯“玩”24【程序】;*;實驗 7: I/O 端口的又一應用:發(fā)出樂曲聲;PC1 開關(用微動開關觸地);控制 PD3

39、 發(fā)出樂曲聲 (J13 插上短路塊)。;*10 REM SLBASIC20 REM KEY 0; 雙龍 SLBASIC 頭文件; 樂譜選擇從低音“1”到高音“1”第三章 SLBASIC 的編輯“玩”2530REMIF PC1 0THEN 30;如果 PC1 開關是則等待低電平到來,;如果為低電平,則按順序執(zhí)行下去1A;老鼠愛大米樂曲函數(shù),為了便于閱讀中間有空格,BAS 中不應有空格5D52321224405060708090REM REM REM REM REMREMPLAY PLAY PLAY PLAY PLAYPLAY343432582418222452341234123464242222

40、181462142812343456243418226262222234100110120130REM REMREM REMPLAY PLAYPLAY PLAY346434321464242834841434625228345D6222263256121A22522218140 REM GOTO 20;循環(huán)檢測3.5.8 實驗 8: I/O 端口的又一應用聲控聲控(PC5)啟動樂曲程序,PD3 發(fā)出樂曲聲 (J13 插上短路塊)。【文件名】 SLDIY08.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能,掌握【實驗器材】的輸入控制方法,使用的輸入傳感器。PC 電腦,5V、2

41、.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232通訊接口控制板套件及解釋型 SLBASIC【演示操作】,短接線,選擇輸入傳感器。SL-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板 J13 插上短路塊,用聲音控制程序運行。【演示效果】用拍手或發(fā)出聲響,啟動實驗 7 的音樂程序,即發(fā)出“老鼠愛大米”樂曲?!緞?chuàng)新應用】輸入你喜愛的歌曲

42、。修改實驗 1 到實驗 9 程序,用聲控 (J13 插上短路塊) 來啟動相應的實驗程序。3.4.5.如何用光敏電阻來控制單片機樂曲? 如何用磁鐵干簧管來控制單片機樂曲?如何用水銀開關來控制單片機樂曲?第三章 SLBASIC 的編輯“玩”26【程序】;*;實驗 8: I/O 端口的又一應用-聲控;聲控(PC5)啟動樂曲程序,PD3 發(fā)出樂曲聲 (J13 插上短路塊)。;*10 REM SLBASIC20 REM KEY 030 REM WAIT 50; 雙龍 SLBASIC 頭文件; 樂譜選擇從低音“1”到高音“1”; 延時 0.5 秒,防止當開機的開關聲作為聲控信號而誤觸發(fā)第三章 SLBASI

43、C 的編輯“玩”2740 REM IF MIC0 THEN 40;聲控啟動,如果 MIC 是(無聲音)則等待聲控,;如果為低電平有(有聲音),則按順序執(zhí)行下去1A;老鼠愛大米樂曲函數(shù),為了便于閱讀中間有空格,BAS 中不應有空格5D5232125060708090100110120130140REM REM REM REM REMREM REM REMREM REMPLAY PLAY PLAY PLAY PLAY PLAY PLAY PLAYPLAY PLAY34343258241834643432222452341234146424281234642422223484143418146214

44、2812625228343434562434185D6222262262622222343256121A2422522218150 REM GOTO 40;循環(huán)檢測3.5.9 實驗 9: I/O 端口的又一應用:控制直流電機聲控(PC5)電機轉(zhuǎn)動啟動、停止,J3,J4 接上直流【文件名】 SLDIY09.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能?!緦嶒炂鞑摹縋C 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232電機。通訊接口控制板套件及解釋型 SLBASIC【演示操作】電

45、機 1-2 臺。,短接線,直流SL-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板,用 PC5 聲控啟動、聲控停止電機轉(zhuǎn)動?!狙菔拘Ч砍绦蚝?用 PC5 聲控啟動電機轉(zhuǎn)動,再用聲控停止電機轉(zhuǎn)動,電機反復循環(huán)啟動、停止工作。【創(chuàng)新應用】拍一聲正電機轉(zhuǎn);拍二聲電機反轉(zhuǎn);拍語音控制電機運動。本機采列直插式 LG9110 電機驅(qū)動集成。PD4,PD5 到電機驅(qū)動U2 LG9110 控制左電機;PD6,PD7 到電機驅(qū)動

46、U3 LG9110 控制右電機;表 1LG9110 管腳分配電機轉(zhuǎn)動狀態(tài)編碼表左電機 J3右電機 J4左電機右電機機器人運行狀態(tài)PD7黑線 BPD6紅線 APD5黑線 BPD4紅線 A1010正轉(zhuǎn)正轉(zhuǎn)向前行0110反轉(zhuǎn)正轉(zhuǎn)向左轉(zhuǎn)0010停正轉(zhuǎn)左電機為中心原地向左轉(zhuǎn)第三章 SLBASIC 的編輯“玩”28【程序】;*;實驗 9: I/O 端口的又一應用:控制直流電機;聲控(PC5)電機轉(zhuǎn)動啟動、停止,J3,J4;接上直流電機。1001正轉(zhuǎn)反轉(zhuǎn)向右轉(zhuǎn)1000正轉(zhuǎn)停右電機為中心原地向右轉(zhuǎn)0101反轉(zhuǎn)反轉(zhuǎn)向后退第三章 SLBASIC 的編輯“玩”29;*10 REM SLBASIC ; 雙龍 SLBA

47、SIC 頭文件,字母必須大寫,不留空格20 REM WAIT 5030 REM IF MIC0 THEN 30; 延時 0.5 秒,防止當開機的開關聲作為聲控信號而誤觸發(fā);聲控啟動,如果 MIC 是(無聲音)則等待聲控,;如果為低電平有(有聲音),則按順序執(zhí)行下去;3 個 LED(低電平)亮,對應十進制編碼為 000,對應 I/O 口為;PB3(無 LED), PB2,PB1,PB0;SL-DIY02-8A 主控板 LED 燈排列方向為 PB1(左), PB0(中),PB2(右)40 REM LED 050 REM FD 27060 REM LED 670 REM BK 27080 REM L

48、ED 590 REM LT 300100 REM LED 3110 REM RT 300120 REM LED 0130 REM WAIT 500140 REM GOTO 30;控制機器人前進 0.5M,FD 后參數(shù)范圍為 0-32767 時間; LED 中間點亮 110;控制機器人后退 0.5M, BK 后參數(shù)范圍為 0-32767,時鐘周期;, 101;控制機器人左轉(zhuǎn), LT 后參數(shù)范圍為 0-32767;右燈亮, 011;控制機器人右轉(zhuǎn),RT 后參數(shù)范圍為 0-32767;3 個 LED 亮, 000;等待,延時 5 秒, WAIT 后參數(shù)范圍為 0-32767; 循環(huán)檢測3.5.10

49、實驗 10: I/O 端口的又一應用機器人避懸崖行走聲控(PC5)啟器人避懸崖行走,碰到懸崖,后退、轉(zhuǎn)彎、再前進【文件名】 SLDIY10.BAS【實驗目的】掌握 AVR 單片機 I/O 口的輸入/輸出功能,掌握單片機、機器人應用?!緦嶒炂鞑摹縋C 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,SL-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232 通訊接口控制板套件及解釋型 SLBASIC【演示操作】短接線,微動開關傳感器。SL-DIY02-8F 通訊控制接口板插在 SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關 K 拔到 ISP,

50、執(zhí)行工作。連機通電,用SLBASIC,程序后,8F 板上開關K 拔到RUN,執(zhí)行運行剛下的程序。 8A 開發(fā)實驗板 PC0 端口按圖接微動開關,J13 插上短路塊,J14 全部插上短路塊?!狙菔拘Ч柯暱?PC5)啟器人避懸崖行走,碰到懸崖,后退、轉(zhuǎn)彎、再前進,以此循環(huán)。3 個 LED1V(PB0),2V(PB1),3V(PB2),顯示工作狀態(tài),(PD3),并發(fā)出音響指示。第三章 SLBASIC 的編輯“玩”30【創(chuàng)新應用】機器人避障、機器人走方形、走 8 字,尋黑線走路、尋光線走路等【程序】第三章 SLBASIC 的編輯“玩”31;*;實驗 10: I/O 端口的又一應用 :機器人避懸崖行走

51、; PC5 聲控機器人避懸崖行走,用 3 個 LED 顯示工作狀態(tài),;音響指示工作狀態(tài)。;*; 雙龍SLBASIC頭文件; 延時 0.5 秒,防止當開機的開關聲作為聲控信號而誤觸發(fā);樂譜選擇從低音“1”到高音“1”102030REM REMREMSLBASIC WAIT 50KEY 040 REM IF MIC0 THEN 40 ;聲控啟動,如果 MIC 是(無聲音)則等待聲控,;如果為低電平有(有聲音),則按順序執(zhí)行下去50REMIF PC0 0THEN80 ;如果 PC0 微動開關是(離開桌面)則轉(zhuǎn)到 80 行執(zhí)行;如果為低電平有(在開桌面),則按順序執(zhí)行下去;調(diào)用執(zhí)行前進子程序;循環(huán)檢測

52、微動開關狀態(tài);調(diào)用機器人后退轉(zhuǎn)彎子程序;循環(huán)檢測微動開關狀態(tài);程序結(jié)束;LED顯示機器人執(zhí)行前進,三個LED燈點亮;執(zhí)行前進;發(fā)樂曲聲, 樂曲聲長短即控制機器人前進檢測一次的距離;停止;子程序返回;機器人執(zhí)行后退轉(zhuǎn)彎子程序,中間一個LED燈點亮;后退60708090REM REM REMREMGOSUB 200GOTO 50GOSUB 300GOTO 50100200210220230240300310320330340350360370REM REM REM REM REM REM REM REM REM REM REM REM REMREMENDLED 0FDX PLAY STXB1RET

53、URN LED 6BKXPLAY RTXLED 3F2E2D2E2;發(fā)出樂曲聲,樂曲聲長短即控制機器人后退距離;右轉(zhuǎn)彎;機器人執(zhí)行后退轉(zhuǎn)彎,右邊一個LED燈點亮;發(fā)出樂曲聲,樂曲聲長短即控制機器人轉(zhuǎn)圈大小;停止;子程序返回PLAY 1121314151 STXRETURN3.5.11 實驗 11: I/O 端口的又一應用機器人避障行走聲控(PC5)啟動避障車前進程序,碰到【文件名】 SLDIY11.BAS【實驗目的】,后退、轉(zhuǎn)彎、再前進掌握 AVR 單片機 I/O 口的輸入/輸出功能,掌握單片機、機器人【實驗器材】PC 電腦,5V、2.5A 直流穩(wěn)壓電源,或 4 節(jié) 5 號 2A 充電電池,S

54、L-DIY02-8A 開發(fā)實驗板,SL-DIY02-8F 的 RS232應用。通訊接口控制板套件及解釋型 SLBASIC,短接線,微動開關傳感器?!狙菔静僮鳌縎L-DIY02-8F 通訊控制接口板插在SL-DIY02-8A 開發(fā)實驗板上,程序時 8F 板上開關K 拔到ISP,執(zhí)行第三章 SLBASIC 的編輯“玩”32工作。連機通電,用 SLBASIC,程序后,8F 板上開關 K 拔到RUN,執(zhí)行運行剛下的程序。8A 開發(fā)實驗板 PC0 端口按圖接微動開關,J13 插上短路塊,J14 全部插上短路塊?!狙菔拘Ч? 個 LED1V(PB0),2V(PB1),3V(PB2),顯示工作狀態(tài),(PD3)發(fā)出音響?!緞?chuàng)新應用】機器人避障、機器人走方形、走 8 字,尋黑線走路、尋光線走路等操作接線圖同實驗 10?!境绦颉?*;實驗 11: I/O 端口的又一應用 :機器人避障行走;PD3 聲控機器人避障行走,用 3 個 LED 顯示工作狀態(tài),;音響指示工作狀態(tài)。;*; 雙龍SLBASIC頭文件; 延時 0.5 秒,防止當開機的開關聲作為聲控信號而誤觸發(fā);樂譜選擇從低音“1”到高音“1”102030REMREM REMSLBA

溫馨提示

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

評論

0/150

提交評論