找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 34357|回復(fù): 28
收起左側(cè)

51單片機(jī)pwm調(diào)速調(diào)光程序(非常好)

  [復(fù)制鏈接]
ID:68618 發(fā)表于 2014-11-11 18:43 | 顯示全部樓層 |閱讀模式
#include"reg52.h"
typedef unsigned char uchar;
typedef unsigned int uint;
sbit ENA=P0^0;
sbit IN1=P0^1;
sbit IN2=P0^2;
sbit IN3=P0^3;
sbit IN4=P0^4;
sbit ENB=P0^5;
uint k,j;
#define OFF ENA=0;ENB=0;
#define ON ENA=1;ENB=1;
#define LEDL(key) P2&=(0xfe<<key);           //指定對(duì)應(yīng)的二極管發(fā)亮
#define LEDH(key) P2|=(0x01<<key);          //指定LED熄滅
#define QX(x,y) IN1=x,IN2=y;
#define QY(x,y) IN3=x,IN4=y;
void main()              
{               
void init();                 //初始化定時(shí)器
void LEDOM();            //流水燈函數(shù)聲明
void daley(uint,uint);          //延時(shí)函數(shù)聲明
void (*p)(uint,uint);          //定義一個(gè)(uint,uint)的函數(shù)指針
void OL_bt(uint x,uint y);          //PWM調(diào)制函數(shù)聲明
p=OL_bt;
QX(1,0);
QY(1,0);
init();
while(1)
{
  LEDOM();
  (*p)(1000,100);
}
}
void init()                       //定時(shí)器中斷初始化
{
  TMOD=0x01;                                    //設(shè)置定時(shí)器0為工作方式1
  EA=1;                                         //開總中斷
  ET0=1;
TR0=1;                                       //定時(shí)器0中斷允許        
}
OStime() interrupt 1
{
static char n;
if(n==0)
{
  OFF;
  TH0=(65536-j)/256;
  TL0=(65536-j)%256;
  n=1;
  return;
}
if(n==1)
{
  ON;
     TH0 = (65536-k)/256;                     
     TL0 = (65536-k)%256;
     n=0;
  return;
}   
}
void OL_bt(uint x,uint y)             //改變x,y的值來改變PWM來調(diào)速 x增大y減小速度減小  x減小y增大速度增大
{
k=y;
j=x;
}
void daley(uint x,uint y)
{
uint a,b;
for(a=x;a>0;a--)
  for(b=y;b>0;b--);
}
void LEDOM()
{
LEDL(0);
daley(100,100);
LEDL(1);
daley(100,100);
LEDL(2);
daley(100,100);
LEDL(3);
daley(100,100);
LEDL(4);
daley(100,100);
LEDL(5);
daley(100,100);
LEDL(6);
daley(100,100);
LEDL(7);
daley(100,100);
LEDH(0);
daley(100,100);
LEDH(1);
daley(100,100);
LEDH(2);
daley(100,100);
LEDH(3);
daley(100,100);
LEDH(4);
daley(100,100);
LEDH(5);
daley(100,100);
LEDH(6);
daley(100,100);
LEDH(7);
daley(100,100);
}            

回復(fù)

使用道具 舉報(bào)

ID:71359 發(fā)表于 2014-12-30 13:31 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:56948 發(fā)表于 2015-1-14 10:11 來自手機(jī) | 顯示全部樓層
學(xué)習(xí)了,非常好。
回復(fù)

使用道具 舉報(bào)

ID:72947 發(fā)表于 2015-1-31 19:00 來自手機(jī) | 顯示全部樓層
謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:46228 發(fā)表于 2015-3-3 23:02 | 顯示全部樓層
又學(xué)到了知識(shí),萬分感謝,太感動(dòng)了
回復(fù)

使用道具 舉報(bào)

ID:16408 發(fā)表于 2015-3-9 22:36 | 顯示全部樓層
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:74355 發(fā)表于 2015-3-10 12:27 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:71991 發(fā)表于 2015-3-14 23:01 | 顯示全部樓層
我還沒有看懂呀
回復(fù)

使用道具 舉報(bào)

ID:29438 發(fā)表于 2015-3-18 13:15 | 顯示全部樓層
學(xué)習(xí)了,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:70769 發(fā)表于 2015-3-21 22:45 | 顯示全部樓層
VERY  GOOD!!!
回復(fù)

使用道具 舉報(bào)

ID:75461 發(fā)表于 2015-4-1 19:24 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:76567 發(fā)表于 2015-4-10 10:48 | 顯示全部樓層
瘋狂的回復(fù),瘋狂的下載!
回復(fù)

使用道具 舉報(bào)

ID:73030 發(fā)表于 2015-4-10 11:30 來自手機(jī) | 顯示全部樓層
這個(gè)好,學(xué)習(xí)學(xué)習(xí),謝謝樓主。
回復(fù)

使用道具 舉報(bào)

ID:68477 發(fā)表于 2015-4-12 14:04 | 顯示全部樓層
學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:93890 發(fā)表于 2016-2-3 10:13 | 顯示全部樓層
坑爹。。。。
回復(fù)

使用道具 舉報(bào)

ID:47286 發(fā)表于 2016-2-3 13:07 | 顯示全部樓層
是個(gè)思路 可這樣 一個(gè)片子豈不是只能干這一件事 別的什么都干不了啊 比如通訊怎么辦
回復(fù)

使用道具 舉報(bào)

ID:129840 發(fā)表于 2016-8-8 16:32 | 顯示全部樓層
X,Y值怎么改變的占空比啊。求大神指教
回復(fù)

使用道具 舉報(bào)

ID:130508 發(fā)表于 2016-8-8 22:20 | 顯示全部樓層
P0^0是做什么的
回復(fù)

使用道具 舉報(bào)

ID:141392 發(fā)表于 2017-8-3 09:57 | 顯示全部樓層
這個(gè)程序就能調(diào)光啊
回復(fù)

使用道具 舉報(bào)

ID:546 發(fā)表于 2018-5-1 17:29 | 顯示全部樓層
進(jìn)來學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:320751 發(fā)表于 2018-5-2 20:43 | 顯示全部樓層
謝謝分享 初學(xué)者謝謝你
回復(fù)

使用道具 舉報(bào)

ID:305436 發(fā)表于 2018-9-11 22:08 來自手機(jī) | 顯示全部樓層
請問我用STC15W404AS芯片只需要一個(gè)電壓檢測端口P1.7還有一個(gè)輸出端口接MOS管我要如何控制輸出電壓變化來調(diào)光
回復(fù)

使用道具 舉報(bào)

ID:216962 發(fā)表于 2018-9-13 14:20 | 顯示全部樓層
謝謝,看看程序先。。
回復(fù)

使用道具 舉報(bào)

ID:407566 發(fā)表于 2018-11-14 16:19 | 顯示全部樓層
請問怎么接線
回復(fù)

使用道具 舉報(bào)

ID:423511 發(fā)表于 2018-11-17 09:12 | 顯示全部樓層
謝了,學(xué)到了好多。
回復(fù)

使用道具 舉報(bào)

ID:193022 發(fā)表于 2020-1-2 22:49 | 顯示全部樓層

學(xué)習(xí)了,非常好。
回復(fù)

使用道具 舉報(bào)

ID:384033 發(fā)表于 2023-8-30 13:13 | 顯示全部樓層
如果在程序里就用定時(shí)器控制不使用delay函數(shù)就更好了
回復(fù)

使用道具 舉報(bào)

ID:384033 發(fā)表于 2023-8-30 13:14 | 顯示全部樓層
如果能夠就使用定時(shí)器控制而不用delay函數(shù)就更好了
回復(fù)

使用道具 舉報(bào)

ID:884711 發(fā)表于 2024-5-5 09:51 | 顯示全部樓層
路過學(xué)習(xí),謝謝分享!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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