日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于stc15f2k60s2芯片单片机编程(呼吸灯)

發(fā)布時(shí)間:2023/12/9 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于stc15f2k60s2芯片单片机编程(呼吸灯) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#include <STC15F2K60S2.h>

unsigned char PWM_COUNT=0;
unsigned char PWM_DUTY=5;
unsigned char PWM_CICLE=10;
bit PWM_DRECTION=0;//0:DUTY增加 1:DUTY減小
unsigned int PWM_RENER_LIMIT=0;

void Timer0Init(void) //100微秒@11.0592MHz
{
AUXR |= 0x80; //定時(shí)器時(shí)鐘1T模式
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TL0 = 0xAE; //設(shè)置定時(shí)初值
TH0 = 0xFB; //設(shè)置定時(shí)初值
TF0 = 0; //清除TF0標(biāo)志
TR0 = 1; //定時(shí)器0開始計(jì)時(shí)
ET0 = 1;
EA = 1;
}

void main(void)
{
P2=0XA0;P0=0X00;P2=0X1F;
P2=0x80;P0=0xff;P2=0x1F;
Timer0Init();
while(1)
{

}

}

void timer0_int (void) interrupt 1
{
PWM_COUNT++;PWM_RENER_LIMIT++;

if(PWM_COUNT==PWM_DUTY) {P2=0x80;P0=0X00;P2=0x00; } if(PWM_COUNT==PWM_CICLE) {P2=0x80;P0=0xff;P2=0x00;PWM_COUNT=0; }if(PWM_RENER_LIMIT==1000 && PWM_DRECTION==0) //增加DUTY {PWM_RENER_LIMIT=0;PWM_DUTY++;if(PWM_DUTY==9)PWM_DRECTION=1; }if(PWM_RENER_LIMIT==1000 && PWM_DRECTION==1) //增加DUTY {PWM_RENER_LIMIT=0;PWM_DUTY--;if(PWM_DUTY==1)PWM_DRECTION=0; }

}

總結(jié)

以上是生活随笔為你收集整理的基于stc15f2k60s2芯片单片机编程(呼吸灯)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。