久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2089|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)控制直流電機(jī)不會加定時器延時程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:908396 發(fā)表于 2021-4-29 09:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機(jī)控制直流電機(jī),電機(jī)驅(qū)動模塊為L298N,下面這個程序能控制電機(jī)正常變速,想在此基礎(chǔ)上加定時器延時程序,不知道怎么加,有沒有大神幫我看看,謝謝!

#include<reg52.h>

void uart_init();
void qudong (unsigned int t);
sbit en1=P0^0; //l298nen1
unsigned char str ;

void uart_init()         
{
        SCON = 0x50;//設(shè)置串口工作方式1
    TMOD = 0x20;//設(shè)置計數(shù)器工作方式2         
          PCON = 0x00;//即SMOD=1,波特率不加倍
            TH1 = 0xFD;//計數(shù)器初值,波特率是9600,晶振為11.0592MHz
            TL1 = 0xFD;          
            ES = 1;//打開接收中斷
            EA = 1;//打開總中斷
        TR1 = 1;//打開計數(shù)器
}

void delay(unsigned int xms)         //延時函數(shù)
{
        unsigned  int t1, t2 ;
        for(t1=0;t1<xms;t1++)
        for(t2=0;t2<110;t2++);
}

void main()
{
        en1=0;
        uart_init();
        while (1)
        {
                if(str==1)                                         
                        qudong(0) ; //停止
                else if(str==2)                        
                        qudong(10) ; //速度1
                else if(str==3)                                 
                        qudong(15) ; //速度2
                else if(str==4)                                 
                        qudong(20) ; //速度3
}
}                                  
void qudong (unsigned int t)
{
        en1=1;
        delay(t);
        en1=0;
        delay(20-t);  
}

void a(void) interrupt 4
{
        if(RI)
        {
                RI=0;
                str=SBUF;
        }
        }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:908396 發(fā)表于 2021-4-29 10:00 | 只看該作者
這是自己改的延時,串口輸入1,電機(jī)轉(zhuǎn)動,再輸入其他沒用了

#include<reg52.h>

void uart_init();
void qudong (unsigned int t);
sbit en1=P0^0; //l298nen1
unsigned char str ;
int n=1,t=1;

void uart_init()         
{
        SCON = 0x50;//設(shè)置串口工作方式1
    TMOD = 0x20;//設(shè)置計數(shù)器工作方式2       
        TMOD |= 0x01;
          PCON = 0x00;//即SMOD=1,波特率不加倍
            TH1 = 0xFD;//計數(shù)器初值,波特率是9600,晶振為11.0592MHz
            TL1 = 0xFD;         
                ET0=1;  
            ES = 1;//打開接收中斷
            EA = 1;//打開總中斷
            TR1 = 1;//打開計數(shù)器
}

void delay(unsigned int xms)         //延時函數(shù)
{
        n=xms;       
    TH0=(65536-1000*n)/256;
        TL0=(65536-1000*n)%256;
        TR0=1;
        while(t);
        TR0=0;
}

void main()
{
        en1=0;
        uart_init();
        while (1)
        {
                if(str==1)                                         
                        qudong(0) ; //停止
                else if(str==2)                        
                        qudong(10) ; //速度1
                else if(str==3)                                 
                        qudong(15) ; //速度2
                else if(str==4)                                 
                        qudong(20) ; //速度3
}
}                                  
void qudong (unsigned int t)
{
        en1=1;
        delay(t);
        en1=0;
        delay(20-t);  
}

void a(void) interrupt 4
{
        if(RI)
        {
                RI=0;
                str=SBUF;
        }
        }
void b(void) interrupt 1
{
        t=0;
}
回復(fù)

使用道具 舉報

板凳
ID:569384 發(fā)表于 2021-4-29 12:04 | 只看該作者
加定時器延時想實現(xiàn)什么功能?
回復(fù)

使用道具 舉報

地板
ID:908396 發(fā)表于 2021-4-29 12:18 | 只看該作者
haokey 發(fā)表于 2021-4-29 12:04
加定時器延時想實現(xiàn)什么功能?

用串口通信實現(xiàn)直流電機(jī)速度控制,速度等級,和電機(jī)開關(guān)
回復(fù)

使用道具 舉報

5#
ID:347059 發(fā)表于 2021-4-29 15:24 | 只看該作者
你是想讓電機(jī)轉(zhuǎn)一會兒,延時到了就停嗎?這得用定時器中斷,delay不行,執(zhí)行delay函數(shù)時程序在那里循環(huán),此時電機(jī)就不轉(zhuǎn)了,用定時器中斷,時間到了在中斷里關(guān)閉電機(jī)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:506248 發(fā)表于 2021-4-29 15:38 | 只看該作者
軟件延時換成定時器延時,不然程序一直在delay函數(shù)里運(yùn)行,就沒時間去處理其他事務(wù)了。請給系統(tǒng)運(yùn)行while(1)內(nèi)程序以時間,謝謝。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天久久 | 美女视频一区二区 | 亚洲欧洲激情 | 日本免费一区二区三区视频 | 精品视频一区二区三区在线观看 | 一区二区三区精品视频 | 在线播放一区二区三区 | 一区二区三区韩国 | 久久久夜夜夜 | 一区二区三区播放 | 欧美精品中文字幕久久二区 | 精品久久1| av一区二区三区四区 | 日韩av一区二区在线观看 | 妞干网福利视频 | 国产福利资源在线 | 久久久精品一区 | 在线观看中文字幕 | 中文字幕福利 | 黄色一级片在线播放 | 国产精品成人在线播放 | 日韩三级在线 | 91精品国产乱码久久久久久久久 | 日韩一区不卡 | japan21xxxxhd美女 日本欧美国产在线 | 亚洲国产精品一区二区三区 | 国产99视频精品免费播放照片 | 成人免费观看男女羞羞视频 | 久草在线 | 国产一级淫片a直接免费看 免费a网站 | 成年网站在线观看 | 久久国产精品99久久久久 | 国产精品久久久久久久久久 | 美女视频三区 | 国产高清视频一区 | 91久久精品日日躁夜夜躁欧美 | 成人精品 | 不卡一区二区三区四区 | 美女爽到呻吟久久久久 | 国产成人精品一区二 | 欧美亚洲日本 |