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

正文內(nèi)容

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

2025-02-14 14:52 本頁面
 

【文章內(nèi)容簡介】 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)檢測到聲音信號(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ì)場效應(yīng)管,根據(jù)不同場效應(yīng)管導(dǎo)通情況,電流可能從左至右或從右至左流過電機(jī),從而控制電機(jī)的轉(zhuǎn)向。 圖36 電機(jī)驅(qū)動(dò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ù)位電路, 圖37 單片機(jī)電路第四章 程序設(shè)計(jì) 軟件調(diào)試平臺(tái)Keil for C51是美國Keil Software公司出品的C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil for C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。下面詳細(xì)介紹Keil for C51開發(fā)系統(tǒng)各部分功能和使用。C51開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的源程序要變?yōu)镃51可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。隨著C51開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(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編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision2)將這些部份組合在一起。如圖41所示。圖41 Keil for 51 開發(fā)平臺(tái)截圖開始初始化否是否檢測到聲音信號(hào)是否小車是否在運(yùn)行是開始運(yùn)行停止運(yùn)行否是否檢測到紅外信號(hào)否小車是否在運(yùn)行是左轉(zhuǎn)圖42 程序邏輯流程圖includeincludedefine uint unsigned intdefine uchar unsigned charsbit 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。 //聲音檢測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。 for(i=0。i120。i++) {。} } }//////IO口初始化////////////void IO_Init(void){ L_L=1。 L_R=1。 R_L=1。 R_R=1。}//////////外中斷INT0,INT1,配置/////////////void Interrupt_Init(void){ EX0=1。//INT0中斷允許 IT0=1。//INT0下降沿觸發(fā) EX1=1。//INT1中斷允許 IT1=0。//INT1低電平觸發(fā) EA=1。//開總中斷}/////////定時(shí)器T0初始化//////////////////void T0_Init(void){ EA =1。 //允許CPU中斷 ET0 = 1。 //定時(shí)器0中斷打開 TMOD =0x1。 //設(shè)定時(shí)器0為方式1 TH0= 0xFE。 TL0= 0x0B。 //設(shè)定時(shí)值為500 us TR0 = 1。 //開始定時(shí)}/////////停止///////////////void Stop(void){ L_L=1。 L_R=1。 R_L=1。 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)。}void main(void){ IO_Init()。 //IO口初始化 Interrupt_Init()。 //外中斷配置 T0_Init()。 //T0中斷配置 while(1) {// if(Int0count=40) //500usx40=20ms 聲音檢測消抖// {// Int0count=0。// Int0_flag=0。// } if(voice_flag==1) { LED=0。 Forword()。 //前進(jìn) } else if(voice_flag==0) { Stop()。 //停止 LED=1。 } } }void Extern_Int0(void) interrupt 0 using 0{ if(Int0_flag==0) { voice_flag=!voice_flag。 //檢測到一次聲音信號(hào),狀態(tài)取反一次 Int0_flag=1。 } }void Extern_Int1(void) interrupt 2 using 1{ if(voice_flag==1) //前進(jìn)狀態(tài)下,檢測到障礙物 { LED=0。 Stop()。 //停止 delay_ms(1000)。 Turn_Left()。 //左轉(zhuǎn) Stop()。 //停止 delay_ms(1000)。 } else if(voice_flag==0) Stop()。 //停止}void Time0(void) interrupt 1 using 2{ uchar i。 TH0=0xFE。 //500US 斷點(diǎn) (1) TL0=0x0B。 //設(shè)定時(shí)值 Int0count++。 if((voice_flag==1)amp。amp。(Int0count%2==0)) { for(i=0。i3。i++) //右輪停轉(zhuǎn) 用于修正兩電機(jī)速度不匹配問題 { R_L=0。 } R_L=1。 } if((voice_flag==1)amp。amp。(Int0count%10==0)) { for(i=0。i6。i++) //左輪停轉(zhuǎn) 用于修正兩電機(jī)速度不匹配問題 { L_L=0。 } L_L=1。 } if(Int0count100) //500usx100=50ms { Int0count=0。 Int0_flag=0。 }}第5章 調(diào)試 Protel99SE簡介Protel99SE[14]是澳大利亞ProtelTechnology公司推出的一個(gè)全32位的電路板設(shè)計(jì)軟件。Protel99SE是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計(jì)軟件,采用設(shè)計(jì)庫管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能,可以完成電路原理圖設(shè)計(jì),印制電路板設(shè)計(jì)和可編程邏輯器件設(shè)計(jì)等工作,可以設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源地層和16個(gè)機(jī)加工層。Protel99SE按照系統(tǒng)功能來劃分,Protel99se主要包含以下倆大部分和6個(gè)功能模塊。 1. 電路工程設(shè)計(jì)部分(1)電路原理設(shè)計(jì)部分(Advanced Schematic 99):電路原理圖設(shè)計(jì)部分包括電路圖編輯器(簡稱SCH編輯器)、電路圖零件庫編輯器(簡稱Schlib編輯器)和各種文本編輯器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路原理圖;更新和修改電路圖零件庫;查看和編輯有關(guān)電路圖和零件庫的各種報(bào)表。 (2)印刷電路板設(shè)計(jì)系統(tǒng)(Advanced PCB 99):印刷電路板設(shè)計(jì)系統(tǒng)包括印刷電路板編輯器(簡稱PCB編輯器)、零件封裝編輯器(簡稱PCBLib編輯器)和電路板組件管理器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路板;更新和修改零件封裝;管理電路板組件。(3)自動(dòng)布線系統(tǒng)(Advanced Route 99):本系統(tǒng)包含一個(gè)基于形狀(Shapebased)的無柵格自動(dòng)布線器,用于印刷電路板的自動(dòng)布線,以實(shí)現(xiàn)PCB設(shè)計(jì)的自動(dòng)化。2. 電路仿真與PLD部分(1)電路模擬仿真系統(tǒng)(Advanced SIM 99):電路模擬仿真系統(tǒng)包含一個(gè)數(shù)字/模擬信號(hào)仿真器,可提供連續(xù)的數(shù)字信號(hào)和模擬信號(hào),以便對(duì)電路原理圖進(jìn)行信號(hào)模擬仿真,從而驗(yàn)證其正確性和可行性。 (2)可編程邏輯設(shè)計(jì)系統(tǒng)(Advanced PLD 99):可編程邏輯設(shè)計(jì)系統(tǒng)包含一個(gè)有語法功能的文本編輯器和一個(gè)波形編輯器(Waveform)。本系統(tǒng)的主要功能是;對(duì)邏輯電路進(jìn)行分析、綜合;觀察信號(hào)的波形。利用PLD系統(tǒng)可以最大限度的精簡邏輯部件,使數(shù)字電路設(shè)計(jì)達(dá)到最簡化。 (3)高級(jí)信號(hào)完整性分析系統(tǒng)(Advanced Integrity 99):信
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1