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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4671|回復: 1
收起左側

按鍵控制51單片機輸出pwm脈沖大小控制舵機

[復制鏈接]
ID:37685 發表于 2013-9-5 13:37 | 顯示全部樓層 |閱讀模式
#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();         //按鍵掃描


}
}
回復

使用道具 舉報

ID:55601 發表于 2013-10-3 14:59 | 顯示全部樓層
喜歡,好東東
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久伊人 | 亚洲专区在线 | 国产精品久久久久久久成人午夜 | 欧美日韩国产中文 | 欧美成人精品一区二区 | 日本三极片 | 欧美精品一二三 | 亚洲精品tv | 日韩影音 | 九九热在线视频 | 日本欧美视频 | 中国一级毛片免费看 | 久久精品国产视频 | 韩日一区二区 | 久久精品一区二区 | 色多多在线观看 | 性网址 | 国产高清成人 | 天天综合精品 | 欧美在线 | 久久久国产一区二区三区 | 天堂av影院| 超碰在线91| 日韩国产精品视频 | 91一级片 | 国产成人精品av在线观 | www.一区 | 少妇激情视频 | 国产黄色免费看 | 久久久久久国产 | 国产福利视频在线 | 国产精品美女 | 在线观看91视频 | 91黄色免费视频 | 天天操天 | 国产精品久久一区二区三区 | 欧美精品999 | 成年免费视频黄网站在线观看 | 精品少妇 | 成人h视频在线观看 | 中文在线视频 |