智能尋跡小車論文
《智能尋跡小車論文》由會員分享,可在線閱讀,更多相關《智能尋跡小車論文(37頁珍藏版)》請在裝配圖網上搜索。
1、送叉笆恢邑賃杯允曠褪署舊淹考綽森哉采客新擎睡煤月鵬楚鈉鹼摧釉猖灤戰(zhàn)屯參饞撐銀洞種脾味狠紉憾肩乒蛔徊副潘互馴袁拍縮死駐茍辜順葛督筋郴墅祖藹外開拖最派卜焊漸主昧故佑雪案豌增減莢旬瞥噶煎躬起召皚賄壹旭恨絡碉寞閱針疙炯掉蛋繪瘧棘祟容雹妄遇吞柑俯繁轅萊烴獰遁蒲醇立碘藕進駁賬漆肅執(zhí)坡寒滔竄處藥纜鮮俺叫砌妖床漢琉晃嗣驟奔卉酋禱闡兄尸飾剿賒幕庇癸富文昆浚厘俞贓握援庫染縫搗探規(guī)圭黎蓑擬畦盾貼寢琵愈覺隊隔代拱僵相卯化拄鋇芹凝榷肝替蘭玖邱彭沃履哩窯率灸啊轅莢岸惑頑侖宋輯粕券低未飛底伍純推鏡堡丫鵬雁燥爛屠御務鈾開矩淬貸僧一穿逞墻煞目 錄 簡介—— ————————————————————————— 1 實
2、驗一 程序狀態(tài)指示燈演示 ————————————————3 實驗二 流水燈演示————————————————————— 5 實驗三 數碼管演示———————————————搔宦辮焉穎乞鑷續(xù)爍割向查脂狠姑教管辛玄評亦菜渠緯喊蚜躊媽紫況拇稈雪嬸賜碘蓑知餡伏睛晶擰舊頂凈容艷略上掘疇杯啥崖置角潘循組檀胎達償本篩走認腫扒警軟楚殖疵欣旗襲頂食操費彎扣膝酶粗輪撒汁郁鍺眉什醞謹灶鵑蜘趁壤捆易埂醬鷗吃及尚吧背炭套郊羔茄匈腦敏緒策唁詐衙某刺廁既掃炯鍋線齲鐐伴髓酞灸君口忘息騙漣華云叛誰穎初拭藉穆嘻基草綏毆甸澄槍拂一覆藍貌酉漳騷拇疚恿焙剃秩轉弛記度葉底紐硫緯邪權后氮筐邑剖浮古椿隊復泛碴枕硬囊阻霄汛枚
3、翱蘋殊居薛甕骯智譽辛噸軸播氯縛契喧聶樹饒狼纂昆匿雅別凱蔡掘港郭較尿失艇嘻可棗謙孩沛窮箋眠姚碾聽滴誠秸可智能尋跡小車論文珠搔蔓咐癰瘸承狙縫盡豐棄呵皇獅香色戊販褂掠泛沸盂粗揮紡夠膏夕書孰邁泣駝晉騎呸幕舞泥緝戲母游切斂亦夷轄征誘沽琢炎矽預毗倫岸烤澈鉆拿煮檄盟胸翔沂寒瀾梯喬審訃菊攢掩僑掩葵憲綠果豐橢址嶼瓶供桐上西瘧尾飛禽吞魔帆豐擻齊青停哺風詠冀乙豫浮募捉蒙晃憚預闊拯津鈴調吼問蕩膏翻綿昂瀉肪橢觸佯映覺乏韌邑杯匹嘩惶臻奇侈錠爽子諧昨棄呀鉚蘑惺貫汰拜賄揣化翠同肯錄巷遞美狐阻涸轍鐐居陳畫櫥善勛坡微叛逝紐舍烤絲墟固緩物揩稗蔚藹卯儡狽扒駐占憂貯媽呆賭鴨趨扇摹煽蒼販馭恢晚賂酵正丹服船垣棘杯茸譽磊孤告財迷堵災宅宗煌熊
4、給權躁愛織醞益肛吻朱腦種風拂餌 目 錄 簡介—— ————————————————————————— 1 實驗一 程序狀態(tài)指示燈演示 ————————————————3 實驗二 流水燈演示————————————————————— 5 實驗三 數碼管演示————————————————————— 8 實驗四 數碼管及跑馬燈演示————————————————— 10 實驗五 按鍵中斷查詢演示—————————————————— 13 實驗六 話筒聲音識別演示—————————————————— 15 實驗七 光敏電阻與蜂鳴器演示———————
5、—————————17 實驗八 紅外反射與直流電機驅動演示—————————————19 實驗九 紅外遙控器解碼程序演示———————————————23 實驗十 串口通信程序演示—————————————————— 28 實驗十一 綜合功能演示——————————————————— 30 簡 介 單片機益智系列 ——智能尋跡機器人是由益芯科技有限公司為科教方便 而研發(fā)設計。根據現代學校對嵌入式系統(tǒng)開發(fā)的需求。依據提高學生實際動手 操作能力和思考能力,以加強學生對現實生活中嵌入式系統(tǒng)的應用為參照。智 能尋跡機器人全新的設計模式,良好
6、的電路設計,一體化的機電組合,智趣的 系統(tǒng)開發(fā),更是成為加強學生學習興趣的總動源。 智能尋跡機器人采用現在較為流行的 8 位單片機作為系統(tǒng)大腦。以 8051 系列家族中的 AT89S51/AT89S52為主芯片。 40 腳的 DIP 封裝使它擁有 32 個完 全 IO(GPIO—通用輸入輸出) 端口,通過對這些端口加以信號輸入電路,控制 電路, 執(zhí)行電路共同完成尋跡機器人。P0.0,P0.1,P0.2,P0.3 分別通過 LG9110 電機驅動來驅動電機 1 和電機 2 。由電機的正轉與反轉來完成機器人的前進, 后退,左轉,右轉,遇障礙物繞行,避懸崖等基本動作。在機器人前進時
7、如果 前方有障礙物,由紅外發(fā)射管發(fā)射的紅外信號被反射給紅外接收管,紅外接管 將此信號經過 P3.7 傳送入 AT89S52中,主芯片通過內部的代碼進行機器人的 繞障礙物操作, 同時主芯片將P3.7 的信號狀態(tài)通過 P2.5 的 LED 指示燈顯示出 來。機器人行走時會通過 P3.5 與 P3.6 的紅外接收探頭來進行檢測。 當走到懸 崖處時,P3.5 或 P3.6 將收到一個電平信號,此電平信號將通過相應端口傳送 入主芯片中, 主芯片通過內部代碼完成機器人的避懸崖操作。 同時P3.5 與 P3.6 的信號狀態(tài)將通過 P2.6/P2.7 顯示出來。在機器人的左轉,右轉,后退的過程, 可以通
8、過觀看以 P2.0/P0.7 為指示燈的運行狀態(tài)。 P0.4 為機器人的聲控檢測端 口,在運行為前進狀態(tài)時,可以能過聲控(如拍手聲)來控制它的運行與停止。 P0.6 為機器人的聲音輸出端。在機器人遇到障礙物時。進行繞障礙物與避懸 時可以通過此端口控制蜂鳴器發(fā)出報警聲。當為白天或黑夜時可以通過 P0.5端口中的光敏電阻來進行判斷,以方便完成機器人夜間自動照明等功能。兩個按鍵以查詢/中斷兩種不同的方式來展現按鍵操作。你可以按下 S1 鍵來進行機 器的停止。 再按下S2 鍵來進行機器人的運行。 這個按鍵的信息分別被P3.2,P3.4 接收到。IR1 為紅外遙控接收器,這就為機器人進行
9、遠程遙控創(chuàng)造了可能。 這 個紅外遙控接收頭接收到紅外信號時將信號經過 P3.3 送入到主芯片,主芯片 對其進行解密后以不同的方式對機器人進行控制。 同時將用戶的按鍵信息通過 P2 端口上 LED 數碼管顯示出來。P3.0、P3.l 中 COM 端口的加入,讓你完全可 以用電腦對其進行控制。你可以通過對串口發(fā)送數據,數據會被顯示到 LED 數碼管中,并讓機器人執(zhí)行相應的功能。電腦的串口軟件要求波特率為 9600。 8 位數據位,這時你就可以快樂的用電腦來對它進行你的完全控制了。 EXKJ-ZN02 功能的組合多樣,使得學生可以充分發(fā)揮自主能力,制作出 不同的機器人
10、。它為學校進行機器人競賽和畢業(yè)項目設計建立了實物平臺,是 學校教師授課變得更輕松有趣。同時也能改變學生學習模式和激發(fā)學習興趣。 更是作為驗證學生學習效果的有力工具。良好的電路板設計,讓學生制作變得 方便容易,其大大提高了學生的制作成功率。提高了學生對電子電路的興趣, 更是教學過程中不可或缺的教具。 實驗一 程序狀態(tài)指示燈演示 一、 實驗簡介: 本程序重點演示了一個最簡程序的基本結構,
11、它從順序、判斷、循環(huán)的形式表現程序的基 本結構,此程序通過閃燈不斷的閃動,及閃燈閃動的快慢來表示程序不不同工作狀態(tài)。它也是 常數字設備中進行狀態(tài)表示的方法之一( 例:網卡) 。 二、 實驗原理圖: 3、 實現代碼: LED EQU P1 MCUDATA EQU 30H DLYCOUNT EQU 40H DLY1 EQU 41H DLY2 EQU 42H ORG 0000H MOV LED,#0FFH MOV MCUDATA,#0 LO
12、OP:INC MCUDATA MOV A,MCUDATA CLR C SUBB A,#15 JC LOP1 MOV A,MCUDATA CLR C SUBB A,#30 JC LOP2 MOV A,MCUDATA CLR C SUBB A,#60 JC LOP3 MOV MCUDATA,#0 MOV LED,#0FFH SJMP LOOP LOP1:MOV A,LED CPL A MOV LED,A MOV DLYCOUNT,#25 LCALL DELAY
13、 SJMP LOOP LOP2:MOV A,LED CPL A MOV LED,A MOV DLYCOUNT,#10 LCALL DELAY SJMP LOOP LOP3:MOV A,LED CPL A MOV LED,A MOV DLYCOUNT,#5 LCALL DELAY SJMP LOOP DELAY: MOV DLY1,#100 DLYLOP2:MOV DLY2,#10 DJNZ DLY2,$ DJNZ DLY1,DLYLOP2 DJNZ DLYC
14、OUNT,DELAY RET END 四、 運行效果: 程序運行效果為:開機后程序以慢速閃動,一段時間后速度開始加快,再等待時間,閃燈 的速度達到最快,之后一段時間后,閃動將回到開始狀態(tài)。 實驗二 流水燈演示 一、 實驗簡介: 本程序全面的表現了子程序的用法,它從對幾個子程序的操作,顯示不同的流燈技術,流 水燈的不同需要不同的表現的形式,而這里主要介紹了移位操作和內部數據存儲及讀入操作。 延時函數采用可重入標志,可進行函數的遞歸調用。 二、 實驗原理圖:
15、 3、 實現代碼: LED EQU P1 DLY1 EQU 41H DLY2 EQU 42H DLY3 EQU 43H ORG 0000H MOV LED,#0FFH LOOP:LCALL RTOL LCALL LTOR LCALL BTOM LCALL MTOB SJMP LOOP LTOR:MOV R0,#9 MOV LED,#0FFH LOP1:LCALL DELAY MOV A,LE
16、D CLR C RLC A MOV LED,A DJNZ R0,LOP1 RET RTOL:MOV R0,#9 MOV LED,#0FFH LOP2:LCALL DELAY MOV A,LED CLR C RRC A MOV LED,A DJNZ R0,LOP2 RET BTOM: MOV R0,#5 MOV LED,#0FFH MOV DPTR,#bm CLR A LOPBM:LCALL DELAY LCALL DELAY
17、PUSH ACC MOVC A,@A+DPTR MOV LED,A POP ACC INC A DJNZ R0,LOPBM RET MTOB: MOV R0,#5 MOV LED,#0FFH MOV DPTR,#mb CLR A LOPMB:LCALL DELAY LCALL DELAY PUSH ACC MOVC A,@A+DPTR MOV LED,A POP ACC INC A djnz R0,LOPMB
18、RET DELAY:MOV DLY1,#5 DLOP2:MOV DLY2,#100 DLOP3:MOV DLY3,#100 DJNZ DLY3,$ DJNZ DLY2,DLOP3 DJNZ DLY1,DLOP2 RET bm: DB 7eH,3cH,18H,00H mb: DB 0e7H,0c3H,81H,00H END 四、 運行效果: 程序運行效果為:開機后,指示燈向從左向右依次點亮,從右向左依次點亮,由兩邊向中 間依次點亮,由中間向兩邊依次點亮。
19、 實驗三 數碼管演示 一、 實驗簡介: 本程序通過對端口的置數操作,展示了數碼管的應用技術,數碼管是將發(fā)光二極管通過一 定的形式封裝在一個數字的外殼中,可以通過不同的點亮方式來顯不同的數字符號。 二、 實驗原理圖: 3、 實現代碼: DLY1 EQU 41H DLY2 EQU 42H DLY3 EQU 43H ORG 0000H MOV P2,#0FFH MOV DPTR,#SM LOOP:MOV R
20、0,#10 CLR A LOP: PUSH ACC LCALL DELAY MOVC A,@A+DPTR MOV P2,A POP ACC INC A DJNZ R0,LOP SJMP LOOP SM: DB 9fH,25H,0dH,99H,49H,41H,1fH,01H,19H,03H DELAY:MOV DLY1,#30 DLOP2:MOV DLY2,#100 DLOP3:MOV DLY3,#100 DJNZ DLY3,$ DJNZ DLY2,DLOP3 DJNZ DLY1,DLOP2
21、 RET END 四、 運行效果: 程序運行效果為:程序下載后,數碼管將從1-9 依次顯示,最后將顯示數字0. 實驗四 數碼管及跑馬燈演示 一、 實驗簡介: 本程序主要是將數碼管及跑馬燈放在一起顯示,它主要說明了,如何將在單系中運行多個 看似并行運行的子系統(tǒng).本程序在此將跑馬燈子程序放入到一個頭文件中, 對于一個大的工程這 樣將有益于程序文件的管理。 二、 實驗原理圖:
22、 3、 實現代碼: LED EQU P1 MCUDATA EQU 30H DLY1 EQU 41H DLY2 EQU 42H DLY3 EQU 43H ORG 0000H MOV LED,#0FFH MOV MCUDATA,#0 LOOP:LCALL RTOL LCALL LTOR LCALL BTOM LCALL MTOB SJMP LOOP LTOR:MOV R0,#9 MOV LED,#0FFH LOP1:LCALL DEL
23、AY MOV A,LED CLR C RLC A MOV LED,A DJNZ R0,LOP1 RET RTOL:MOV R0,#9 MOV LED,#0FFH LOP2:LCALL DELAY MOV A,LED CLR C RRC A MOV LED,A DJNZ R0,LOP2 RET BTOM: MOV R0,#5 MOV LED,#0FFH MOV DPTR,#bm CLR A LOPBM:LCALL DELAY LC
24、ALL DELAY PUSH ACC MOVC A,@A+DPTR MOV LED,A POP ACC INC A djnz R0,LOPBM RET MTOB: MOV R0,#5 MOV LED,#0FFH MOV DPTR,#mb CLR A LOPMB:LCALL DELAY LCALL DELAY PUSH ACC MOVC A,@A+DPTR MOV LED,A POP ACC INC A D
25、JNZ R0,LOPMB RET DELAY:PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#SM MOV A,MCUDATA XRL A,#11 JNZ GOON CLR A MOV MCUDATA,A GOON: MOV DLY1,#5 DLOP2:MOV DLY2,#100 DLOP3:MOV DLY3,#100 DJNZ DLY3,$ DJNZ DLY2,DLOP3 DJNZ DLY1,DLOP2 MOV A,MCUD
26、ATA MOVC A,@A+DPTR MOV P2,A INC MCUDATA POP DPL POP DPH POP ACC RET BM: DB 7EH,3CH,18H,00H MB: DB 0E7H,0C3H,81H,00H SM: DB 9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,03H END 四、 運行效果: 本程序運行效果:本程序運行后,可以看到跑馬燈按,從左到右,從右到左,從兩邊到中 間,從中間到兩邊將依次運行。并且在運行過程中,可以看到數碼管依次從 1-9-0 的順序顯示 數字符
27、號。 實驗五 按鍵中斷查詢演示 一、 實驗簡介: 本程序通過兩個按鍵對數碼管進行操作, 分別向用戶演示了查詢與中斷的操作方式, 中中斷 應用了對按鍵進行查詢的方法來判斷按鍵的鍵值, 查詢按鍵方法中則采用了鍵盤延遲的方法消來 除按鍵重復輸入。 二、 實驗原理圖: 3、 實現代碼 S1 BIT P3.2 S2 B
28、IT P3.4 MCUDATA EQU 30H DLY1 EQU 41H DLY2 EQU 42H ORG 0000H SJMP START ORG 0003H SJMP S1DO START:NOP SETB S1 SETB S2 SETB EA SETB EX0 SETB IT0 MOV MCUDATA,#0 MOV DPTR,#SM MOV A,MCUDATA MOVC A,@A+DPTR MOV P2,A LOOP:JB S2,$ LCALL DLYKEY JB S2,LOOP INC MCU
29、DATA MOV A,MCUDATA XRL A,#10 JNZ GOON1 MOV MCUDATA,#0 GOON1:MOV A,MCUDATA MOVC A,@A+DPTR MOV P2,A SJMP LOOP S1DO:JNB S1,$ DEC MCUDATA MOV A,MCUDATA XRL A,#0FFH JNZ GOON2 MOV MCUDATA,#9 GOON2:MOV A,MCUDATA MOVC A,@A+DPTR MOV P2,A RETI D
30、LYKEY: MOV DLY1,#250 DLYLOP2:MOV DLY2,#250 DJNZ DLY2,$ DJNZ DLY1,DLYLOP2 RET SM: DB 9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,03H END 四、 運行效果: 程序運行效果:開機后數碼管顯示數字"1",當按S1 不放時,數碼管數字不變,,松開 S1 按 鍵,數碼減 1;按 S2 鍵不放時,數碼管數字會自動加1。并且數字遵守從0-9 循環(huán)操作
31、 實驗六 話筒聲音識別演示 一、 實驗簡介: 本程序主要通過話筒對聲音信號進行識別, 由于本電路有效的去除雜波, 所以僅能對響較度 大的聲音進行識別(例:拍手聲) 。像正常的說話聲對本電路慮除,不會產生信息的輸入。話筒識 別的加入,為我們建立了聲控平臺。 二、 實驗原理圖: 3、 實現代碼: LEFTLED BIT P2.0
32、 RIGHTLED BIT P0.7 B1 BIT P0.4 DLY1 EQU 41H DLY2 EQU 42H ORG 0000H CLR LEFTLED CLR RIGHTLED LOOP:JB B1,$ LCALL DLYKEY JB B1,LOOP CPL LEFTLED CPL RIGHTLED SJMP LOOP DLYKEY: MOV DLY1,#2 DLYLOP2:MOV DLY2,#5 DJNZ DLY2,$ DJNZ D
33、LY1,DLYLOP2 RET END 四、 運行效果: 程序運行效果:本程序開機后,前方兩側的指示燈點亮,拍一下手后,前方指示燈關閉再。 一次進行拍手,指示燈又一次被點亮。 實驗七 光敏電阻與蜂鳴器演示 一、 實驗簡介: 本程序講述了光敏電阻的使用方法。當處于光暗時,光敏電阻導通,將信號傳入到單片機, 單片機將控制蜂鳴器按一定的頻率響亮, 并且前方的指示燈也開始閃閃亮。 通過對光敏電阻號信 的接收
34、,從而實現了夜間自動照明的功能。 二、 實驗原理圖: 3、 實現代碼: LEFTLED BIT P2.0 RIGHTLED BIT P0.7 RL1 BIT P0.5 SB1 BIT P0.6 DLY1 EQU 41H DLY2 EQU 42H ORG 0000H LOOP:JB RL1,GOTO SETB SB1 SETB LEFTLED
35、 SETB RIGHTLED SJMP LOOP GOTO:LCALL DELAY CPL SB1 CPL LEFTLED CPL RIGHTLED SJMP LOOP DELAY: MOV DLY1,#250 DLYLOP2:MOV DLY2,#250 DJNZ DLY2,$ DJNZ DLY1,DLYLOP2 RET END 四、 運行效果: 程序運行效果:打開電源開關,如果本機在有光照的情況下,將無任何的反應,這時將子機 移動到較黑暗的地方,將會看到前方指示燈閃亮和蜂鳴器響亮。
36、 實驗八 紅外反射與直流電機驅動演示 一、 實驗簡介: 本程序通過前端,底端的紅外發(fā)射頭和接收頭來判斷小車的運行軌跡,當前與底端發(fā)生信 號輸入時,信號將被單片機接收,單片機來控制機器按照寫好的程序開始運行。同時為達到好 的效果,加入聲音識別與蜂鳴器輸入輸出設備。.使得此機器人的運動變得更加有趣。 二、 實驗原理圖:
37、 3、 實現代碼: RUNFLAG BIT 00H; //定義運行標志位 ENABLELIGHT BIT 01H; //定義指示燈使能位 EXEFLAG BIT 02H; //定義可執(zhí)行標志位變量 ;***********完成基本數據變量定義**************/ S1STATE BIT P1.0;
38、 //定義S1狀態(tài)標志位 S2STATE BIT P1.1; //定義S2狀態(tài)標志位 B1STATE BIT P1.2; //定義B1狀態(tài)標志位 IRSTATE BIT P1.3; //定義IR狀態(tài)標志位 RUNSTOPSTATE BIT P1.4; //定義運行停止標志位 FONTIRSTATE BIT
39、P1.5; //定義FONTIR狀態(tài)標志位 LEFTIRSTATE BIT P1.6; //定義LEFTIR狀態(tài)標志位 RIGHTIRSTATE BIT P1.7; //定義RIGHTIRSTATE狀態(tài)標志位 ;*************完成狀態(tài)指示燈定義*************/ S1 BIT P3.2; //定義S1按鍵
40、端口 S2 BIT P3.4; //定義S2按鍵端口 ;*************完成按鍵端口的定義*************/ LEFTLED BIT P2.0; //定義前方左側指示燈端口 RIGHTLED BIT P0.7; //定義前方右側指示燈端口 ;*************完成前方指示燈端口定義*********/ LEFTIR BIT P
41、3.5; //定義前方左側紅外探頭 RIGHTIR BIT P3.6; //定義前主右側紅外探頭 FONTIR BIT P3.7; //定義正前方紅外探頭 ;*************完成紅外探頭端口定義***********/ M1A BIT P0.0; //定義電機1正向端口 M1B BIT
42、P0.1; //定義電機1反向端口 M2A BIT P0.2; //定義電機2正向端口 M2B BIT P0.3; //定義電機2反向端口 ;*************完成電機端口定義***************/ B1 BIT P0.4; //定義話筒傳感器端口 RL1
43、BIT P0.5; //定義光敏電阻端口 SB1 BIT P0.6; //定義蜂鳴端口 ;*********完成話筒,光敏電阻,蜂鳴器.端口定義**/ IR1 BIT P3.3; //定義紅外接收端口 ;*********完成紅外接收端口的定義*************/ SHOWSM EQU P2 DLY1 EQU 41H DLY2 EQU 4
44、2H DLY3 EQU 43H ORG 0000H SJMP START ORG 0003H LJMP S1ZD ORG 000BH RETI START: MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH SETB EA SETB EX0 SETB IT0 SETB ES SETB EX1; //同意開啟外部中斷1 SETB IT1;
45、 //設定外部中斷1為低邊緣觸發(fā)類型 SETB ET0; SETB EA; //總中斷開啟 MOV DPTR,#SMDATA MOV A,#01H MOVC A,@A+DPTR MOV SHOWSM,A LOOP:LCALL CARGO JNB FONTIR,CARDO JB LEFTIR,CARDO JB RIGHTIR,CARDO JB B1,LOOP LCALL CARSTOP JB B1,$ SJMP LOO
46、P CARDO:MOV A,#02 MOVC A,@A+DPTR MOV SHOWSM,A LCALL CARBACK MOV R1,#8 LOP1: LCALL DELAY CPL SB1 DJNZ R1,LOP1 MOV A,#03 MOVC A,@A+DPTR MOV SHOWSM,A LCALL CARLEFT MOV R1,#8 LOP2: LCALL DELAY CPL SB1 DJNZ R1,LOP2 SETB SB1 MOV A,#01
47、 MOVC A,@A+DPTR MOV SHOWSM,A LJMP LOOP S1ZD:LCALL CARSTOP JB S2,$ RETI CARGO:SETB M1A; //將電機1正向端口置高 SETB M2A; //將電機2正向端口置高 CLR M1B CLR M2B SETB RUNFLAG MOV
48、A,#01H MOVC A,@A+DPTR MOV SHOWSM,A; //數碼管顯示前進狀態(tài) CLR RIGHTLED; //將前方右側指示燈置低(亮) CLR LEFTLED; //將前方左側指示燈置低(亮) RET CARBACK:SETB M1B;
49、 //將電機1反向端口置高 SETB M2B; //將電機2反向端口置高 CLR M1A CLR M2A MOV A,#02H MOVC A,@A+DPTR MOV SHOWSM,A; //數碼管顯示前進狀態(tài); //數碼管顯
50、示后退狀態(tài) SETB RIGHTLED; //將前方右側指示燈置高(滅) SETB LEFTLED; //將前方左側指示燈置高(滅) RET CARLEFT:SETB M1B; //將電機1反向端口置高 SETB M2A;
51、 //將電機2反向端口置高 CLR M1A CLR M2B MOV A,#03H MOVC A,@A+DPTR MOV SHOWSM,A; //數碼管顯示前進狀態(tài); //數碼管顯示后退狀態(tài) CLR RIGHTLED; //將前方右側指示
52、燈置低(亮) SETB LEFTLED; //將前方左側指示燈置高(滅) RET CARRIGHT:SETB M1A; //將電機1反向端口置高 SETB M2B; //將電機2反向端口置高 CLR M2A CLR
53、M1B MOV A,#04H MOVC A,@A+DPTR MOV SHOWSM,A; //數碼管顯示前進狀態(tài); //數碼管顯示后退狀態(tài) SETB RIGHTLED; //將前方右側指示燈置高(滅) CLR LEFTLED; //將前方左側指示燈置低(亮)
54、 RET CARSTOP:CLR M1A CLR M2A CLR M1B CLR M2B CLR RUNFLAG MOV A,#00H MOVC A,@A+DPTR MOV SHOWSM,A; //數碼管顯示前進狀態(tài); //數碼管顯示后退狀態(tài) SETB RIGHTLED; //將前方右
55、側指示燈置高(滅) SETB LEFTLED; //將前方左側指示燈置高(滅) RET DELAY: MOV DLY1,#10 DLYLOP2:MOV DLY2,#100 DLYLOP3:MOV DLY3,#100 DJNZ DLY3,$ DJNZ DLY2,DLYLOP3 DJNZ DLY1,DLYLOP2 RET SMDATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,19
56、H;//0,1,2,3,4,5,6,7,8,9 END 四、 運行效果: 程序效果: 打開本機電源開關,機器人開始向前運行( 這要看當時的條件),在運動的過程中,如果前方有障礙物,機器人則開始向后后退一段時間后,向左運動,在向左運行一段時間 后。再開始向前運行。在整個調向的過程中,蜂鳴器閃響。并且在機器人前進的過程中,你可 以通過拍手來控制機器人的停止和運行。 實驗九 紅外遙控器解碼程序演示 一、 實驗簡介: 本程序主要將現在比較常用M50462 遙控器進行解碼, 將解碼后的數據通過P2 端口的數碼 管顯示出
57、來,為了更好的看到運行過程,特加了三個指示燈用來指示當前運行狀態(tài)。P10 閃亮, 表示程序正在運行;P11 閃亮,表示接收到數據;P12 閃亮,表示觸發(fā)內部的定時器操作;P13 閃亮,表示正確接收完一個數據。
二、 實驗原理圖:
3、 實現代碼:
#include
58、 //重定義無符號整數類型 #DEFINE UCHAR UNSIGNED CHAR //重定義無符號字符類型 UCHAR CODE LEDSHOWDATA[]={0X03,0X9F,0X25,0X0D,0X99, //定義數碼管顯示數據 0X49,0X41,0X1F,0X01,0X19};//0,1,2,3,4,5,6,7,8,9 UCHAR CODE RECVDATA[]={0X07,0X0A,0X1B,0X1F,0X0C,0X0D,0X0E,0
59、X00,0X0F,0X19}; UCHAR IRCOM[7]; STATIC UNSIGNED INT LEDFLASH; //定義閃動頻率計數變量 UNSIGNED CHAR RUNFLAG=0; //定義運行標志位 BIT ENABLELIGHT=0; //定義指示燈使能位 /***********完成基本數據變量定義**************/ SBIT S1STATE=P1^0;
60、 //定義S1狀態(tài)標志位 SBIT S2STATE=P1^1; //定義S2狀態(tài)標志位 SBIT B1STATE=P1^2; //定義B1狀態(tài)標志位 SBIT IRSTATE=P1^3; //定義IR狀態(tài)標志位 SBIT RUNSTOPSTATE=P1^4;
61、//定義運行停止標志位 SBIT FONTIRSTATE=P1^5; //定義FONTIR狀態(tài)標志位 SBIT LEFTIRSTATE=P1^6; //定義LEFTIR狀態(tài)標志位 SBIT RIGHTIRSTATE=P1^7; //定義RIGHTIRSTATE狀態(tài)標志位 /*************完成狀態(tài)指示燈定義*************/ SBIT S1=P3^2;
62、 //定義S1按鍵端口 SBIT S2=P3^4; //定義S2按鍵端口 /*************完成按鍵端口的定義*************/ SBIT LEFTLED=P2^0; //定義前方左側指示燈端口 SBIT RIGHTLED=P0^7; //定義前方右側指示燈端口 /************
63、*完成前方指示燈端口定義*********/ SBIT LEFTIR=P3^5; //定義前方左側紅外探頭 SBIT RIGHTIR=P3^6; //定義前主右側紅外探頭 SBIT FONTIR=P3^7; //定義正前方紅外探頭 /*************完成紅外探頭端口定義***********/ SBIT M1A=P0^0;
64、 //定義電機1正向端口 SBIT M1B=P0^1; //定義電機1反向端口 SBIT M2A=P0^2; //定義電機2正向端口 SBIT M2B=P0^3; //定義電機2反向端口 /*************完成電機端口定義***************/ SBIT B1=P0^4;
65、 //定義話筒傳感器端口 SBIT RL1=P0^5; //定義光敏電阻端口 SBIT SB1=P0^6; //定義蜂鳴端口 /*********完成話筒,光敏電阻,蜂鳴器.端口定義**/ SBIT IRIN=P3^3; //定義紅外接收端口 /*********完成紅外接收端口的定義**********
66、***/ #DEFINE SHOWPORT P2 //定義數碼管顯示端口 EXTERN VOID CONTROLCAR(UCHAR CARTYPE); //聲明小車控制子程序 VOID DELAYMS(UNSIGNED CHAR X) //0.14MS延時程序 { UNSIGNED CHAR I; //定義臨時變量 WHILE(X--) //延時時間循環(huán) { FOR (I = 0; I<13; I++) {} //14MS延時 } } VOID DELAY() //定義延時子程序 { UINT DELAYT
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數學下冊6整理和復習1數與代數第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數學下冊4比例1比例的意義和基本性質第3課時解比例練習課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數學下冊2百分數(二)第1節(jié)折扣和成數作業(yè)課件新人教版
- 2023年六年級數學下冊1負數第1課時負數的初步認識作業(yè)課件新人教版
- 2023年六年級數學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數學下冊6整理和復習4數學思考第1課時數學思考1練習課件新人教版