Chat
Danh mục
Tạo xung tăng giảm độ rộng khi nhấn nút

Tạo xung tăng giảm độ rộng khi nhấn nút

Số lượng:
Thêm vào giỏ
Tạo xung tăng giảm độ rộng khi nhấn nút đã được thêm vào giỏ hàng


Chương trình tạo xung có tần số 1hz  có độ rộng xung tăng giảm được khi nhấn nút.

Code:
// Write by Huu Quang
#include <REGX52.H>
#define tan_so 20
char millisec;
char do_rong_xung;
void delay_ms(unsigned int timer)
{
  int i,j;
 for(i=0;i<timer;i++)
  for(j=0;j<121;j++);
}
/*
void ISR_1000ms(void) interrupt 1   // ham ngat timer 0
{
 TF0 = 0;//xoa co tran
 TH0 =0xE2;  // nap du lieu vao thanh ghi timer
 TL0 =0x0A;
 TR0=1;
    P2_1=~P2_1;
}
*/
int main()
{

 TMOD=0x01;//timer 0 che do 16 bit
 TR0=1;    //cho phep timer 0 hoat dong
 TH0=(0xFFFF-50000)>>8;
 TL0=(0xFFFF-50000)|0xFF;

 while(1)
 {

  while(TF0!=0) 
  {
    millisec++;
   TF0=0;
   TH0 =(0xFFFF-50000)>>8;  // nap du lieu vao thanh ghi timer
   TL0 =(0xFFFF-50000);

   if(millisec<=do_rong_xung)
   {
    P2_0=1;  
   }
   else if(millisec<=tan_so)
   {
     P2_0=0;
   }
   else millisec=0;
  }
  if(P2_1==0)
  {
    while(P2_2==0);
   delay_ms(100);
   do_rong_xung+=1;
   if(do_rong_xung>=tan_so)
    do_rong_xung=1;
  }
 }

}
( Full code + Mô Phỏng)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Nguồn binhminhks.com