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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2455|回復: 4
收起左側

為什么主函數里的循環是空的

[復制鏈接]
ID:213280 發表于 2018-10-19 21:28 | 顯示全部樓層 |閱讀模式
在網上看到的一個PWM控制雙舵機的程序,為什么主函數里的循環是空的?程序是對的嗎?求解
sbit SEV_PWM = P0^0;  //上下舵機信號位
sbit SEH_PWM = P0^1;  //左右舵機信號位
unsigned char count = 0;
unsigned char SEV_count = 15;
unsigned char SEH_count = 15;
/* 串口初始化、定時器T0T1初始化 */
void Com_Init()
{
    IP = 0x08;
    PCON &= 0x7F;
    TMOD &= 0x00;
    TMOD |= 0x21; //定時器0設置為16為定時器方式1,定時器1配置波特率為自動重載方式2
    SCON= 0x50;   //串口工作在方式1,8位異步通信
    TH1 = 0xfd;   //定時器1設置為在11.0592下波特率為9600
    TL1 = 0xfd;
    ES = 1;       //打開串口中斷
    ET1 = 0;      //關閉定時器1中斷
    TR1 = 1;      //打開定時器1
TH0 = 0xff;   //配置定時器0初值,溢出時間為0.1ms
    TL0 = 0xa4;
    ET0 = 1;      //打開定時器0中斷
    TR0 = 1;      //開啟定時器0
}
/* 定時器0中斷服務程序 */
void Time0_Int() interrupt 1
{
    TR0 = 0;      //關閉定時器0
    TH0 = 0xff;   //重裝初值0.1ms
    TL0 = 0xa4;
    //舵機1
    if(count <= SEH_count) //控制占空比左右
    {
        //如果count的計數小于(5-25)也就是0.5ms-2.5ms則這段小t周期持續高電平。產生方波
        SEH_PWM = 1;
    }
    else
    {
        SEH_PWM = 0;
    }
//舵機2
    if(count <= SEV_count) //控制占空比上下
    {
        SEV_PWM = 1;
    }
    else
    {
        SEV_PWM = 0;
    }
    count++;
    if (count >= 200) //T = 20ms則定時器計數變量清0
    {
        count = 0;
    }
    TR0 = 1; //開啟定時器0
}
void main()
{
    Com_Init();
    while(1)
    {
        ;
    }
}
/* 串口中斷函數 */
void uart_ser() interrupt 4
{
    if (RI == 0)
    {
        return;
    }
    ES = 0;
    RI = 0;
    command = SBUF; //將接收到的數據傳給command
    switchcommand
    {
         case 'f': //舵機向上轉
        {
            SEV_count++;
            if(SEV_count >= 25)
            {
SEV_count = 25;
            }
            count = 0; //占空比參數t改變,讓定時器重新計數
            break;
        }   
        case 'g':
        {
            SEV_count--;
            if(SEV_count <= 5)
            {
                SEV_count = 5;
            }
            count = 0;
            break;
        }   
        case 'h':
        {
            SEH_count++;
            if(SEH_count >= 25)
            {
                SEH_count = 25; //保持角度180度。
            }
            count = 0;
            break;
        }   
case 'i':
        {
            SEH_count--;
            if(SEH_count <= 5) //保持角度0
            {
                SEH_count = 5;
            }
            count = 0;
            break;
        }
        case 'k':  //舵機復位
        {
            SEH_count = 15;
            SEV_count = 15;
            count = 0;
            break;
        }
        default
        {
            break;
        }
    }
    ES = 1; //打開串口
}

回復

使用道具 舉報

ID:387733 發表于 2018-10-20 08:56 | 顯示全部樓層
因為主函數只有一個任務就是初始化定時器,完成初始化以后,就把所有的任務派發給定時器中斷了,只需悠閑的打空轉消磨時間,而定時器中斷則會忠誠地按時完成各自的任務。
回復

使用道具 舉報

ID:413154 發表于 2018-10-21 16:50 | 顯示全部樓層
他是起一個控制作用的
回復

使用道具 舉報

ID:213280 發表于 2018-10-23 10:51 | 顯示全部樓層
sxhwdz 發表于 2018-10-20 08:56
因為主函數只有一個任務就是初始化定時器,完成初始化以后,就把所有的任務派發給定時器中斷了,只需悠閑的 ...

了解,謝謝了
回復

使用道具 舉報

ID:328668 發表于 2018-10-24 13:17 | 顯示全部樓層
初始化
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产精品 | 高清国产午夜精品久久久久久 | 国产一区二区三区色淫影院 | 麻豆精品国产91久久久久久 | 国产精品一区久久久 | 男人的天堂视频网站 | 在线中文字幕视频 | 一区二区三区四区在线视频 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 中文av在线播放 | 国产精品91视频 | 一区二区日韩 | 99r在线 | 国产精品国产亚洲精品看不卡15 | 亚洲激情一区二区三区 | av入口| av入口| 久久久久亚洲精品 | 欧美久久久久久久久 | 国产一区精品在线 | 精品国产一区二区三区久久狼黑人 | 日本一卡精品视频免费 | 欧美爱爱视频 | 亚洲午夜精品久久久久久app | 午夜免费精品视频 | 蜜桃视频在线观看www社区 | 美美女高清毛片视频免费观看 | 福利网址| 欧美全黄 | 97国产精品视频人人做人人爱 | 黄色大片在线免费观看 | 免费一区二区三区 | 国产精品自产拍 | 亚洲视频免费一区 | 成人在线免费网站 | 性欧美xxxx| 欧美精品中文字幕久久二区 | 日日夜夜精品 | 毛片免费观看 | 日韩中文字幕在线免费 | 国产精品三级久久久久久电影 |