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

正文內(nèi)容

基于單片機的紅外遙控系統(tǒng)設計畢業(yè)設計-在線瀏覽

2024-08-02 16:05本頁面
  

【正文】 示。22k是上拉電阻,100歐是限流電阻。信號輸出端OUT端接到解碼芯片的INT0口。1838的OUT管腳接到STC12C2052的INT0端,1838將紅外信號送到解碼芯片中去解碼。雙機通訊,主機和從機的波特率均是設定為9600bps。波特率 = (2SMOD/32) * 定時器T1的溢出率[1] 定時器T1的溢出率 = T1計數(shù)率/產(chǎn)生溢出所需的周期數(shù) = (fosc / 12)/ (2k TC) K 定時器T1的位數(shù) TC定時器T1的預置初值SMOD = 0 ,fosc = = 11059200Hz,k = 8 ,TC = 0Xfd = 253代入公式中得 波特率 = (1 / 32)* (11059200 / 12) / (28 253 ) = 9600bps紅外解碼電路如圖25所示。每個管子依次交替點亮,由于管子之間切換時間很短,動態(tài)掃描起來利用人眼視覺暫留,讓人覺得每個管子都在亮。采用共陽接法,公共端接到VCC +5V,單片機的8位I/0口P0分別接在段選線上,P0輸出的相應的反碼即可顯示相應的數(shù)字。將e極接在VCC上; ,當基集是低電平的時候,管子導通,完成片選,集電極提供了數(shù)碼管驅(qū)動電流。表21是段碼表。圖中的4位數(shù)碼管是自建的,其中的三極管是PNP S8550 ,段選段的限流電阻是470歐。(2)步進電機的分類步進電機的分類表22所示。反應式的步進電機的轉(zhuǎn)子上有小齒,不同的步進電機,轉(zhuǎn)子上齒的個數(shù)是不同的,定子上要有線圈(線圈按軸向分布,或徑向分布),反應式步進電機定子除了有軸向分布的繞組外,它的定子還分成幾個極.,一個極上一個繞組以及有小齒,轉(zhuǎn)子上也有小齒。也就是說,先給定子線圈通電,定子線圈(繞組,磁極)產(chǎn)生磁場,在磁場力的作用下會吸引轉(zhuǎn)子轉(zhuǎn)動,轉(zhuǎn)子轉(zhuǎn)動的角度就是轉(zhuǎn)子上的齒和定子上的齒對齊了,轉(zhuǎn)子就停下來了,不停的給每一相輪流通電,轉(zhuǎn)子就不停轉(zhuǎn)動了。A相斷電,B相通電以后,那么會在這個方向建立一個磁場,這個轉(zhuǎn)子會隨著磁場變化下轉(zhuǎn)動,它會將離這個B相磁極最近的齒把它吸引過來。 步進電機的轉(zhuǎn)角與脈沖數(shù)成正比,轉(zhuǎn)速與脈沖頻率成正比,不受電壓,負載與環(huán)境的影響,上述特性正好符合數(shù)字控制系統(tǒng)的要求 ,因此步進電機在數(shù)控 機床,軍事工業(yè)獲得了廣泛的應用。交流電機,直流電機都是連續(xù)旋轉(zhuǎn)的,而步進電機是一步一步的旋轉(zhuǎn),步進電機每次能夠轉(zhuǎn)動的最小的角度是步距角(176。可以通過改變加在驅(qū)動器上的脈沖的頻率來改變步進電機的轉(zhuǎn)速和加速度;可以通過改變加在驅(qū)動器上的脈沖的個數(shù)來改變步進電機轉(zhuǎn)過的角度; 利用這一個線性關(guān)系的存在,使得步進電機在速度控制,位置等控制領域用步進電機來控制變得非常的簡單。(176。)那么轉(zhuǎn)過一圈要4096個脈沖(360176。= 4096 )。176。=176。(360176。= 512步 )。/64 = 176。ULN2003的特點是高耐壓、大電流復合晶體管,由七個硅NPN復合晶體管組成。由于51的拉電流的能力小于100uA,灌電流10mA,而本設計中的步進電機需要200mA的驅(qū)動電流,所以需要ULN2003來驅(qū)動。 圖27 步進電機驅(qū)動電路(6)步進驅(qū)動脈沖分配表正轉(zhuǎn)表:412驅(qū)動,8拍一步DDCCCBBBAAAD表23 正轉(zhuǎn)表P2端口值P2^0(D相)P2^1(C相)P2^2(B相)P2^3(A相)0x0110000x0311000x0201000x0601100x0400100x0c00110x0800010x091001反轉(zhuǎn)表:412驅(qū)動,8拍一步DDAAABBBCCCA表24 反轉(zhuǎn)表P2端口值P2^0(D相)P2^1(C相)P2^2(B相)P2^3(A相)0x0110000x0910010x0800010x0c00110x0400100x0601100x0201000x031100本設計中用4節(jié)5號電池來供電,4節(jié)5號電池提供的電壓是 5 * = 6V,不能直接加到系統(tǒng)里面,所以我用了IN2007這個二極管來分壓,6 = ,,可以作為供電電源。圖28 電源電路主機電路如圖29所示。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。STC89C52具體介紹如下:(1) 主電源引腳(2根)VCC(Pin40):電源輸入,接+5V電源GND(Pin20):接地線(2)外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端(3)控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。(4)可編程輸入/輸出引腳(32根)STC89C52單片機有4組8位的可編程I/O口,分別位P0、PPP3口,每個口有8位(8根引腳),共32根。(1) 串行通信控制寄存器:可位尋址的專用寄存器,它用于定義串行口的工作方式及實施接收和發(fā)送的控制,單元地址是98H 。表25 SCON寄存器SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0,SM1 = 00,方式0,8位同步移位寄存器,其波特率為fosc / 12[1]SM0,SM1 = 01,方式1,10位異步接收/發(fā)送,其波特率可變,由定時器1控制SM0,SM1 = 10,方式2,11位異步接收/發(fā)送,其波特率為fosc / 64,fosc / 32(SMOD)SM0,SM1 = 11,方式3,11位異步接收/發(fā)送,波特率可變,有定時器控制。TI 發(fā)送操作是在TI = 0下進行的,然后由發(fā)送電路自動在數(shù)據(jù)前后分別添加1個起始位和一個停止位 ,串行數(shù)據(jù)由TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,TXD引腳主動維持高電平,且TI在發(fā)送停止位時有硬件自動置位,并可向CPU發(fā)送中斷請求,T1位必須軟件復位。這是模式下,發(fā)送時鐘和接收時鐘和通信波特率由定時器1溢出信號經(jīng)過32分頻,并由SMOD倍頻,因此方式1的波特率是可變的。如表26所示。本設計中TMOD = 0X21,定時器T1工作在方式2,是自動重新裝入計數(shù)初值的8位定時器計數(shù)器/工作模式,用于串口通信中波特率發(fā)生器,16位的定時器/計數(shù)器被拆成兩個8位寄存器TH1,TL1,CPU在對它們初始化的時候必須裝入相同的定時器初值。而定時器T0工作方式一,是16位的定時器方式,TH0為高8位,TH0為低8位,T0作用是產(chǎn)生50ms的定時,50ms的定時時間是這樣得到。由公式得 : T = (M TC) * T0 M 計數(shù)器的模值 TC預設的初值 T0計數(shù)器計數(shù)脈沖的周期,即單片機系統(tǒng)主頻周期的12倍M = 216 = 65535, TC = 0x4C00 = 19456;T0 = 12/11059200 0x4C00 = 19456。T = (M TC) * T0=(6553519456)*(12/11059200)=46080 * = = 50ms。注意 由于這種方式下,計數(shù)初值在每次進入中斷后都要重新賦值。如表27所示。(4)中斷允許控制寄存器 IESTC89C52中斷系統(tǒng)中,中斷的允許或禁止是由片內(nèi)可進行位尋址的8位中斷允許寄存器IE來控制的。表28 IE寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX0EA:允許中斷的總控制位ES:串行口允許中斷控制位ET1/ET0:定時器1,定時器0溢出中斷允許控制位EX0,EX1:外中斷INT1,INT0的中斷控制位 3 軟件設計 主程序設計本設計中主程序燒寫在主機STC89C52中,主機完成步進電機轉(zhuǎn)速計算,電機控制,LED數(shù)碼管顯示等功能(1)轉(zhuǎn)速計算176。),8拍一步,176。= 176。/ 176。綜上所述,在程序中聲明一個uint變量pedometer并初始化0,用來統(tǒng)計步進電機轉(zhuǎn)過的步數(shù),那么在主程序中每當電機轉(zhuǎn)過一步,pedometer自增1;電機啟動的同時啟動T0定時器, T0每計50ms就申請中斷,當中斷達到20次后,步進電機運行1s了,此時統(tǒng)計一下pedometer的值 ,此值就是步進電機一秒內(nèi)轉(zhuǎn)過的步數(shù),所以 轉(zhuǎn)速 = 每1秒的步數(shù) * 每1步轉(zhuǎn)過的圈數(shù),此值是步進電機每秒的轉(zhuǎn)速,再乘上60s就是步進電機的每分鐘的轉(zhuǎn)速了。void time_chuli() //每秒鐘的時間處理{ //每分鐘60秒,所以速度*60的倍數(shù) rate=60*10*pedometer*。//臨時速度清零 乘上10是因為轉(zhuǎn)速有一個小數(shù)位}計算得到了轉(zhuǎn)速,自然要送到數(shù)碼管顯示出來,顯示方式是動態(tài)掃描(2)void Disply_rev()//顯示函數(shù){ uchar a,b,c。//定義一個臨時變量存儲轉(zhuǎn)速 k=rev。//獲得十位 k=k % 100。//獲得個位 c=k %10;//獲得小數(shù)位}(3)定時器,串口初始化函數(shù)void Serial_initialize(void) //串口初始化{ SCON = 0x50。 //兩個定時器一起工作, 定時器0定時方式1 ,16位定時器方式,定時器1是方式2,波特率發(fā)生器 TH1 = 0xfd。 PCON=0x00。//開總中斷, ES=1。//串行中斷為優(yōu)先級; PT0=0。 ///啟動串行口通訊 TH0 = 0x4c。 //計數(shù)值重裝 }void time_init(){ TH0 = 0x4c。 //計數(shù)值重裝 milli_second=0。//開啟中斷 TR0=1。圖31 主流程圖定時器T0中斷處理過程如圖32所示。//先清0 while(Infrared_in==0)//引導碼到了 { Time++。amp。i16。i16。//計數(shù)值清零 while(Infrared_in)//高電平時間 { Time++。amp。//數(shù)據(jù)位為0 } else if(TimeLong_min amp。 TimeLong_max) { Decode_Data16[i]=1。//接收不正確 } } right=0。i16。//說明解碼錯誤了 break。//碼轉(zhuǎn)化,8位的用戶碼 SBUF=Send_data。 圖34 紅外解碼流程圖4 系統(tǒng)調(diào)試和開發(fā)環(huán)境本設計中采用protel99se來繪制原理圖,繪制原理圖中有些元件諸如1838紅外接收頭,ULN2003驅(qū)動芯片,4位8段數(shù)碼管在元件庫里面不存在的,所以只能在自己創(chuàng)建的元件庫畫出。表41 元件清單原件名稱參數(shù) 功能R1 1K限流R222K上拉R3100歐限流R41K復位R5470歐限流R6470歐限流R7470歐復位R8~R15470歐限流R16~R19限流R20 A420J4700K上拉C1 104瓷片電容去耦電容C2 極性電容47UF濾波C3,C4 ,C5,C6 瓷片電容30PF晶振電路C7 極性電容10UF復位D1,D2,D3,D4,D5 LED壓降2V, 10MA運行指示燈D6 IN4007電源分壓晶振  ULN2003 步進驅(qū)動,功率放大Q1~Q4 PNP S8550 驅(qū)動,擴流4位8段數(shù)碼管 顯示轉(zhuǎn)速 STC12C2052 解碼芯片STC89C52 主機1838紅外接收管 紅外接收器MAX232 串口通信28BYJ48步進電機5V工作步進電機  焊接電路板是一個細活,有很多問題要注意,在焊板子的過程中,我遇到了一些小問題,我結(jié)合以前的焊板的經(jīng)驗簡述一下:首先要弄清楚需要的硬件的特性,對器件要熟悉,注意二極管的正負極,電容的正負極,PNP三極管的B,C,E,如果極性搞錯了,整個焊接失敗了,焊接的時候千萬不要虛焊,在焊
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1