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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7789|回復: 2
收起左側

[求助]關于控制頻率輸出的問題

[復制鏈接]
ID:7020 發表于 2009-2-5 13:07 | 顯示全部樓層 |閱讀模式
我寫的這個程序想實現的效果是通過外部中斷0的下降沿觸發方式實現P2.6口40k頻率的發射和停止。(端口低電平有效)

#include <reg52.h>
#include <stdio.h>
#define uint unsigned int
uint i=0;
sbit p2_6=P2^6;
void main()
{
TMOD=0x02; /*定時器工作在模式2*/
 IT0=1;
 EX0=1;
 ET0=1;
 TH0=249;   /*初始化定時器*/
 TL0=249;
 EA=1;
 while(1)
 {
  if(i%2==1) /*用i的值決定開始還是停止發送40k的頻率*/
   {
    TR0=1;
   }
else

    p2_6=1;
 }
}


void extern_int0() interrupt 0
{
 TR0=0;  /*進入外部中斷首先關閉定時器中斷*/
 i++;      /*每進入一次外部中斷改變一次i的值*/
}

void timer0() interrupt 1
{
 p2_6=!p2_6;   /*發送頻率*/
}

我想實現的效果是當我不給外部0中斷時p2.6口不會發射頻率,當我給一個INT0口一個下降沿跳變時,定時器開始工作通過定時器中斷來實現40k頻率波的發射。當我再次給一個INT0口一個下降沿跳變時,P2.6口停止頻率的發射。但是我現在出現的情況是有時候情況是正常的,即我給它一個外部中斷它就會從一個狀態轉換為另一個狀態,有時候要給INT0口幾次下降沿跳變才會從一種狀態轉換為另一種狀態。請大家幫我看看這個程序的問題出現在哪?該怎么解決?

回復

使用道具 舉報

ID:2162 發表于 2009-2-22 00:39 | 顯示全部樓層
當下降沿中斷在定時器正處理中斷的時候觸發就會出問題,該成低電平觸發試下
如果要再完美點就在頻率輸出后,再啟動前重裝定時器初值
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区四区免费在线观看 | 久久久av中文字幕 | 毛片毛片毛片毛片毛片 | www.99re| 久久亚洲一区二区三区四区 | 中国一级毛片免费 | 久久精品国产一区二区电影 | 成人九区 | 成人av鲁丝片一区二区小说 | 欧美精品一区二区三区在线播放 | 无码一区二区三区视频 | 欧美日韩国产一区二区三区 | 成人免费视频在线观看 | 日韩三级在线观看 | 一区二区三区在线免费观看 | 久久久久久久久久久久91 | 日韩成人高清在线 | 天天综合国产 | 四虎永久在线精品免费一区二 | 天堂素人约啪 | 亚洲精品资源 | 日韩成人在线看 | 色网站入口 | 日韩精品中文字幕一区二区三区 | 日韩欧美在线视频一区 | 一区二区三区四区在线视频 | 日韩国产中文字幕 | 国产网站在线 | 中文一区| 亚洲一区二区视频 | 精品亚洲91| 欧美在线观看一区 | 成人黄色av网址 | 国产成人啪免费观看软件 | 久草在线 | 久久久亚洲| 亚洲日本乱码在线观看 | 第一区在线观看免费国语入口 | 亚洲欧美日韩精品久久亚洲区 | 国产丝袜一区二区三区免费视频 | 欧美日韩久久精品 |