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

正文內(nèi)容

基于單片機(jī)的自動(dòng)尋跡小車論文(編輯修改稿)

2025-07-19 01:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 操作也是簡(jiǎn)介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。看門狗定時(shí)器WDT是一種需要軟件控制的復(fù)位方式。WDT 由13位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。WDT 在默認(rèn)情況下無(wú)法工作;為了激活WDT,用戶必須往WDTRST 寄存器(地址:0A6H)中依次寫入01EH 和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個(gè)機(jī)器周期都會(huì)增加。WDT計(jì)時(shí)周期依賴于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒(méi)有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高電平輸出。 WDT的使用為了激活WDT,用戶必須向WDTRST寄存器(地址為0A6H的SFR)依次寫入0E1H和0E1H。當(dāng)WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來(lái)避免WDT溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、WDT激活后,每一個(gè)機(jī)器周期WDT 都會(huì)增加。為了復(fù)位WDT,用戶必須向WDTRST 寫入01EH 和0E1H(WDTRST 是只讀寄存器)。WDT 計(jì)數(shù)器不能讀或?qū)憽?當(dāng)WDT 計(jì)數(shù)器溢出時(shí),將給RST 引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間內(nèi)周期性寫入那部分代碼,以避免WDT復(fù)位。 掉電和空閑方式下的 WDT在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開(kāi)掉電模式:硬件復(fù)位或通過(guò)一個(gè)激活的外部中斷。通過(guò)硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT 喂狗,就如同通常AT89S52 復(fù)位一樣。 通過(guò)中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT 直到中斷拉低后才開(kāi)始工作。這就意味著WDT 應(yīng)該在中斷服務(wù)程序中復(fù)位。 為了確保在離開(kāi)掉電模式最初的幾個(gè)狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。 在進(jìn)入待機(jī)模式前,特殊寄存器AUXR的WDIDLE位用來(lái)決定WDT是否繼續(xù)計(jì)數(shù)。 默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE=0,WDT繼續(xù)計(jì)數(shù)。為了防止WDT在待機(jī)模式下復(fù)位AT89S52,用戶應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開(kāi)待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。 UART在AT89S52 中,UART 的操作與AT89C51 和AT89C52 一樣。為了獲得更深入的關(guān)于UART 的信息,選擇“Products”,然后選擇“8051Architech Flash Microcontroller”,再選擇“ProductOverview”即可。 定時(shí)器 0 和定時(shí)器1在AT89S52 中,定時(shí)器0 和定時(shí)器1 的操作與AT89C51 和AT89C52 一樣。為了獲得更深入的關(guān)于UART 的信息,選擇“Products”,然后選擇“8051Architech Flash Microcontroller”,再選擇“ProductOverview”即可。 定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時(shí)器2有三種工作模式: 捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3 所示,工作模式由T2CON中的相關(guān)位選擇。定時(shí)器2 有2 個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12 個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。捕捉方式在捕捉模式下,通過(guò)T2CON中的EXEN2來(lái)選擇兩種方式。如果EXEN2=0,定時(shí)器2時(shí)一個(gè)16位定時(shí)/計(jì)數(shù)器,溢出時(shí),對(duì)T2CON 的TF2標(biāo)志置位,TF2引起中斷。如果EXEN2=1,定時(shí)器2做相同的操作。除上述功能外,外部輸入T2EX引腳()1至0的下跳變也會(huì)使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX 的跳變會(huì)引起T2CON 中的EXF2 置位。像TF2 一樣,T2EX 也會(huì)引起中斷。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2 發(fā)生1 至0 的下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1 期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別1-0的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。 自動(dòng)重載當(dāng)定時(shí)器2 工作于16 位自動(dòng)重載模式,可對(duì)其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過(guò)特殊寄存器T2MOD中的DCEN(向下計(jì)數(shù)允許位)來(lái)實(shí)現(xiàn)。通過(guò)復(fù)位,DCEN 被置為0,因此,定時(shí)器2 默認(rèn)為向上計(jì)數(shù)。DCEN 設(shè)置后,定時(shí)器2就可以取決于T2EX向上、向下計(jì)數(shù)。 DCEN=0 時(shí),定時(shí)器2 自動(dòng)計(jì)數(shù)。通過(guò)T2CON 中的EXEN2 位可以選擇兩種方式。如果EXEN2=0,定時(shí)器2計(jì)數(shù),計(jì)到0FFFFH后置位TF2溢出標(biāo)志。計(jì)數(shù)溢出也使得定時(shí)器寄存器重新從RCAP2H 和RCAP2L 中加載16 位值。定時(shí)器工作于捕捉模式,RCAP2H和RCAP2L的值可以由軟件預(yù)設(shè)。如果EXEN2=1,計(jì)數(shù)溢出或在外部T2EX()引腳上的1到0的下跳變都會(huì)觸發(fā)16位重載。這個(gè)跳變也置位EXF2中斷標(biāo)志位。 T2EX 上的一個(gè)邏輯0 使得定時(shí)器2 向下計(jì)數(shù)。當(dāng)TH2 和TL2 分別等于RCAP2H 和RCAP2L中的值的時(shí)候,計(jì)數(shù)器下溢。計(jì)數(shù)器下溢,置位TF2,并將0FFFFH加載到定時(shí)器存儲(chǔ)器中。置位DCEN,允許定時(shí)器2向上或向下計(jì)數(shù)。在這種模式下,T2EX引腳控制著計(jì)數(shù)的方向。T2EX上的一個(gè)邏輯1使得定時(shí)器2向上計(jì)數(shù)。定時(shí)器計(jì)到0FFFFH溢出,并置位TF2。定時(shí)器的溢出也使得RCAP2H和RCAP2L中的16位值分別加載到定時(shí)器存儲(chǔ)器TH2和TL2中。 定時(shí)器2上溢或下溢,外部中斷標(biāo)志位EXF2 被鎖死。在這種工作模式下,EXF2不能觸發(fā)中斷。T2MOD 地址:0C9H 復(fù)位值:XXXXXX00B不可位尋址。中斷AT89S52 有6個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、2)和一個(gè)串行中斷。這些中斷如圖10所示每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。 如表5所示。對(duì)于AT89S52。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。 定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。 定時(shí)器0和定時(shí)器1標(biāo)志位TF0 和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來(lái)。然而,定時(shí)器2 的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來(lái)。 紅外線傳感器紅外線傳感器采用反射接收原理。一個(gè)紅外線傳感器配置了一個(gè)紅外線發(fā)接受器、一個(gè)紅外線接受器及其上拉電阻。紅外線發(fā)射器通電后不斷會(huì)發(fā)射一定強(qiáng)度的紅外線照射物體。紅外線接收器在接受到一定強(qiáng)度的紅外線會(huì)后導(dǎo)通。如圖通過(guò)在紅外線的正極接出一個(gè)信號(hào)來(lái)觀察紅外線接收器是否導(dǎo)通。當(dāng)紅外線接收器導(dǎo)通時(shí),輸出信號(hào)為0;反之則為1。紅外線在不同顏色的物體上反射程度是不同的,當(dāng)紅外線傳感器在黑色物體時(shí),黑色物體吸收大量紅外線,反射少量紅外線,紅外線接收其不足以導(dǎo)通,輸出信號(hào)為1。當(dāng)紅外線傳感器在白色物體上時(shí),白色物體吸收的紅外線少,反射的紅外線少,紅外線接收器導(dǎo)通,輸出信號(hào)為0。因此本設(shè)計(jì)采用紅外線傳感器模塊與有黑線的路面組合使用。 模塊介紹 車頭傳感器模塊本系統(tǒng)共設(shè)計(jì)三個(gè)紅外線傳感器固定在底盤前沿,貼近地面,分別放置在電動(dòng)車車頭的正前方、左下方和右下方兩。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,光線經(jīng)白紙反射后被接收管接收,輸出高電平信號(hào);電動(dòng)車經(jīng)過(guò)黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號(hào)。正前方的傳感器用于檢測(cè)障礙物。 電動(dòng)小車模塊電動(dòng)小車由兩個(gè)直流電機(jī)與其驅(qū)動(dòng)芯片組成。一左一右位于小車前端兩邊。電機(jī)通過(guò)齒輪組帶動(dòng)輪胎。后端是用于平衡的輪胎。 電動(dòng)小車模塊 控制模塊時(shí)鐘電路AT89S52雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外部附加電路。AT89S52單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種。內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩電路,在XTALXTAL2引腳上外接定時(shí)元件,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計(jì)采用最常用的內(nèi)部時(shí)鐘方式,即用外接晶體和電容組成的并聯(lián)諧振回路。電容值無(wú)嚴(yán)格要求,CXCX2可在20pF到100pF之間取值。所以本設(shè)計(jì)中,電容選擇30pF。復(fù)位電路AT89S52的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳RST通過(guò)在每個(gè)機(jī)器周期的對(duì)復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。,R取10KΩ。本設(shè)計(jì)就是用就是最簡(jiǎn)單的上電復(fù)位。 控制器模塊 整體方案小車的尋跡原理是當(dāng)左側(cè)傳感器在黑線上時(shí),傳感器輸出高電平,在白色地板上時(shí)輸出低電平。當(dāng)正前方傳感器檢測(cè)出小車前方有物體阻擋時(shí),單片機(jī)控制小車行動(dòng)。當(dāng)左右傳感器都在黑線上時(shí),單片機(jī)控制左右電機(jī)同時(shí)一同速度正向轉(zhuǎn)動(dòng),小車向前行駛。當(dāng)左側(cè)傳感器在黑線外,右側(cè)傳感器在黑線上,單片機(jī)控制右側(cè)的電機(jī)停止(或反向轉(zhuǎn)動(dòng)),左側(cè)的電機(jī)正向轉(zhuǎn)動(dòng)(或停止)來(lái)控制小車向右轉(zhuǎn)。當(dāng)右側(cè)傳感器在黑線外,左側(cè)傳感器在黑線上,單片機(jī)控制左側(cè)的電機(jī)停止(或反向轉(zhuǎn)動(dòng)),右側(cè)的電機(jī)正向轉(zhuǎn)動(dòng)(或停止)來(lái)控制小車向左轉(zhuǎn)。從而來(lái)實(shí)現(xiàn)小車的自動(dòng)尋跡。當(dāng)正前方的有物體阻擋時(shí),單片機(jī)控制小車停下來(lái)。 小車整體示意圖3 軟件設(shè)計(jì) 程序設(shè)計(jì)程序要的任務(wù)是,讓單片機(jī)查詢傳感器模塊發(fā)出的路面信號(hào),根據(jù)信號(hào)作出反應(yīng),控制電動(dòng)機(jī)工作實(shí)現(xiàn)自動(dòng)尋跡。初始化前方是否有障礙物是否檢測(cè)到黑線是否偏離黑線行駛停 車停 車NN轉(zhuǎn)向子程序 NYYYN 程序流程圖 程序的模塊化設(shè)計(jì)在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作就是如何根據(jù)每個(gè)生產(chǎn)對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。為了完成要求設(shè)計(jì),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過(guò)程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)質(zhì)上就是所完成一定功能,相對(duì)獨(dú)立的程序段,這種程序設(shè)計(jì)方法叫模塊程序設(shè)計(jì)法。模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:?jiǎn)蝹€(gè)模塊比起一個(gè)完整的程序易編寫及調(diào)試;模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑延時(shí)子程序﹑轉(zhuǎn)向子程序構(gòu)成。具體程序見(jiàn)附錄1。 部分程序設(shè)計(jì)延時(shí)子程序。制作一個(gè)延時(shí)子程序,讓指令執(zhí)行足夠長(zhǎng)的時(shí)間。Void Delay(){ Unsigned Int DelayTime=50000。 while(DelayTime)。 return。}轉(zhuǎn)向子程序。void ControlCar(unsigned char C
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1