www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]使用定時器T0產(chǎn)生PWM方波,用按鍵調(diào)整占空比,20級可調(diào)控制led燈的亮度等級.C代碼#include"my51.h"#include"timer0.h"#definegrading20//亮度20級變化sbitkeyS3=P3^5;//按鍵調(diào)整占空比,PWM_keyChange++sbitkeyS4=P3^6;

使用定時器T0產(chǎn)生PWM方波,

用按鍵調(diào)整占空比,20級可調(diào)

控制led燈的亮度等級.

C代碼

#include"my51.h"

#include"timer0.h"

#definegrading20//亮度20級變化

sbitkeyS3=P3^5;//按鍵調(diào)整占空比,PWM_keyChange++

sbitkeyS4=P3^6;//PWM_keyChange--

u8PWM_keyChange=10;//初值,按鍵調(diào)整在1~20之間變化

//占空比PWM_keyChange/grading

voidT0_work()//本函數(shù)由T0定時器中斷函數(shù)調(diào)用

{

if(timeMultiple1Flag)

{

led=off(7);//關閉7號燈

timeMultiple1Flag=0;//清定時器復用置位標志

}

if(timeMultiple2Flag)

{

led=on(7);//打開7號燈

timeMultiple2Flag=0;//清定時器復用置位標志

}

}

voidmain()//測試

{

u8keyFlag=1;//程序中沒有消抖處理,只是簡易的按鍵進出自鎖標志

led0=ledon;//先打開0號燈,用于和7號燈對比亮度

initT0(1,10,grading);//1毫秒的基本定時,亮的時間1*10毫秒,暗1*(grading-10)毫秒

while(1)

{

if(0==keyS3)

{

if(keyFlag)//防止一次按鍵中多次執(zhí)行

{

keyFlag=0;//清標志,類似同步鎖

if(++PWM_keyChange>grading)

{

PWM_keyChange=grading;//占空比最大100%

}

initT0(1,PWM_keyChange,grading);

}

}

elseif(0==keyS4)

{

if(keyFlag)

{

keyFlag=0;

if(0==--PWM_keyChange)//占空比減小

{

PWM_keyChange=1;//最小占空比1/20

}

initT0(1,PWM_keyChange,grading);//占空比減小

}

}

else

{

keyFlag=1;//按鍵鎖釋放標志,下一次按鍵時允許調(diào)整占空比

}

}

}

C代碼

#ifndef_MY51_H

#define_MY51_H

#include

//#include

#include

#include

#include"mytype.h"

#ifndef_51LED_

#define_51LED_

#defineledP1//P1總線連8個led燈,燈連573鎖存器,P1置低電平點亮

#defineLEDled

#defineON(x)P1&(~(1<<(x)))//打開某個燈,開多個燈用ON(m)&ON(n)

#defineOFF(x)P1|(1<<(x))//關閉某個燈,關多個燈用OFF(m)|OFF(n)

#defineon(x)ON(x)//包含大小寫

#defineoff(x)OFF(x)

#defineledon0//某個燈,打開

#defineledoff1//某個燈,關閉

sbitled0=P1^0;

sbitled1=P1^1;

sbitled2=P1^2;

sbitled3=P1^3;

sbitled4=P1^4;

sbitled5=P1^5;

sbitled6=P1^6;

sbitled7=P1^7;

sbitledLock=P2^5;//鎖定當前8個led的狀態(tài),0鎖定,1不鎖定

#endif

/*************二進制輸入宏****************************/

#ifndef_LongToBin_

#defineLongToBin(n)

(

((n>>21)&0x80)|

((n>>18)&0x40)|

((n>>15)&0x20)|

((n>>12)&0x10)|

((n>>9)&0x08)|

((n>>6)&0x04)|

((n>>3)&0x02)|

((n ) & 0x01)

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

單片機定時器通過晶振頻率來產(chǎn)生精準的計數(shù)脈沖,從而實現(xiàn)微秒級別的時間控制。 單片機定時器依托于一個穩(wěn)定的計數(shù)器,該計數(shù)器與單片機上的晶振部件相連。晶振經(jīng)過12分頻后,為單片機提供穩(wěn)定且精準的1MHZ脈沖。由于晶振的頻率極...

關鍵字: 單片機 定時器

采用51單片機最小開發(fā)板,由8位自制獨立按鍵控制。單片機芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點陣屏模塊由MAX7219驅動,MAX7219包含一個自動掃描電路。你只需要把要顯示的數(shù)據(jù)發(fā)送...

關鍵字: 51單片機 MAX7219 寄存器

編碼器?是一種傳感器,主要用于測量旋轉運動的角度、角速度和位移等參數(shù)。常見的編碼器類型包括增量式編碼器和絕對值編碼器,前者通過檢測脈沖的增加或減少來測量旋轉方向和距離,后者則直接輸出當前的絕對位置信息?。

關鍵字: 編碼器? 定時器

一款語音控制的番茄時間定時器,內(nèi)置Seeed Studio XIAO ESP32S3感測和圓形顯示。用免提時間管理保持高效!

關鍵字: 定時器 ESP32S3 語音控制

【2025年3月20日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼: IFNNY)近日宣布,其旗下ModusToolboxTM開發(fā)平臺中的AIROC?...

關鍵字: MCU 物聯(lián)網(wǎng) 定時器

眾所周知,說到延時,很多人都會想到用軟件件來實現(xiàn),比如定時器之類的。今天就來說說用硬件來實現(xiàn)定時的方式,雖說沒有那么準,但是有些場合還是用得到的。

關鍵字: CD4060 定時器

如果定時器的重裝值和分頻設置不正確,會導致PWM輸出的頻率和占空比不準確,從而產(chǎn)生誤差?1。

關鍵字: 定時器 分頻

在嵌入式系統(tǒng)開發(fā)的廣闊領域,51單片機和STM32無疑是兩種極具代表性的微控制器。對于初學者而言,選擇學習路徑時往往會面臨一個抉擇:是直接跨越51單片機,挑戰(zhàn)更高層次的STM32,還是從51開始,逐步進階?本文旨在探討直...

關鍵字: 51單片機 STM32

SysTick定時器的工作原理主要基于一個遞減計數(shù)器的機制。以下是對SysTick定時器工作原理的詳細解釋:

關鍵字: SysTick 定時器

pwm控制的基本原理隨著電力需求的不斷增加,電源管理技術愈加重要。開關電源作為一種高效能、可靠性高的電源,找到廣泛的應用。

關鍵字: pwm 控制 電源
關閉