标题: 单片机定时/计数器T0,工作方式2 io输出0.4ms的方波程序怎么写? [打印本页]

作者: PH_Yu    时间: 2019-1-14 15:19
标题: 单片机定时/计数器T0,工作方式2 io输出0.4ms的方波程序怎么写?
请教大神,利用定时/计数器T0,采用工作方式2,使P1.0引脚输出0.4ms的方波。设系统时钟频率为12Mhz?

作者: weidoit    时间: 2019-1-14 17:02
本帖最后由 weidoit 于 2019-1-14 20:48 编辑
  1. <blockquote>#include <reg51.h>
复制代码
Keil里仿真,在“LED=!LED;”行下断点,观察跑表807,1207,1607,2007,2407,2807,,每400uS反转一次,


作者: wulin    时间: 2019-1-14 21:18


#include<reg52.h>

sbit OUT=P1^0;
unsigned char num=0;

void Timer0Init()        //200微秒@12.000MHz
{

        TMOD= 0x02;                //设置定时器工作模式
        TL0 = 0x38;                //设置定时初值
        TH0 = 0x38;                //设置定时重载值
        TR0 = 1;                     //定时器0开始计时
        EA=1;                        //开总中断
        ET0=1;                        //开定时器0中断       
}

void main()
{
        Timer0Init();//初始化定时器
        while(1);
}

void timer0() interrupt 1//定时器0中断
{
        num++;
        if(num>=2)
        {
                num=0;
                OUT=~OUT;
        }
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1