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

標題: 按鍵控制51單片機輸出pwm脈沖大小控制舵機 [打印本頁]

作者: a119    時間: 2013-9-5 13:37
標題: 按鍵控制51單片機輸出pwm脈沖大小控制舵機
#include<reg51.h>

unsigned char count; //0.5ms次數標識,可修改
sbit pwm=P2^0;        //PWM信號輸出口
sbit up=P3^4;        //角度增加按鍵檢測I/O口
sbit down=P3^5;        //角度減少按鍵檢測I/O口


unsigned char angle; //角度標識


void delay(unsigned char z)
{
unsigned char x,y;
for(x=125;x>0;x--)
for(y=z;y>0;y--);
}
void Time0_Init()         //定時器初始化
{
TMOD=0x01;         //定時器0工作在方式1
IE=0x82;
TH0=0xff;
TL0=0xa3;         //11.0592MHz晶振,0.5ms
TR0=1;         //定時器開始
}
void Time0_Int() interrupt 1
{
TH0=0xff;
TL0=0xa3;
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(20); //按下延時,消抖
if(up==0) //確實按下
{
angle++;        //角度標識加1
count=0;        //按鍵按下 則20ms周期從新開始
if(angle==20)
angle=19;        //已經是180度,則保持
//        while(up==0); //等待按鍵放開
}
}
if(down==0)         //角度減少按鍵是否按下
{
delay(20);
if(down==0)        
{
angle--;        //角度標識減1
count=0;
if(angle==4)
angle=5;         //已經是0度,則保持
//        while(down==0);
}
}
}
void main()
{
angle=12;
count=0;
Time0_Init();
while(1)
{
keyscan();         //按鍵掃描


}
}
作者: jinchouxing    時間: 2013-10-3 14:59
喜歡,好東東




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩成人av在线播放 | 精品欧美一区免费观看α√ | 二区亚洲 | 欧美日韩激情 | aaaaaaa片毛片免费观看 | 成人三级在线观看 | 欧美国产视频 | 色影视 | 久久久久久久久国产 | 欧美精品久久久久 | 国产激情偷乱视频一区二区三区 | 亚洲在线高清 | 久久久久久久网 | www.黄网 | 日韩二| 国产精品123区 | 国产精品夜色一区二区三区 | 国产日韩视频 | 欧美专区在线 | 狠狠的日| 可以免费观看的av片 | 国产区精品 | 成人18亚洲xxoo | 中文字幕第一页在线 | 亚洲一区二区在线视频 | 国产成人av一区二区三区 | 91中文视频| 国产精品视频免费观看 | 理伦毛片 | 黄免费观看视频 | 国产欧美一区二区三区在线看 | 欧美另类视频在线 | 欧美激情亚洲激情 | 亚洲视频免费在线观看 | 精品在线看 | 欧美男人天堂 | 成人在线视频免费观看 | 午夜影院免费体验区 | 黄色网址免费在线观看 | 欧美精品网站 | 久久久久久久国产 |