找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3152|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機定時/計數(shù)器T0,工作方式2 io輸出0.4ms的方波程序怎么寫?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:467957 發(fā)表于 2019-1-14 15:19 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
請教大神,利用定時/計數(shù)器T0,采用工作方式2,使P1.0引腳輸出0.4ms的方波。設(shè)系統(tǒng)時鐘頻率為12Mhz?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:149389 發(fā)表于 2019-1-14 17:02 | 只看該作者
本帖最后由 weidoit 于 2019-1-14 20:48 編輯
  1. <blockquote>#include <reg51.h>
復(fù)制代碼
Keil里仿真,在“LED=!LED;”行下斷點,觀察跑表807,1207,1607,2007,2407,2807,,每400uS反轉(zhuǎn)一次,

回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2019-1-14 21:18 | 只看該作者


#include<reg52.h>

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

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

        TMOD= 0x02;                //設(shè)置定時器工作模式
        TL0 = 0x38;                //設(shè)置定時初值
        TH0 = 0x38;                //設(shè)置定時重載值
        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;
        }
}


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表