標(biāo)題: DA轉(zhuǎn)換呼吸燈 [打印本頁(yè)]

作者: 洛臻么么噠    時(shí)間: 2017-11-24 22:26
標(biāo)題: DA轉(zhuǎn)換呼吸燈
#include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器

typedef unsigned int u16;          //對(duì)數(shù)據(jù)類(lèi)型進(jìn)行聲明定義
typedef unsigned char u8;

//--定義使用的IO口--//
sbit PWM=P2^1;
bit DIR;

//--定義一個(gè)全局變量--//
u16 count,value,timer0;

void Timer0Init()
{
        TMOD=0X01;
        TH0 =(65536-1)/256 ;
        TL0 =(65536-1)%256  ;   
        ET0=1;//打開(kāi)定時(shí)器0中斷允許
        EA=1;//打開(kāi)總中斷
        TR0=1;//打開(kāi)定時(shí)器                       
}

void main()
{       
        Timer0Init();  //定時(shí)器1初始化
        while(1)
        {
                if(count>100)                                                       
                {  
                        count=0;
                        if(DIR==1)                                           //DIR控制增加或減小
                        {
                          value++;
                        }                       
                        if(DIR==0)
                        {
                          value--;
                        }
                               
                }
                if(value==1000)
                {
                  DIR=0;
                }
                if(value==0)
                {
                  DIR=1;
                }                       
                if(timer0>1000)  //PWM周期為1000*1us
                {
                        timer0=0;
                }
                if(timer0<value)       
                {
                        PWM=1;
                }
                else
                {
                        PWM=0;
                }               
        }               
}

void Timer(void) interrupt 1  
{
        TH0 =(65536-1)/256 ;
        TL0 =(65536-1)%256 ;   
        timer0++;
  count++;
}







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1