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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

AVR CTC模式波形輸出實驗

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年10月30日   【字體:

注:頻率為488HZ  既 64分頻 8us計數一次 256次即2048ns  ==2.048ms   所以頻率488HZ

      CTC模式   比較匹配我設置為置位  當定時器值==OCR0  輸出口為高電平,然后定時器自動清零重新計數開始如此反復。

       輸出電壓為占空比值。一下是源碼:
#include <iom16.h>
#include <intrinsics.h>
#define uchar unsigned char
#define uint unsigned int
__flash uchar seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,  //段碼
  0x7f,0x6f};
__flash uchar tab[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   //位選碼
int wide=0;     //比較匹配設置變量

void delay(uint k)           //延時k ms子程序
{
 uint i,j;
 for(i=0;i<k;i++)
 for(j=0;j<1140;j++);
}
void show_dat(uint dat)
{
  uchar i=0;
  do
  {
    PORTA=seg[dat%10];
    PORTC=tab[i];
    delay(1);
    PORTA=0xff;
    PORTC=0xff;
    dat=dat/10;
    i++;
  }
  while(dat);
}
void port_init()
{
  PORTA=0xff;
  DDRA=0xff;
  PORTC=0xff;
  DDRC=0xff;
  PORTD=0xff;
  DDRD=0x00;
  PORTB=0xff;
  DDRB=0xff;
}
void time_init()
{
  TCCR0=0x7b;     //CTC模式設置  比較匹配置位
  TCNT0=0x00;     //定時器初值
  OCR0=0x00;      //比較匹配初值
}
void init()
{
  MCUCR=0x0a;
  GICR=0xc0;
  SREG=0x80;
}
void main()
{
  port_init();
 
  init();
  time_init();
  while(1)
  {
    OCR0=wide;
    show_dat(wide);
  }
}
#pragma vector = 0x04
__interrupt void int0()
{
  delay(100);
  wide=wide+10;
  if(wide>255)wide=0;
}
#pragma vector = 0x08
__interrupt void int1()
{
  delay(100);
  wide=wide-10;
  if(wide<0) wide=0;
}
 
  

 

關閉窗口

相關文章

主站蜘蛛池模板: 在线观看av中文字幕 | 欧美日韩国产一区二区 | 欧美在线视频网 | 在线高清免费观看视频 | av第一页| 一级欧美日韩 | 成人国产精品久久久 | 香蕉久久av| 日韩精品一区二区在线 | 中文字幕综合 | 亚洲一区综合 | 亚洲网在线 | 成人免费视频网站在线看 | 国产99久久精品一区二区永久免费 | 久久久www成人免费精品 | 国产精品日日做人人爱 | 日韩另类视频 | 天天拍天天操 | 亚洲国产精品久久久久婷婷老年 | 中文字幕在线精品 | 国产精品视频网站 | 国产欧美精品一区二区色综合朱莉 | 日韩国产免费 | 免费视频一区 | 国产三级 | 亚洲免费在线 | 在线观看中文视频 | 一级免费毛片 | 欧美久久天堂 | 免费看国产一级特黄aaaa大片 | 国产精品久久久久久一级毛片 | 色视频网站免费 | 日日干天天干 | 欧美成人精品一区二区男人看 | 亚洲成人免费视频在线观看 | 欧美久久久久 | 四虎影音 | 精品久久久久久久久久 | 女女百合av大片一区二区三区九县 | 日本在线免费视频 | 懂色中文一区二区三区在线视频 |