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

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

avr單片機8位定時器LED精確1秒閃爍程序

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年03月02日   【字體:

 /*
      程序名 (program name): 定時器程序 (LED精確一秒閃爍)

     芯片名(chip name): 艾特梅爾公司 MEGA16A 芯片;

     概述:   利用8位定時器0 完成精確定時,其中,定時器0溢出 重設初始值和溢出位清零很重要,
     一旦定時器溢出,溢出標志位不會自動清零,注意!此時需要向定時器0溢出標志位位TOV0
 寫"1",它就會自動清零;TOV0在TIFR寄存器的末位,溢出位不能位尋址(不能位操作);  
  
完成(finish time) : 2014年2月28日13:50:14
 噢 ,,,'主碼' 時間了,,,
            

*/

#include <avr/io.h>
#include <avr/interrupt.h>    //中斷頭文件..

typedef unsigned char uint8;
typedef unsigned int uint16;

 


io()     //初始化所有IO口函數;
{
   DDRA=0Xff;
   PORTA=0Xff;

   DDRB=0XFF;
   PORTB=0X00;

   DDRC=0XFF;
   PORTC=0X00;

   DDRD=0XFF;
   PORTD=0XFF;
 


}

mcu()  //
{

  TCNT0=0x6A;//定時器初始值寄存器,設置 初始值 (此寄存器的值自增到255再加一就是0了);
  TCCR0=0x02;//定時器0分頻設置寄存器  定時器8分頻.

    //定時器公式:   256 - (12兆(機器頻率) ÷ 分頻) X (溢出時間) =初始值;

}

int main(void)

{
     uint16 i=0,j=0;

io();  //初始化所有io口;
mcu(); //設置定時器分頻和初始值;

    
PORTB=0X04; //LED共陽極使能;
while(1)
{

   if((TIFR&0X01)==1)   //如果定時器溢出;
 {
    j++;
   
 TCNT0=0x6a;    //重設初始值,溢出時間是0.0001秒;
              TIFR|=0X01;    //!!!!!!!!!這個很重要,一定要將溢出位置一,它就會自己清零;
 }

         if(j ==9932)//溢出一次用時100微妙,變量j加一,加一萬次用時1秒,邏輯分析儀捕捉到
 {          //PA口跳變時間有一點誤差,稍作調整,,
   j=0;
            PORTA^=0XFF; 

 }


}


}
 

關閉窗口

相關文章

主站蜘蛛池模板: 久久亚洲国产精品 | 欧美一区二区三区四区视频 | 亚洲精品日日夜夜 | 一区二区在线 | 秋霞电影院午夜伦 | 国产精品一区二区三区免费观看 | 亚洲激情在线视频 | 日韩欧美一区在线 | 日本成人三级电影 | 国产露脸国语对白在线 | 一区二区三区不卡视频 | 成人h视频在线观看 | 亚洲免费一 | 国产成在线观看免费视频 | 91久久国产综合久久91精品网站 | 亚洲精品欧美一区二区三区 | 欧美影院 | 国产精品99久久久精品免费观看 | 欧美1级| 欧美大片一区 | 51ⅴ精品国产91久久久久久 | 91社区在线观看高清 | 日韩中文字幕在线观看视频 | 国产午夜精品一区二区三区嫩草 | 九色在线视频 | 国产在线一区二区三区 | 国产一区二区三区四区三区四 | 日本三级电影在线观看视频 | 日韩精品一二三区 | 国产激情视频在线观看 | 日韩有码在线播放 | 精品欧美二区 | 伊人超碰| 天堂中文字幕av | 精品电影| 精国产品一区二区三区四季综 | 国产精品一区二区欧美 | 亚洲国产精品一区二区三区 | 国产做a爱免费视频 | 日韩男人天堂 | 精品视频一区二区 |