求at89s52单片机产生23hz的脉冲信号程序

求at89s52单片机产生23hz的脉冲信号程序,第1张

已仿真输出频率为 22999Hz
如果 晶振不是12兆的,修改 #define FOSC 12000000L即可,
例如 110592兆改为 #define FOSC 11059200L
#include "reg51h"
#define FOSC 12000000L
#define T1XX (65536-FOSC/12 /2/23) // 23Hz timer calculation method in 12T mode
/ define SFR /
sbit TEST_23Hz = P1^0; // 23Hz Out
/ Timer1 interrupt routine /
void tm1_isr() interrupt 3 using 1
{

TEST_23Hz = ! TEST_23Hz;
TL1 += T1XX; //reload timer1 low byte
TH1 = T1XX >> 8; //reload timer1 high byte
}
//-----------------------------------------------
/ main program /
void main()
{
TMOD = 0x10; //set timer1 as mode1 (16-bit)
TL1 = T1XX; //initial timer1 low byte
TH1 = T1XX >> 8; //initial timer1 high byte
TEST_23Hz=1;
TR1 = 1; //timer1 start running
ET1 = 1; //enable timer1 interrupt
EA = 1; //open global interrupt switch
while (1); //loop
}

以上就是关于求at89s52单片机产生23hz的脉冲信号程序全部的内容,包括:求at89s52单片机产生23hz的脉冲信号程序、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9435350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存