




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于c51單片機(jī)的直流電機(jī)pwm調(diào)速控制 -sq這是最近一階段自己學(xué)習(xí)所獲,現(xiàn)分享與大家。這里采用at89c52單片機(jī)做主控制芯片,實(shí)現(xiàn)兩路直流電機(jī)的pwm調(diào)速控制,另外還可以實(shí)現(xiàn)轉(zhuǎn)向、顯示運(yùn)行時(shí)間、顯示檔位等注:考慮小直流電機(jī)自身因素,調(diào)速范圍僅設(shè)有四級(jí)電路原理圖:c語言程序源代碼:/* 硬件資源分配*/ 數(shù)碼管: 顯示電機(jī)狀態(tài)(啟停、正反、速度)、運(yùn)行時(shí)間、是否轉(zhuǎn)彎按鍵: k4 啟動(dòng)/暫停 k3 正反轉(zhuǎn)/轉(zhuǎn)彎允許 k2 加速/左轉(zhuǎn)/運(yùn)行時(shí)間清零 k1 減速/右轉(zhuǎn)/停止定時(shí)器:t0 數(shù)碼管動(dòng)態(tài)顯示,輸出pwmt1 運(yùn)行時(shí)間記錄*/ /*主程序文件pwm.c*/#include <reg
2、52.h>#include "afx.h"#include "config.c"#define circle 5 /脈沖周期/按鍵定義uchar key,key_tmp=0, _key_tmp=0;/顯示定義uchar ledstate=0xf0; /led顯示標(biāo)志,0xf0不顯示,ox00顯示uchar code led_code_d4=0xe0,0xd0,0xb0,0x70; /分別選通1、2、3、4位uchar dispbuf4=0,0,0,0; /待顯示數(shù)組uchar dispbitcnt=0; /選通、顯示的位uchar mstcnt=0
3、;uchar centi_s=0,sec=0,min=0; /分、秒、1%秒 /程序運(yùn)行狀態(tài)標(biāo)志bit motstate=0; /電機(jī)啟停標(biāo)志bit dirstate=0;/方向標(biāo)志 0前,1后uchar state1=-1;uchar state2=-1;uchar state3=0;uchar state4=-1;uchar lspeed=0;uchar rspeed=0;/其他uint runtime=0;uint rtime_cnt=0;uint lwidth;uint rwidth; /脈寬uint widcnt=1;uint dispcnt; /函數(shù)聲明void key_scan(
4、void);void disbuf(void);void k4(void);void k3(void);void k2(void);void k1(void);void disp( uchar h, uchar n );void main(void) p1|=0xf0;ea=1;et0=1;et1=1;tmod=0x11;th0=0xfc;tl0=0x66; /t0,1ms定時(shí)初值th1=0xdb;tl1=0xff; /t1,10ms定時(shí)初值tr0=1;widcnt=1;while(1)key_scan();switch(key)case 0x80: k1(); break;case 0x40
5、: k2(); break;case 0x20: k3(); break;case 0x10: k4(); break;default:break;key=0;disbuf();lwidth=lspeed; rwidth=rspeed;/按鍵掃描*模擬觸發(fā)器防抖void key_scan(void)key_tmp=(p3)&0xf0;if(key_tmp&&!_key_tmp) /有鍵按下key=(p3)&0xf0;_key_tmp=key_tmp ; /按鍵功能處理/邏輯控制void k4(void) if(state4=-1)state4=1;tr1=1;d
6、ispbuf3=1;ledstate=0x00; /打開ledmotstate=1; /打開電機(jī)lspeed=1;rspeed=1;/初速設(shè)為1else if(state4=1)state4=0;tr1=0;motstate=0; /關(guān)閉電機(jī)else if(state4=0) motstate=1;if(state3=0)state4=1;tr1=1;else if(state3=1)lspeed=2; rspeed=2; void k3(void)if(state4=1)dirstate=!dirstate;if(state4=0)if(state3=0)state3=1; /可以轉(zhuǎn)向標(biāo)志
7、1可以,0不可以tr1=1;dispbuf3=9;motstate=1;lspeed=2;rspeed=2;else if(state3=1)state3=0;tr1=0;dispbuf3=0;motstate=0; void k2(void)if(state4=1&&lspeed<4&&rspeed<4)lspeed+;rspeed+;else if(state4=0)if(state3=0)/state4=-1;/ledstate=0xf0; motstate=0;sec=0;min=0;else if(state3=1&&lsp
8、eed<4&&rspeed<4) /turnstate=0;lspeed=2;rspeed+;void k1(void)if(state4=1&&lspeed>1&&rspeed>1)lspeed-;rspeed-;else if(state4=0)if(state3=0)state4=-1;ledstate=0xf0; motstate=0;else if(state3=1&&lspeed<4&&rspeed<4)/turnstate=1;lspeed+;rspeed=2;/顯
9、示預(yù)處理void disbuf(void) if(rtime_cnt=100)sec+;rtime_cnt=0;if(sec=60)min+;sec=0;if(state4=1)dispbuf0=sec%10; dispbuf1=sec/10; dispbuf2=min;if(!dirstate) /正轉(zhuǎn) dispbuf3=lspeed;if(dirstate)/反轉(zhuǎn)dispbuf3=lspeed+4; if(state4=0)if(state3=0) dispbuf0=sec%10; dispbuf1=sec/10; dispbuf2=min; dispbuf3=0;if(state3=1)
10、 dispbuf0=rspeed; dispbuf1=lspeed; dispbuf2=min; dispbuf3=9;/led驅(qū)動(dòng)void disp( uchar h, uchar n ) p1=n;p1|=ledstate ;p1|=led_code_dh;/t0中斷*顯示/方波輸出void time_0() interrupt 1 th0=0xfc;tl0=0x66;widcnt+;dispcnt+; /電機(jī)驅(qū)動(dòng)/方波輸出if(widcnt>circle) widcnt=1; if(widcnt<=lwidth)lmot_p=!dirstate&&motsta
11、te;else lmot_p=dirstate&&motstate; lmot_m=dirstate&&motstate;if(widcnt<=rwidth)rmot_p=!dirstate&&motstate;else rmot_p=dirstate&&motstate;rmot_m=dirstate&&motstate; /顯示if(dispcnt=5)disp(dispbitcnt,dispbufdispbitcnt);dispbitcnt+;if(dispbitcnt=4) dispbitcnt=0;dispcnt=0;/t1中斷*運(yùn)行時(shí)間void time_1() interrupt 3th1=0xdb;tl1=0xff;rtime_cnt+;/*配置文件afx.h*/#ifndef _afx_#define _afx_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/*io配置文件config.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年四川省綿陽地區(qū)七下英語期中經(jīng)典模擬試題含答案
- 聽力模擬沖刺試題及答案
- 2025年策劃雙方股權(quán)互轉(zhuǎn)協(xié)議模板
- 2025年官方專利許可協(xié)議范本
- 2025年標(biāo)準(zhǔn)住宅預(yù)售購(gòu)買協(xié)議范本
- 2025年離婚保險(xiǎn)客戶服務(wù)協(xié)議樣本
- 2025年跨境貿(mào)易金融服務(wù)協(xié)議
- 2025年醫(yī)藥技術(shù)研發(fā)合作協(xié)議
- 2025年官方股權(quán)聯(lián)營(yíng)策劃協(xié)議樣本
- 施工過程中對(duì)施工材料的選擇與管理
- TB10092-2017 鐵路橋涵混凝土結(jié)構(gòu)設(shè)計(jì)規(guī)范
- 小學(xué)學(xué)科教育中的全面素質(zhì)與個(gè)性發(fā)展培養(yǎng)
- 青年教師培養(yǎng)方案
- DB35∕T 516-2018 益膠泥通用技術(shù)條件
- 學(xué)大教育:上海瑞聚實(shí)業(yè)有限公司設(shè)備年市場(chǎng)租金價(jià)值評(píng)估項(xiàng)目評(píng)估報(bào)告
- advantrol pro v270學(xué)習(xí)版系統(tǒng)應(yīng)用入門手冊(cè)
- 昆明醫(yī)科大學(xué)第二附屬醫(yī)院進(jìn)修醫(yī)師申請(qǐng)表
- 生物化學(xué)實(shí)驗(yàn)智慧樹知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- GA 1801.4-2022國(guó)家戰(zhàn)略儲(chǔ)備庫(kù)反恐怖防范要求第4部分:火炸藥庫(kù)
- 2023年溫州市甌海區(qū)小升初英語考試題庫(kù)及答案解析
- GA/T 830-2021尸體解剖檢驗(yàn)室建設(shè)規(guī)范
評(píng)論
0/150
提交評(píng)論