仿真基本效果
1.按下正轉(zhuǎn)按鈕,綠燈長(zhǎng)亮,電機(jī)低速正轉(zhuǎn),檔位為1檔。
2.按下正轉(zhuǎn)按鈕,綠燈長(zhǎng)亮,電機(jī)低速正轉(zhuǎn),檔位為1檔。
3.在未達(dá)到最高檔(3檔)的情況下,按下加速按鈕,電機(jī)檔位加一,綠燈閃爍8次,每次閃爍的時(shí)間間隔為1秒。如果達(dá)到最高檔,按下加速按鈕,電機(jī)檔位不變。然后判斷電機(jī)的轉(zhuǎn)動(dòng)方向,如果正轉(zhuǎn),綠燈常亮;如果反轉(zhuǎn),紅燈常亮。
4.在未達(dá)到最低檔位(1檔)的情況下,按下減速按鈕,電機(jī)檔位減一,紅燈閃爍8秒,每次閃爍的室間隔為1秒。如果達(dá)到最低檔,按下減速按鈕,電機(jī)檔位不變。然后判斷電機(jī)的轉(zhuǎn)動(dòng)方向,如果正轉(zhuǎn),綠燈常亮;如果反轉(zhuǎn),紅燈常亮。
5.按下停止按鈕,蜂鳴器報(bào)警,且所有LED燈滅,電機(jī)停止,并使電機(jī)檔位置1檔。
仿真原理圖如下
單片機(jī)源程序如下:
#include #define uint unsigned int #define uchar unsigned char uchar m; //用來(lái)標(biāo)志速度檔位 uint t; //計(jì)數(shù)標(biāo)志 sbit k1=P2^0; //正轉(zhuǎn)按鈕 sbit k2=P2^1; //反轉(zhuǎn)按鈕 sbit k3=P2^2; //停止按鈕 sbit k4=P2^3; //加速按鈕 sbit k5=P2^4; //減速按鈕 sbit k6=P1^0; sbit k7=P1^1; //控制電動(dòng)機(jī)的兩個(gè)輸入 sbit pwm1=P1^4; //PWM信號(hào)從P1^4輸出 void init() ; //定義定時(shí)器的初始化函數(shù) void delay(uint x) //延時(shí)程序,延時(shí)x ms { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } main() { init(); //定時(shí)器的初始化 while(1) { if(k1==0) //檢測(cè)是否按下正轉(zhuǎn)按鈕 { delay(10); // 消抖10ms if(k1==0) //如果正轉(zhuǎn)按鈕按下 { P1=0x01; //IN1=1,IN2=0;控制電動(dòng)機(jī)正轉(zhuǎn) P0=0X00; //綠燈常亮 } while(!k1); //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行 } if(k2==0) //檢測(cè)是否按下反轉(zhuǎn)按鈕 { delay(10); //消抖10ms if(k2==0) //如果按下反轉(zhuǎn)按鈕 { P1=0x02; //IN1=0,IN2=1,控制電動(dòng)機(jī)反轉(zhuǎn) P0=0X01; //紅燈常亮 } while(!k2); //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行 } if(k3==0) //檢測(cè)是否按下停止按鈕 { delay(10); //消抖10ms if(k3==0) //如果按下停止按鈕 { m=1; //電動(dòng)機(jī)重置為1檔 P1=0X00; //IN1=0.IN2=0,電動(dòng)機(jī)停止 P0=0x02; //蜂鳴器響 delay(1000); //延時(shí)1秒 P0=0XFF; //燈全熄滅,蜂鳴器不響 pwm1=0; //PWM輸出低電平 } while(!k3); //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行 } if(k4==0) //檢測(cè)加速按鈕是否按下 { delay(10); //消抖10ms if(k4==0) //如果加速按鈕按下 { m++; //檔位加一 if(m<4){ //在不超過(guò)最高3檔的情況下,按下加速按鈕,執(zhí)行以下 for(t=8;t>0;t--){ //綠燈閃爍8次 P0=0x03; delay(500); P0=0X07; delay(500);} } if(k6==1&&k7==0) //如果電動(dòng)機(jī)正轉(zhuǎn),綠燈常亮 P0=0X00; else if(k6==0&&k7==1) //如果電動(dòng)機(jī)反轉(zhuǎn),紅燈常亮 P0=0X01; else P0=0X07; //如果電動(dòng)機(jī)停止,燈全熄滅 } while(!k4); //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行 } if(k5==0) //檢測(cè)減速按鈕是否按下 { delay(10); //消抖10ms if(k5==0) //如果減速按鈕按下 { m--; //檔位減一 if(m>0){ //當(dāng)檔位未小于一檔,按下減速按鈕,執(zhí)行以下 for(t=8;t>0;t--){ //紅燈閃爍8次 P0=0x04; delay(500); P0=0X07; delay(500);}} if(k6==1&&k7==0) //如果電動(dòng)機(jī)正轉(zhuǎn),綠燈常亮 P0=0X00; else if(k6==0&&k7==1) //如果電動(dòng)機(jī)反轉(zhuǎn),紅燈常亮 P0=0X01; else P0=0X07; //如果電動(dòng)機(jī)停止,燈全熄滅 } while(!k5); //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行 } if(m>3)m=3; //檔位最大為3檔 if(m<1)m=1; //檔位最小為1檔 } } void init() //定義定時(shí)器的初始化
上一篇:基于單片機(jī)的精簡(jiǎn)八路搶答器
下一篇:基于51單片機(jī)矩陣鍵盤的簡(jiǎn)易計(jì)算器制作
推薦閱讀最新更新時(shí)間:2025-03-25 00:26




設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線串口通信幀錯(cuò)誤問(wèn)題解析
- 【下載】LAT1473 STM32C0 HAL庫(kù)的SPI 驅(qū)動(dòng)導(dǎo)致的Hardfault問(wèn)題分析
- 【下載】LAT1490 兩個(gè)STM32G0 I2C 通信異常的案例分析
- 【下載】LAT1470 SPI傳輸長(zhǎng)度超過(guò)1024時(shí)出現(xiàn)異常的問(wèn)題分析
- 迅為imx6ull開發(fā)板使用c語(yǔ)言調(diào)用shell命令控制led燈
- 迅為IMX8MM開發(fā)板Android編譯環(huán)境搭建
- 迅為IMX6ULL開發(fā)板NFS服務(wù)器的使用
- 迅為ITOP4412開發(fā)板Qt界面添加圖片
- 迅為IMX6開發(fā)板OTA遠(yuǎn)程升級(jí)-SWUpdata概述和使用
- 迅為IMX6ULL開發(fā)板NFS服務(wù)器的搭建
- 迅為IMX6開發(fā)板Buildroot文件系統(tǒng)4G撥號(hào)上網(wǎng)工具測(cè)試
- 實(shí)驗(yàn)分享丨迅為IMX6ULL開發(fā)板點(diǎn)亮第一個(gè)led燈
- 迅為-IMX6Q開發(fā)板Buildroot文件系統(tǒng)nfs測(cè)試
- LTC1550LIGN 1mVP-P 紋波、-2V 輸出 GaAs FET 偏置發(fā)生器的典型應(yīng)用電路
- 帶有VL53L1X長(zhǎng)距離測(cè)距傳感器的分線板,可輕松集成到客戶設(shè)備中
- FRDM-MC-LVBLDC,用于低壓三相 BLDC 電機(jī)控制的 Freedom 開發(fā)平臺(tái)
- TCR2EN18、200mA、1.8V 輸出電壓 CMOS 低壓降穩(wěn)壓器的典型應(yīng)用
- NCV33074DR2G低壓峰值檢測(cè)器的典型應(yīng)用
- 具有 10A 斷路器的 LTC4368HMS-1 24V 應(yīng)用的典型應(yīng)用電路
- DI-29 - 25 W 反激式 DC-DC 轉(zhuǎn)換器
- #第七屆立創(chuàng)電賽#USB電流表
- 【物聯(lián)網(wǎng)】鴻蒙WiFi智能開關(guān)+1167624A
- 基于 stm32 的智能小車
- 數(shù)字人民幣應(yīng)用多點(diǎn)開花 紫光同芯的方案全面賦能
- Diodes 公司的精密可調(diào)式限流電源切換器,保護(hù)汽車子系統(tǒng)
- STM32f103 串口接收不定長(zhǎng)數(shù)據(jù)
- 37-基于51單片機(jī)智能溫控風(fēng)扇設(shè)計(jì)
- 達(dá)瑞電子:公司蘇州昆山的工業(yè)園項(xiàng)目或2022年竣工驗(yàn)收
- 在發(fā)布12周后 iPhone 13系列需求仍然健康
- BOE(京東方)獨(dú)供Varex新一代X-ray平板探測(cè)器背板 賦能創(chuàng)新醫(yī)療新賽道
- SWIR市場(chǎng)等待游戲規(guī)則的改變者
- 碳化硅驅(qū)動(dòng)電機(jī)的總擁有成本——總體情況
- 高開關(guān)頻率對(duì)電機(jī)驅(qū)動(dòng)系統(tǒng)的影響
- 伺服電機(jī)工作原理詳解 伺服電機(jī)與步進(jìn)電機(jī)工作原理比較
- 伺服電機(jī)的工作原理和控制方式
- 伺服電機(jī)在自動(dòng)化中的工作原理
- Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)與伺服的智能之旅
- 探秘!!!智能工廠的定義與特征全解析
- 迅為imx6ull開發(fā)板使用c語(yǔ)言調(diào)用shell命令控制led燈
- 迅為IMX8MM開發(fā)板Android編譯環(huán)境搭建
- 迅為IMX6ULL開發(fā)板NFS服務(wù)器的使用
- EEWorld 芯積分兌換年度回饋來(lái)襲~多種賺積分捷徑曝光+禮品兌換劇透
- 下載有禮:看“智””造“熱”偵探 FLIR ETS320 紅外熱像儀如何糾錯(cuò)!
- 泰克技術(shù)摩天輪——技術(shù)資料與活動(dòng)的大融合!
- 有獎(jiǎng)直播報(bào)名中|想了解人形機(jī)器人背后的硬科技嗎?來(lái)英飛凌直播為您揭曉!
- 奉獻(xiàn)九月,助人為快樂(lè)之本 貢獻(xiàn)出你閑置的開發(fā)板、器件...
- 有獎(jiǎng)直播:超小型封裝 TI MSPM0 MCU 可優(yōu)化設(shè)計(jì)空間,實(shí)現(xiàn)更多可能
- 有獎(jiǎng)直播 | ST在工業(yè)自動(dòng)化中的PLC方案
- 注冊(cè)有禮|看安富利人工智能云會(huì)展,贏京東卡啦!
- 華為P50與MatePad Pro2將延期至六月發(fā)布
- 加強(qiáng)人才和技術(shù)交流,紫光展銳與西安交大簽署戰(zhàn)略合作協(xié)
- GPU受到追捧,DPU機(jī)會(huì)如何?
- “盈利焦慮”下主業(yè)頻變動(dòng),炬光科技資產(chǎn)減值損失上億元
- 網(wǎng)羅全國(guó)頂尖行業(yè)投資機(jī)構(gòu) 芯力量專業(yè)評(píng)審團(tuán)陣容又升級(jí)
- 因?yàn)椤鞍踩L(fēng)險(xiǎn)”,美國(guó)土安全部正審查TCL公司
- 晶圓代工產(chǎn)能緊缺!NAND Flash控制器將漲價(jià)15~20%
- 電車到底能跑多遠(yuǎn),看精細(xì)測(cè)量方法
- 和利資本:致力于成為被投項(xiàng)目公司最有價(jià)值合作伙伴
- 萬(wàn)用表檢測(cè)電子元件好壞