標題: 求助大神看看原因,avrM16做連續(xù)頻率采集。 [打印本頁]
作者: 13310549760 時間: 2016-7-26 11:41
標題: 求助大神看看原因,avrM16做連續(xù)頻率采集。
用avrM16做連續(xù)頻率采集,采集同時輸出500HZ,占空比任意(我用50%)的pwm。我用T1捕獲,端口接ICP1。PB3輸出pwm。現(xiàn)在問題是,我同時開啟T0,T1輸出不是500HZ,而是隨著輸入頻率改變,并且中間我加了ADC程序,輸出頻率也會改變。但是我只開T0,不加捕獲,輸出的一直是500HZ。
#include <iom16v.h>
#include <macros.h>
#include "delay.h"
#define uint unsigned int
#define uchar unsigned char
#define PWM_0 PORTB&=~(1<<PB3)
#define PWM_1 PORTB|=(1<<PB3)
signed int wendu,flag,flag1,jd,count,flag4,flag3;
signed int yanwu=10;
volatile unsigned int CAPi=0,CAPj=0;
volatile unsigned intCAP[10]={0,0,0,0,0,0,0,0,0,0};
//TIMER1 initialize - prescale:1
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 1mSec
// actual value: 1.000mSec (0.0%)
void timer0_init(void)
{
TCCR0 = 0x00; //stop
TCNT0 = 0x00;
TCNT0 = 0x9c;
OCR0 =0xF0; //改變此值可改變占空比
TCCR0 = 0x02; //設置為快速PWM模式,匹配時OC0置1,分頻系數(shù)8
}
void main(void)
{
uint dianya;
DDRC=0xFF;
jd=10;
DDRB= 0Xff;
PORTB=0XFF;
DDRD&=~(1<<PD6);
PORTD|=1<<PD6;
TCCR1B=(1<<ICNC1)|(1<<ICES1);
TCCR1B|=0x03;
TIMSK=1<<TICIE1;
MCUCR = 0x00;
GICR =0x00;
timer0_init();
TIMSK = 0x21; //timer interrupt sources
SEI(); //re-enable interrupts 等價與SREG=0x80
while(1)
{
DDRA&=~BIT(0);
ADMUX=0x40;//低4位是通道號 參考是AVCC
ADCSRA=0x87; //使能ADC,單次轉換,預分頻為128
ADCSRA|=(1<<ADSC); //啟動首次轉換
while(!(ADCSRA&(1<<ADIF))); //等待轉結束循環(huán)
ADCSRA|=(1<<ADIF); //清除ADIF位
dianya=ADCL;//先讀 低位 這個必須遵守 度高位后被更新數(shù)據(jù)
dianya=ADCH*256+dianya;
yanwu=dianya*0.09765625;
if(yanwu>78)
flag1=1;
else
flag1=0;
if((flag==1)&&(flag1==1))
{PORTC=0xff;}
else
{PORTC=0;}
}
}
#pragma interrupt_handler Timer1_icp_isr:6
void Timer1_icp_isr(void) //6 號中斷
{
unsigned char i;
if(CAPi==0)
{CAPi=ICR1;CAP[0]=ICR1;}//TCCR0 = 0;}
else
{ CAP[1]=ICR1;
CAPj=ICR1-CAPi;
CAPj=1000000/8/CAPj;
if(CAPj>3000)
{flag=1;//TIMSK=0x21;timer0_init();SEI();
}
else
flag=0;
TCCR1B&=0xFC;//11000000
TCCR1B|=0x03;
TCNT1=0;
CAPi=0;
CAPj=0;
}
}
#pragma interrupt_handlertimer0_ovf_isr:iv_TIM0_OVF //定時器0中斷
void timer0_ovf_isr(void)
{
TCNT0 = 0x9c;
if(count<jd)//PWM比較
{
PWM_1;//高電平轉
}
else
PWM_0;//低電平停
count++;
if(count>20)//周期
count=0;
}
-
-
仿真.rar
2016-7-26 11:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
70.29 KB, 下載次數(shù): 6, 下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
午夜久久av
|
国产成人免费观看
|
色橹橹欧美在线观看视频高清
|
国产精品久久一区二区三区
|
久久久91|
中文字幕亚洲视频
|
久久精品国产免费
|
欧美成人精品激情在线观看
|
久久久久久免费免费
|
亚洲视频www
|
91欧美精品成人综合在线观看
|
国产精品免费一区二区三区四区
|
天天曰夜夜操
|
亚洲精品一区二区二区
|
暴草美女
|
日韩一区二区三区四区五区六区
|
最新91在线
|
国产在线观看不卡一区二区三区
|
一级在线免费观看
|
精品国产免费一区二区三区五区
|
五月天综合网
|
国产欧美日韩精品在线观看
|
日韩免费看视频
|
久久精品网
|
激情六月丁香
|
国产精品污污视频
|
久久综合香蕉
|
综合中文字幕
|
好好的日在线视频
|
国产成人精品一区二区三区
|
日韩一区二区成人
|
欧美在线成人影院
|
国产一区二
|
久久久91精品国产一区二区三区
|
欧美日韩视频在线
|
国产精品视频一区二区三区四区国
|
中文字幕一区二区三区在线观看
|
日本网站免费观看
|
亚洲高清在线
|
国产乱一区二区三区视频
|
国产精品mv在线观看
|