วันพุธที่ 4 มีนาคม พ.ศ. 2563

MCS51 #38 สัญญาณพัลส์4ช่อง จำลองการแสดงผลด้วย LED ACTIVE LOW. Timer0 Mode2 Auto Reload










MCS51 #38 สัญญาณพัลส์4ช่อง จำลองการแสดงผลด้วย LED ACTIVE LOW. Timer0 Mode2 Auto Reload
4/3/2563 SONGCHAI PRAPATRUNGSEE

// Header:     
// File Name: PULSE4
// Author: somMCU
// Date:4/3/2563

#include <REGX52.H>
#define PX P1
sbit Pulse0=PX^0;
sbit Pulse1=PX^1;
sbit Pulse2=PX^2;
sbit Pulse3=PX^3;
unsigned int i;
unsigned char j,k,l;

void T0M2_8BIT_AUTO()interrupt 1
{
i++;
if(i>=5000)//1SEC
{
i=0;
Pulse0=~Pulse0;
j++;
if(j>=2)
{
j=0;
Pulse1=~Pulse1;
k++;
if(k>=2)
{
k=0;
Pulse2=~Pulse2;
l++;
if(l>=2)
{
l=0;
Pulse3=~Pulse3;   
}
}
}
}
else
{
return;
}
}

void main()
{ 
  TMOD=0X02;//TIMER0 MODE2 8BIT AUTO RELOAD  
  TCON=0X00;//TIMER CONTROLL=STOP TIMER
  IE=0X82;//INTERRUPT ENABLE TIMER0 
  IP=0X02;//INTERRUPT PRIORITY TIMER0 FIRST
  TH0=56;//RELOAD VALUE HI BYTE TIMER0 MODE2 AUTORELOAD
  TL0=56;//LOW BYTE TIMER0
  TR0=1;//TIMER0 START
         
         P1=0xF0;//Set this:if USE LED ACTIVE LOW
  while(1)
  {
                //YOUR CODE HERE AND STANDBY FOR OVERFLOW
                }
}

   

ไม่มีความคิดเห็น: