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

正文內(nèi)容

畢業(yè)設(shè)計-基于stc89c52單片機控制的智能超聲波壁障小車設(shè)計-wenkub

2023-06-16 02:11:03 本頁面
 

【正文】 為,最大可達 36V; Vs 電壓最大值也是 36V,但經(jīng)過我的實驗, Vs電壓應(yīng)該比Vss 電壓高,否則有時會出現(xiàn)失控現(xiàn)象。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個 H 橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL 邏輯電平信號,可驅(qū)動 46V、 2A 以下的電機。 方案二:采用 LCD1602 液晶顯示。 方案一需要 3 對的超聲波探頭,為了防止信號相互干擾各個超聲波發(fā)送信號要相互間隔,顯得繁雜,而且當障礙物與左右 側(cè)的超聲波探頭大于一定角度時將不能接收到超聲波信號,方案二通過 180度掃描可以很好地檢測到各個方向的障礙物,障礙物判斷更可靠,壁障效果更好。所以此次設(shè)計選擇采用STC89C52 單片機來控 制。 STC12C5410 單片機帶有 PWM 脈寬調(diào)制輸出端口,可直接用來控制電機轉(zhuǎn)速,且其運行速度是 8051單片機的 8~12倍;但其 I/O 口少,即使是 32管腳的芯片也只有 27 個,不夠用時需要擴展 I/O口,比較麻煩。實現(xiàn)了集自動壁障、測距、定時定路程控制功能為一 體的智能小車設(shè)計。 基于 STC89C52 單片機控制的 智能超聲波壁障小車設(shè)計 【 摘要 】 本文 介紹一個基于 STC89C52 單片機控制的智能超聲波壁障小車設(shè)計。 關(guān)鍵詞 : 超聲波 。 方案二:采用 STC89C52 單片機控制系統(tǒng)。 超聲波壁障設(shè)計方案論證 方案一:采用多方向超聲波測距分析來實現(xiàn)壁障。因此選用方案二設(shè)計。液晶顯示具有耗能少、可同時顯示數(shù)據(jù)多、控制指令簡單、 PCB 布線簡單 等優(yōu)點。其引腳排列如上圖中所示。它的引腳 2, 3, 13, 14 為 L298N 芯片輸入到電動機的輸出端,其中引腳 2 和 3 能控制兩相電機,對于直流電動機,即可控制一個電動機。下表是其使能、輸入引腳和輸出引腳的邏輯關(guān)系: EN A( B) IN1( IN3) IN2( IN4) 電機運行情況 H H L 正轉(zhuǎn) H L H 反轉(zhuǎn) H 同 IN2( IN4) 同 IN1( IN3) 快速停止 L X X 停止 控制使能引腳 ENA 或者 ENB 就可以實現(xiàn) PWM 脈寬速度調(diào)整。由于本芯片的工作電流比較大,發(fā)熱量也比較大,所以在本芯片的散熱片上又連接了一塊鋁合金,以增大它的散熱面積??芍苯域?qū)動繼電器等負載。 ULN2021 具有電流增 益高、工作電壓高、溫度范圍寬、帶負載能力強等特點 ,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。 引腳 4: CPU 脈沖輸入端。 引腳 8:接地。 引腳 10:脈沖信號輸出端,對應(yīng) 7 腳信號輸入端。 引腳 14:脈沖信號輸出端,對應(yīng) 3 腳信號輸入端。 本次設(shè)計采用外部中斷 0接收超聲波信號,外部中斷 1接收霍爾傳感器信 號測行駛路程,定時器 0結(jié)合外部中斷 0 為超聲波發(fā)送接收計時進行測距,定時器 1用來產(chǎn)生 PWM 信號控制小車轉(zhuǎn)速,定時器 2 為小車行駛計時。 11 步進電機帶動探頭旋轉(zhuǎn)測距壁障流程圖 開始 發(fā)送第 i個步進電機脈沖信號 發(fā)射超聲波信號 延時 讀定時器 T0值,計算障礙物距離,并記錄到 a[i]中 i++ i=48 i=0 比較 a[i],取得最小值以及對應(yīng) i值(記為 j) mina[]i =dis 障礙物超過設(shè)定的距離, 兩輪全速行駛 0=j=24 (左半邊) 左燈亮,左輪加速,右輪減速 右燈亮,右輪減速,左輪加速 Y N Y N N Y Y 24=j=48 (右半邊) 12 主程序流程圖 開始 LCD160中斷、定時器以及 I/O 口初始化 步進電機帶動探頭旋轉(zhuǎn)測距壁障 keyA、 keyB、 keyC、keyD 是否有按下 是否到定時、定路程點 小車停止、步進電機停止 是否到啟動時間 是否定時啟動 keyB=1 是否啟動定時、定路程停止 keyA=1 Num++ Num=2 Num=5 步進電機停止、小車停止、計時停止 Num=0 Num=0 Num=1。Num1=1,miao1++。 Num1=2,fen2。 Num1=3,miao2=0 Dis=99 Dis=0 keyC 按下: dis++ keyD 按下: dis N Y N Y Y Y N Y N keyA 按下 Y N N N N keyB 按下 N N Y 小車啟動、計時啟動 步進電機啟動、小車啟動、計時開始 Y Y Num=1 步進停 N Num=3 Num=1 N Kk=~kk N Y Num1=0 Y keyC或 keyD 按下 N Y Num1++ Num=1 Num=2 Num=3 Num=4 N Y Zkb1=40 Zkb1=40 N Y N Y Zkb2=40 Zkb2=40 Y N Y N Y N Y N Y 13 系統(tǒng)總程序:見附錄 六、總結(jié)體會 本次電子系統(tǒng)設(shè)計前期實現(xiàn) 定時器控制 PWM輸出編程,步進電機驅(qū)動控制,超聲波發(fā)送接收模塊;設(shè)計后期 畫原理圖和 PCB 圖,然后腐蝕、焊接電路板;最后程序整合及改善以及調(diào)試,同時發(fā)現(xiàn) 調(diào)試出現(xiàn)的問題并尋找解決辦法。 遙控模塊直接采用 TDL9915*RF和 TDL9915*TF,遙控發(fā)射模塊 TDL9915*RF按鍵后,接收模塊 TDL9915*TF 對應(yīng)輸出高電平,沒按鍵時輸出低電平。而 對于 L298N 電機驅(qū)動芯片和超聲波模塊以前都沒接觸過,因此調(diào)試時出現(xiàn)的問題較多,特別是超聲波模塊,網(wǎng)上相關(guān)資料對 cx20216a 的 2 腳電阻取值都在10 歐姆以下,而自己設(shè)計的超聲波模塊最少也要 120 歐姆才能有效接收信號,否則小了會有自激信號。 七、設(shè)計實物圖 14 八、參考文獻 郭天祥 .《新概念 51 單片機 C 語 言教程》 .電子工業(yè)出版社 . 嚴桂蘭 .《 C 語言程序設(shè)計與應(yīng)用教程》 .廈門大學(xué)出版社 . 陸應(yīng)華 .《電子系統(tǒng)設(shè)計教程》 .國防工業(yè)出版社 . 李剛、林凌、姜葦《單片機系統(tǒng)設(shè)計與應(yīng)用技巧》 .北京航空航天大學(xué)出版社 . 15 附錄: include include define uchar unsigned char define ulong unsigned long define uint unsigned int int zkb1=2,zkb2=2。 sbit RS = P2^6。 sbit BELL=P1^5。 sbit keyB=P3^6。 ulong DATA,cc,bb。 //正轉(zhuǎn) uchar code table1[]=Mode2State Set。 uchar code table4[]=OFF ON 。 uchar code table9[]=S D W 。 TR0=1。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 CSOut=0。_nop_()。_nop_()。 CSOut=1。_nop_()。_nop_()。//3 _nop_()。_nop_()。_nop_()。 _nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。a++) for(b=0。 P0=。 EN=0。 EN=1。 write(0x38)。 } void ACD(ulong b) { acd_dis[0]=b/10000+0x30。 acd_dis[4]=b%10+0x30。 bcd_dis[2]=b%10+0x30。 ccd_dis[2]=0x00。 TL1=0Xf6。 TL0=0。//INT0負邊沿觸發(fā) IT1=1。 EX1=1。 while(string[i]) { writedata(string[i++])。 } void t1() interrupt 3 { TR1=0。 else P13=1。 TL1=0XF6。 sj++。 fen++。 BELL=LEDL=LEDR=1。 } void motor_ffw() { for (d=0。 t++) //一個周期轉(zhuǎn) 30度 { if(keyA==1)goto d。 CCOut()。 if(keyA==1)goto d。 a[m]=DATA。 if(keyA==1) { beled()。 write(0x80)。 for(j=0。 write(0xc0)。 for(j=0。 } if(num=2){P2=0XD2。} while(keyA==1)。break。 default:break。 switch(num) { case 1:if(kk==0){LEDL=1。}else zkb1=10。beled1()。bb=0。 22 case 3:YY1=1。} if(num1==1){if(miao1==59)miao1=0。} if(num1==3){if(miao2==59)miao2=0。dis++。 } } if(keyD==1) { if(keyD==1) { beled()。beled1()。if(zkb2=40){zkb2=40。 case 2:YY2=1。break。else miao1。else fen2。 case 4:if(dis==0)dis=99。 } while(keyD==1)。i++) { writedat
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1