版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于AT89s52單片機(jī)的語(yǔ)音提示的四則運(yùn)算器的設(shè)計(jì)基于AT89s52單片機(jī)的語(yǔ)音提示的四則運(yùn)算器的設(shè)計(jì),該設(shè)計(jì)主要包括硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。硬件設(shè)計(jì)部分主要是對(duì)單片機(jī),數(shù)據(jù)輸入的4*4鍵盤,語(yǔ)音提示模塊,數(shù)據(jù)顯示模塊的選擇和設(shè)計(jì)。軟件設(shè)計(jì)部分主要是對(duì)兩個(gè)4位整數(shù),1位小數(shù)進(jìn)行四則運(yùn)算,并將其運(yùn)算結(jié)果通過(guò)數(shù)據(jù)顯示模塊顯示出來(lái),并有相應(yīng)的語(yǔ)音提示。在計(jì)算器主體的表面上配設(shè)有電源接通、全清除健、數(shù)字健、小數(shù)點(diǎn)健、四則運(yùn)算健、等號(hào)健與下載線共同形成雙電源方式用語(yǔ)音提示的計(jì)算器,其中,在計(jì)算器主體的表面上還配設(shè)有顯示從數(shù)字鍵、小數(shù)點(diǎn)健輸入的數(shù)值的主顯示器、按加法存儲(chǔ)器(轉(zhuǎn)換健)時(shí)將顯示在主顯示器
2、中的數(shù)值進(jìn)行轉(zhuǎn)換后顯示該數(shù)值的存儲(chǔ)顯示器、將主顯示器和存儲(chǔ)顯示器的兩個(gè)畫面并列地配設(shè)并做成T通過(guò)從各種轉(zhuǎn)換健輸入來(lái)同時(shí)或者交替地顯示兩個(gè)畫面顯示的結(jié)構(gòu)的二選行顯示器、按下時(shí)將顯示在主顯示器中的數(shù)值轉(zhuǎn)換至存儲(chǔ)顯示器的加法存儲(chǔ)(轉(zhuǎn)換鍵)、按下時(shí)將顯示在主顯示器中的數(shù)值從正向負(fù)或從負(fù)向正進(jìn)行變更的減法存儲(chǔ)(轉(zhuǎn)換?。?、按下兩次時(shí)將顯示在存儲(chǔ)顯示器中的數(shù)值清除的存儲(chǔ)·清除健、按下時(shí)將顯示在存儲(chǔ)顯示器中的數(shù)值轉(zhuǎn)換至主顯示器而按兩次時(shí)則再次顯示出在進(jìn)行轉(zhuǎn)換之前顯示在主顯示器中的數(shù)值的轉(zhuǎn)換鍵。本設(shè)計(jì)是基于AT89S52單片機(jī)的語(yǔ)音提示的四則運(yùn)算器,去除兩畫面變更顯示。該設(shè)計(jì)總共有6個(gè)模塊:電源模塊、
3、AT89S52最小系統(tǒng)模塊、1602液晶顯示模塊、4*4鍵盤模塊、語(yǔ)音提示模塊和實(shí)時(shí)溫度檢測(cè)模塊。智能小車系統(tǒng)開(kāi)發(fā)基于51單片機(jī)的手機(jī)藍(lán)牙遙控(帶重力感應(yīng))小車設(shè)計(jì)智能小車系統(tǒng)開(kāi)發(fā)主要知識(shí)有電機(jī)的使用、舵機(jī)的使用、遙控小車設(shè)計(jì)、循跡小車設(shè)計(jì)、藍(lán)牙小車設(shè)計(jì)、兩輪平衡及機(jī)機(jī)械手。但是本次小車設(shè)計(jì)主要有電機(jī)的使用、遙控小車設(shè)計(jì)、藍(lán)牙小車設(shè)計(jì)三部分。其余的部分暫時(shí)沒(méi)有完成,后期繼續(xù)改進(jìn),爭(zhēng)取做到完美。圖 1 各種智能車開(kāi)發(fā)平臺(tái)圖 2 智能車主要功能圖 3 智能小車與機(jī)器人控制器圖 4 各配套電路模塊基于Android手機(jī)藍(lán)牙遙控(帶重力感應(yīng))小車設(shè)計(jì)隨著物聯(lián)網(wǎng)的興起,Android 手機(jī)以其獨(dú)有的開(kāi)放
4、性優(yōu)勢(shì)正在為我們提供更多優(yōu)質(zhì)便捷 的技術(shù)成果。而基于安卓手機(jī)藍(lán)牙控制的智能小車DIY也越來(lái)越多的受到了電子愛(ài)好者的 青睞。這里我們會(huì)帶領(lǐng)大家設(shè)計(jì)一款基于安卓手機(jī)和以四驅(qū)小車為基礎(chǔ)平臺(tái)的藍(lán)牙小車。1 主要功能(1) 通過(guò)手機(jī)上的上位機(jī)操作界面(前、后、左、右四個(gè)鍵)遠(yuǎn)程控制小車的前進(jìn)、后 退、左轉(zhuǎn)和右轉(zhuǎn)。(2) 通過(guò)安卓手機(jī)的重力感應(yīng)功能控制小車進(jìn)行前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)。2 實(shí)現(xiàn)原理本系統(tǒng)主要由手機(jī)控制端、藍(lán)牙接收模塊、小車部分三個(gè)部分組組成。操作手機(jī)端相應(yīng) 按鍵時(shí)時(shí),手機(jī)端會(huì)通過(guò)藍(lán)牙的形式向單片機(jī)發(fā)出相應(yīng)的指令,單片機(jī)相據(jù)相應(yīng)的指令就可 以控制小車實(shí)現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等功能。其系統(tǒng)的功
5、能框圖如圖所示。2.1 系統(tǒng)框圖 圖中的控制端界面又稱為上位機(jī)軟件,如圖所示,此軟件可以通過(guò) Android 開(kāi)源eclipse 開(kāi)發(fā)環(huán)境和 java 語(yǔ)言開(kāi)發(fā)而成。目前網(wǎng)上絡(luò)有多種免費(fèi)的小車藍(lán)牙控制軟件,對(duì) Android 系統(tǒng)開(kāi)發(fā)不熟的可在網(wǎng)上下載一個(gè)免費(fèi)的控制端軟件。從上面的手機(jī)截圖可以看到, 在控制端界面上有四個(gè)用來(lái)控制小車運(yùn)動(dòng)的按鈕前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)。當(dāng)我們用手按下相應(yīng)的鍵時(shí)時(shí),借助于手機(jī)的藍(lán)牙功能,手機(jī)會(huì)通過(guò)藍(lán)牙以ASCII碼的形式發(fā)送一個(gè)相應(yīng)的字符,具體的字符因上位機(jī)操作界面程序的不同而不同。實(shí)驗(yàn)室目前采用的軟件相應(yīng)的碼是,前進(jìn)發(fā)出的 ASCII “A”, 后退時(shí)為字符“D”
6、,左轉(zhuǎn)時(shí),為字符“C”,右轉(zhuǎn)時(shí),手為字符“B”;當(dāng)使用重力感應(yīng)模式時(shí),也是根據(jù)手機(jī)的平衡狀態(tài)來(lái)發(fā)送這幾個(gè) 字符的。圖手機(jī)控制端界面HC-06 為藍(lán)牙接收模塊,通過(guò)與手機(jī)端的藍(lán)牙進(jìn)行連接配對(duì),從而接收從手機(jī)端發(fā)送過(guò) 來(lái)的動(dòng)作指令。使用時(shí),藍(lán)牙接收到手機(jī)傳過(guò)來(lái)的指令需轉(zhuǎn)換成串口的形式通過(guò)單片機(jī)的串 口傳給單片機(jī)。圖藍(lán)牙從機(jī)接收模塊 智能小車部分主要由單片機(jī)控制器、電機(jī)驅(qū)動(dòng)和電機(jī)等組成,藍(lán)牙模塊接受到手機(jī)端的信號(hào)后,將指令傳給單片機(jī),單片機(jī)通過(guò)分析傳遞過(guò)來(lái)的指令不同,執(zhí)行不同的程 序來(lái)控制電機(jī)驅(qū)動(dòng),從而實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等不同的動(dòng)作。3 硬件設(shè)計(jì)() 藍(lán)牙模塊 小車的硬件主要包括
7、藍(lán)牙模塊部分和小車部分。藍(lán)牙模塊目前市面上出售的有主機(jī)模塊、從機(jī)模塊,也有主從一體的,因?yàn)榇舜卧O(shè)計(jì)的智能小車,手機(jī)端自身帶有藍(lán)牙功能,相當(dāng)于主機(jī)發(fā)送模塊,所以只需使用從機(jī)接收模塊,然后把接收到的信號(hào)通過(guò)串口的形式傳給單片機(jī)就可以了。通常藍(lán)牙從機(jī)模塊購(gòu)買回來(lái)后,在使用時(shí)需要進(jìn)進(jìn)藍(lán)牙配對(duì)和相應(yīng)該波特率的設(shè)置,具 體的請(qǐng)參考相應(yīng)的說(shuō)明書即可。這里以下圖所示的模塊進(jìn)行說(shuō)明。藍(lán)牙模塊共有個(gè)端子, 由于只需要接收數(shù)據(jù),只需將該模塊的 RXD 接上 51 單片機(jī)的 RXD 引腳就行(當(dāng)然還有電 源),TXD 不用接,因?yàn)槲覀冎挥盟邮帐謾C(jī)藍(lán)牙信號(hào),不發(fā)送數(shù)據(jù)。它出廠默認(rèn)設(shè)置的波 特率 9600 ,不重新設(shè)置
8、它的波特率的話,在寫單片機(jī)串口程序時(shí),也要將波特率設(shè)置為9600。() 小車模塊小車部分采用實(shí)驗(yàn)室設(shè)計(jì)的30B 四驅(qū)小車(30兩驅(qū)小車只需要更改相應(yīng) 的程序即可),如圖所示,小車上自帶控制器和驅(qū)動(dòng)模塊。單片機(jī)的端口 P1-P8 接兩個(gè)的個(gè)控制端,用于控制四個(gè)電機(jī)的正反轉(zhuǎn),接藍(lán)牙模 塊的端,如下圖所示。4 軟件設(shè)計(jì)藍(lán)牙的程序主要包括手機(jī)控制端程序和小車下位機(jī)程序,對(duì)于手機(jī)控制端的界面和相 關(guān)的程序這里我不作解釋,Android 系統(tǒng)的開(kāi)發(fā)是一個(gè)開(kāi)源的項(xiàng)目,感興趣的朋友可以 查詢 Android 開(kāi)發(fā)相關(guān)的資料,自己設(shè)計(jì)一個(gè)小車的操作系統(tǒng)和自己喜歡的界面。下面介紹小車的控制程序。在寫小車的控制程序
9、時(shí),需要了解上機(jī)是發(fā)送的什么指令。在前面的內(nèi)容中我們已 經(jīng)講到過(guò),在控制端界面上有四個(gè)用來(lái)控制小車運(yùn)動(dòng)的按鈕前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)。當(dāng)我們用手按下前進(jìn)時(shí),手機(jī)會(huì)通過(guò)藍(lán)牙以 ASCII 碼的形式發(fā)送一個(gè)字符串“ONA”,釋放 時(shí)會(huì)發(fā)送一個(gè)字符串“ON”;按下 后退 時(shí),手機(jī)會(huì)通過(guò)藍(lán)牙以 ASCII 碼的形式發(fā)送一個(gè)字符串“OND”,釋放時(shí)會(huì)發(fā)送 一個(gè)字符串“ON”;按下 左轉(zhuǎn) 時(shí),手機(jī)會(huì)通過(guò)藍(lán)牙以 ASCII 碼的形式發(fā)送一個(gè)字符串“ONC”,釋放時(shí)會(huì)發(fā)送 一個(gè)字符串“”;按下 右轉(zhuǎn) 時(shí),手機(jī)會(huì)通過(guò)藍(lán)牙以 ASCII 碼的形式發(fā)送一個(gè)字符串“ONB”,釋放時(shí)會(huì)發(fā)送 一個(gè)字符串“ONF”;當(dāng)使用重
10、力感應(yīng)模式時(shí),也是根據(jù)手機(jī)的平衡狀態(tài)來(lái)發(fā)送這幾個(gè)字符的,前進(jìn)為“ONA”、 后退為“ON”、左轉(zhuǎn)為“ON”、右轉(zhuǎn)為“ON”(注意重力感應(yīng)時(shí)只有前進(jìn)、后退、左 轉(zhuǎn)和右轉(zhuǎn)四咱狀態(tài),沒(méi)有釋放狀態(tài))。有了這些,我們對(duì)單片機(jī)編程的思路就出來(lái)了我們可以使用使用 51 單片機(jī)的串口通信來(lái)接收發(fā)送過(guò)來(lái)的 ASCII 碼。打開(kāi)串口中斷,我 們可以在串口中斷服務(wù)函數(shù)中接收到字符用if()語(yǔ)句來(lái)判斷接收到的字符。例如 if(a='A') qingj(); 表示接收到的字符是 A,也就是按 前進(jìn) 時(shí)發(fā)送過(guò)來(lái)的,這時(shí)就可以在break 前寫上小車前進(jìn)的代碼;左轉(zhuǎn),右轉(zhuǎn),后退停止也是一樣的。注意本來(lái)每種狀
11、態(tài)發(fā)送的是字符串,此時(shí)我們只需要使用其中的字符,按鍵控制時(shí),前 進(jìn)為字符“A”、 后退為字符“”、 左轉(zhuǎn)為字符“”、 右轉(zhuǎn)為字符“”、 停止為字符 “”,重力感應(yīng)時(shí),前進(jìn)為字符“A”、 后退為字符“”、 左轉(zhuǎn)為字符“”、 右轉(zhuǎn)為 字符“”、 無(wú)停止?fàn)顟B(tài),可關(guān)閉重力感模式即可). 至于小車前進(jìn)后退左轉(zhuǎn)右轉(zhuǎn)停止的代碼,要根據(jù)你自己的電機(jī)機(jī)驅(qū)動(dòng)來(lái)寫。下面給出程序例子:/* 硬件連接 P2_0 接驅(qū)動(dòng)模塊ENA使能端,輸入PWM信號(hào)調(diào)節(jié)速度 P2_1 接驅(qū)動(dòng)模塊ENB使能端,輸入PWM信號(hào)調(diào)節(jié)速度 P1_0 P1_1 接IN1 IN2 當(dāng) P1_0=1,P1_1=0; 時(shí)左電機(jī)正轉(zhuǎn)驅(qū)動(dòng)藍(lán)色輸出端OUT
12、1 OUT2接右電機(jī) P1_0 P1_1 接IN1 IN2 當(dāng) P1_0=0,P1_1=1; 時(shí)左電機(jī)反轉(zhuǎn) P1_2 P1_3 接IN3 IN4 當(dāng) P1_2=1,P1_3=0; 時(shí)右電機(jī)正轉(zhuǎn)驅(qū)動(dòng)藍(lán)色輸出端OUT3 OUT4接左電機(jī) P1_2 P1_3 接IN3 IN4 當(dāng) P1_2=0,P1_3=1; 時(shí)右電機(jī)反轉(zhuǎn) P2_2 接驅(qū)動(dòng)模塊ENA使能端,輸入PWM信號(hào)調(diào)節(jié)速度 P2_3 接驅(qū)動(dòng)模塊ENB使能端,輸入PWM信號(hào)調(diào)節(jié)速度 P1_4 P1_5 接IN1 IN2 當(dāng) P1_4=1,P1_5=0; 時(shí)左電機(jī)正轉(zhuǎn)驅(qū)動(dòng)藍(lán)色輸出端OUT1 OUT2接右電機(jī) P1_4 P1_5 接IN1 IN2
13、當(dāng) P1_4=0,P1_5=1; 時(shí)左電機(jī)反轉(zhuǎn) P1_6 P1_7 接IN3 IN4 當(dāng) P1_6=1,P1_7=0; 時(shí)右電機(jī)正轉(zhuǎn)驅(qū)動(dòng)藍(lán)色輸出端OUT3 OUT4接左電機(jī) P1_6 P1_7 接IN3 IN4 當(dāng) P1_6=0,P1_7=1; 時(shí)右電機(jī)反轉(zhuǎn) 關(guān)于單片機(jī)電源:本店驅(qū)動(dòng)模塊內(nèi)帶LDO穩(wěn)壓芯片,當(dāng)電池輸入最低的電壓6V時(shí)候可以輸出穩(wěn)定的5V 分別在針腳標(biāo)+5 與GND 。這個(gè)電源可以作為單片機(jī)系統(tǒng)的供電電源。*/#include<AT89x51.H>#define Left_moto_pwm P2_0 /接驅(qū)動(dòng)模塊ENA使能端,輸入PWM信號(hào)調(diào)節(jié)速度#define Ri
14、ght_moto_pwm P2_1 /接驅(qū)動(dòng)模塊ENB#define Left_moto_go P1_0=1,P1_1=0; /P1_0 P1_1 接IN1 IN2 當(dāng) P1_0=1,P1_1=0; 時(shí)左電機(jī)正轉(zhuǎn)#define Left_moto_back P1_0=0,P1_1=1; /P1_0 P1_1 接IN1 IN2 當(dāng) P1_0=0,P1_1=1; 時(shí)左電機(jī)反轉(zhuǎn) #define Right_moto_go P1_2=1,P1_3=0; /P1_2 P1_3 接IN3 IN4 當(dāng) P1_2=1,P1_3=0; 時(shí)右電機(jī)正轉(zhuǎn)#define Right_moto_back P1_2=0,P
15、1_3=1; /P1_2 P1_3 接IN3 IN4 當(dāng) P1_2=0,P1_3=1; 時(shí)右電機(jī)反轉(zhuǎn)unsigned char pwm_val_left =0;/變量定義unsigned char push_val_left =0;/ 左電機(jī)占空比N/10unsigned char pwm_val_right =0;unsigned char push_val_right=0;/ 右電機(jī)占空比N/10bit Right_moto_stop=1;bit Left_moto_stop =1;#define Left_moto1_pwm P2_2 /接驅(qū)動(dòng)模塊ENA使能端,輸入PWM信號(hào)調(diào)節(jié)速度#d
16、efine Right_moto1_pwm P2_3 /接驅(qū)動(dòng)模塊ENB#define Left_moto1_go P1_4=1,P1_5=0; /P1_4 P1_5 接IN1 IN2 當(dāng) P1_4=1,P1_5=0; 時(shí)左電機(jī)正轉(zhuǎn)#define Left_moto1_back P1_4=0,P1_5=1; /P1_4 P1_5 接IN1 IN2 當(dāng) P1_4=0,P1_5=1; 時(shí)左電機(jī)反轉(zhuǎn) #define Right_moto1_go P1_6=1,P1_7=0; /P1_6 P1_7 接IN3 IN4 當(dāng) P1_6=1,P1_7=0; 時(shí)右電機(jī)正轉(zhuǎn)#define Right_moto1_
17、back P1_6=0,P1_7=1; /P1_6 P1_7 接IN3 IN4 當(dāng) P1_6=0,P1_7=1; 時(shí)右電機(jī)反轉(zhuǎn)unsigned char pwm_val1_left =0;/變量定義unsigned char push_val1_left =0;/ 左電機(jī)占空比N/10unsigned char pwm_val1_right =0;unsigned char push_val1_right=0;/ 右電機(jī)占空比N/10bit Right_moto1_stop=1;bit Left_moto1_stop =1;unsigned int time=0;unsigned char a
18、;/*/void qingj(void)/前進(jìn)函數(shù)push_val_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto_go ; /左電機(jī)前進(jìn)Right_moto_go ; /右電機(jī)前進(jìn)push_val1_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_right =5; /PWM 調(diào)節(jié)參數(shù)
19、1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto1_go ; /左電機(jī)前進(jìn)Right_moto1_go ; /右電機(jī)前進(jìn)void hout (void)/后退函數(shù)push_val_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto_back ; /左電機(jī)前進(jìn) Right_moto_back ; /右電機(jī)前進(jìn)push_val1_l
20、eft =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto1_back ; /左電機(jī)前進(jìn)Right_moto1_back ; /右電機(jī)前進(jìn)void zuoz(void)/左轉(zhuǎn)函數(shù)push_val_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,1
21、0是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto_back ; /左電機(jī)前進(jìn)Right_moto_go ; /右電機(jī)前進(jìn)push_val1_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto1_back ; /左電機(jī)前進(jìn)Right_moto1_go ; /右電機(jī)前進(jìn)void youz(void)/左轉(zhuǎn)函數(shù)push_val_left =5; /PWM
22、調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_moto_go ; /左電機(jī)前進(jìn)Right_moto_back ; /右電機(jī)前進(jìn)push_val1_left =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_right =5; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車Left_m
23、oto1_go ; /左電機(jī)前進(jìn) Right_moto1_back ; /右電機(jī)前進(jìn) void tingz(void)/左轉(zhuǎn)函數(shù)push_val_left =0; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val_right =0; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_left =0; /PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車push_val1_right =0; /PWM 調(diào)節(jié)參數(shù)1-10
24、 1為最慢,10是最快改這個(gè)值可以改變其速度 /0無(wú)PWM輸出即是停車/*/* PWM調(diào)制電機(jī)轉(zhuǎn)速 */*/* 左電機(jī)調(diào)速 */*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */void pwm_out_left_moto(void) if(Left_moto_stop) if(pwm_val_left<=push_val_left) Left_moto_pwm=1; else Left_moto_pwm=0; if(pwm_val_left>=10) pwm_val_left=0; else Left_moto_pwm=0;/*/* 右電機(jī)調(diào)速 */ void pwm
25、_out_right_moto(void) if(Right_moto_stop) if(pwm_val_right<=push_val_right) Right_moto_pwm=1; else Right_moto_pwm=0; if(pwm_val_right>=10) pwm_val_right=0; else Right_moto_pwm=0;/* 左電機(jī)調(diào)速 */*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */void pwm_out_left_moto1(void) if(Left_moto1_stop) if(pwm_val1_left<=pus
26、h_val1_left) Left_moto1_pwm=1; else Left_moto1_pwm=0; if(pwm_val1_left>=10) pwm_val1_left=0; else Left_moto_pwm=0;/*/* 右電機(jī)調(diào)速 */ void pwm_out_right_moto1(void) if(Right_moto1_stop) if(pwm_val1_right<=push_val1_right) Right_moto1_pwm=1; else Right_moto1_pwm=0; if(pwm_val1_right>=10) pwm_val1_
27、right=0; else Right_moto1_pwm=0;/*/*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/void timer0()interrupt 1 using 2 TH0=0XF8; /1Ms定時(shí) TL0=0X30; time+; pwm_val_left+; pwm_val_right+; pwm_out_left_moto(); pwm_out_right_moto(); pwm_val1_left+; pwm_val1_right+; pwm_out_left_moto1(); pwm_out_right_moto1(); void lanya_int(void) /T
28、MOD=0x20;/定時(shí)器1工作方式2,8位自動(dòng)重裝 TH1=0xFd; /11.0592M晶振,9600波特率 TL1=0xFd; SCON=0x50;/串口方式1 SM0 SM1 01允許接收 PCON=0x00;/SMOD=0 16分頻 TR1=1;/打開(kāi)定時(shí)器1 ES=1;/打開(kāi)串口中斷 EA=1;/開(kāi)總中斷 void PWM_int(void) /TMOD=0X01;TH0= 0XF8; /1ms定時(shí) TL0= 0X30;TR0= 1;ET0= 1;EA = 1; /*/void main(void) TMOD=0x21;/定時(shí)器1工作方式2,8位自動(dòng)重裝 lanya_int();PWM_int();while(1)/*無(wú)限循環(huán)*/ if(a='A') qingj();/前進(jìn) else if(a='B') hou
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度老舊鋼房拆除安全協(xié)議書
- 2025版?zhèn)€人土地租賃合同解除協(xié)議
- 2025年度個(gè)人信用借款合同綠色金融推進(jìn)協(xié)議4篇
- 2025年度個(gè)人一手房買賣合同配套設(shè)施清單范本4篇
- 2025年度個(gè)人教育培訓(xùn)抵押借款協(xié)議
- 2025年全球及中國(guó)半導(dǎo)體設(shè)備用濾波器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球連供無(wú)線雙面打印一體機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)氣調(diào)貯藏庫(kù)用庫(kù)門行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)產(chǎn)權(quán)制作軟件行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年度生物技術(shù)成果轉(zhuǎn)化合同規(guī)范范本2篇
- (二模)遵義市2025屆高三年級(jí)第二次適應(yīng)性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書及公司股權(quán)代持及回購(gòu)協(xié)議
- 四川省成都市武侯區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 2025年計(jì)算機(jī)二級(jí)WPS考試題目
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識(shí)培訓(xùn)
- 初一到初三英語(yǔ)單詞表2182個(gè)帶音標(biāo)打印版
- 2024年秋季人教版七年級(jí)上冊(cè)生物全冊(cè)教學(xué)課件(2024年秋季新版教材)
- 年度重點(diǎn)工作計(jì)劃
- 《經(jīng)濟(jì)思想史》全套教學(xué)課件
- 環(huán)境衛(wèi)生學(xué)及消毒滅菌效果監(jiān)測(cè)
- 2023年11月英語(yǔ)二級(jí)筆譯真題及答案(筆譯實(shí)務(wù))
評(píng)論
0/150
提交評(píng)論