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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8282|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人高清在线视频 | 久久夜视频 | 久久精品网 | 久久狠狠| 久久97精品| 色播久久久 | 国产一级视频免费播放 | 欧美成人自拍视频 | 国产成人精品一区二区三区网站观看 | 精产国产伦理一二三区 | 日韩有码一区 | 日本不卡免费新一二三区 | 一区二区在线观看免费视频 | 免费av播放 | 亚洲一区二区三区高清 | 久久一区二区三区电影 | 国产一区二区三区四区 | 欧美日韩视频 | 亚洲国产中文字幕 | 热久久国产 | 日韩免费网站 | 国产一区二区三区在线 | 欧美久久一区 | 在线成人福利 | 国产精品成人国产乱一区 | 国产日韩在线观看一区 | 天天色天天射天天干 | 亚洲国产精品一区二区第一页 | 亚洲va欧美va人人爽午夜 | 久热国产精品视频 | av网站在线播放 | 第四色狠狠| 欧美一二区 | 国产精品久久久久一区二区三区 | 成人免费视频网站 | 精品亚洲一区二区三区 | 涩色视频在线观看 | 97久久久久久久久 | 国产成人精品视频 | 欧美午夜精品 | 国产色婷婷精品综合在线播放 |