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

正文內(nèi)容

基于51單片機的紅外遙控小車-在線瀏覽

2024-07-11 08:56本頁面
  

【正文】 流電機也能夠正常使用。用78/79系列三端穩(wěn)壓IC來組成穩(wěn)壓電源所需的外圍元件極少電路內(nèi)部還有過流、過熱及調(diào)整管的保護電路使用起來可靠、方便而且價格便宜。而在實際電路設(shè)計上我做了一點改變下面就是我的電路設(shè)計,如圖6圖6穩(wěn)壓電路設(shè)計 軟件設(shè)計本系統(tǒng)的軟件用C語言編寫,分為主程序,外部中斷解碼子程序、自動駕駛子程序、手動駕駛子程序、定時器1中斷調(diào)速子程序等。解碼子程序、主程序如圖圖5所示。當(dāng)紅外遙控器按中間時,小車停止。如圖7。調(diào)制解調(diào)信號,采用輸入一個時鐘脈沖信號,用一個38kHz的載波信號進行調(diào)制,有38kHz的為低電平,無38kHz的為高電平,最后輸出的波形為如圖8所示。在該系統(tǒng)中首先通過了仔細地推敲系統(tǒng)原理確認無誤,其次對照設(shè)計圖紙查印制電路板,看是否有粘接等工藝現(xiàn)象。 在本系統(tǒng)的硬件調(diào)試過程中,出現(xiàn)了下列三種情況 :電壓不穩(wěn)定而導(dǎo)致程序無法寫入的情況,使電壓穩(wěn)定的方法是改用新的電池,或者是再次設(shè)計電源方案,在這里是用電源接通教學(xué)實驗板,然后再把教學(xué)實驗板與本系統(tǒng)相連接這樣,就可以得到穩(wěn)定的電壓了。 小車在一切都正常的情況下,不能夠啟動。之后就需充電,才能使小車運行。 圖9測試事物圖 系統(tǒng)硬件調(diào)試和測試本系統(tǒng)在軟件調(diào)試方面也沒有規(guī)律可循,調(diào)試時更多的是憑經(jīng)驗。通過在Keil編譯器下調(diào)試程序,有兩種錯誤,一種邏輯錯誤,也就是語法錯誤,是很容易被發(fā)現(xiàn)的,另一種是功能錯誤,是指在沒有語法錯誤的基礎(chǔ)上,由于設(shè)計思想或算法的問題導(dǎo)致不能實現(xiàn)軟件功能的一種錯誤。之后通過對C程序做多次的改動與測試才達到理想的結(jié)果??隙ㄊ窃诔绦虻木幾g上出現(xiàn)了問題,通過仔細的檢查,找到的問題并且順利的解決,往往小小的一個符號或者字母大小寫問題就可以完全改變小車的一些性能,而且檢查起來不是非常的方便。數(shù)字萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止/導(dǎo)通狀態(tài)等參數(shù)秒表主要用于測試達到最大距離所用的時間,算出速度,就可以間接知道紅外線路接受,發(fā)射電路的情況。 測試數(shù)據(jù)及測試結(jié)果分析: 表1小車測試結(jié)果 在達到這些任務(wù)功能的同時發(fā)現(xiàn)小車可以在一定范圍內(nèi)實現(xiàn)遙控到達想要到的位置。 5 總結(jié)經(jīng)實踐表明,本文所設(shè)計的紅外線遙控小車運行穩(wěn)定、遙控靈敏、占用系統(tǒng)硬件資源少。對于AT89C52單片機有了進一步的了解——定時器與中斷的應(yīng)用等、對于一體化紅外接收頭1838的應(yīng)用有了初步的認識——紅外接收的頻率范圍與工作方式、對于L298的引腳關(guān)系與應(yīng)用方法有了進一步的了解——能給電機提供穩(wěn)定的工作狀態(tài)且能很有效的控制電機的各種轉(zhuǎn)動狀態(tài)。參考文獻:[1] 陳權(quán)昌,[M].廣州:華南理工大學(xué)出版社,2007[2] 孫育才、王榮興、[M].北京:清華大學(xué)出版社, 2005 [3] 郝建國,[M].北京:清華大學(xué)出版社,2006 [4] 余家春. Protel99SE電路設(shè)計實用教程[M].北京:中國鐵道出版社,2003[5] [M].武漢:華中科技大學(xué)出版社,2000[6] [M]. 北京:機械工業(yè)出版社, [7] 數(shù)字部分(第四版)[M].武漢:高等教育出版社,2008 [8] 張毅坤,陳善久,[M].西安:西安電子科技大學(xué)出版社,2000 附照片附近A:紅外線遙控小車原理圖附件B:紅外線遙控小車原理圖附件C:紅外線遙控小車實物圖附件D:紅外線遙控小車程序includeincludeinclude////////////////////////////////////////////////define TURE 1define FALSE 0////////////////////////////////////////////////sbit IR=P3^2。sbit LCD_RW = P2^1。sbit IN1 = P2^4。sbit IN3 = P3^7。sbit ENA = P3^3。sbit LED=P1^0。 //0:ONdefine Data P0 //數(shù)據(jù)端口//define PWM 3define PWM_max 10 unsigned int hour,minute,second,count,one。unsigned char PWM=3。char data TimeNum[]= 。//char data Test2[]= 。///////////////////////////////////////////unsigned char irtime。unsigned char IRcord[4]。void ShowString (unsigned char line,char *ptr)。void Ir_work(void)。////////////////////////////////////////////////////////////////// void tim0_isr (void) interrupt 1 using 1//定時器0中斷服務(wù)函數(shù){ irtime++。 static bit startflag。amp。 irdata[i]=irtime。 i++。 i=0。startflag=1。//定時器0工作方式2,TH0是重裝值,TL0是初值 , TH0=0x00。//initial value ET0=1。}void TIME1init(void)//定時器1初始化 { TMOD=0x12。 TL1=(65536100)%256。 EA=1。 // Configure interrupt 0 for falling edge on /INT0 () EX0 = 1。 }/****************************************************************//******************************************************************/ void Ir_work(void)//紅外鍵值散轉(zhuǎn)程序 { //1:0D 0D 00 FF 2:0D 0D 01 FE 3:0D 0D 02 FD TimeNum[5] = Tab[IRcord[0]/16]。 TimeNum[7] = 39。 TimeNum[8] = Tab[IRcord[1]/16]。 TimeNum[10] = 39。 TimeNum[11] = Tab[IRcord[2]/16]。 TimeNum[13] = 39。 TimeNum[14] = Tab[IRcord[3]/16]。// ShowString(1,TimeNum)。 irpro_ok=0。amp。 unsigned char cord,value。 for(i=0。i++)//處理4個字節(jié) { for(j=1。j++) //處理1個字節(jié)8位 { cord=irdata[k]。 } else { value=value。 } k++。 value=0。//處理完畢標(biāo)志位置1
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1