本設(shè)計(jì)以單片機(jī)AT89C51為核心,通過軟件編程利用其定時(shí)器產(chǎn)生PWM信號從而實(shí)現(xiàn)對直流電機(jī)轉(zhuǎn)速控制。硬件設(shè)計(jì)主要包括按鍵電路模塊、電機(jī)驅(qū)動模塊、測速模塊和轉(zhuǎn)速顯示模塊。其中采用獨(dú)立式鍵盤通過按鍵將命令輸入到單片機(jī),改變PWM信號占空比,再將單片機(jī)輸出的信號通過光電耦合器和由IGBT組成的H型橋式功率放大驅(qū)動電路,根據(jù)不同占空比的PWM信號達(dá)到電機(jī)啟停、正反轉(zhuǎn)和加減速控制。測速模塊采用非接觸式的霍爾傳感器對直流電機(jī)的轉(zhuǎn)速進(jìn)行測量,將測得的轉(zhuǎn)速傳送到單片,再通過LCD顯示出來。本論文主要介紹了直流電機(jī)調(diào)速系統(tǒng)的原理和方案設(shè)計(jì),單片機(jī)如何產(chǎn)生PWM信號,H橋驅(qū)動電路設(shè)計(jì),硬件電路圖的設(shè)計(jì)與連接,實(shí)現(xiàn)功能的流程圖和程序,系統(tǒng)的仿真和調(diào)試。
單片機(jī)程序源碼:
#include #define uchar unsigned char #define uint unsigned int void displaym(); sbit en=P2^5; //1602 6管腳 sbit rs=P2^7; //1602端口 4管腳 sbit rw=P2^6;//lcd1602控制端口 5管腳 sbit num1=P1^0; //占空比加1 sbit num2=P1^1; //占空比減一 sbit num3=P1^2; //正傳 sbit num4=P1^3; //反轉(zhuǎn) sbit num5=P1^4; //開始停止切換 sbit out=P3^4; //PWM輸出用于正傳 sbit out1=P3^7; //PWM輸出用于反轉(zhuǎn) uint zhuansu,flag,z1,z2,m,flag_1,zheng,fan,kai; void delay(uint z)//延時(shí)1ms函數(shù) { uint x,y; for(x=0;x } void write_com(uchar com)//向1602寫一字節(jié)(控制指令) { rs=0; P0=com; delay(5); en=0; delay(10); en=1; } void write_data(uchar date)//向1602寫一字節(jié)(數(shù)據(jù)) { rs=1; P0=date; delay(5); en=0; delay(5); en=1; } void init()//初始化函數(shù) { en=0; rw=0; write_com(0x01); //lcd初始化 write_com(0x38); //5X7顯示 write_com(0x0c); //關(guān)閉光標(biāo) TMOD=0x01; //定時(shí)器方式1 TH0=0xdc; TL0=0x00; //定時(shí)器裝入初值 EA=1; //開總中斷 ET0=1; //定時(shí)器0開中斷 TR0=1; EX1=1; IT1=1; //定時(shí)器啟動 TH1=0xfc; TL1=0x66;//定時(shí)100us ET1=1; //定時(shí)器1開中斷 TR1=1; write_com(0x80); write_data('V'); write_data(':'); write_com(0x87); //第一行顯示轉(zhuǎn)速 write_data('r'); write_data('p'); write_data('m'); write_com(0xc0); write_data('z'); write_data('h'); write_data('a'); write_data('n'); write_data('k'); write_data('o'); write_data('n'); write_data('g'); write_data('b'); write_data('i'); //在第二行顯示zhankongbi: write_data(':'); displaym(); } void keyscan() //鍵盤掃描函數(shù) { if(num1==0) { delay(5); //消除抖動 if(num1==0) { if(m<=199) m++; displaym(); //設(shè)定占空比加一 } } if(num2==0) { delay(5); if(num2==0) { if(m>=1) m--; displaym(); //設(shè)定占空比減一 } } if(num3==0) { delay(5); if(num3==0) { zheng=1; //正傳標(biāo)志置1 fan=0; // 反轉(zhuǎn)標(biāo)志置0 } } if(num4==0) { delay(5); if(num4==0) { zheng=0; //正傳標(biāo)志置0 fan=1; // 反轉(zhuǎn)標(biāo)志置1 } } if(num5==0) { delay(5); if(num5==0) { while(num5==0) ; kai=1-kai; } } } void display() { write_com(0x82); zhuansu=zhuansu*30; //將兩秒內(nèi)的計(jì)數(shù)乘以30得到轉(zhuǎn)每分 if(zhuansu/10000!=0) write_data(zhuansu/10000+0x30); //如果轉(zhuǎn)速的萬位不為0 正常顯示否則顯示空格 else write_data(' '); if(zhuansu/1000==0) write_data(' '); else write_data(zhuansu%10000%1000+0x30); //如果轉(zhuǎn)速小于1000 千位為空格 否則正常顯示 if(zhuansu/100==0) write_data(' '); else write_data(zhuansu%10000%1000/100+0x30); //如果轉(zhuǎn)速小于100 百位為空格 否則正常顯示 if(zhuansu/10==0) write_data(' '); else write_data(zhuansu%10000%1000%100/10+0x30); //如果轉(zhuǎn)速小于10 十位為空格 否則正常顯示 write_data(zhuansu%10000%1000%100%10+0x30); write_com(0xd0); //如果沒有這句,當(dāng)中斷內(nèi)的顯示函數(shù)執(zhí)行完,就會在轉(zhuǎn)速的位置顯示占空比數(shù)據(jù),導(dǎo)致亂碼 } void displaym() { write_com(0xcb); if(m/200%10!=0) write_data(m/200%10+0x30); //如果占空比百位不為0則顯示百位否則顯示空格 else write_data(' '); if(m/200%10==0&&m/20%10==0) write_data(' '); else write_data(m/20%10+0x30); //如果占空比小于10 十位正常顯示 否則顯示空格 write_data(m/2%10+0x30); //顯示個位 } void main() { flag_1=0; m=100; //占空比為100 zhuansu=0; //轉(zhuǎn)速初值0 flag=0; zheng=1; //初始化電機(jī)正轉(zhuǎn)動
上一篇:AT89S52單片機(jī)16LED搖搖棒設(shè)計(jì)
下一篇:單片機(jī)測速與1602顯示程序與電路
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 新思科技:通過EDA和IP助力中國RISC-V發(fā)展
- 英飛凌:引領(lǐng)RISC-V成為汽車行業(yè)開放標(biāo)準(zhǔn)
- 東芝推出輸出耐壓1800V的車載光繼電器
- 中國制定的全球首項(xiàng)鋰離子電池硅基負(fù)極材料國際標(biāo)準(zhǔn)發(fā)布
- 智能汽車合成數(shù)據(jù)架構(gòu)與應(yīng)用實(shí)踐分享
- 15家車企的固態(tài)電池汽車及供應(yīng)商一覽!
- 8月交付!鋰電巨頭全固態(tài)電池商業(yè)化“快進(jìn)”
- 白皮書點(diǎn)破汽車智駕營銷現(xiàn)象:六個“不等于”揭示真實(shí)的輔助駕駛
- Unity引擎在智能座艙項(xiàng)目流程之深入優(yōu)化與未來技術(shù)
- Unity引擎在智能座艙項(xiàng)目流程之未來技術(shù)趨勢與高級整合
- stm32液晶、RTC時(shí)間顯示問題
- STM32F205 HAL庫 RTC軟件復(fù)位后不準(zhǔn)
- STM32 BOOT引起硬件死機(jī)
- SaaS的未來與人工智能有什么關(guān)系?
- 體驗(yàn)未來黑科技!BCI腦控機(jī)器人亮相2019世界機(jī)器人大賽總決賽
- iPhone 12?系列整體需求放緩:但季度出貨量同比增長
- 蘋果公布iOS 14安裝數(shù)據(jù):80%的活躍iPhone已用上
- 華為P40 4G推出:麒麟990 4G芯片 定價(jià)3988元
- 小米平板5配置曝光:驍龍870處理器 價(jià)格3999元起
- 貿(mào)澤電子2021年2月新品推薦
- 有沒有會薄膜壓力傳感器單片機(jī)的
- 求解wince下生成xml 是路徑的問題嗎?
- shell實(shí)現(xiàn)每天自動發(fā)送天氣信息到手機(jī)
- infosys結(jié)構(gòu)體與IE視頻
- 請問WCE Application做出來的軟件,為何在wince下無法拖曳視窗
- TI聯(lián)合大學(xué)教授錄制——電子電路基礎(chǔ)知識講座系列課程,歡迎觀看!
- 求助:請問s3c44b0x與雙端口ram是通過什么接口連接嗎?
- 招聘高級電子工程師(蘇州工業(yè)園區(qū)某數(shù)字醫(yī)療設(shè)備有限公司)
- Δ-Σ模數(shù)轉(zhuǎn)換器用正弦濾波器
- 文件過濾驅(qū)動中的多線程安全