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

正文內(nèi)容

基于單片機(jī)智能小車畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-07-24 19:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 過(guò)光耦的槽投射到光敏三極管上,光敏三極管導(dǎo)通,集電極輸出低電平。當(dāng)紅外光線被檢測(cè)物遮斷時(shí),光敏三極管截止,集電極輸出高電平。遮擋一次槽型光耦輸出一個(gè)脈沖,因此脈沖的個(gè)數(shù)就是被檢測(cè)物的數(shù)量。車輪轉(zhuǎn)動(dòng)時(shí)帶動(dòng)碼盤轉(zhuǎn)動(dòng),單片機(jī)內(nèi)部計(jì)時(shí)可測(cè)出給定的時(shí)間內(nèi)通過(guò)的脈沖數(shù),從而測(cè)出小車的實(shí)時(shí)速度。其電路原理圖與循跡原理圖類似。如圖 36 所示。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文13圖 36 測(cè)速電路原理圖 顯示電路用 LCD1602 來(lái)顯示數(shù)據(jù),LCD 液晶具有功耗低、顯示內(nèi)容豐富、清晰,顯示信息量大,顯示速度較快等特點(diǎn)。其中用滑動(dòng)變阻器 RV0 來(lái)調(diào)節(jié)顯示器的背光亮度。電路原理圖如下圖 37。圖 37 顯示電路原理圖 主控電路單片機(jī)是控制單元的核心。起著控制小車所有運(yùn)行狀態(tài)的作用。單片機(jī)控制模塊使用的是宏晶公司生產(chǎn)的 STC89C52,使用該芯片很容易實(shí)現(xiàn)對(duì)其它模塊的控制。通過(guò)對(duì)單片機(jī) STC89C52 寫(xiě)入程序,可以方便的用軟件來(lái)控制,整個(gè)過(guò)程寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文14的控制部分如圖 38 所示。 圖 38 單片機(jī)最小系統(tǒng)STC89C52 單片機(jī)最小系統(tǒng)包括了晶振電路,電源電路以及復(fù)位電路,其中復(fù)位電路的復(fù)位按鍵用于小車的復(fù)位。~ 分別控制電機(jī)驅(qū)動(dòng)。其它 P 口用外接控制小車的各種控制開(kāi)關(guān),P0 口外接上拉電阻,可用于外接 LCD1602。STC89C52 單片機(jī)介紹 [5]:STC89C52RC 單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng) 8051 單片機(jī),12 時(shí)鐘/機(jī)器周期和 6 時(shí)鐘/機(jī)器周期可以任意選擇。主要特性如下:1. 增強(qiáng)型 8051 單片機(jī),6 時(shí)鐘/機(jī)器周期和 12 時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng) 8051。2. 工作頻率范圍:0~40MHz,相當(dāng)于普通 8051 的 0~80MHz,實(shí)際工作頻率可達(dá) 48MHz。3. 工作電壓:~(5V 單片機(jī))/~(3V 單片機(jī))寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文154. 片上集成 512 字節(jié) RAM。5. 用戶應(yīng)用程序空間為 8K 字節(jié)。6. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無(wú)需專用編程器,無(wú)需專用仿真器,可通過(guò)串口(RxD/,TxD/)直接下載用戶程序,數(shù)秒即可完成一片。7. 通用 I/O 口(32 個(gè)) ,復(fù)位后為:P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉,P0 口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O 口用時(shí),需加上拉電阻。8. 具有看門狗功能。9. 具有 EEPROM 功能。10. 共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器 T0、TT2。11. 外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式喚醒。12. 通用異步串行口(UART) ,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART。13. 工作溫度范圍:40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí)) 封裝。STC89C52 單片機(jī)的引腳圖如下圖 39。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文16圖 39 STC89C52RC 引腳圖另外 STC 單片機(jī)有兩種時(shí)鐘模式,一種是單倍速,也就是 12 時(shí)鐘模式,在該模式下,STC 單片機(jī)與其他公司 51 系列單片機(jī)具有相同的機(jī)器周期,即 12 個(gè)振蕩周期為一個(gè)機(jī)器周期;另一種是雙倍速,又稱 6 時(shí)鐘模式,在該模式下,STC 單片機(jī)比其他公司的 51 單片機(jī)運(yùn)行速度快一倍。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文17第 4 章 軟件設(shè)計(jì) 主程序模塊的設(shè)計(jì) 主程序的流程圖圖 41 主程序流程圖在圖 41 主程序流程圖中,開(kāi)始時(shí)先是單片機(jī)的初始化,包括定時(shí)器初始化,外部中斷的初始化,液晶的初始化。然后調(diào)用循跡子程序,小車循跡前進(jìn),如果定時(shí)時(shí)間到了則調(diào)用超聲波模塊子程序,判斷前方 50cm 處是否有障礙物,如果有的話 led 閃爍,如果檢測(cè)到停止線則小車停止。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文18 主程序的設(shè)計(jì)void main(){ Timer_Init()。 //定時(shí)器初始化 INT0_Init()。 //外部中斷初始化 LCD_Init()。 //LCD1602初始化 TR1=1。 //啟動(dòng)定時(shí)器lcd_write_cmd(0x80)。LED1 = 1。LED2 = 1。while(1) { PWM()。 //pwm調(diào)速 track()。 //調(diào)用循跡子程序lcd_write_cmd(0x80+0x09)。 lcd_write_dat(qian)。lcd_write_cmd(0x80+0x0a)。 lcd_write_dat(bai2)。 lcd_write_cmd(0x80+0x0b)。 lcd_write_dat(shi2)。 lcd_write_cmd(0x80+0x0c)。 lcd_write_dat(ge2)。 lcd_write_cmd(0x80+0x47)。 lcd_write_dat(bai1)。 lcd_write_cmd(0x80+0x48)。 lcd_write_dat(shi1)。 lcd_write_cmd(0x80+0x49)。 lcd_write_dat(ge1)。 if(flag1==1amp。amp。flag2==1){csb()。 //調(diào)用超聲波子程序flag1=0。 } }}寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文19 電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì) 電機(jī)驅(qū)動(dòng)程序流程圖圖 42 電機(jī)驅(qū)動(dòng)程序流程圖電機(jī)驅(qū)動(dòng)程序流程圖如上圖 42,開(kāi)始先檢測(cè)小車的狀態(tài)如果相對(duì)黑線是直的,則調(diào)用直走子程序,即左右兩個(gè)電機(jī)都正轉(zhuǎn);如果小車偏向黑線的左邊則調(diào)用向右走子程序,即左電機(jī)正轉(zhuǎn)右電機(jī)反轉(zhuǎn);如果小車偏向黑線的右邊則調(diào)用向左走子程序,即左電機(jī)反轉(zhuǎn)右電機(jī)正轉(zhuǎn);如果小車完全偏離黑線則調(diào)用向后退子程序,即兩個(gè)電機(jī)都反轉(zhuǎn);如果小車到終點(diǎn)了則調(diào)用停止子程序,即兩個(gè)電機(jī)都不轉(zhuǎn)。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文20 電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)void goahead() //小車直走{IN1 = 1。IN2 = 0。IN3 = 1。IN4 = 0。}void goback() //小車后退{(lán)IN1 = 0。IN2 = 1。IN3 = 0。IN4 = 1。}void turnright() //小車向右轉(zhuǎn){IN1 = 1。IN2 = 0。IN3 = 0。IN4 = 1。}void turnleft() //小車向左轉(zhuǎn){IN1 = 0。IN2 = 1。IN3 = 1。IN4 = 0。}void zw_turnright() //用于轉(zhuǎn)彎時(shí)的左轉(zhuǎn){IN1 = 1。IN2 = 0。IN3 = 0。IN4 = 0。}void zw_turnleft() //用于轉(zhuǎn)彎時(shí)的右轉(zhuǎn){寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文21IN1 = 0。IN2 = 0。IN3 = 1。IN4 = 0。}void stop() //小車停止{IN1 = 0。IN2 = 0。IN3 = 0。IN4 = 0。}void PWM(void) //小車調(diào)速{ PWM_ENA = 1。 PWM_ENB = 1。 delayXms(H)。 PWM_ENA = 0。 PWM_ENB = 1。 delayXms(L)。PWM_ENA = 0。 PWM_ENB = 0。 delayXms(N)。}寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文22 循跡模塊程序的設(shè)計(jì) 循跡模塊流程圖 圖 43 循跡模塊流程圖在圖 43 循跡模塊流程圖中,通過(guò)檢測(cè) P1 口第四位的電平并把它賦給變量temp 然后用 switchcase 語(yǔ)句來(lái)根據(jù) P1 口低四位的電平,給出相應(yīng)的電平送到電機(jī)驅(qū)動(dòng)芯片 L298N 去,從而控制小車的直走,左轉(zhuǎn),右轉(zhuǎn),后退,停止等動(dòng)作。 循跡模塊子程序設(shè)計(jì)void track( void ){ uchar temp = 0。 temp = P1 amp。 0x0f。 //取P1口低四位賦給變量temp寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文23 switch( temp ) { case 0x09: goahead()。 //直走 break。 case 0x0c: case 0x0e: turnleft()。//左轉(zhuǎn) break。case 0x03: case 0x07: turnright()。//右轉(zhuǎn) break。case 0x0f: goback()。// 后退 break。case 0x00: stop()。 //停止break。case 0x08: zw_turnleft()。//用于直角轉(zhuǎn)彎時(shí)的左轉(zhuǎn)delayXms(20)。break。case 0x01:zw_turnright()。//用于直角轉(zhuǎn)彎時(shí)的右轉(zhuǎn)delayXms(20)。break。 default: break。 } }寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文24 測(cè)距避障模塊程序的設(shè)計(jì) 測(cè)距模塊流程圖圖 44 測(cè)距模塊流程圖測(cè)距模塊流程圖如圖 44,開(kāi)始時(shí)單片機(jī)先給超聲波測(cè)距模塊 Trig 端發(fā)送一個(gè)高電平且這個(gè)高電平要持續(xù) 20us,然后再給 Trig 端發(fā)送一個(gè)低電平,即啟動(dòng)了超聲波測(cè)距模塊,超聲波測(cè)距模塊會(huì)自動(dòng)發(fā)送 8 個(gè) 40KHZ 的方波,等待是否有信號(hào)返回,如果有信號(hào)返回會(huì)通過(guò) IO 口超聲波測(cè)距模塊的 Echo 端輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測(cè)試距離=(高電平寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)論文25時(shí)間*340)/ 2,單位為 m。如果距離小于 50cm,車前的兩個(gè) LED 等閃爍提示,如果距離小于 7cm,小車自動(dòng)停下。 測(cè)距模塊程序設(shè)計(jì)void csb(){TH0=0。 TL0=0。TX=1。 //Trig發(fā)送端發(fā)出一個(gè)高電平 delay_20us()。 //延時(shí)20usTX=0。 //Trig發(fā)送端發(fā)出一個(gè)低電平while(RX==0)。 //等待接收端為高電平TR0=1。 //啟動(dòng)定時(shí)器while(RX)。 //等待接收端為低電平TR0=0
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1