久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3437|回復: 9
打印 上一主題 下一主題
收起左側

怎么開啟stc89c52單片機定時器2,用定時器2產生一個38khz的方波

[復制鏈接]
跳轉到指定樓層
樓主
ID:815936 發表于 2022-4-28 11:03 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
100黑幣
用定時器2產生一個38khz的方波信號。定時器0和1都被占用了,拜托各位大神了

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:89072 發表于 2022-4-28 11:57 | 只看該作者

2A772E52-D709-45d2-A36A-70E7715EE851.png (10.76 KB, 下載次數: 48)

2A772E52-D709-45d2-A36A-70E7715EE851.png
回復

使用道具 舉報

板凳
ID:123289 發表于 2022-4-28 12:05 | 只看該作者
1、用定時器2做中斷
2、中斷時間:1/38khz/2=13158uS
3、每次中斷將P1.1求反,則P1.1就輸出38khz了。
回復

使用道具 舉報

地板
ID:732794 發表于 2022-4-28 12:10 | 只看該作者
#include "reg52.h"

typedef unsigned char BYTE;
typedef unsigned int WORD;

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

/* define constants */
#define FOSC 11059200L

#define F38_4KHz    (65536-18432000/4/38400)

/* define SFR */

sfr T2CON = 0xc8;                   //timer2 control register
sbit TF2  = T2CON^7;
sbit TR2  = T2CON^2;

sfr T2MOD = 0xc9;                   //timer2 mode register
sfr RCAP2L = 0xca;
sfr RCAP2H = 0xcb;
sfr TL2 = 0xcc;
sfr TH2 = 0xcd;

sbit T2 = P1^0;                     //Clock Output pin

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

/* main program */
void main()
{
    T2MOD = 0x02;                   //enable timer2 output clock
    RCAP2L = TL2 = F38_4KHz;        //initial timer2 low byte
    RCAP2H = TH2 = F38_4KHz >> 8;   //initial timer2 high byte
    TR2 = 1;                        //timer2 start running
    EA = 1;                         //open global interrupt switch

    while (1);                      //loop
}
回復

使用道具 舉報

5#
ID:390416 發表于 2022-4-28 12:28 | 只看該作者
在STC-ISP軟件上面,配置一下,然后再使能T2的中斷,和EA=1,就可以啟動定時器2了,然后添加定時器2的中斷服務函數即可,一般都是自動重裝初值的。
回復

使用道具 舉報

6#
ID:161164 發表于 2022-4-28 12:49 來自觸屏版 | 只看該作者
yzwzfyz 發表于 2022-4-28 12:05
1、用定時器2做中斷
2、中斷時間:1/38khz/2=13158uS
3、每次中斷將P1.1求反,則P1.1就輸出38khz了。

少了一個小數點
13.158us
回復

使用道具 舉報

7#
ID:74582 發表于 2022-4-28 13:05 | 只看該作者
幫忙頂起來
回復

使用道具 舉報

8#
ID:121859 發表于 2022-4-28 13:58 | 只看該作者
        RCAP2H=(65536-13)/256;
        RCAP2L=(65536-13)%256;
          TH2=RCAP2H;
        TL2=RCAP2L;
        ET2=1;  
        TR2=1;
回復

使用道具 舉報

9#
ID:815936 發表于 2022-4-28 14:37 來自觸屏版 | 只看該作者
謝謝大家支持
回復

使用道具 舉報

10#
ID:624769 發表于 2022-4-28 16:49 | 只看該作者

#define FOSC  11059200L //設置主頻
#define Mode  4  //12T為4, 6T為2
#define OUTPUT_HZ 38400  //方波頻率
#define T2Reload (65536-FOSC/Mode/OUTPUT_HZ) //定時器初值(自動計算)

sfr T2CON = 0xc8;
sbit TF2  = T2CON^7;
sbit TR2  = T2CON^2;
sfr T2MOD = 0xc9;
sfr16 RCAP2 = 0xca;
sfr16 Timer2 = 0xcc;

void main()
{
    T2MOD = 0x02;                   //從P1.0(T2引腳) 輸出方波
    RCAP2 = Timer2 = T2Reload;      //T2初值
    TR2 = 1;                        //T2運行
    while (1);
}

注意: 不需要開T2中斷,不需要設置輸出引腳,方波的輸出,是定死在P1.0的,前3個define 根據你單片機設置情況,以及需要的方波填寫。

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩欧美 | 四虎av电影 | 成人高清在线视频 | 欧美一级片在线看 | 亚洲免费精品 | 色网在线播放 | 毛片软件 | 成人视屏在线观看 | 91五月天 | 中文字幕免费视频 | 伊人久久综合 | 午夜久久av | 国产精品视频久久 | 中文字幕日韩一区 | 中文在线一区二区 | 亚洲成人中文字幕 | 国产视频久久 | 国产在线精品一区二区三区 | 欧美精品中文字幕久久二区 | 亚洲香蕉在线视频 | 91在线精品一区二区 | 欧美黄色录像 | 成人av电影在线 | 欧美在线视频网站 | 综合色在线 | 一区二区三区影院 | 久久精品视频免费观看 | 国产乱码精品1区2区3区 | 久久久久久久久久影视 | 亚洲 欧美 日韩 在线 | 天堂成人国产精品一区 | 影音先锋亚洲资源 | 国产高清久久 | 中文字幕爱爱视频 | 亚洲精品免费看 | www日韩高清 | 日本啊v在线 | 日韩久久综合 | 亚洲 中文 欧美 日韩 在线观看 | 五月婷婷在线视频 | 米奇7777狠狠狠狠视频 |