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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8474|回復: 8
打印 上一主題 下一主題
收起左側

51單片機通過按鍵控制舵機轉動角度程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:190132 發表于 2017-4-16 16:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
sbit pwm=P3^0;//PWM信號輸出口
sbit up=P3^7;//角度增加按鍵檢測I/O口
sbit down=P3^6;//角度減少按鍵檢測I/O口
sbit we=P2^7;
sbit du=P2^6;
unsigned char angle;//角度標識
unsigned char count;//0.5ms次數標識,可修改
unsigned code leddata[]={

                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄滅
                0x00  //自定義

                         };



void delay(unsigned char z)
{
unsigned char x,y;
  for(x=z;x>0;x--)
    for(y=114;y>0;y--);
}

void Time0_Init()//定時器初始化
{
TMOD=0x01;//定時器0工作在方式1
IE=0x82;
TH0=0xfe;
TL0=0x33;//11.0592MHz晶振,0.5ms
TR0=1;//定時器開始
}

void Time0_Int() interrupt 1
{
        TH0=0xfe;
        TL0=0x33;
        if(count<angle)   //判斷0.5ms次數是否小于角度標識
        pwm=1;//確實小于,pwm輸出高電平
        else
        pwm=0;//大于則輸出低電平
        count=(count+1);//0.5ms次數加1
        count=count%40;//次數始終保持為40即保持周期為20ms
}

void keyscan()//按鍵掃描
{
        if(up==0)//角度增加按鍵是否按下
        {
                delay(10);//按下延時,消抖
                if(up==0)//確實按下
                {
                        angle++;//角度標識加1
                        count=0;//按鍵按下則20ms周期從新開始
                        if(angle==6)
                                angle=5;//已經是180度,則保持?
                                while(up==0);//等待按鍵放開?
                }
        }
        if(down==0)//角度減小按鍵是否按下
        {
                delay(10);
                if(down==0)
                {
                        angle--;//角度標識減1
                        count=0;
                        if(angle==0)
                                angle=1;//已經是0度,則保持
                                while(down==0);
                }
        }
}

void display()
{
        unsigned char bai,shi,ge;
        switch(angle)
        {
                case 1:bai=0;shi=0;ge=0;break;
                case 2:bai=0;shi=4;ge=5;break;
                case 3:bai=0;shi=9;ge=0;break;
                case 4:bai=1;shi=3;ge=5;break;
                case 5:bai=1;shi=8;ge=0;break;
        }
        du=0;
        P0=leddata[bai];
        du=1;
        du=0;
        we=0;
        P0=0xfe;
        we=1;
        we=0;
        delay(5);
        P0=leddata[shi];
        du=1;
        du=0;
        P0=0xfd;
        we=1;
        we=0;
        delay(5);
        P0=leddata[ge];
        du=1;
        du=0;
        P0=0xfb;
        we=1;
        we=0;
        delay(5);
}               
                       
void main()
{
        angle=1;
        count=0;
        Time0_Init();
        while(1)
        {
                keyscan();//按鍵掃描
                display();
        }
}

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

使用道具 舉報

沙發
ID:221507 發表于 2017-7-26 09:46 | 只看該作者
很棒棒 謝謝樓主
回復

使用道具 舉報

板凳
ID:221324 發表于 2017-7-26 18:07 | 只看該作者
謝謝,樓主
回復

使用道具 舉報

地板
ID:231115 發表于 2017-9-5 19:28 | 只看該作者
樓主,我先問你的這個程序能用嗎,有電路圖嗎
回復

使用道具 舉報

5#
ID:231115 發表于 2017-9-5 19:29 | 只看該作者
樓主,我先問你,你的這個程序能用嗎,有電路圖嗎
回復

使用道具 舉報

6#
ID:177855 發表于 2017-9-5 23:28 | 只看該作者
不管看得懂不,都必須頂下。。。
回復

使用道具 舉報

7#
ID:327060 發表于 2018-5-11 18:46 | 只看該作者
兄弟有沒有仿真圖
回復

使用道具 舉報

8#
ID:326347 發表于 2018-5-14 16:23 | 只看該作者
樓主,你這有電路圖嗎?可以仿真嗎?
回復

使用道具 舉報

9#
ID:338761 發表于 2019-1-15 16:08 來自觸屏版 | 只看該作者
這個是郭天祥的原程序
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线小视频 | 一区二区三区精品视频 | 国产成人jvid在线播放 | 中文字幕免费在线观看 | 午夜在线小视频 | 91久久精品日日躁夜夜躁欧美 | 99视频在线播放 | 亚洲欧美在线观看视频 | 日日天天 | 国产99久久久久 | 在线观看日韩精品视频 | 一区精品国产欧美在线 | 91豆花视频 | 日本不卡一区 | 91www在线观看 | 黄色精品| 精品久久久久久久久久久下田 | 黄网站涩免费蜜桃网站 | 欧美天堂| 国产精品3区 | 国产精品免费一区二区 | 97久久久久久 | 岛国av免费观看 | 一区二区在线免费观看视频 | 九九热精品在线 | 中文字幕免费视频 | 亚洲视频1区 | 九九热在线视频 | 99国产精品99久久久久久 | 亚洲大片在线观看 | 日日骚视频| 97精品超碰一区二区三区 | 国产精品免费一区二区三区 | 色网站视频 | 午夜精品一区二区三区在线视频 | 黑人巨大精品欧美黑白配亚洲 | 中国一级特黄真人毛片免费观看 | 亚洲精品视频免费观看 | 99热首页 | 国产精品资源在线 | 亚洲人a |