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

正文內(nèi)容

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

2025-07-09 09:21 本頁(yè)面
 

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