




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.可實(shí)現(xiàn)功能:1 可控制左右旋轉(zhuǎn)2 可控制停止轉(zhuǎn)動(dòng)3 有測(cè)速功能,即時(shí)顯示在液晶上4 有速度檔位選擇,分五個(gè)檔次,但不能精確控速5 檔位顯示在液晶上用到的知識(shí):1 用外部中斷檢測(cè)電機(jī)送來(lái)的下降沿,在一定時(shí)間里統(tǒng)計(jì)脈沖個(gè)數(shù),進(jìn)行算出轉(zhuǎn)速。2 通過(guò)改變占空比可改變電機(jī)速度,占空比的改變可以通過(guò)改變定時(shí)器的重裝初值來(lái)實(shí)現(xiàn)。3 要想精確控制速度,還需要用自動(dòng)控制理論里的PID 算法,但參數(shù)難以選定,故在此設(shè)計(jì)中沒(méi)有涉及!#include<reg52.h>#define uchar unsigned char#define uintunsigned intsbit PW1=P10 ;sbit
2、 PW2=P11;/控制電機(jī)的兩個(gè)輸入sbit accelerate=P02 ; /調(diào)速按鍵sbit stop=P03;/停止按鍵sbit left=P04 ;/左轉(zhuǎn)按鍵sbit right=P05 ;/ 右轉(zhuǎn)按鍵'.sbit detect=P32;/檢測(cè)脈沖sbit lcdrs=P00;sbit lcden=P01;#define Da P2uint temp;/保存檢測(cè)到的電平數(shù)據(jù)以便比較uint count; /用于計(jì)數(shù)uint aa,bb;/用于計(jì)數(shù)uint speed;/用來(lái)計(jì)算轉(zhuǎn)速uint a=25000;uint t0=25000,t1=25000;/初始時(shí)占空比為 50
3、%uchar flag=1;/此標(biāo)志用于選擇不同的裝載初值uchar dflag;/左右轉(zhuǎn)標(biāo)志uchar sflag=1;/用來(lái)標(biāo)志速度檔位#define right_turn PW1=0;PW2=1/ 順時(shí)針轉(zhuǎn)動(dòng)#define left_turnPW1=1;PW2=0/ 逆向轉(zhuǎn)動(dòng)#define end_turnPW1=1;PW2=1/ 停轉(zhuǎn)void keyscan();/鍵盤掃描void delay(uchar z);void time_init();/定時(shí)器的初始化void write_com(uchar com);/液晶寫指令void write_data(uchar date); /液
4、晶寫數(shù)據(jù)void lcd_init();/液晶初始化void display(uint rate);/顯赫速度void int0_init();/定時(shí)器 0 初始化void keyscan();/鍵盤掃描程序void judge_derection();void main()time_init();/定時(shí)器的初始化lcd_init();/液晶初始化int0_init();/定時(shí)器 0 初始化while(1)void time_init()'.TMOD=0x11;/兩個(gè)定時(shí)器都設(shè)定為工作方式1十六位定時(shí)計(jì)數(shù)器EA=1;/ 開(kāi)啟總中斷TH0=(65536-50000)/256;TL0=(6
5、5536-50000)%256;ET0=1;TR0=1;TH1=(65536-a)/256;TL1=(65536-a)%256;ET1=1;TR1=0;void int0_init()EX0=1;/外部中斷源可以申請(qǐng)中斷IT0=1;/外部中斷源下降沿觸發(fā)void timer0()interrupt 1 using 0TH0=(65536-50000)/256;TL0=(65536-50000)%256;/ 裝載初值keyscan();/ 鍵盤掃描程序aa+;if(aa=5)aa=0;temp=count*0.5*60*2*2*100/24; /計(jì)算轉(zhuǎn)速,每分轉(zhuǎn)多少圈count=0;/重新開(kāi)始計(jì)
6、數(shù)脈沖數(shù)display(temp);/把計(jì)算得的結(jié)果顯示出來(lái)void timer1()interrupt 3 using 0if(flag)'.flag=0;end_turn;a=t0;/t0的大小決定著低電平延續(xù)時(shí)間TH1=(65536-a)/256;TL1=(65536-a)%256;/ 重裝載初值elseflag=1;/這個(gè)標(biāo)志起到交替輸出高低電平的作用if(dflag=0)right_turn;/右轉(zhuǎn)elseleft_turn;/左轉(zhuǎn)a=t1;/t1的大小決定著高電平延續(xù)時(shí)間TH1=(65536-a)/256;TL1=(65536-a)%256;/ 重裝載初值/*外部中斷 */
7、void service_int0()interrupt0count+;/來(lái)一個(gè)下降沿沿就計(jì)一個(gè)脈沖數(shù)/*顯示函數(shù) */void display(uint rate)uchar wan,qian, bai,shi,ge;wan=rate/10000;qian=rate/1000%10;bai=rate/100%10;shi=rate/10%10;'.ge=rate%10;write_com(0x80);write_data('0'+wan);write_data('0'+qian);write_data('0'+bai);write_da
8、ta('.');write_data('0'+shi);write_data('0'+ge);/*延時(shí)函數(shù) */void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-) ;/*寫指令 */void write_com(uchar com)lcdrs=0;Da=com;delay(1);lcden=1;delay(1);lcden=0;/*寫數(shù)據(jù) */void write_data(uchar date)lcdrs=1;Da=date;delay(1);lcden=1;del
9、ay(1);lcden=0;/*液晶初始化 */'.void lcd_init()lcden=0;write_com(0x38) ; /初始化write_com(0x0c) ;/ 打開(kāi)光標(biāo)0x0c不顯示光標(biāo)0x0e光標(biāo)不閃, 0x0f 光標(biāo)閃write_com(0x01) ;/清顯示write_com(0x80+0x40);write_data('0');write_data(' ');write_data('G');write_data('e');write_data('a');write_data(
10、39;r');/*鍵盤掃描程序*/void keyscan()if(stop=0)TR1=0;/關(guān)閉定時(shí)器0即可停止轉(zhuǎn)動(dòng)end_turn;/停止供電write_com(0x80+0x40);write_data('0');if(left=0)TR1=1;dflag=1;/ 轉(zhuǎn)向標(biāo)志置位則左轉(zhuǎn)write_com(0x80+0x40);write_data('0'+sflag);if(right=0)TR1=1;dflag=0;/ 轉(zhuǎn)向標(biāo)志復(fù)位則右轉(zhuǎn)write_com(0x80+0x40);write_data('0'+sflag);if(a
11、ccelerate=0)'.delay(10) ;/ 延時(shí)消抖if(accelerate=0)while(accelerate=0) ;/等待松手sflag+;if(sflag=2)t0=20000;t1=30000;/ 占空比為百分之60write_com(0x80+0x40);write_data('2');if(sflag=3)t0=15000;t1=35000;/ 占空比為百分之70write_com(0x80+0x40);write_data('3');if(sflag=4)t0=10000;t1=40000;/ 占空比為百分之80write_com(0x80+0x40);write_data('4');if(sfl
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房產(chǎn)中介居間合同協(xié)議書范本
- 《合成效應(yīng)》課件
- 2025林地交易合同范本下載
- 《輔助工具簡(jiǎn)介》課件
- DB12-T3010-2018-冷鏈物流冷庫(kù)技術(shù)規(guī)范-天津市
- DB12-T1297-2023-電子政務(wù)云平臺(tái)安全監(jiān)測(cè)預(yù)警技術(shù)指南-天津市
- 2025年某合同段蒙華鐵路鋼筋焊接工程作業(yè)指導(dǎo)書
- 人教版八年級(jí)上冊(cè)15.3 分式方程教學(xué)設(shè)計(jì)及反思
- 優(yōu)化創(chuàng)業(yè)支持體系提升創(chuàng)業(yè)質(zhì)量實(shí)施路徑
- 銅產(chǎn)業(yè)發(fā)展新機(jī)遇與戰(zhàn)略路徑
- 期中(試題)-2024-2025學(xué)年人教精通版(2024)英語(yǔ)三年級(jí)下冊(cè)
- 2025-2030中國(guó)煤焦油雜酚油行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 防洪防汛安全教育知識(shí)培訓(xùn)
- 2020-2025年中國(guó)遼寧省風(fēng)力發(fā)電行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 規(guī)模養(yǎng)殖場(chǎng)十項(xiàng)管理制度
- 勞務(wù)派遣勞務(wù)外包項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 《思想政治教育方法論》考研(第3版)鄭永廷配套考試題庫(kù)及答案【含名校真題、典型題】
- 一種基于STM32的智能門鎖系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- 預(yù)制混凝土襯砌管片生產(chǎn)工藝技術(shù)規(guī)程doc
評(píng)論
0/150
提交評(píng)論