×
单片机 > 单片机程序设计 > 详情

51单片机 C 语言编程:单片机定时中断

发布时间:2020-08-26 发布时间:
|

要求:P1.0输出周期为2ms的方波,P1.1输出5ms的方波,占空比都为1:1.(高低电平一样的)。

晶振频率为24MHz。(使用T0和T1两个定时计数器)汇编或C都行。


编程如下:


//================================================


#include

#define uchar unsigned char 

#define  uint unsigned int 


void init();

sbit P10 = P1^0;

sbit P11 = P1^1;

//----------------------------

main()

{

    init();

    while(1) {  }

//----------------------------

void init()  

{

    TMOD = 0x11;

    TH0 = (65536 - 2000) / 256;            //1ms@24MHz

    TL0 = (65536 - 2000) % 256;

    TR0 = 1;


    TH1 = (65536 - 5000) / 256;            //2.5ms@24MHz

    TL1 = (65536 - 5000) % 256;

    TR1 = 1;


    ET0 = 1;

    ET1 = 1;

    EA = 1;

}

//----------------------------

void timer0() interrupt  1

{

    TH0 = (65536 - 2000) / 256;            //1ms@24MHz

    TL0 = (65536 - 2000) % 256;

    P10 = ~P10;

//----------------------------

void timer1() interrupt  3

{

    TH1 = (65536 - 5000) / 256;            //2.5ms@24MHz

    TL1 = (65536 - 5000) % 256;

    P11 = ~P11;

//================================================




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MSP430F5529 上手小例程2