您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 51单片机 C 语言编程:单片机定时中断 -
本文所属标签:
为本文创立个标签吧:

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

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]
要求:P1.0输出周期为2ms的方波,P1.1输出5ms的方波,占空比都为1:1.(高低电平一样的)。晶振频率为24MHz。(使用T0和T1两个定时计数器)汇编或C都行。编程如下://================================

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

本文引用地址: http://www.21ic.com/app/mcu/201806/764382.htm

晶振频率为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;

}

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




              查看评论 回复



嵌入式交流网主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 51单片机 C 语言编程:单片机定时中断 -
 

"51单片机 C 语言编程:单片机定时中断 -"的相关文章

网站地图

围观()