欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
使用STC12C5A60S2單片機硬件PCA/PWM模塊輸出呼吸燈效果源程序
[打印本頁]
作者:
fhq1087
時間:
2021-1-18 22:03
標題:
使用STC12C5A60S2單片機硬件PCA/PWM模塊輸出呼吸燈效果源程序
硬件電路也是很簡單,
通過連續改變CCAP0H改變PWM0輸出的PWM信號的占空比,PWM信號在P1.3腳輸出,
在
PWM輸出端口接入一顆LED用來顯示呼吸燈的效果。
MCU:STC12C5A60S2 晶振:11.0592MHz
單片機源程序如下:
/*********************************************************************************************************
** 工程功能 :PWM輸出
** MCU:STC12C5A60S2
** 晶振:11.0592MHz
* 配置PCA模塊為8位PWM輸出模式,PCA計數脈沖設置為Timer0的溢出頻率,配置步驟如下:
* 1、PCA模塊0在空閑模式下扔然計數,選擇T0計數溢出頻率為PCA模塊0的計數脈沖,禁止PCA0的溢出中斷,即CMOD=0X84;
* 2、不使用PCA中斷,將PCA各模塊中斷請示標志清除,即CCON=0X00;
* 3、PCA計數器清0,即使CH=CL=0;
* 4、T0設置為工作方式2,8位自動重裝模式,即TMOD=0X02;
* 5、將計數初值裝入T0;
* 6、開啟T0計數器,開啟PCA0計數器,即TR0=1; CR=1;
* 7、PWM輸出端口為P1.3,另一端接LED可以查看呼吸燈效果。
*********************************************************************************************************/
#include<STC12C5A60S2.h>
#include<LCD1602.h>
#include<PWM.h>
#define uint unsigned int
/*********************************************************************************************************
** 函數功能 :延時函數
** 函數說明 :利用軟件延時,占用CPU,經調試最小單位大約為1ms
** 入口參數 :time:需要延時的時間,單位ms
** 出口參數 :無
*********************************************************************************************************/
void Delay_ms(uint time)
{
uint i,j;
for(i = 0;i < time;i ++)
for(j = 0;j < 930;j ++);
}
void main()
{
unsigned char i=0;
LCD_1602_Init(); //液晶顯示前進行初始化
PCA_init();
Timer0_init();
Write_1602_String("I LIKE MCU 2021",0X80);
Write_1602_Data(0x05);//自定義字符'年'
while(1) //在while(1)循環中通過連續改變CCAP0H改變PWM0輸出的PWM信號的占空比,PWM信號在P1.3腳輸出
{
for(i=255;i>1;i--)
{
CCAP0H=i;
Delay_ms(8);
}
for(i=0;i<255;i++)
{
//PCA計數器工作在PWM模式時,CCAP0H和CCAPL用來控制輸出PWM的占空比,對PWM0起主要影響作用的是CCAP0H,詳細的介紹可參照文檔中PCA/PWM的應用的章節
CCAP0H=i;
Delay_ms(8);
}
}
}
復制代碼
所有程序51hei提供下載:
STC12C5A60S2_PWM輸出做呼吸燈效果.rar
(38.13 KB, 下載次數: 70)
2021-1-18 21:59 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
intomf
時間:
2024-4-25 10:19
我想試試
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1