亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
注釋詳細的51單片機pwm調光代碼
[打印本頁]
作者:
z6509103
時間:
2019-5-18 14:59
標題:
注釋詳細的51單片機pwm調光代碼
單片機pwm調光源程序如下:
/*-----------------------------------------------
名稱:PWM調光
修改:無
內容:通過PWM(脈寬調制)調節LED的亮度
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
sbit LED0=P1^0;// 用sbit 關鍵字 定義 LED到P1.0端口,LED是自己任意定義且容易記憶的符號
void Delay(unsigned int t); //函數聲明
/*------------------------------------------------
主函數
------------------------------------------------*/
void main (void)
{
unsigned int CYCLE=1000,PWM_LOW=0;//定義周期并賦值
while (1) //主循環
{
LED0=1;
Delay(60000); //特意加延時,可以看到熄滅的過程
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++){ //PWM_LOW表示低
//電平時間,這個循環中低電平時長從1累加到CYCLE(周期)的值,即600次
LED0=0; //點亮LED
Delay(PWM_LOW);//延時長度,600次循環中從1加至599
LED0=1; //熄滅LED
Delay(CYCLE-PWM_LOW);//延時長度,600次循環中從599減至1
}
LED0=0;
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--){ //與逐漸變亮相反的過程
LED0=0;
Delay(PWM_LOW);
LED0=1;
Delay(CYCLE-PWM_LOW);
}
//主循環中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
延時函數,含有輸入參數 unsigned int t,無返回值
unsigned int 是定義無符號整形變量,其值的范圍是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
復制代碼
所有資料51hei提供下載:
15-PWM調光.zip
(20.94 KB, 下載次數: 165)
2019-5-18 14:59 上傳
點擊文件名下載附件
pwm調光
下載積分: 黑幣 -5
作者:
jizhouheng
時間:
2020-6-4 00:48
這個程序我覺得是很標準的寫法,容易讀。感謝。
作者:
doctorshi
時間:
2020-12-31 08:03
借鑒一下,做了個九檔調光電路,數碼管顯示。
作者:
rsx9583
時間:
2020-12-31 10:14
有點意思,做單純的PWM還是思路不錯的,沒搞計時器,最簡單的。
作者:
人人學會單片機
時間:
2020-12-31 11:37
#include "STC89.H" //頭文件包含
#include <intrins.h> //頭文件包含
typedef unsigned char u8; //重新定義數據類型名
typedef unsigned short u16; //重新定義數據類型名
typedef unsigned long u32; //重新定義數據類型名
sbit PWM_OUT=P2^1;
u8 idata PWM_Write_Byte[3]=0;
// 定時器0初始化 晶振11059200,12T,輸出50Hz的PWM,占空比0~255
// 定時器初值為:256-(11059200÷12÷50Hz÷256) = 184 = 0xB8
//***************************祁緒電子 2020年5月***
void PWM_Init(void)
{
TMOD &= 0xF0; //配置定時器工作模式
TMOD |= 0x02; //配置定時器工作模式 8位自動重裝模式
TL0 = 0xB8;; //定時器初值
TH0 = 0xB8; //定時器重裝初值
TR0 = 1; //啟動定時器0
ET0=1; //允許定時器0申請中斷
EA=1; //中斷總閘閉合
}
//定時器0的CPU處理函數,位置任意寫都行
//****************************祁緒電子 2020年5月***
void PWM_Display_timer0() interrupt 1
{
static u8 pwm_t=0; //局部變量,不丟失數據
if(pwm_t<PWM_Write_Byte[0])
{
PWM_OUT=1;
}
else PWM_OUT=0;
pwm_t++;
}
// PWM 數模變換數據分配
//**************************祁緒電子 2020年5月***
void PWM_Allot()
{
static u8 kkk=0;
static u8 count=0;
count++;
if(count>100)
{
count=0;
kkk++;
PWM_Write_Byte[0]=kkk; //kkk為占空比自動增加
PWM_Write_Byte[1]=10;
PWM_Write_Byte[2]=10;
}
}
void main() //主函數
{
PWM_Init();
while(1) //主函數大循環
{
PWM_Allot();
}
}
作者:
chjchj816
時間:
2020-12-31 14:36
程序很標準的寫法 注釋得詳細
作者:
人人學會單片機
時間:
2020-12-31 15:21
STC89單片機 定時器做PWM程序
http://www.denmoz.com/bbs/dpj-200820-1.html
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1