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

正文內(nèi)容

基于單片機(jī)c51智能車(chē)-在線瀏覽

2024-08-05 13:45本頁(yè)面
  

【正文】 紅線用來(lái)連接到電源上,而黑線則是接地線。圖26 左、右伺服電機(jī)驅(qū)動(dòng)電路圖P1_0引腳的控制輸出用來(lái)控制右的伺服電機(jī),而P1_1引腳的控制輸出則用來(lái)控制左邊的伺服電機(jī)。在所有這些實(shí)例中,觸覺(jué)開(kāi)關(guān)提供的輸入信息決定設(shè)備控制器的輸出,以采取相應(yīng)的動(dòng)作。胡須的硬件部件清單:(1)金屬絲2根。(3)13mm圓形立柱2個(gè)。(5)3pin公公接頭2個(gè)。(7)10kΩ電阻2個(gè)。圖27 胡須電路示意圖其中右面的胡須是通過(guò)P1_4引腳完成,左面的胡須是通過(guò)P2_3引腳完成。當(dāng)胡須沒(méi)有被觸動(dòng),連接胡須的I/O管腳的電壓是5V;當(dāng)胡須被觸動(dòng)時(shí),I/O短接到地,所以I/O管腳的電壓是0V。許多自動(dòng)化機(jī)械設(shè)備廣泛采用紅外線——一種頻率低于可見(jiàn)光的不可見(jiàn)光線進(jìn)行環(huán)境的探測(cè)和通信。紅外探測(cè)器(Infrared Detector)是將入射的紅外輻射信號(hào)轉(zhuǎn)變成電信號(hào)輸出的器件。要察覺(jué)這種輻射的存在并測(cè)量其強(qiáng)弱,必須把它轉(zhuǎn)變成可以察覺(jué)和測(cè)量的其他物理量。[4]許多智能車(chē)使用雷達(dá)(RADAR)或聲納(SONAR)來(lái)探測(cè)物體而不需要和物體接觸。在智能車(chē)上建立的紅外光探測(cè)物體系統(tǒng)在許多方面就象汽車(chē)的前燈系統(tǒng)。智能車(chē)使用紅外線二極管LED作為前燈,如圖28所示。智能車(chē)的大腦——單片機(jī)AT89S52基于這個(gè)傳感器的輸入控制伺服電機(jī)。[5]紅外檢測(cè)器還有一個(gè)電子濾波器。[6]這就防止了普通光源象太陽(yáng)光和室內(nèi)光對(duì)IR的干涉。由于120 kHz通帶頻率之外,它完全被IR探測(cè)器忽略。(2) 2個(gè)紅外檢測(cè)器。(4) 兩個(gè)9013三極管。圖29 左側(cè)和右側(cè)IR組原理圖這里加入三極管9013來(lái)使其工作狀態(tài)在開(kāi)關(guān)狀態(tài)。硬件中用到的9013是NPN型三極管。[7]在這個(gè)設(shè)計(jì)中,三極管相當(dāng)于一個(gè)開(kāi)關(guān):當(dāng)P1_3(P3_6)置高時(shí),從集電區(qū)經(jīng)基區(qū)到發(fā)射區(qū)電路導(dǎo)通,加載在IR LED上的電壓為VCC(5V),IR LED向外發(fā)射紅外線;當(dāng)P1_3(P3_6)置低時(shí),電路又?jǐn)嚅_(kāi),IR LED停止發(fā)射。AT89S52是一種低功耗,高性能CMOS 8位微控制器,具有8KB在系統(tǒng)可編程Flash存儲(chǔ)器。片上FLASH允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。[9]空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。它的引腳結(jié)構(gòu)圖如下所示。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。 P1口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。[11]作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)。MISO(在系統(tǒng)編程用)。P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。[12]作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。對(duì)P3端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。表22 P3端口引腳第二功能 端口第二功能RXD(串行輸入口)。INTO(外中斷0)。TO(定時(shí)/計(jì)數(shù)器0)。WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)。此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。 對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。 PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。 FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。TTL(TansistorTransistor Logic),是指三極管-三極管邏輯電路。它的邏輯“1”電平是5V,邏輯“0”電平是0V。它的邏輯“1”電平是5V-15V,邏輯“0”電平是+5V-+15V。圖211 PC機(jī)與單片機(jī)電平轉(zhuǎn)換示意圖為了完成PC機(jī)的RS232電平進(jìn)入單片機(jī)之前變成TTL電平;單片機(jī)的TTL電平進(jìn)入PC機(jī)之前變成RS232電平。MAX232芯片是美信公司專(zhuān)門(mén)為電腦的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。圖212 AT89S52引腳結(jié)構(gòu)示意圖MAX232芯片的引腳功能主要有以下三部分:第一部分是電荷泵電路。功能是產(chǎn)生+10v和10v兩個(gè)電源,提供給RS232串口電平的需要。由11114腳構(gòu)成兩個(gè)數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。 第三部分是供電。MAX232芯片的主要特點(diǎn)是:(1)符合所有的RS232技術(shù)標(biāo)準(zhǔn)。(3)片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和10V電壓V+、V(4)功耗低,典型供電電流5mA(5)內(nèi)部集成2個(gè)RS232C驅(qū)動(dòng)器和內(nèi)部集成2個(gè)RS232C接收器。圖213 串口通訊電路圖214 ISP下載接口根據(jù)設(shè)計(jì)需要,設(shè)計(jì)了AT89S52單片機(jī)最小系統(tǒng)電路圖,如下圖216所示。AT89S52內(nèi)部沒(méi)有晶振,需要外加晶振電路,按照程序要求,選用的晶振頻率為12MHZ,分別連接18和19號(hào)引腳。 3 軟件設(shè)計(jì)本設(shè)計(jì)采用單片機(jī)AT89S52通過(guò)程序控制來(lái)實(shí)現(xiàn)智能車(chē)紅外線避障、胡須避障和讓智能車(chē)自動(dòng)走一個(gè)“日”字的效果。當(dāng)小車(chē)在前進(jìn)的時(shí)候,左右兩面都碰到障礙時(shí),再向左轉(zhuǎn)兩次后繼續(xù)前進(jìn);當(dāng)左面遇到障礙時(shí),再向右轉(zhuǎn)一次后繼續(xù)前行;當(dāng)右面遇到障礙時(shí),再向左轉(zhuǎn)一次后繼續(xù)前行;沒(méi)遇到障礙時(shí),小車(chē)一直向前進(jìn)。利用編程來(lái)讓小車(chē)完成這個(gè)線路,開(kāi)始停3秒后,小車(chē)走完個(gè)“日”字,然后繼續(xù)這個(gè)循環(huán)。安裝Keil uVision2:(1)執(zhí)行 Keil uVision2安裝程序,選擇安裝Eval Version版進(jìn)行安裝。(3)將光盤(pán)“頭文件”文件夾中的文件拷貝到C:\Program Files\Keil\C51\INC文件夾里。通過(guò)用Project菜單中的New Project命令建立項(xiàng)目文件,過(guò)程如下:圖33 Keil uVision IDE的主界面(1)點(diǎn)擊 Project,會(huì)出現(xiàn)圖34所示的菜單畫(huà)面,然后選擇“New Project”,將出現(xiàn)圖35示對(duì)話框。(3)這里要求選擇芯片的類(lèi)型,Keil uVision2 IDE幾乎支持所有的51 核心單片機(jī),并以列表的形式給出。之后會(huì)出現(xiàn)圖38面,此時(shí)即得到了項(xiàng)目文件。Keil uVision2 支持C 語(yǔ)言程序。如果是建立好了的程序文件,則直接用后面的方法添加;如果是新建立的程序文件。圖39 C語(yǔ)言源文件保存對(duì)話框添加該文件到目標(biāo)工程項(xiàng)目了,其具體添加過(guò)程如下:(1)單擊圖 38的“+”,將出現(xiàn)圖310的列表;(2)然后右鍵點(diǎn)擊“Source Group 1”,在出現(xiàn)的菜單下選擇“Add File To Group“Source Group 1”, 出現(xiàn)Add Files to Group Source ‘Group1’對(duì)話框。一次可添加多個(gè)文件。 圖310 添加C語(yǔ)言文件到目標(biāo)工程 圖311 添加了C語(yǔ)言文件的目標(biāo)工程雙擊源文件即可顯示源文件的編輯界面。需要對(duì)目標(biāo)工程“Target1”進(jìn)行編譯設(shè)置,右鍵點(diǎn)擊“Target 1”,選擇“Option for target ‘Target 1’”。然后點(diǎn)擊Keil uVision IDE 快捷工具欄中的,Keil的C編譯器開(kāi)始根據(jù)要生成的目標(biāo)文件類(lèi)型對(duì)目標(biāo)工程項(xiàng)目中的C語(yǔ)言源文件進(jìn)行編譯。圖312 編譯過(guò)程的輸出提示信息圖313 設(shè)置目標(biāo)工程的編譯輸出文件類(lèi)型程序編譯正確后就要下載到單片機(jī)中。第一個(gè)為接口類(lèi)型選擇窗口,該窗口的下拉列表中提供了許多接口類(lèi)型:串口COM1~COM1并口LPT1~LPT3以及USB接口等。第二個(gè)為下載速度選擇窗口,該窗口內(nèi)容與接口類(lèi)型緊密相連。像這里選擇LPT1,則提供了五種下載速度:TURBO 模式、FAST模式、NORMAL模式、SLOW模式和TURBO SLOW模式。這里所使用的是第一個(gè)模式TURBO模式,下載速度最快。點(diǎn)擊“Flash”,選擇要下載的可執(zhí)行HEX文件——,選擇后點(diǎn)擊編程開(kāi)始下載。如果芯片是第二次下載程序,需要先選中“擦除”復(fù)選框。單片機(jī)AT89S52 擁有1個(gè)串行通信接口。[16]單片機(jī)AT89S52大部分端口都有第2功能,串口就用到了端口的第2功能。AT89S52串口支持雙全工模式(同時(shí)收發(fā)),并具有接收緩沖功能,即在接收第2個(gè)字符時(shí),將先前接收到的第1個(gè)字符保存在緩沖區(qū)中,只要CPU在第2個(gè)字符接收完成之前讀取了第1個(gè)字符,數(shù)據(jù)就不會(huì)丟失。串口緩沖寄存器SBUF實(shí)際上是2個(gè)寄存器。[17]兩個(gè)操作分別對(duì)應(yīng)于兩個(gè)不同的寄存器,見(jiàn)圖315。控制位決定串口的工作模式,狀態(tài)位代表數(shù)據(jù)發(fā)送和接收結(jié)束后的狀態(tài)。[18]串口的工作頻率,即波特率,可以是固定的,也可以是變化的。波特率是一個(gè)衡量通信速度的參數(shù)。例如波特率9600表示每秒鐘發(fā)送9600個(gè)bit。表31串口工作模式選擇SM0SM1模式描述波特率000移位寄存器1/12fosc0118位UART可變(由定時(shí)器1決定)1029位UART1/64(1/32)fosc1139位UART可變(由定時(shí)器1決定)在SCON模式1下,波特率按如下公式計(jì)算: 波特率=(2SMOD/32)*(fosc/12)*[1/(2K初值)] (31)在SCON模式1下,K=8。初值是指定時(shí)器/計(jì)數(shù)器初值的計(jì)算,即定時(shí)/計(jì)數(shù)器是在計(jì)數(shù)初值的基礎(chǔ)上加法記數(shù)的,假設(shè)Tn(TLn和THn)中寫(xiě)入的值為T(mén)C,在該模式下最大計(jì)數(shù)值為2n,程序運(yùn)行的計(jì)數(shù)值為CCTC=2nCC每個(gè)定時(shí)/計(jì)數(shù)器都有一個(gè)16位的寄存器Tn(n=0或1)來(lái)控制計(jì)數(shù)長(zhǎng)度,由高8位THn和低8位TLn置初值。模式0:定時(shí)/計(jì)數(shù)器按13位自加1計(jì)數(shù)器工作。模式1:定時(shí)/計(jì)數(shù)器按16位自加1計(jì)數(shù)器工作。這種模式使用起來(lái)非常方便,一旦設(shè)置好TMOD和THn,定時(shí)器就可以按設(shè)定好的周期溢出。定時(shí)器1在模式3下不工作。模式2最大計(jì)數(shù)值為256us(28),滿(mǎn)足要求,因此用模式2來(lái)顯示LED燈閃爍功能。本設(shè)計(jì)是在SCON模式1方式下和定時(shí)器在工作模式2下進(jìn)行通訊, 的頭文件,以便智能車(chē)控制程序可以方便地調(diào)用。 //發(fā)送緩沖區(qū)起始索引unsigned char oend。 //發(fā)送緩沖區(qū)存儲(chǔ)數(shù)組define ILEN 8 //串行接收緩沖區(qū)大小unsigned char istart。 //接收緩沖區(qū)結(jié)束索引char idata inbuf[ILEN]。 //發(fā)送緩沖區(qū)滿(mǎn)標(biāo)志bit bdata sendactive。 if(RI) //接收中斷 { c=SBUF。 //清接收中斷請(qǐng)求標(biāo)志 if(istart+ILEN!=iend) { inbuf[iend++amp。 //緩沖區(qū)接收數(shù)據(jù) } } //發(fā)送數(shù)據(jù)中斷 if(TI) { TI=0。(OLEN1)]。 //設(shè)置緩沖區(qū)滿(mǎn)標(biāo)志位 } else { sendactive=0。 //直接發(fā)送一個(gè)字符 SBUF=c。 //暫時(shí)串行口關(guān)閉中斷 outbuf[oend++am
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1