這是一個(gè)最簡(jiǎn)單的程序,在定時(shí)器的控制下由p1.0腳發(fā)出500赫茲的方波 要求:6MHz的晶振,P1.0引腳產(chǎn)生500Hz的方波 代碼如下: #include<reg52.h> sbit P1_0=P1^0; void int_X_T() { IE=0x82; TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%256; TR0=1;?? ?? } void int_x() interrupt 1 { TH0=(65536-500)/256; TL0=(65536-500)??%256; P1_0=!P1_0; } void main()?? { int_X_T(); while(1); }
---------------------------------------------------------------------------------------------------------------------------
還有一個(gè)程序:
//用中斷方式控制定時(shí)器方式1(16位定時(shí)器),完成1s的脈沖,1S亮,1S滅,P0口控制LED // #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit d0=P0^0; uint num,a,b; void main() { EA=1; ET0=1; TR0=1;//或者是TCON=0X10// 定時(shí)器0工作// TMOD=0X01;///這是設(shè)置定時(shí)器的工作方式:定時(shí)器0的方式1// TH0=0X3C; TL0=0XB0;//給定時(shí)器放初值// PT0=1; while(1) { if(num==4000) { d0=!d0; num=0; } } } void timer0() interrupt 1 { TH0=0X3C; TL0=0XB0;// 中斷 定時(shí)器方式1定時(shí),當(dāng)定時(shí)到時(shí),TF0溢出標(biāo)志 自動(dòng)清零, //同時(shí)定時(shí)器的計(jì)數(shù)器計(jì)滿自動(dòng)清零,如果不加,則計(jì)時(shí)時(shí)間變化 num++; }