日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]本程序是在基于STC12C5A60S2芯片基礎(chǔ)上采用硬件PCA/PWM模塊編寫。

STC12C5A60S2.h頭文件:


51hei.png

工程功能 :PWM輸出

** MCU:STC12C5A60S2

** 晶振:11.0592MHz

* 配置PCA模塊為8位PWM輸出模式,PCA計數(shù)脈沖設(shè)置為Timer0的溢出頻率,配置步驟如下:

* 1、PCA模塊0在空閑模式下扔然計數(shù),選擇T0計數(shù)溢出頻率為PCA模塊0的計數(shù)脈沖,禁止PCA0的溢出中斷,即CMOD=0X84;

* 2、不使用PCA中斷,將PCA各模塊中斷請示標(biāo)志清除,即CCON=0X00;

* 3、PCA計數(shù)器清0,即使CH=CL=0;

* 4、T0設(shè)置為工作方式2,8位自動重裝模式,即TMOD=0X02;

* 5、將計數(shù)初值裝入T0;

* 6、開啟T0計數(shù)器,開啟PCA0計數(shù)器,即TR0=1; CR=1;

* 7、PWM輸出端口為P1.3,另一端接直流電機使用ULN2003驅(qū)動

* 8、啟動后電機轉(zhuǎn)速最慢。

主程序如下,有意向的同學(xué)可以在此基礎(chǔ)再增加控制功能。

stc12c5a60s2單片機頭文件

#include<stc12c5a60s2.h>stc12c5a60s2.h>

#include

#define uint unsigned int

#define uchar unsigned char

sbit K2 =P2^0; //PWM值減小鍵

sbit K1 =P2^1; //PWM值增大鍵

sbit BEEP =P3^7 ; //蜂鳴器

sbit mt =P1^3; //PWM輸出接入直流電機

void delay(unsigned char t) //10us延時子程序

{

while(t--) ;

}

void Delay_ms(uchar ms) //延時函數(shù)

{

uchar i ;

while(ms--)

{

for(i=0 ; i<114 ; i++) ;

}

}

void Beep() // 蜂鳴器子程序

{

unsigned char i ;

for (i=0 ;i<100 ;i++)

{

delay(100);

BEEP = !BEEP; //Beep取反

}

BEEP = 1; //關(guān)閉蜂鳴器

Delay_ms(100);

}

void main()

{

PCA_init();

Timer0_init();

while(1) //在while(1)循環(huán)中通過連續(xù)改變CCAP0H改變PWM0輸出的PWM信號的占空比,PWM信號在P1.3腳輸出

{ //修改后的代碼使用按鍵直接加減CCAP0H的值來改變PWM0輸出的PWM信號的占空比,加/減到最大/小時FMQ響,

do

{

if(CCAP0H!=0x02)

{

CCAP0H--;

Delay_ms(60);

}

else Beep();

}

while(K2==0);

do

{

if(CCAP0H!=0xFF)

{

CCAP0H++;

Delay_ms(60);

}

else Beep();

}

while(K1==0);

}

}

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