欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

發現M16的TC1的重大缺陷!!!!!

[復制鏈接]
跳轉到指定樓層
樓主
ID:43292 發表于 2012-7-25 22:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發現M16的TC1的重大缺陷!!!!! 本人用M16的TC1產生PWM信號,并且在產生信號的同時不斷改變頻率,但變頻幅度很小,這時就出現一個很令人費解的現象,PWM信號會不時有斷開的現象 PWM頻率:28KHz OC1A、OC1B雙路輸出:想得到的信號是:如圖正常的波形 但是一旦改變頻率,兩路的信號會隨即的中斷6.5ms左右,如圖斷開的波形,不知其解,各位高手請指教 程序: // Target : M16 // Crystal: 10.000Mhz #include #include void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0b00110000; } //TIMER1 initialize - prescale:1 // WGM: 8) PWM phz freq correct, TOP=ICRn // desired value: 28KHz // actual value: 28.090KHz (0.3%) void timer1_init(void) { TCCR1B = 0x00; //stop TCNT1H = 0xFF; //setup TCNT1L = 0x4E; OCR1AH = 0x00; OCR1AL = 0xB2-0x50; OCR1BH = 0x00; OCR1BL = 0x50; ICR1H = 0x00; ICR1L = 0xB2; TCCR1A = 0xB0; TCCR1B = 0x11; //start Timer } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); timer1_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } void Delay(unsigned int t) { unsigned int i,j; for(i=0;i9)i=0; Delay(100); //延時 ICR1L=ICR1L_+i; //改變頻率 } }

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表