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

正文內容

基于單片機的紅外避障小車設計(編輯修改稿)

2025-07-09 09:21 本頁面
 

【文章內容簡介】 向 I/O 端口。 P2 的輸出緩沖器可以驅動(吸收或輸出電流方式) 4個 TTL 輸入。對端口寫入 1時,通過內部的上拉電阻把端口拉到高電平,這時可用作輸入口。 P2作為輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流( 錯誤 !未找到引用源。 )。 P3 端口( ~ , 10~ 17 引腳): P3是一個帶內部上拉電阻的 8位雙向I/O端口。 P3的輸出緩沖器可驅動(吸收或輸出電流方式) 4個 TTL 輸入。 對端口寫入 1時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸入口。 P3做輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流( 錯誤 !未找到引用源。 )。 錯誤 !未找到引用源。 ( 29引腳):外部程序存儲器選通信號( 錯誤 !未找到引用源。 )是外部程序存儲器選通信號。當 AT89C51RC 從外部程序存儲器執(zhí)行外 11 部代碼時, 錯誤 !未找到引用源。 在每個機器周期被激活兩次,而訪問外部數據存儲器時, 錯誤 !未找到引用源。 將不被激活。 錯誤 !未找到引用源。 /VPP( 31引 腳):訪問外部程序存儲器控制信號。為使能從 0000H 到 FFFFH 的外部程序存儲器讀取指令, 錯誤 !未找到引用源。 必須接GND。注意加密方式 1時, 錯誤 !未找到引用源。 將內部鎖定位 RESET。為了執(zhí)行內部程序指令, 錯誤 !未找到引用源。 應該接 VCC。在 Flash 編程期間, 錯誤 !未找到引用源。 也接收 12 伏 VPP 電壓。 XTAL1( 19 引腳):振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。 XTAL2( 18 引腳):振蕩器反相放大器的輸入端。 特殊功能寄存器 12 第三章 系統(tǒng)硬 件設計 圖 31 系統(tǒng)設計框圖 系統(tǒng)設計框圖如上所述,整個系統(tǒng)由單片機最小系統(tǒng),紅外檢測模塊,聲音檢測模塊,電機驅動模塊組成。小車起始時是處于靜止狀態(tài),當檢測到聲音信號時通過聲音檢測模塊傳到單片機 P3~2 端,單片機接受到信號后通過程序把 P3~1,P1~1 端狀態(tài)取反,使小車前進。當再次接受到聲音信號時再次取反,小車停止前進。當紅外避障模塊檢測到障礙物時,將一個 P3~3 的高電平轉成低電平,單片機額接受到信號后,通過程序將 P1~5, P3~7 端由高電平轉成低電平,從而使小車左轉。 小車運行狀態(tài)相關程序如下: /////////停止 /////////////// void Stop(void) { L_L=1。 L_R=1。 R_L=1。 13 R_R=1。 } /////////前進 ////////////// void Forword(void) { L_L=1。 R_L=1。 _nop_()。 _nop_()。 L_R=0。 R_R=0。 } ////////左轉 ///////////// void Turn_Left(void) { L_L=0。 R_R=0。 _nop_()。 _nop_()。 L_R=1。 R_L=1。 delay_ms(2400)。 } 注: L_L =P1^5。 //左輪驅動口 L_R =P1^1。 //左輪驅動口 R_L =P3^6。 //右輪驅動口 R_R =P3^7。 //右輪驅動口 14 智能小車采用 STC89C52RC 單片機進行智能控制, 開始由手動啟動小車電源, 并復位。當有聲音信號時,根據信號進入相 應的行駛狀態(tài),在運動過程中由紅外光電傳感器檢測,遇到障礙時通過單片機控制小車進行轉向,系統(tǒng)功能原理圖如圖所示。 圖 32 系統(tǒng)電路設計 考慮到小車是個不斷運動的實驗設備,采用干電池供電??偟墓╇娤到y(tǒng)是有 的大功率電池儲能,經過電壓轉換單元。由一個 轉為 5V 對控制單元供電。電機驅動和控制電路:通過 51單片機,控制端口對直流電機的轉速和轉向來對電機進行控制。 15 圖 33 電源電路圖 聲音控制電路是在原基礎上加的一項功能,通過電路去除雜音,對響度較大的聲音進行識別(比如拍手聲)。正常說話聲則被電路濾除,不會產生信息出入。聲音信號通過單片機,經程序使運行狀態(tài)取反,完成小車的運行狀態(tài)切換。 圖 34 聲音控制電路圖 聲音檢測模塊程序如下: void Extern_Int0(void) interrupt 0 using 0 { if(Int0_flag==0) { voice_flag=!voice_flag。 //檢測到一次聲音信號,狀態(tài)取反一次 Int0_flag=1。 } } 注: Int0_flag 初始值為 0 當 Int0_flag 的值為 1時調用前進程序,為 0 時調用停止程序。 16 常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個部分。發(fā)射部分的主要元件為紅外發(fā)光二極管。它實際上是一只特殊的發(fā)光二極管;由于其內部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時,它便發(fā)出的是紅外線而不是可見光。目前大量的使用的紅外發(fā)光二極管發(fā)出的紅外線波長為 940mm 左右,外形與普通φ 5發(fā)光二極管相同,只是顏色不同。紅外發(fā)光二極管一般有黑色、深藍、透 明三種顏色。判斷紅外發(fā)光二極管好壞的辦法與判斷普通二極管一樣;用萬用表電阻擋量一下紅外發(fā)光二極管的正、反向電阻即可。紅外發(fā)光二極管的發(fā)光效率要用專門的儀器才能精確測定,而業(yè)余條件下只能用拉鋸法來粗略判判定。 接收部分的紅外接收管是一種光敏二極管。在實際應用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應用時是反向運用,這樣才能獲得較高的靈敏度。紅外發(fā)光二極管一般有圓形和方形兩種。 由于紅外發(fā)光二極管的發(fā)射功率一般都較?。?100mW 左右),所以紅外接收二極管接收到的信號比較微弱,因 此就要增加高增益放大電路。常用 SM003BL9149 等紅外接收專用放大集成電路。 本設計通過 E18D80NKN 傳感器,連接單片機 P3~3 端口,當正常運行時輸入高電平,當檢測到障礙時輸入低電平。單片機檢測到低電平時先判斷小車是不是在運行狀態(tài),如果是運行狀態(tài)則通過程序執(zhí)行左轉,由于左轉比較復雜,在這里通過延時函數和左轉函數及停止函數連續(xù)調用,通過多次的測試下完成避障,電路圖如下: 圖 35 紅外傳感電路 紅外避障模塊程序如下: void Extern_Int1(void) interrupt 2 using 1 17 { if(voice_flag==1) //前進狀態(tài)下,檢測到障礙物 { LED=0。 Stop()。 //停止 delay_ms(1000)。 Turn_Left()。 //左轉 Stop()。 //停止 delay_ms(1000)。 } else if(voice_flag==0) Stop()。 //停止 } 注: voice_flag 是小車狀態(tài)的表示, 1 為前進, 0 為停止,通過聲控模塊控制。這里先要確保 voice_flag==1 才可能執(zhí)行左轉程序。 LED=P0~0 是小車運行指示燈。 直流電機驅動電路采用如下 H 型 PWH 電路,用單片機控制驅動電路,起始時程序初始化給 R_L、 R_R 都輸入高電平,電機不工作。當檢測到聲音信號時 R_R 端變?yōu)榈碗娖?,發(fā)動機正常工作。采用此電路的優(yōu)點是可以實現轉速和方向的控制,采用 PWH 進行直流電機調速,其實就是把波形作用于電機驅動電路的使用端。 整個電路是由電源模塊單獨供電,通過三級放大電路將單片機信號轉成高電壓,從而使發(fā)動機正常工作。要使電機正常運轉,必須導通對角 線上的一對場效應管,根據不同場效應管導通情況,電流可能從左至右或從右至左流過電機,從而控制電機的轉向。 18 圖 36 電機驅動電路圖 單片機最小系統(tǒng) 單片機最小系統(tǒng)由復位電路、晶振電路、數據采集接口和電機控制接口組成,單片機最小系統(tǒng)圖如圖所示。 所謂晶振電路即指單片機地時鐘電路。該電路通常有內部時鐘電路和外部時鐘電路。一般選用前者。單片機芯片內部有一個反相放大器構成的振蕩器。反相放大器的輸入端 XTAL1,輸出端為 XTAL2,把 XTAL1和 XTAL2與外部石英晶振及兩個電容連接起來可構成一個石英晶體振蕩如圖 34所示。時鐘發(fā)生器是一個 2分頻電路。它把晶體振蕩的頻率 2分頻后供給內其他電路。一般電容 C1和 C2起到穩(wěn)定振蕩頻率,快速起振的作用 ,本電路通過晶振提高了 12MHZ 的頻率。 單片機復位時 RESET 需要保持 96個晶振周期的高電平(即需八個機器周期)。復位以后 P0P3口輸出高電平,堆棧指針 SP 指向 07H,其他特殊功能寄存器和程序設計數器 PC清零。 本設計為上電復位電路, 19 圖 37 單片機電路 20 第四章 程序設計 軟件調試平臺 Keil for C51 是美國 Keil Software 公司出品的 C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。 Keil C51 軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 Keil for C51 生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的 優(yōu)勢。下面詳細介紹 Keil for C51 開發(fā)系統(tǒng)各部分功能和使用。 C51 開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的源程序要變?yōu)镃51可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。隨著 C51 開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil 軟件 除了致力于單片機的編程開發(fā)平臺外,還針對 目前最流行 C51 開發(fā)項目出品了 Keil for 51 軟件 平臺以及支持在線調試的串口燒寫。 從近年來各仿真機廠商紛紛宣布全面支 持 Keil 即可看出。 Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( uVision2)將這些部份組合在一起。 如圖 41 所示。 圖 41 Keil for 51 開發(fā)平臺截圖 21 開始 初始化 是否檢測到聲音信號 小車是否 在運行 是 停止運行 是 否 否 開始運行 是否檢測到紅外信號 否 左轉 小車是否 在運行 是 否 22 圖 42 程序邏輯流程圖 include include define uint unsigned int define uchar unsigned char sbit EYE =P1^0。 //紅外傳感器輸入口 sbit L_L =P1^5。 //左輪驅動口 sbit L_R =P1^1。 //左輪驅動口 sbit R_L =P3^6。 //右輪驅動口 sbit R_R =P3^7。 //右輪驅動口 sbit VOICE =P3^2。 //聲音檢測 sbit LED =P0^0。 //小車運行指示燈 uchar voice_flag=0。 uchar Int0_flag=0。 uchar Int0count=0。 ////////延時函數 ////////////// void delay_ms(unsigned int x) { unsigned int j。 unsigned char i。 for(j=0。jx。j++) { //voice_time=0。 23 for(i=0。i120。i++) {。} } } //////IO 口初始化 //////////// void IO_Init(void) { L_L=1。 L_R=1
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1