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

正文內容

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

2025-02-14 14:52 本頁面
 

【文章內容簡介】 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ā)動機正常工作。要使電機正常運轉,必須導通對角線上的一對場效應管,根據不同場效應管導通情況,電流可能從左至右或從右至左流過電機,從而控制電機的轉向。 圖36 電機驅動電路圖單片機最小系統(tǒng)由復位電路、晶振電路、數據采集接口和電機控制接口組成,單片機最小系統(tǒng)圖如圖所示。所謂晶振電路即指單片機地時鐘電路。該電路通常有內部時鐘電路和外部時鐘電路。一般選用前者。單片機芯片內部有一個反相放大器構成的振蕩器。反相放大器的輸入端XTAL1,輸出端為XTAL2,把XTAL1和XTAL2與外部石英晶振及兩個電容連接起來可構成一個石英晶體振蕩如圖34所示。時鐘發(fā)生器是一個2分頻電路。它把晶體振蕩的頻率2分頻后供給內其他電路。一般電容C1和C2起到穩(wěn)定振蕩頻率,快速起振的作用,本電路通過晶振提高了12MHZ的頻率。單片機復位時RESET需要保持96個晶振周期的高電平(即需八個機器周期)。復位以后P0P3口輸出高電平,堆棧指針SP指向07H,其他特殊功能寄存器和程序設計數器PC清零。 本設計為上電復位電路, 圖37 單片機電路第四章 程序設計 軟件調試平臺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ā)平臺截圖開始初始化否是否檢測到聲音信號是否小車是否在運行是開始運行停止運行否是否檢測到紅外信號否小車是否在運行是左轉圖42 程序邏輯流程圖includeincludedefine uint unsigned intdefine uchar unsigned charsbit 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。 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。//開總中斷}/////////定時器T0初始化//////////////////void T0_Init(void){ EA =1。 //允許CPU中斷 ET0 = 1。 //定時器0中斷打開 TMOD =0x1。 //設定時器0為方式1 TH0= 0xFE。 TL0= 0x0B。 //設定時值為500 us TR0 = 1。 //開始定時}/////////停止///////////////void Stop(void){ L_L=1。 L_R=1。 R_L=1。 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)。}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()。 //前進 } else if(voice_flag==0) { Stop()。 //停止 LED=1。 } } }void Extern_Int0(void) interrupt 0 using 0{ if(Int0_flag==0) { voice_flag=!voice_flag。 //檢測到一次聲音信號,狀態(tài)取反一次 Int0_flag=1。 } }void Extern_Int1(void) interrupt 2 using 1{ if(voice_flag==1) //前進狀態(tài)下,檢測到障礙物 { LED=0。 Stop()。 //停止 delay_ms(1000)。 Turn_Left()。 //左轉 Stop()。 //停止 delay_ms(1000)。 } else if(voice_flag==0) Stop()。 //停止}void Time0(void) interrupt 1 using 2{ uchar i。 TH0=0xFE。 //500US 斷點 (1) TL0=0x0B。 //設定時值 Int0count++。 if((voice_flag==1)amp。amp。(Int0count%2==0)) { for(i=0。i3。i++) //右輪停轉 用于修正兩電機速度不匹配問題 { R_L=0。 } R_L=1。 } if((voice_flag==1)amp。amp。(Int0count%10==0)) { for(i=0。i6。i++) //左輪停轉 用于修正兩電機速度不匹配問題 { L_L=0。 } L_L=1。 } if(Int0count100) //500usx100=50ms { Int0count=0。 Int0_flag=0。 }}第5章 調試 Protel99SE簡介Protel99SE[14]是澳大利亞ProtelTechnology公司推出的一個全32位的電路板設計軟件。Protel99SE是應用于Windows9X/2000/NT操作系統(tǒng)下的EDA設計軟件,采用設計庫管理模式,可以進行聯網設計,具有很強的數據交換能力和開放性及3D模擬功能,可以完成電路原理圖設計,印制電路板設計和可編程邏輯器件設計等工作,可以設計32個信號層,16個電源地層和16個機加工層。Protel99SE按照系統(tǒng)功能來劃分,Protel99se主要包含以下倆大部分和6個功能模塊。 1. 電路工程設計部分(1)電路原理設計部分(Advanced Schematic 99):電路原理圖設計部分包括電路圖編輯器(簡稱SCH編輯器)、電路圖零件庫編輯器(簡稱Schlib編輯器)和各種文本編輯器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路原理圖;更新和修改電路圖零件庫;查看和編輯有關電路圖和零件庫的各種報表。 (2)印刷電路板設計系統(tǒng)(Advanced PCB 99):印刷電路板設計系統(tǒng)包括印刷電路板編輯器(簡稱PCB編輯器)、零件封裝編輯器(簡稱PCBLib編輯器)和電路板組件管理器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路板;更新和修改零件封裝;管理電路板組件。(3)自動布線系統(tǒng)(Advanced Route 99):本系統(tǒng)包含一個基于形狀(Shapebased)的無柵格自動布線器,用于印刷電路板的自動布線,以實現PCB設計的自動化。2. 電路仿真與PLD部分(1)電路模擬仿真系統(tǒng)(Advanced SIM 99):電路模擬仿真系統(tǒng)包含一個數字/模擬信號仿真器,可提供連續(xù)的數字信號和模擬信號,以便對電路原理圖進行信號模擬仿真,從而驗證其正確性和可行性。 (2)可編程邏輯設計系統(tǒng)(Advanced PLD 99):可編程邏輯設計系統(tǒng)包含一個有語法功能的文本編輯器和一個波形編輯器(Waveform)。本系統(tǒng)的主要功能是;對邏輯電路進行分析、綜合;觀察信號的波形。利用PLD系統(tǒng)可以最大限度的精簡邏輯部件,使數字電路設計達到最簡化。 (3)高級信號完整性分析系統(tǒng)(Advanced Integrity 99):信
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1