找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2541|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

13行的單片機(jī)呼吸燈程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:744744 發(fā)表于 2020-5-5 19:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/*******最簡(jiǎn)單的延時(shí)呼吸燈**********/
/****2020-5-5******/

#include<reg51.h>
sbit LED = P3^0;
#define uint unsigned int
#define uchar unsigned char
uint j,n;
void delay_ms(uint n);
main()
{
while(1)
{      
  j++;
  LED = ~LED;       // 開機(jī)LED=1,取反后=0, j滿一個(gè)循環(huán)后,再次取反后為1,
  delay_ms(300-j); //3ms
     LED = ~LED;    //取反,打開  第二個(gè)循環(huán)為關(guān)
  delay_ms(j);    //延時(shí)j,
  if(j == 300)
  {
   j = 0;
   LED = ~LED;
  }      
}  
}
void delay_ms(uint n)
{
uchar b,c; uint d;
for(c=1;c>0;c--)
        for(b=20;b>0;b--)
      for(d=n;d>0;d--);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:744744 發(fā)表于 2020-5-5 19:18 | 只看該作者
用延時(shí)是最簡(jiǎn)單的,僅供誤樂(lè),我是菜鳥,用定時(shí)加中斷,程序比較復(fù)雜,想到這個(gè)程序,親測(cè)很有用,晶振12MHZ
回復(fù)

使用道具 舉報(bào)

板凳
ID:419909 發(fā)表于 2020-5-10 22:11 | 只看該作者
我也有一個(gè)簡(jiǎn)單原創(chuàng)的。
可以調(diào)任意頻率周期與占空比,工作原理就是一個(gè)周期的方波,將其分割成若干份,再根據(jù)高,低電平所占的份數(shù)來(lái)決定輸出占空比。份數(shù)越多。占空比越精確。以下代碼就是將一個(gè)周期內(nèi)的方波分割成100份,用count累加,即count累加100次為一個(gè)周期,在這個(gè)周期內(nèi)計(jì)數(shù)時(shí),persent用于設(shè)置占空比。count數(shù)值小于persent時(shí)就輸出高電平,不是就輸出低電平,這個(gè)函數(shù)可以放在任意位置,要更精準(zhǔn),也可以放在定時(shí)器內(nèi)執(zhí)行。
主要代碼:/***********************
count:用于計(jì)數(shù)。
persent: 設(shè)置占空比,值為1-100,這個(gè)可根據(jù)所設(shè)置的份數(shù)適當(dāng)改變
PWM_OUT:用于輸出PWM濾形的引腳。
***********************/
void Adj_PWM(unsigned int p)
{
static unsigned int count, persent;
persent=p;
if(count<100) count++;else count=0;  // 100以內(nèi)累加。
if(count<=persent) PWM_OUT=1; else PWM_OUT=0; 設(shè)置占空比。即100份之中,高低電平所占的份數(shù)多少就是占空比數(shù)。
}

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:744744 發(fā)表于 2020-11-13 14:27 來(lái)自手機(jī) | 只看該作者
wfqxgw 發(fā)表于 2020-5-10 22:11
我也有一個(gè)簡(jiǎn)單原創(chuàng)的。
可以調(diào)任意頻率周期與占空比,工作原理就是一個(gè)周期的方波,將其分割成若干份,再 ...

師傅的這個(gè)思路更新穎,更簡(jiǎn)潔,不會(huì)在whil過(guò)程中占用資源。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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