1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)舵機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
#include<reg52.h>

sbit key1 = P3^0;  
sbit key2 = P3^1;  
sbit pwm1= P2^7;  //引腳位定義

unsigned int target =6,percent = 0;  //聲明target 目標(biāo) = 6,percent 百分百 = 0

void Timer0Initial();  //定時(shí)器0 TH0 TL0初始賦值函數(shù)
void initial_Timer();  //定時(shí)器0初始化配置函數(shù)
void delay(unsigned int x);  //1ms延時(shí)函數(shù)
void keyscan();                                                   //按鍵函數(shù)
void initial();  //系統(tǒng)初始化函數(shù)
void Timer0();//定時(shí)器0 中斷服務(wù)程序

void main()  //主函數(shù)
{  
    initial();  //系統(tǒng)初始化
    while(1)  
    {  
        keyscan();  //按鍵處理函數(shù)
    }  
}

void keyscan()  //按鍵處理函數(shù)
{  
    if(key1 == 0)  //按鍵1是否按下
    {  
    delay(3);                  //延時(shí)3ms
    if(key1 == 0)  
    {  
        if(target >= 7)  //target 是否大于等于 7
        {  
            target -= 1;  //target - 1
        }  
        while(key1 == 0)  //按鍵1按下
        {P1 = 0x00;}                 
    }  
    P1 = 0xFF;  
    }  

    if(key2 == 0)  
    {  
        delay(3);  
        if(key2 == 0)  
        {  
            if(target <= 26)  //target 是否小于等于 26
            {  
                target += 1;  //target + 1
            }  
            while(key2 == 0)  
            {P1 = 0x00;}  
        }  
        P1 = 0xFF;  
    }  
}  

void initial()  //系統(tǒng)初始化函數(shù)
{  
    key1 = 1;  
    key2 = 1;  
    P1 = 0xff;  
    initial_Timer();  //定時(shí)器0 初始化
}  

/*使用11.0592mhz晶振
92次計(jì)時(shí)為100us
void Timer0Initial()  //定時(shí)器0 高八位 低八位  初始賦值
{  
    TH0 = (65536-92)/256;  
    TL0 = (65536-92)%256;  
}  //該初值使每0.1ms產(chǎn)生一次中斷
void initial_Timer()  //定時(shí)器中斷0 初始化
{  
    EA = 1;        
    ET0 = 1;      
    TMOD = 0x01;      
    Timer0Initial();      
    TR0 = 1;              
}  

void delay(unsigned int x)  //1ms延時(shí)函數(shù)
{  
    unsigned int i,j;  
    for(i = 0;i< x; ++i)  
        for(j = 120; j >0 ; --j)  
            ;  
}  

void Timer0() interrupt 1 using 0  //定時(shí)器0 中斷服務(wù)程序
{  
    percent += 1;   //per + 1
    if(percent == 200)  //per 是否等于 200
    {  
        percent = 0;  //per = 0
        pwm1 = 1;                 //信號(hào)線輸出高電平
    }  
    if(percent == target)  //par 是否等于 tar
    {  
        pwm1 = 0;  //信號(hào)線輸出低電平
    }  
    Timer0Initial();  //定時(shí)器0 初始賦值

}  

QQ截圖20180529173147.png (167.9 KB, 下載次數(shù): 15)

QQ截圖20180529173147.png

QQ截圖20180529173156.png (123.54 KB, 下載次數(shù): 28)

QQ截圖20180529173156.png

QQ截圖20180529173203.png (117.85 KB, 下載次數(shù): 16)

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表