程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 用定時器T0的中斷控制8位LED閃爍

用定時器T0的中斷控制8位LED閃爍

編輯:C++入門知識


#include<reg52.h>   
#define uchar unsigned char   
#define uint unsigned int   
uint i;  
void main()  
{  
    i=0;  
    EA=1;                                 //打開總中斷   
    TMOD=0x01;                            //使用定時器T0的工作方式1   
    ET0=1;                                //定時器T0中斷允許   
    TH0=(65536-50000)/256;                //給定時器T0的高8位賦值   
    TL0=(65536-50000)%256;                //給定時器T0的低8位賦值   
    TR0=1;                                //啟動定時器T0   
    P0=0xff;  
    while(1);                             //無限循環等待中斷   
}  
void Time0(void) interrupt 1                  //"interrupt"聲明函數為中斷服務函數,1表示定時器T0的中斷編號   
{  
      
    i++;  
    if(i==40)  
    {  
        P0=~P0;                         
        i=0;  
    }  
    TH0=(65536-50000)/256;  
    TL0=(65536-50000)%256;  
}  

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i;
void main()
{
i=0;
EA=1;                                 //打開總中斷
TMOD=0x01;                            //使用定時器T0的工作方式1
ET0=1;                                //定時器T0中斷允許
TH0=(65536-50000)/256;                //給定時器T0的高8位賦值
TL0=(65536-50000)%256;                //給定時器T0的低8位賦值
TR0=1;                                //啟動定時器T0
P0=0xff;
while(1);                             //無限循環等待中斷
}
void Time0(void) interrupt 1                  //"interrupt"聲明函數為中斷服務函數,1表示定時器T0的中斷編號
{
    
i++;
if(i==40)
{
P0=~P0;                       
i=0;
}
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}

 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved