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

QQ登錄

只需一步,快速開始

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

STC12C5A60S2單片機(jī)PWM輸出程序,STC12C5A60S2.h頭文件下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本程序是在基于STC12C5A60S2芯片基礎(chǔ)上采用硬件PCA/PWM模塊編寫。

STC12C5A60S2.h頭文件:

工程功能 :PWM輸出
** MCU:STC12C5A60S2   
** 晶振:11.0592MHz
*  配置PCA模塊為8位PWM輸出模式,PCA計(jì)數(shù)脈沖設(shè)置為Timer0的溢出頻率,配置步驟如下:
* 1、PCA模塊0在空閑模式下扔然計(jì)數(shù),選擇T0計(jì)數(shù)溢出頻率為PCA模塊0的計(jì)數(shù)脈沖,禁止PCA0的溢出中斷,即CMOD=0X84;
* 2、不使用PCA中斷,將PCA各模塊中斷請(qǐng)示標(biāo)志清除,即CCON=0X00;
* 3、PCA計(jì)數(shù)器清0,即使CH=CL=0;
* 4、T0設(shè)置為工作方式2,8位自動(dòng)重裝模式,即TMOD=0X02;
* 5、將計(jì)數(shù)初值裝入T0;
* 6、開啟T0計(jì)數(shù)器,開啟PCA0計(jì)數(shù)器,即TR0=1; CR=1;
* 7、PWM輸出端口為P1.3,另一端接直流電機(jī)使用ULN2003驅(qū)動(dòng)
* 8、啟動(dòng)后電機(jī)轉(zhuǎn)速最慢。

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

#include<STC12C5A60S2.h>
#include<PWM.h>
#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輸出接入直流電機(jī)
void delay(unsigned char t)  //10us延時(shí)子程序
{
   while(t--) ;
}
void Delay_ms(uchar ms)    //延時(shí)函數(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信號(hào)的占空比,PWM信號(hào)在P1.3腳輸出
    {         //修改后的代碼使用按鍵直接加減CCAP0H的值來改變PWM0輸出的PWM信號(hào)的占空比,加/減到最大/小時(shí)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);
    }
}

全部代碼51hei下載地址:
STC12C5A60S2_按鍵控制PWM輸出占空比控制電機(jī)轉(zhuǎn)速.rar (4.33 KB, 下載次數(shù): 90)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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